From 55efcafc0f2675d68e36ba956ddc16d391c0dc2b Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Mon, 21 Nov 2022 13:07:23 -0500 Subject: [PATCH] add facedetect demo and fix model async load --- README.md | 15 +- TODO.md | 4 + assets/screenshot-facedetect.jpg | Bin 0 -> 75346 bytes demo/facedetect/facedetect.js | 104 + demo/facedetect/index.html | 42 + demo/facedetect/loader.js | 43 + demo/facematch/facematch.js | 50 +- dist/human.esm-nobundle.js | 14 +- dist/human.esm.js | 14 +- dist/human.esm.js.map | 4 +- dist/human.js | 6 +- dist/human.node-gpu.js | 14 +- dist/human.node-wasm.js | 14 +- dist/human.node.js | 14 +- models/handlandmark-full.bin | Bin 5431368 -> 0 bytes models/handlandmark-lite.bin | Bin 0 -> 2023432 bytes ...dmark-full.json => handlandmark-lite.json} | 358 +-- package.json | 6 +- src/config.ts | 2 +- src/models.ts | 6 +- src/warmup.ts | 3 +- test/build.log | 2240 +++++++++++++++++ tsconfig.json | 2 +- wiki | 2 +- 24 files changed, 2707 insertions(+), 250 deletions(-) create mode 100644 assets/screenshot-facedetect.jpg create mode 100644 demo/facedetect/facedetect.js create mode 100644 demo/facedetect/index.html create mode 100644 demo/facedetect/loader.js delete mode 100644 models/handlandmark-full.bin create mode 100644 models/handlandmark-lite.bin rename models/{handlandmark-full.json => handlandmark-lite.json} (55%) diff --git a/README.md b/README.md index aa1b5975..a952ec53 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,7 @@ - **Full** [[*Live*]](https://vladmandic.github.io/human/demo/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/demo): Main browser demo app that showcases all Human capabilities - **Simple** [[*Live*]](https://vladmandic.github.io/human/demo/typescript/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/demo/typescript): Simple demo in WebCam processing demo in TypeScript - **Embedded** [[*Live*]](https://vladmandic.github.io/human/demo/video/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/video/index.html): Even simpler demo with tiny code embedded in HTML file +- **Face Detect** [[*Live*]](https://vladmandic.github.io/human/demo/facedetect/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/demo/facedetect): Extract faces from images and processes details - **Face Match** [[*Live*]](https://vladmandic.github.io/human/demo/facematch/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/demo/facematch): Extract faces from images, calculates face descriptors and similarities and matches them to known database - **Face ID** [[*Live*]](https://vladmandic.github.io/human/demo/faceid/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/demo/faceid): Runs multiple checks to validate webcam input before performing face match to faces in IndexDB - **Multi-thread** [[*Live*]](https://vladmandic.github.io/human/demo/multithread/index.html) [[*Details*]](https://github.com/vladmandic/human/tree/main/demo/multithread): Runs each Human module in a separate web worker for highest possible performance @@ -173,7 +174,13 @@ and optionally matches detected face with database of known people to guess thei [](assets/screenshot-facematch.jpg) -2. **Face ID:** +2. **Face Detect:** +Extracts all detect faces from loaded images on-demand and highlights face details on a selected face +> [demo/facedetect](demo/facedetect/index.html) + +[](assets/screenshot-facedetect.jpg) + +3. **Face ID:** Performs validation check on a webcam input to detect a real face and matches it to known faces stored in database > [demo/faceid](demo/faceid/index.html) @@ -181,7 +188,7 @@ Performs validation check on a webcam input to detect a real face and matches it
-3. **3D Rendering:** +4. **3D Rendering:** > [human-motion](https://github.com/vladmandic/human-motion) [](https://github.com/vladmandic/human-motion/raw/main/assets/screenshot-face.jpg) @@ -190,14 +197,14 @@ Performs validation check on a webcam input to detect a real face and matches it
-4. **VR Model Tracking:** +5. **VR Model Tracking:** > [human-three-vrm](https://github.com/vladmandic/human-three-vrm) > [human-bjs-vrm](https://github.com/vladmandic/human-bjs-vrm) [](https://github.com/vladmandic/human-three-vrm/raw/main/assets/human-vrm-screenshot.jpg) -5. **Human as OS native application:** +6. **Human as OS native application:** > [human-electron](https://github.com/vladmandic/human-electron)
diff --git a/TODO.md b/TODO.md index 642e8330..f1ce8dab 100644 --- a/TODO.md +++ b/TODO.md @@ -63,6 +63,8 @@ Optimizations: `Human` is now 30% smaller :) As usual, `Human` has **zero** runtime dependencies, all *devDependencies* are only to rebuild `Human` itself +- Default hand skeleton model changed from `handlandmark-full` to `handlandmark-lite` + Both models are still supported, this reduces default size and increases performance Features: - Add [draw label templates](https://github.com/vladmandic/human/wiki/Draw) @@ -88,6 +90,7 @@ Architecture: Better [TypeDoc specs](https://vladmandic.github.io/human/typedoc/index.html) - Add named export for improved bundler support when using non-default imports - Cleanup Git history for `dist`/`typedef`/`types` +- Cleanup `@vladmandic/human-models` - Support for **NodeJS v19** - Upgrade to **TypeScript 4.9** @@ -97,3 +100,4 @@ Breaking changes: - Moved `human.similarity`, `human.distance` and `human.match` to namespace `human.match.*` - Obsolete `human.enhance()` - Obsolete `human.gl` +- Renamed model `mb3-centernet` to `centernet` diff --git a/assets/screenshot-facedetect.jpg b/assets/screenshot-facedetect.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c36342e835f73f869260a315337b26c6c5ac90a1 GIT binary patch literal 75346 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

P4huEB4`vOE=?)w?)sy+WD} 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 literal 0 HcmV?d00001 diff --git a/demo/facedetect/facedetect.js b/demo/facedetect/facedetect.js new file mode 100644 index 00000000..e3a8ac32 --- /dev/null +++ b/demo/facedetect/facedetect.js @@ -0,0 +1,104 @@ +/** + * Human demo for browsers + * + * Demo for face detection + */ + +/** @type {Human} */ +import { Human } from '../../dist/human.esm.js'; +import { showLoader, hideLoader } from './loader.js'; + +const humanConfig = { // user configuration for human, used to fine-tune behavior + debug: true, + modelBasePath: 'https://vladmandic.github.io/human-models/models/', + filter: { enabled: true, equalization: false, flip: false }, + face: { + enabled: true, + detector: { rotation: true, maxDetected: 100, minConfidence: 0.2, return: true }, + iris: { enabled: true }, + description: { enabled: true }, + emotion: { enabled: true }, + antispoof: { enabled: true }, + liveness: { enabled: true }, + }, + body: { enabled: false }, + hand: { enabled: false }, + object: { enabled: false }, + gesture: { enabled: false }, + segmentation: { enabled: false }, +}; + +const human = new Human(humanConfig); // new instance of human + +async function addFaces(imgEl) { + showLoader('human: busy'); + const faceEl = document.getElementById('faces'); + faceEl.innerHTML = ''; + const res = await human.detect(imgEl); + for (const face of res.face) { + const canvas = document.createElement('canvas'); + const emotion = face.emotion?.map((e) => `${Math.round(100 * e.score)}% ${e.emotion}`) || []; + canvas.title = ` + source: ${imgEl.src.substring(0, 64)} + score: ${Math.round(100 * face.boxScore)}% detection ${Math.round(100 * face.faceScore)}% analysis + age: ${face.age} years + gender: ${face.gender} score ${Math.round(100 * face.genderScore)}% + emotion: ${emotion.join(' | ')} + check: ${Math.round(100 * face.real)}% real ${Math.round(100 * face.live)}% live + `.replace(/ /g, ' '); + canvas.onclick = (e) => { + e.preventDefault(); + document.getElementById('description').innerHTML = canvas.title; + }; + human.tf.browser.toPixels(face.tensor, canvas); + human.tf.dispose(face.tensor); + faceEl?.appendChild(canvas); + } + hideLoader(); +} + +function addImage(imageUri) { + const imgEl = new Image(256, 256); + imgEl.onload = () => { + const images = document.getElementById('images'); + images.appendChild(imgEl); // add image if loaded ok + images.scroll(images?.offsetWidth, 0); + }; + imgEl.onerror = () => console.error('addImage', { imageUri }); // eslint-disable-line no-console + imgEl.onclick = () => addFaces(imgEl); + imgEl.title = imageUri.substring(0, 64); + imgEl.src = encodeURI(imageUri); +} + +async function initDragAndDrop() { + const reader = new FileReader(); + reader.onload = async (e) => { + if (e.target.result.startsWith('data:image')) await addImage(e.target.result); + }; + document.body.addEventListener('dragenter', (evt) => evt.preventDefault()); + document.body.addEventListener('dragleave', (evt) => evt.preventDefault()); + document.body.addEventListener('dragover', (evt) => evt.preventDefault()); + document.body.addEventListener('drop', async (evt) => { + evt.preventDefault(); + evt.dataTransfer.dropEffect = 'copy'; + for (const f of evt.dataTransfer.files) reader.readAsDataURL(f); + }); + document.body.onclick = (e) => { + if (e.target.localName !== 'canvas') document.getElementById('description').innerHTML = ''; + }; +} + +async function main() { + showLoader('loading models'); + await human.load(); + showLoader('compiling models'); + await human.warmup(); + showLoader('loading images'); + const images = ['group-1.jpg', 'group-2.jpg', 'group-3.jpg', 'group-4.jpg', 'group-5.jpg', 'group-6.jpg', 'group-7.jpg', 'solvay1927.jpg', 'stock-group-1.jpg', 'stock-group-2.jpg']; + const imageUris = images.map((a) => `../../samples/in/${a}`); + for (let i = 0; i < imageUris.length; i++) addImage(imageUris[i]); + initDragAndDrop(); + hideLoader(); +} + +window.onload = main; diff --git a/demo/facedetect/index.html b/demo/facedetect/index.html new file mode 100644 index 00000000..844ddec2 --- /dev/null +++ b/demo/facedetect/index.html @@ -0,0 +1,42 @@ + + + + + Human + + + + + + + + + + + + + + + +

+
+
select image to show detected faces
drag & drop to add your images
+
+
+
+
+
hover or click on face to show details
+
+
+ + diff --git a/demo/facedetect/loader.js b/demo/facedetect/loader.js new file mode 100644 index 00000000..171b17e1 --- /dev/null +++ b/demo/facedetect/loader.js @@ -0,0 +1,43 @@ +let loader; + +export const showLoader = (msg) => { loader.setAttribute('msg', msg); loader.style.display = 'block'; }; +export const hideLoader = () => loader.style.display = 'none'; + +class ComponentLoader extends HTMLElement { // watch for attributes + message = document.createElement('div'); + + static get observedAttributes() { return ['msg']; } + + attributeChangedCallback(_name, _prevVal, currVal) { + this.message.innerHTML = currVal; + } + + connectedCallback() { // triggered on insert + this.attachShadow({ mode: 'open' }); + const css = document.createElement('style'); + css.innerHTML = ` + .loader-container { top: 450px; justify-content: center; position: fixed; width: 100%; } + .loader-message { font-size: 1.5rem; padding: 1rem; } + .loader { width: 300px; height: 300px; border: 3px solid transparent; border-radius: 50%; border-top: 4px solid #f15e41; animation: spin 4s linear infinite; position: relative; } + .loader::before, .loader::after { content: ""; position: absolute; top: 6px; bottom: 6px; left: 6px; right: 6px; border-radius: 50%; border: 4px solid transparent; } + .loader::before { border-top-color: #bad375; animation: 3s spin linear infinite; } + .loader::after { border-top-color: #26a9e0; animation: spin 1.5s linear infinite; } + @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } + `; + const container = document.createElement('div'); + container.id = 'loader-container'; + container.className = 'loader-container'; + loader = document.createElement('div'); + loader.id = 'loader'; + loader.className = 'loader'; + this.message.id = 'loader-message'; + this.message.className = 'loader-message'; + this.message.innerHTML = ''; + container.appendChild(this.message); + container.appendChild(loader); + this.shadowRoot?.append(css, container); + loader = this; + } +} + +customElements.define('component-loader', ComponentLoader); diff --git a/demo/facematch/facematch.js b/demo/facematch/facematch.js index b38d317a..256c9650 100644 --- a/demo/facematch/facematch.js +++ b/demo/facematch/facematch.js @@ -64,7 +64,7 @@ async function loadFaceMatchDB() { } } -async function SelectFaceCanvas(face) { +async function selectFaceCanvas(face) { // if we have face image tensor, enhance it and display it let embedding; document.getElementById('orig').style.filter = 'blur(16px)'; @@ -72,19 +72,6 @@ async function SelectFaceCanvas(face) { title('Sorting Faces by Similarity'); const c = document.getElementById('orig'); await human.tf.browser.toPixels(face.tensor, c); - /* - const enhanced = human.enhance(face); - if (enhanced) { - const c = document.getElementById('orig'); - const squeeze = human.tf.squeeze(enhanced); - const normalize = human.tf.div(squeeze, 255); - await human.tf.browser.toPixels(normalize, c); - human.tf.dispose([enhanced, squeeze, normalize]); - const ctx = c.getContext('2d'); - ctx.font = 'small-caps 0.4rem "Lato"'; - ctx.fillStyle = 'rgba(255, 255, 255, 1)'; - } - */ const arr = db.map((rec) => rec.embedding); const res = await human.match.find(face.embedding, arr); log('Match:', db[res.index].name); @@ -139,7 +126,7 @@ async function SelectFaceCanvas(face) { title('Selected Face'); } -async function AddFaceCanvas(index, res, fileName) { +async function addFaceCanvas(index, res, fileName) { all[index] = res.face; for (const i in res.face) { if (!res.face[i].tensor) continue; // did not get valid results @@ -160,7 +147,7 @@ async function AddFaceCanvas(index, res, fileName) { `.replace(/ /g, ' '); await human.tf.browser.toPixels(res.face[i].tensor, canvas); const ctx = canvas.getContext('2d'); - if (!ctx) return false; + if (!ctx) return; ctx.font = 'small-caps 0.8rem "Lato"'; ctx.fillStyle = 'rgba(255, 255, 255, 1)'; ctx.fillText(`${res.face[i].age}y ${(100 * (res.face[i].genderScore || 0)).toFixed(1)}% ${res.face[i].gender}`, 4, canvas.height - 6); @@ -171,12 +158,12 @@ async function AddFaceCanvas(index, res, fileName) { document.getElementById('faces').appendChild(canvas); canvas.addEventListener('click', (evt) => { log('Select:', 'Image:', evt.target.tag.sample, 'Face:', evt.target.tag.face, 'Source:', evt.target.tag.source, all[evt.target.tag.sample][evt.target.tag.face]); - SelectFaceCanvas(all[evt.target.tag.sample][evt.target.tag.face]); + selectFaceCanvas(all[evt.target.tag.sample][evt.target.tag.face]); }); } } -async function AddImageElement(index, image, length) { +async function addImageElement(index, image, length) { const faces = all.reduce((prev, curr) => prev += curr.length, 0); title(`Analyzing Input Images
${Math.round(100 * index / length)}% [${index} / ${length}]
Found ${faces} Faces`); return new Promise((resolve) => { @@ -185,7 +172,7 @@ async function AddImageElement(index, image, length) { document.getElementById('images').appendChild(img); // and finally we can add it human.detect(img, userConfig) .then((res) => { // eslint-disable-line promise/always-return - AddFaceCanvas(index, res, image); // then wait until image is analyzed + addFaceCanvas(index, res, image); // then wait until image is analyzed resolve(true); }) .catch(() => log('human detect error')); @@ -226,18 +213,23 @@ async function main() { // could not dynamically enumerate images so using static list if (images.length === 0) { images = [ - 'ai-body.jpg', 'solvay1927.jpg', 'ai-upper.jpg', - 'person-carolina.jpg', 'person-celeste.jpg', 'person-leila1.jpg', 'person-leila2.jpg', 'person-lexi.jpg', 'person-linda.jpg', 'person-nicole.jpg', 'person-tasia.jpg', - 'person-tetiana.jpg', 'person-vlado1.jpg', 'person-vlado5.jpg', 'person-vlado.jpg', 'person-christina.jpg', 'person-lauren.jpg', + 'ai-face.jpg', 'ai-upper.jpg', 'ai-body.jpg', 'solvay1927.jpg', 'group-1.jpg', 'group-2.jpg', 'group-3.jpg', 'group-4.jpg', 'group-5.jpg', 'group-6.jpg', 'group-7.jpg', - 'daz3d-brianna.jpg', 'daz3d-chiyo.jpg', 'daz3d-cody.jpg', 'daz3d-drew-01.jpg', 'daz3d-drew-02.jpg', 'daz3d-ella-01.jpg', 'daz3d-ella-02.jpg', 'daz3d-gillian.jpg', - 'daz3d-hye-01.jpg', 'daz3d-hye-02.jpg', 'daz3d-kaia.jpg', 'daz3d-karen.jpg', 'daz3d-kiaria-01.jpg', 'daz3d-kiaria-02.jpg', 'daz3d-lilah-01.jpg', 'daz3d-lilah-02.jpg', - 'daz3d-lilah-03.jpg', 'daz3d-lila.jpg', 'daz3d-lindsey.jpg', 'daz3d-megah.jpg', 'daz3d-selina-01.jpg', 'daz3d-selina-02.jpg', 'daz3d-snow.jpg', - 'daz3d-sunshine.jpg', 'daz3d-taia.jpg', 'daz3d-tuesday-01.jpg', 'daz3d-tuesday-02.jpg', 'daz3d-tuesday-03.jpg', 'daz3d-zoe.jpg', 'daz3d-ginnifer.jpg', - 'daz3d-_emotions01.jpg', 'daz3d-_emotions02.jpg', 'daz3d-_emotions03.jpg', 'daz3d-_emotions04.jpg', 'daz3d-_emotions05.jpg', + 'person-celeste.jpg', 'person-christina.jpg', 'person-lauren.jpg', 'person-lexi.jpg', 'person-linda.jpg', 'person-nicole.jpg', 'person-tasia.jpg', 'person-tetiana.jpg', 'person-vlado.jpg', 'person-vlado1.jpg', 'person-vlado5.jpg', + 'stock-group-1.jpg', 'stock-group-2.jpg', + 'stock-models-1.jpg', 'stock-models-2.jpg', 'stock-models-3.jpg', 'stock-models-4.jpg', 'stock-models-5.jpg', 'stock-models-6.jpg', 'stock-models-7.jpg', 'stock-models-8.jpg', 'stock-models-9.jpg', + 'stock-teen-1.jpg', 'stock-teen-2.jpg', 'stock-teen-3.jpg', 'stock-teen-4.jpg', 'stock-teen-5.jpg', 'stock-teen-6.jpg', 'stock-teen-7.jpg', 'stock-teen-8.jpg', + 'stock-models-10.jpg', 'stock-models-11.jpg', 'stock-models-12.jpg', 'stock-models-13.jpg', 'stock-models-14.jpg', 'stock-models-15.jpg', 'stock-models-16.jpg', + 'cgi-model-1.jpg', 'cgi-model-2.jpg', 'cgi-model-3.jpg', 'cgi-model-4.jpg', 'cgi-model-5.jpg', 'cgi-model-6.jpg', 'cgi-model-7.jpg', 'cgi-model-8.jpg', 'cgi-model-9.jpg', + 'cgi-model-10.jpg', 'cgi-model-11.jpg', 'cgi-model-12.jpg', 'cgi-model-13.jpg', 'cgi-model-14.jpg', 'cgi-model-15.jpg', 'cgi-model-18.jpg', 'cgi-model-19.jpg', + 'cgi-model-20.jpg', 'cgi-model-21.jpg', 'cgi-model-22.jpg', 'cgi-model-23.jpg', 'cgi-model-24.jpg', 'cgi-model-25.jpg', 'cgi-model-26.jpg', 'cgi-model-27.jpg', 'cgi-model-28.jpg', 'cgi-model-29.jpg', + 'cgi-model-30.jpg', 'cgi-model-31.jpg', 'cgi-model-33.jpg', 'cgi-model-34.jpg', + 'cgi-multiangle-1.jpg', 'cgi-multiangle-2.jpg', 'cgi-multiangle-3.jpg', 'cgi-multiangle-4.jpg', 'cgi-multiangle-6.jpg', 'cgi-multiangle-7.jpg', 'cgi-multiangle-8.jpg', 'cgi-multiangle-9.jpg', 'cgi-multiangle-10.jpg', 'cgi-multiangle-11.jpg', + 'stock-emotions-a-1.jpg', 'stock-emotions-a-2.jpg', 'stock-emotions-a-3.jpg', 'stock-emotions-a-4.jpg', 'stock-emotions-a-5.jpg', 'stock-emotions-a-6.jpg', 'stock-emotions-a-7.jpg', 'stock-emotions-a-8.jpg', + 'stock-emotions-b-1.jpg', 'stock-emotions-b-2.jpg', 'stock-emotions-b-3.jpg', 'stock-emotions-b-4.jpg', 'stock-emotions-b-5.jpg', 'stock-emotions-b-6.jpg', 'stock-emotions-b-7.jpg', 'stock-emotions-b-8.jpg', ]; // add prefix for gitpages - images = images.map((a) => `/human/samples/in/${a}`); + images = images.map((a) => `../../samples/in/${a}`); log('Adding static image list:', images); } else { log('Discovered images:', images); @@ -246,7 +238,7 @@ async function main() { // images = ['/samples/in/person-lexi.jpg', '/samples/in/person-carolina.jpg', '/samples/in/solvay1927.jpg']; const t0 = human.now(); - for (let i = 0; i < images.length; i++) await AddImageElement(i, images[i], images.length); + for (let i = 0; i < images.length; i++) await addImageElement(i, images[i], images.length); const t1 = human.now(); // print stats diff --git a/dist/human.esm-nobundle.js b/dist/human.esm-nobundle.js index 0df1e74d..da6bede3 100644 --- a/dist/human.esm-nobundle.js +++ b/dist/human.esm-nobundle.js @@ -247,7 +247,7 @@ var config = { modelPath: "handtrack.json" }, skeleton: { - modelPath: "handlandmark-full.json" + modelPath: "handlandmark-lite.json" } }, object: { @@ -13761,9 +13761,11 @@ var Models = class { m.selfie = this.instance.config.segmentation.enabled && !this.models.selfie && ((_y = this.instance.config.segmentation.modelPath) == null ? void 0 : _y.includes("selfie")) ? load21(this.instance.config) : null; m.meet = this.instance.config.segmentation.enabled && !this.models.meet && ((_z = this.instance.config.segmentation.modelPath) == null ? void 0 : _z.includes("meet")) ? load16(this.instance.config) : null; m.rvm = this.instance.config.segmentation.enabled && !this.models.rvm && ((_A = this.instance.config.segmentation.modelPath) == null ? void 0 : _A.includes("rvm")) ? load20(this.instance.config) : null; - await Promise.all([...Object.values(m)]); - for (const model23 of Object.keys(m)) - this.models[model23] = m[model23] || this.models[model23] || null; + for (const [model23, promise] of Object.entries(m)) { + if (promise == null ? void 0 : promise["then"]) + promise["then"]((val) => this.models[model23] = val); + } + await Promise.all(Object.values(m)); } list() { const models3 = Object.keys(this.models).map((model23) => { @@ -14685,7 +14687,9 @@ async function runCompile(instance) { tfjs_esm_exports.env().set("ENGINE_COMPILE_ONLY", true); const numTensorsStart = tfjs_esm_exports.engine().state.numTensors; const compiledModels = []; - for (const [modelName, model23] of Object.entries(instance.models).filter(([key, val]) => key !== null && val !== null)) { + for (const [modelName, model23] of Object.entries(instance.models.models)) { + if (!model23) + continue; const shape = (model23 == null ? void 0 : model23.modelSignature) && ((_b = (_a = model23 == null ? void 0 : model23.inputs) == null ? void 0 : _a[0]) == null ? void 0 : _b.shape) ? [...model23.inputs[0].shape] : [1, 64, 64, 3]; const dtype = (model23 == null ? void 0 : model23.modelSignature) && ((_d = (_c = model23 == null ? void 0 : model23.inputs) == null ? void 0 : _c[0]) == null ? void 0 : _d.dtype) ? model23.inputs[0].dtype : "float32"; for (let dim = 0; dim < shape.length; dim++) { diff --git a/dist/human.esm.js b/dist/human.esm.js index de625a38..0825c265 100644 --- a/dist/human.esm.js +++ b/dist/human.esm.js @@ -30888,7 +30888,7 @@ var config = { modelPath: "handtrack.json" }, skeleton: { - modelPath: "handlandmark-full.json" + modelPath: "handlandmark-lite.json" } }, object: { @@ -44402,9 +44402,11 @@ var Models = class { m.selfie = this.instance.config.segmentation.enabled && !this.models.selfie && ((_y = this.instance.config.segmentation.modelPath) == null ? void 0 : _y.includes("selfie")) ? load21(this.instance.config) : null; m.meet = this.instance.config.segmentation.enabled && !this.models.meet && ((_z2 = this.instance.config.segmentation.modelPath) == null ? void 0 : _z2.includes("meet")) ? load16(this.instance.config) : null; m.rvm = this.instance.config.segmentation.enabled && !this.models.rvm && ((_A2 = this.instance.config.segmentation.modelPath) == null ? void 0 : _A2.includes("rvm")) ? load20(this.instance.config) : null; - await Promise.all([...Object.values(m)]); - for (const model23 of Object.keys(m)) - this.models[model23] = m[model23] || this.models[model23] || null; + for (const [model23, promise] of Object.entries(m)) { + if (promise == null ? void 0 : promise["then"]) + promise["then"]((val) => this.models[model23] = val); + } + await Promise.all(Object.values(m)); } list() { const models3 = Object.keys(this.models).map((model23) => { @@ -45326,7 +45328,9 @@ async function runCompile(instance) { O().set("ENGINE_COMPILE_ONLY", true); const numTensorsStart = cr().state.numTensors; const compiledModels = []; - for (const [modelName, model23] of Object.entries(instance.models).filter(([key, val]) => key !== null && val !== null)) { + for (const [modelName, model23] of Object.entries(instance.models.models)) { + if (!model23) + continue; const shape = (model23 == null ? void 0 : model23.modelSignature) && ((_b2 = (_a2 = model23 == null ? void 0 : model23.inputs) == null ? void 0 : _a2[0]) == null ? void 0 : _b2.shape) ? [...model23.inputs[0].shape] : [1, 64, 64, 3]; const dtype = (model23 == null ? void 0 : model23.modelSignature) && ((_d2 = (_c2 = model23 == null ? void 0 : model23.inputs) == null ? void 0 : _c2[0]) == null ? void 0 : _d2.dtype) ? model23.inputs[0].dtype : "float32"; for (let dim = 0; dim < shape.length; dim++) { diff --git a/dist/human.esm.js.map b/dist/human.esm.js.map index 2f4ec547..ead6a030 100644 --- a/dist/human.esm.js.map +++ b/dist/human.esm.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["tfjs.esm.js", "../src/util/util.ts", "../src/config.ts", "../src/image/imagefxshaders.ts", "../src/image/imagefx.ts", "../src/image/enhance.ts", "../src/image/image.ts", "../src/util/env.ts", "../src/util/webcam.ts", "../src/tfjs/load.ts", "../src/tfjs/humangl.ts", "../src/tfjs/constants.ts", "../src/tfjs/backend.ts", "../src/draw/draw.ts", "../src/draw/primitives.ts", "../src/draw/options.ts", "../src/face/facemeshcoords.ts", "../src/face/constants.ts", "../src/draw/face.ts", "../src/draw/body.ts", "../src/draw/hand.ts", "../src/draw/object.ts", "../src/draw/gesture.ts", "../src/draw/labels.ts", "../src/body/blazeposecoords.ts", "../src/body/blazeposedetector.ts", "../src/util/box.ts", "../src/body/blazepose.ts", "../src/object/labels.ts", "../src/object/centernet.ts", "../src/body/efficientposecoords.ts", "../src/body/efficientpose.ts", "../src/face/facemeshutil.ts", "../src/face/blazeface.ts", "../src/face/iris.ts", "../src/face/attention.ts", "../src/face/facemesh.ts", "../src/gear/emotion.ts", "../src/face/faceres.ts", "../src/face/mask.ts", "../src/face/antispoof.ts", "../src/face/liveness.ts", "../src/gear/gear.ts", "../src/gear/ssrnet-age.ts", "../src/gear/ssrnet-gender.ts", "../src/face/mobilefacenet.ts", "../src/face/insightface.ts", "../src/face/angles.ts", "../src/face/anthropometry.ts", "../src/face/face.ts", "../src/hand/fingerdef.ts", "../src/hand/fingergesture.ts", "../src/hand/fingerpose.ts", "../src/gesture/gesture.ts", "../src/hand/handposeutil.ts", "../src/hand/handposeanchors.ts", "../src/hand/handposedetector.ts", "../src/hand/handposepipeline.ts", "../src/hand/handpose.ts", "../src/hand/handtrack.ts", "../src/result.ts", "../src/body/movenetcoords.ts", "../src/util/interpolate.ts", "../src/segmentation/meet.ts", "../src/face/match.ts", "../src/models.ts", "../src/body/movenetfix.ts", "../src/body/movenet.ts", "../src/object/nanodet.ts", "../src/body/posenetutils.ts", "../src/body/posenet.ts", "../src/segmentation/rvm.ts", "../src/segmentation/selfie.ts", "../src/util/persons.ts", "../src/sample.ts", "../src/warmup.ts", "../src/human.ts"], - "sourcesContent": ["/*\n Human\n homepage: \n author: '\n*/\n\nvar yV=Object.create;var ub=Object.defineProperty;var bV=Object.getOwnPropertyDescriptor;var CV=Object.getOwnPropertyNames;var SV=Object.getPrototypeOf,wV=Object.prototype.hasOwnProperty;var bm=(r=>typeof require!=\"undefined\"?require:typeof Proxy!=\"undefined\"?new Proxy(r,{get:(e,t)=>(typeof require!=\"undefined\"?require:e)[t]}):r)(function(r){if(typeof require!=\"undefined\")return require.apply(this,arguments);throw new Error('Dynamic require of \"'+r+'\" is not supported')});var qt=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Ue=(r,e)=>{for(var t in e)ub(r,t,{get:e[t],enumerable:!0})},IV=(r,e,t,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of CV(e))!wV.call(r,n)&&n!==t&&ub(r,n,{get:()=>e[n],enumerable:!(o=bV(e,n))||o.enumerable});return r};var rp=(r,e,t)=>(t=r!=null?yV(SV(r)):{},IV(e||!r||!r.__esModule?ub(t,\"default\",{value:r,enumerable:!0}):t,r));var rv=qt((Pne,tv)=>{tv.exports=It;var xo=null;try{xo=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(r){}function It(r,e,t){this.low=r|0,this.high=e|0,this.unsigned=!!t}It.prototype.__isLong__;Object.defineProperty(It.prototype,\"__isLong__\",{value:!0});function Lr(r){return(r&&r.__isLong__)===!0}It.isLong=Lr;var qI={},KI={};function eu(r,e){var t,o,n;return e?(r>>>=0,(n=0<=r&&r<256)&&(o=KI[r],o)?o:(t=vt(r,(r|0)<0?-1:0,!0),n&&(KI[r]=t),t)):(r|=0,(n=-128<=r&&r<128)&&(o=qI[r],o)?o:(t=vt(r,r<0?-1:0,!1),n&&(qI[r]=t),t))}It.fromInt=eu;function yo(r,e){if(isNaN(r))return e?Ji:bo;if(e){if(r<0)return Ji;if(r>=QI)return ev}else{if(r<=-XI)return Mr;if(r+1>=XI)return JI}return r<0?yo(-r,e).neg():vt(r%Ep|0,r/Ep|0,e)}It.fromNumber=yo;function vt(r,e,t){return new It(r,e,t)}It.fromBits=vt;var Rm=Math.pow;function Ib(r,e,t){if(r.length===0)throw Error(\"empty string\");if(r===\"NaN\"||r===\"Infinity\"||r===\"+Infinity\"||r===\"-Infinity\")return bo;if(typeof e==\"number\"?(t=e,e=!1):e=!!e,t=t||10,t<2||360)throw Error(\"interior hyphen\");if(o===0)return Ib(r.substring(1),e,t).neg();for(var n=yo(Rm(t,8)),s=bo,a=0;a>>0:this.low};me.toNumber=function(){return this.unsigned?(this.high>>>0)*Ep+(this.low>>>0):this.high*Ep+(this.low>>>0)};me.toString=function(e){if(e=e||10,e<2||36>>0,c=u.toString(e);if(a=p,a.isZero())return c+i;for(;c.length<6;)c=\"0\"+c;i=\"\"+c+i}};me.getHighBits=function(){return this.high};me.getHighBitsUnsigned=function(){return this.high>>>0};me.getLowBits=function(){return this.low};me.getLowBitsUnsigned=function(){return this.low>>>0};me.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Mr)?64:this.neg().getNumBitsAbs();for(var e=this.high!=0?this.high:this.low,t=31;t>0&&(e&1<=0};me.isOdd=function(){return(this.low&1)===1};me.isEven=function(){return(this.low&1)===0};me.equals=function(e){return Lr(e)||(e=ts(e)),this.unsigned!==e.unsigned&&this.high>>>31===1&&e.high>>>31===1?!1:this.high===e.high&&this.low===e.low};me.eq=me.equals;me.notEquals=function(e){return!this.eq(e)};me.neq=me.notEquals;me.ne=me.notEquals;me.lessThan=function(e){return this.comp(e)<0};me.lt=me.lessThan;me.lessThanOrEqual=function(e){return this.comp(e)<=0};me.lte=me.lessThanOrEqual;me.le=me.lessThanOrEqual;me.greaterThan=function(e){return this.comp(e)>0};me.gt=me.greaterThan;me.greaterThanOrEqual=function(e){return this.comp(e)>=0};me.gte=me.greaterThanOrEqual;me.ge=me.greaterThanOrEqual;me.compare=function(e){if(Lr(e)||(e=ts(e)),this.eq(e))return 0;var t=this.isNegative(),o=e.isNegative();return t&&!o?-1:!t&&o?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1};me.comp=me.compare;me.negate=function(){return!this.unsigned&&this.eq(Mr)?Mr:this.not().add(_p)};me.neg=me.negate;me.add=function(e){Lr(e)||(e=ts(e));var t=this.high>>>16,o=this.high&65535,n=this.low>>>16,s=this.low&65535,a=e.high>>>16,i=e.high&65535,p=e.low>>>16,u=e.low&65535,c=0,l=0,m=0,d=0;return d+=s+u,m+=d>>>16,d&=65535,m+=n+p,l+=m>>>16,m&=65535,l+=o+i,c+=l>>>16,l&=65535,c+=t+a,c&=65535,vt(m<<16|d,c<<16|l,this.unsigned)};me.subtract=function(e){return Lr(e)||(e=ts(e)),this.add(e.neg())};me.sub=me.subtract;me.multiply=function(e){if(this.isZero())return bo;if(Lr(e)||(e=ts(e)),xo){var t=xo.mul(this.low,this.high,e.low,e.high);return vt(t,xo.get_high(),this.unsigned)}if(e.isZero())return bo;if(this.eq(Mr))return e.isOdd()?Mr:bo;if(e.eq(Mr))return this.isOdd()?Mr:bo;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(YI)&&e.lt(YI))return yo(this.toNumber()*e.toNumber(),this.unsigned);var o=this.high>>>16,n=this.high&65535,s=this.low>>>16,a=this.low&65535,i=e.high>>>16,p=e.high&65535,u=e.low>>>16,c=e.low&65535,l=0,m=0,d=0,f=0;return f+=a*c,d+=f>>>16,f&=65535,d+=s*c,m+=d>>>16,d&=65535,d+=a*u,m+=d>>>16,d&=65535,m+=n*c,l+=m>>>16,m&=65535,m+=s*u,l+=m>>>16,m&=65535,m+=a*p,l+=m>>>16,m&=65535,l+=o*c+n*u+s*p+a*i,l&=65535,vt(d<<16|f,l<<16|m,this.unsigned)};me.mul=me.multiply;me.divide=function(e){if(Lr(e)||(e=ts(e)),e.isZero())throw Error(\"division by zero\");if(xo){if(!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1)return this;var t=(this.unsigned?xo.div_u:xo.div_s)(this.low,this.high,e.low,e.high);return vt(t,xo.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Ji:bo;var o,n,s;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return Ji;if(e.gt(this.shru(1)))return ZI;s=Ji}else{if(this.eq(Mr)){if(e.eq(_p)||e.eq(wb))return Mr;if(e.eq(Mr))return _p;var a=this.shr(1);return o=a.div(e).shl(1),o.eq(bo)?e.isNegative()?_p:wb:(n=this.sub(e.mul(o)),s=o.add(n.div(e)),s)}else if(e.eq(Mr))return this.unsigned?Ji:bo;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();s=bo}for(n=this;n.gte(e);){o=Math.max(1,Math.floor(n.toNumber()/e.toNumber()));for(var i=Math.ceil(Math.log(o)/Math.LN2),p=i<=48?1:Rm(2,i-48),u=yo(o),c=u.mul(e);c.isNegative()||c.gt(n);)o-=p,u=yo(o,this.unsigned),c=u.mul(e);u.isZero()&&(u=_p),s=s.add(u),n=n.sub(c)}return s};me.div=me.divide;me.modulo=function(e){if(Lr(e)||(e=ts(e)),xo){var t=(this.unsigned?xo.rem_u:xo.rem_s)(this.low,this.high,e.low,e.high);return vt(t,xo.get_high(),this.unsigned)}return this.sub(this.div(e).mul(e))};me.mod=me.modulo;me.rem=me.modulo;me.not=function(){return vt(~this.low,~this.high,this.unsigned)};me.and=function(e){return Lr(e)||(e=ts(e)),vt(this.low&e.low,this.high&e.high,this.unsigned)};me.or=function(e){return Lr(e)||(e=ts(e)),vt(this.low|e.low,this.high|e.high,this.unsigned)};me.xor=function(e){return Lr(e)||(e=ts(e)),vt(this.low^e.low,this.high^e.high,this.unsigned)};me.shiftLeft=function(e){return Lr(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?vt(this.low<>>32-e,this.unsigned):vt(0,this.low<>>e|this.high<<32-e,this.high>>e,this.unsigned):vt(this.high>>e-32,this.high>=0?0:-1,this.unsigned)};me.shr=me.shiftRight;me.shiftRightUnsigned=function(e){if(Lr(e)&&(e=e.toInt()),e&=63,e===0)return this;var t=this.high;if(e<32){var o=this.low;return vt(o>>>e|t<<32-e,t>>>e,this.unsigned)}else return e===32?vt(t,0,this.unsigned):vt(t>>>e-32,0,this.unsigned)};me.shru=me.shiftRightUnsigned;me.shr_u=me.shiftRightUnsigned;me.toSigned=function(){return this.unsigned?vt(this.low,this.high,!1):this};me.toUnsigned=function(){return this.unsigned?this:vt(this.low,this.high,!0)};me.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()};me.toBytesLE=function(){var e=this.high,t=this.low;return[t&255,t>>>8&255,t>>>16&255,t>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]};me.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,t>>>24,t>>>16&255,t>>>8&255,t&255]};It.fromBytes=function(e,t,o){return o?It.fromBytesLE(e,t):It.fromBytesBE(e,t)};It.fromBytesLE=function(e,t){return new It(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)};It.fromBytesBE=function(e,t){return new It(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)}});var Mv=qt(()=>{});var Lv=qt(()=>{});var Bk=qt((Lk,cC)=>{(function(r,e,t){function o(i){var p=this,u=a();p.next=function(){var c=2091639*p.s0+p.c*23283064365386963e-26;return p.s0=p.s1,p.s1=p.s2,p.s2=c-(p.c=c|0)},p.c=1,p.s0=u(\" \"),p.s1=u(\" \"),p.s2=u(\" \"),p.s0-=u(i),p.s0<0&&(p.s0+=1),p.s1-=u(i),p.s1<0&&(p.s1+=1),p.s2-=u(i),p.s2<0&&(p.s2+=1),u=null}function n(i,p){return p.c=i.c,p.s0=i.s0,p.s1=i.s1,p.s2=i.s2,p}function s(i,p){var u=new o(i),c=p&&p.state,l=u.next;return l.int32=function(){return u.next()*4294967296|0},l.double=function(){return l()+(l()*2097152|0)*11102230246251565e-32},l.quick=l,c&&(typeof c==\"object\"&&n(c,u),l.state=function(){return n(u,{})}),l}function a(){var i=4022871197,p=function(u){u=String(u);for(var c=0;c>>0,l-=i,l*=i,i=l>>>0,l-=i,i+=l*4294967296}return(i>>>0)*23283064365386963e-26};return p}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.alea=s})(Lk,typeof cC==\"object\"&&cC,typeof define==\"function\"&&define)});var zk=qt((Vk,lC)=>{(function(r,e,t){function o(a){var i=this,p=\"\";i.x=0,i.y=0,i.z=0,i.w=0,i.next=function(){var c=i.x^i.x<<11;return i.x=i.y,i.y=i.z,i.z=i.w,i.w^=i.w>>>19^c^c>>>8},a===(a|0)?i.x=a:p+=a;for(var u=0;u>>0)/4294967296};return c.double=function(){do var l=p.next()>>>11,m=(p.next()>>>0)/4294967296,d=(l+m)/(1<<21);while(d===0);return d},c.int32=p.next,c.quick=c,u&&(typeof u==\"object\"&&n(u,p),c.state=function(){return n(p,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xor128=s})(Vk,typeof lC==\"object\"&&lC,typeof define==\"function\"&&define)});var Uk=qt((Wk,mC)=>{(function(r,e,t){function o(a){var i=this,p=\"\";i.next=function(){var c=i.x^i.x>>>2;return i.x=i.y,i.y=i.z,i.z=i.w,i.w=i.v,(i.d=i.d+362437|0)+(i.v=i.v^i.v<<4^(c^c<<1))|0},i.x=0,i.y=0,i.z=0,i.w=0,i.v=0,a===(a|0)?i.x=a:p+=a;for(var u=0;u>>4),i.next()}function n(a,i){return i.x=a.x,i.y=a.y,i.z=a.z,i.w=a.w,i.v=a.v,i.d=a.d,i}function s(a,i){var p=new o(a),u=i&&i.state,c=function(){return(p.next()>>>0)/4294967296};return c.double=function(){do var l=p.next()>>>11,m=(p.next()>>>0)/4294967296,d=(l+m)/(1<<21);while(d===0);return d},c.int32=p.next,c.quick=c,u&&(typeof u==\"object\"&&n(u,p),c.state=function(){return n(p,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xorwow=s})(Wk,typeof mC==\"object\"&&mC,typeof define==\"function\"&&define)});var Hk=qt((Gk,dC)=>{(function(r,e,t){function o(a){var i=this;i.next=function(){var u=i.x,c=i.i,l,m,d;return l=u[c],l^=l>>>7,m=l^l<<24,l=u[c+1&7],m^=l^l>>>10,l=u[c+3&7],m^=l^l>>>3,l=u[c+4&7],m^=l^l<<7,l=u[c+7&7],l=l^l<<13,m^=l^l<<9,u[c]=m,i.i=c+1&7,m};function p(u,c){var l,m,d=[];if(c===(c|0))m=d[0]=c;else for(c=\"\"+c,l=0;l0;--l)u.next()}p(i,a)}function n(a,i){return i.x=a.x.slice(),i.i=a.i,i}function s(a,i){a==null&&(a=+new Date);var p=new o(a),u=i&&i.state,c=function(){return(p.next()>>>0)/4294967296};return c.double=function(){do var l=p.next()>>>11,m=(p.next()>>>0)/4294967296,d=(l+m)/(1<<21);while(d===0);return d},c.int32=p.next,c.quick=c,u&&(u.x&&n(u,p),c.state=function(){return n(p,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xorshift7=s})(Gk,typeof dC==\"object\"&&dC,typeof define==\"function\"&&define)});var Kk=qt((qk,fC)=>{(function(r,e,t){function o(a){var i=this;i.next=function(){var u=i.w,c=i.X,l=i.i,m,d;return i.w=u=u+1640531527|0,d=c[l+34&127],m=c[l=l+1&127],d^=d<<13,m^=m<<17,d^=d>>>15,m^=m>>>12,d=c[l]=d^m,i.i=l,d+(u^u>>>16)|0};function p(u,c){var l,m,d,f,h,g=[],x=128;for(c===(c|0)?(m=c,c=null):(c=c+\"\\0\",m=0,x=Math.max(x,c.length)),d=0,f=-32;f>>15,m^=m<<4,m^=m>>>13,f>=0&&(h=h+1640531527|0,l=g[f&127]^=m+h,d=l==0?d+1:0);for(d>=128&&(g[(c&&c.length||0)&127]=-1),d=127,f=4*128;f>0;--f)m=g[d+34&127],l=g[d=d+1&127],m^=m<<13,l^=l<<17,m^=m>>>15,l^=l>>>12,g[d]=m^l;u.w=h,u.X=g,u.i=d}p(i,a)}function n(a,i){return i.i=a.i,i.w=a.w,i.X=a.X.slice(),i}function s(a,i){a==null&&(a=+new Date);var p=new o(a),u=i&&i.state,c=function(){return(p.next()>>>0)/4294967296};return c.double=function(){do var l=p.next()>>>11,m=(p.next()>>>0)/4294967296,d=(l+m)/(1<<21);while(d===0);return d},c.int32=p.next,c.quick=c,u&&(u.X&&n(u,p),c.state=function(){return n(p,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xor4096=s})(qk,typeof fC==\"object\"&&fC,typeof define==\"function\"&&define)});var Xk=qt((jk,hC)=>{(function(r,e,t){function o(a){var i=this,p=\"\";i.next=function(){var c=i.b,l=i.c,m=i.d,d=i.a;return c=c<<25^c>>>7^l,l=l-m|0,m=m<<24^m>>>8^d,d=d-c|0,i.b=c=c<<20^c>>>12^l,i.c=l=l-m|0,i.d=m<<16^l>>>16^d,i.a=d-c|0},i.a=0,i.b=0,i.c=-1640531527,i.d=1367130551,a===Math.floor(a)?(i.a=a/4294967296|0,i.b=a|0):p+=a;for(var u=0;u>>0)/4294967296};return c.double=function(){do var l=p.next()>>>11,m=(p.next()>>>0)/4294967296,d=(l+m)/(1<<21);while(d===0);return d},c.int32=p.next,c.quick=c,u&&(typeof u==\"object\"&&n(u,p),c.state=function(){return n(p,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.tychei=s})(jk,typeof hC==\"object\"&&hC,typeof define==\"function\"&&define)});var Yk=qt(()=>{});var Zk=qt((Qk,kd)=>{(function(r,e,t){var o=256,n=6,s=52,a=\"random\",i=t.pow(o,n),p=t.pow(2,s),u=p*2,c=o-1,l;function m(C,w,k){var _=[];w=w==!0?{entropy:!0}:w||{};var $=g(h(w.entropy?[C,b(e)]:C==null?x():C,3),_),A=new d(_),R=function(){for(var D=A.g(n),P=i,M=0;D=u;)D/=2,P/=2,M>>>=1;return(D+M)/P};return R.int32=function(){return A.g(4)|0},R.quick=function(){return A.g(4)/4294967296},R.double=R,g(b(A.S),e),(w.pass||k||function(D,P,M,L){return L&&(L.S&&f(L,A),D.state=function(){return f(A,{})}),M?(t[a]=D,P):D})(R,$,\"global\"in w?w.global:this==t,w.state)}function d(C){var w,k=C.length,_=this,$=0,A=_.i=_.j=0,R=_.S=[];for(k||(C=[k++]);${var eG=Bk(),tG=zk(),rG=Uk(),oG=Hk(),nG=Kk(),sG=Xk(),du=Zk();du.alea=eG;du.xor128=tG;du.xorwow=rG;du.xorshift7=oG;du.xor4096=nG;du.tychei=sG;Jk.exports=du});var Rl=qt(()=>{});var qw=qt(()=>{});var l3=qt(()=>{});var m3=qt(()=>{});var d3=qt(()=>{});var f3=qt((wg,jw)=>{var Kw=(()=>{var r=typeof document!=\"undefined\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!=\"undefined\"&&(r=r||__filename),function(e){e=e||{};function t(){return J.buffer!=Oe&&Nt(J.buffer),mt}function o(){return J.buffer!=Oe&&Nt(J.buffer),at}function n(){return J.buffer!=Oe&&Nt(J.buffer),ft}function s(){return J.buffer!=Oe&&Nt(J.buffer),Fr}function a(){return J.buffer!=Oe&&Nt(J.buffer),Ot}function i(){return J.buffer!=Oe&&Nt(J.buffer),Kr}function p(){return J.buffer!=Oe&&Nt(J.buffer),er}var u=typeof e!=\"undefined\"?e:{},c,l;u.ready=new Promise(function(F,B){c=F,l=B});var m;typeof process!=\"undefined\"&&process.listeners&&(m={uncaughtException:process.listeners(\"uncaughtException\"),unhandledRejection:process.listeners(\"unhandledRejection\")});var d=Object.assign({},u),f=[],h=\"./this.program\",g=(F,B)=>{throw B},x=typeof window==\"object\",b=typeof importScripts==\"function\",C=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",w=u.ENVIRONMENT_IS_PTHREAD||!1,k=\"\";function _(F){return u.locateFile?u.locateFile(F,k):k+F}var $,A,R,D;function P(F){if(F instanceof Hi)return;q(\"exiting due to exception: \"+F)}if(C){b?k=Rl().dirname(k)+\"/\":k=__dirname+\"/\";var M,L;typeof bm==\"function\"&&(M=qw(),L=Rl()),$=(B,ne)=>(B=L.normalize(B),M.readFileSync(B,ne?void 0:\"utf8\")),R=B=>{var ne=$(B,!0);return ne.buffer||(ne=new Uint8Array(ne)),ne},A=(B,ne,fe)=>{B=L.normalize(B),M.readFile(B,function(Te,Ze){Te?fe(Te):ne(Ze.buffer)})},process.argv.length>1&&(h=process.argv[1].replace(/\\\\/g,\"/\")),f=process.argv.slice(2),process.on(\"uncaughtException\",function(B){if(!(B instanceof Hi))throw B}),process.on(\"unhandledRejection\",function(B){throw B}),g=(B,ne)=>{if(Fo())throw process.exitCode=B,ne;P(ne),process.exit(B)},u.inspect=function(){return\"[Emscripten Module object]\"};let F;try{F=l3()}catch(B){throw console.error('The \"worker_threads\" module is not supported in this node.js build - perhaps a newer version is needed?'),B}global.Worker=F.Worker}else(x||b)&&(b?k=self.location.href:typeof document!=\"undefined\"&&document.currentScript&&(k=document.currentScript.src),typeof r!=\"undefined\"&&r&&(k=r),k.indexOf(\"blob:\")!==0?k=k.substr(0,k.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):k=\"\",C||($=F=>{var B=new XMLHttpRequest;return B.open(\"GET\",F,!1),B.send(null),B.responseText},b&&(R=F=>{var B=new XMLHttpRequest;return B.open(\"GET\",F,!1),B.responseType=\"arraybuffer\",B.send(null),new Uint8Array(B.response)}),A=(F,B,ne)=>{var fe=new XMLHttpRequest;fe.open(\"GET\",F,!0),fe.responseType=\"arraybuffer\",fe.onload=()=>{if(fe.status==200||fe.status==0&&fe.response){B(fe.response);return}ne()},fe.onerror=ne,fe.send(null)}),D=F=>document.title=F);C&&typeof performance==\"undefined\"&&(global.performance=m3().performance);var W=console.log.bind(console),V=console.warn.bind(console);C&&(W=F=>M.writeSync(1,F+`\n`),V=F=>M.writeSync(2,F+`\n`));var U=u.print||W,q=u.printErr||V;Object.assign(u,d),d=null,u.arguments&&(f=u.arguments),u.thisProgram&&(h=u.thisProgram),u.quit&&(g=u.quit);var H=4,j=Atomics.load,X=Atomics.store,Z=Atomics.compareExchange,ee;u.wasmBinary&&(ee=u.wasmBinary);var Y=u.noExitRuntime||!0;typeof WebAssembly!=\"object\"&&Xu(\"no native wasm support detected\");var J,ie,pe=!1,he;function we(F,B){F||Xu(B)}var ve=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):void 0;function $e(F,B,ne){for(var fe=B+ne,Te=B;F[Te]&&!(Te>=fe);)++Te;if(Te-B>16&&F.buffer&&ve)return ve.decode(F.buffer instanceof SharedArrayBuffer?F.slice(B,Te):F.subarray(B,Te));for(var Ze=\"\";B>10,56320|Qr&1023)}}return Ze}function Le(F,B){return F?$e(o(),F,B):\"\"}function nt(F,B,ne,fe){if(!(fe>0))return 0;for(var Te=ne,Ze=ne+fe-1,Ae=0;Ae=55296&&Pe<=57343){var zt=F.charCodeAt(++Ae);Pe=65536+((Pe&1023)<<10)|zt&1023}if(Pe<=127){if(ne>=Ze)break;B[ne++]=Pe}else if(Pe<=2047){if(ne+1>=Ze)break;B[ne++]=192|Pe>>6,B[ne++]=128|Pe&63}else if(Pe<=65535){if(ne+2>=Ze)break;B[ne++]=224|Pe>>12,B[ne++]=128|Pe>>6&63,B[ne++]=128|Pe&63}else{if(ne+3>=Ze)break;B[ne++]=240|Pe>>18,B[ne++]=128|Pe>>12&63,B[ne++]=128|Pe>>6&63,B[ne++]=128|Pe&63}}return B[ne]=0,ne-Te}function pt(F,B,ne){return nt(F,o(),B,ne)}var Oe,mt,at,ft,wt,Fr,Ot,Kr,er;w&&(Oe=u.buffer);function Nt(F){Oe=F,u.HEAP8=mt=new Int8Array(F),u.HEAP16=ft=new Int16Array(F),u.HEAP32=Fr=new Int32Array(F),u.HEAPU8=at=new Uint8Array(F),u.HEAPU16=wt=new Uint16Array(F),u.HEAPU32=Ot=new Uint32Array(F),u.HEAPF32=Kr=new Float32Array(F),u.HEAPF64=er=new Float64Array(F)}var tr=u.INITIAL_MEMORY||16777216;if(w)J=u.wasmMemory,Oe=u.buffer;else if(u.wasmMemory)J=u.wasmMemory;else if(J=new WebAssembly.Memory({initial:tr/65536,maximum:32768,shared:!0}),!(J.buffer instanceof SharedArrayBuffer))throw q(\"requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag\"),C&&console.log(\"(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)\"),Error(\"bad memory\");J&&(Oe=J.buffer),tr=Oe.byteLength,Nt(Oe);var rr,jr=[],Xr=[],pr=[],Js=!1;function Fo(){return Y}function Ka(){if(u.preRun)for(typeof u.preRun==\"function\"&&(u.preRun=[u.preRun]);u.preRun.length;)Ac(u.preRun.shift());Pc(jr)}function Kt(){Js=!0,!w&&Pc(Xr)}function ea(){if(!w){if(u.postRun)for(typeof u.postRun==\"function\"&&(u.postRun=[u.postRun]);u.postRun.length;)SI(u.postRun.shift());Pc(pr)}}function Ac(F){jr.unshift(F)}function Rc(F){Xr.unshift(F)}function SI(F){pr.unshift(F)}var ja=0,ju=null,ta=null;function wI(F){ja++,u.monitorRunDependencies&&u.monitorRunDependencies(ja)}function II(F){if(ja--,u.monitorRunDependencies&&u.monitorRunDependencies(ja),ja==0&&(ju!==null&&(clearInterval(ju),ju=null),ta)){var B=ta;ta=null,B()}}function Xu(F){w?postMessage({cmd:\"onAbort\",arg:F}):u.onAbort&&u.onAbort(F),F=\"Aborted(\"+F+\")\",q(F),pe=!0,he=1,F+=\". Build with -sASSERTIONS for more info.\";var B=new WebAssembly.RuntimeError(F);throw l(B),B}var Ix=\"data:application/octet-stream;base64,\";function jl(F){return F.startsWith(Ix)}function Fc(F){return F.startsWith(\"file://\")}var fr;fr=\"tfjs-backend-wasm-threaded-simd.wasm\",jl(fr)||(fr=_(fr));function Xl(F){try{if(F==fr&&ee)return new Uint8Array(ee);if(R)return R(F);throw\"both async and sync fetching of the wasm failed\"}catch(B){Xu(B)}}function vx(){if(!ee&&(x||b)){if(typeof fetch==\"function\"&&!Fc(fr))return fetch(fr,{credentials:\"same-origin\"}).then(function(F){if(!F.ok)throw\"failed to load wasm binary file at '\"+fr+\"'\";return F.arrayBuffer()}).catch(function(){return Xl(fr)});if(A)return new Promise(function(F,B){A(fr,function(ne){F(new Uint8Array(ne))},B)})}return Promise.resolve().then(function(){return Xl(fr)})}function kx(){var F={env:im,wasi_snapshot_preview1:im};function B(Ae,Pe){var zt=Ae.exports;if(u.asm=zt,Ox(u.asm._emscripten_tls_init),rr=u.asm.__indirect_function_table,Rc(u.asm.__wasm_call_ctors),ie=Pe,!w){var Qr=De.unusedWorkers.length;De.unusedWorkers.forEach(function(oa){De.loadWasmModuleToWorker(oa,function(){--Qr||II(\"wasm-instantiate\")})})}}w||wI(\"wasm-instantiate\");function ne(Ae){B(Ae.instance,Ae.module)}function fe(Ae){return vx().then(function(Pe){return WebAssembly.instantiate(Pe,F)}).then(function(Pe){return Pe}).then(Ae,function(Pe){q(\"failed to asynchronously prepare wasm: \"+Pe),Xu(Pe)})}function Te(){return!ee&&typeof WebAssembly.instantiateStreaming==\"function\"&&!jl(fr)&&!Fc(fr)&&!C&&typeof fetch==\"function\"?fetch(fr,{credentials:\"same-origin\"}).then(function(Ae){var Pe=WebAssembly.instantiateStreaming(Ae,F);return Pe.then(ne,function(zt){return q(\"wasm streaming compile failed: \"+zt),q(\"falling back to ArrayBuffer instantiation\"),fe(ne)})}):fe(ne)}if(u.instantiateWasm)try{var Ze=u.instantiateWasm(F,B);return Ze}catch(Ae){q(\"Module.instantiateWasm callback failed with error: \"+Ae),l(Ae)}return Te().catch(l),{}}var Nx,vI,Tx={};function Hi(F){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+F+\")\",this.status=F}function _x(F){var B=De.pthreads[F];delete De.pthreads[F],B.terminate(),sb(F),De.runningWorkers.splice(De.runningWorkers.indexOf(B),1),B.pthread_ptr=0}function Ex(F){var B=De.pthreads[F];B.postMessage({cmd:\"cancel\"})}function Dc(F){var B=De.pthreads[F];we(B),De.returnWorkerToPool(B)}function Yl(F){var B=De.getNewWorker();if(!B)return 6;De.runningWorkers.push(B),De.pthreads[F.pthread_ptr]=B,B.pthread_ptr=F.pthread_ptr;var ne={cmd:\"run\",start_routine:F.startRoutine,arg:F.arg,pthread_ptr:F.pthread_ptr};return B.runPthread=()=>{ne.time=performance.now(),B.postMessage(ne,F.transferList)},B.loaded&&(B.runPthread(),delete B.runPthread),0}var Ql={varargs:void 0,get:function(){Ql.varargs+=4;var F=s()[Ql.varargs-4>>2];return F},getStr:function(F){var B=Le(F);return B}};function Oc(F){if(w)return Xa(1,1,F);he=F,Fo()||(De.terminateAllThreads(),u.onExit&&u.onExit(F),pe=!0),g(F,new Hi(F))}function kI(F,B){if(he=F,!B&&w)throw Jl(F),\"unwind\";Oc(F)}var Zl=kI;function $x(F){if(F instanceof Hi||F==\"unwind\")return he;g(1,F)}var De={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){w?De.initWorker():De.initMainThread()},initMainThread:function(){for(var F=8;F--;)De.allocateUnusedWorker()},initWorker:function(){Y=!1},setExitStatus:function(F){he=F},terminateAllThreads:function(){for(var F of Object.values(De.pthreads))De.returnWorkerToPool(F);for(var F of De.unusedWorkers)F.terminate();De.unusedWorkers=[]},returnWorkerToPool:function(F){var B=F.pthread_ptr;delete De.pthreads[B],De.unusedWorkers.push(F),De.runningWorkers.splice(De.runningWorkers.indexOf(F),1),F.pthread_ptr=0,sb(B)},receiveObjectTransfer:function(F){},threadInitTLS:function(){De.tlsInitFunctions.forEach(F=>F())},loadWasmModuleToWorker:function(F,B){F.onmessage=ne=>{var fe=ne.data,Te=fe.cmd;if(F.pthread_ptr&&(De.currentProxiedOperationCallerThread=F.pthread_ptr),fe.targetThread&&fe.targetThread!=dm()){var Ze=De.pthreads[fe.targetThread];Ze?Ze.postMessage(fe,fe.transferList):q('Internal error! Worker sent a message \"'+Te+'\" to target pthread '+fe.targetThread+\", but that thread no longer exists!\"),De.currentProxiedOperationCallerThread=void 0;return}Te===\"processProxyingQueue\"?Mc(fe.queue):Te===\"spawnThread\"?Yl(fe):Te===\"cleanupThread\"?Dc(fe.thread):Te===\"killThread\"?_x(fe.thread):Te===\"cancelThread\"?Ex(fe.thread):Te===\"loaded\"?(F.loaded=!0,B&&B(F),F.runPthread&&(F.runPthread(),delete F.runPthread)):Te===\"print\"?U(\"Thread \"+fe.threadId+\": \"+fe.text):Te===\"printErr\"?q(\"Thread \"+fe.threadId+\": \"+fe.text):Te===\"alert\"?alert(\"Thread \"+fe.threadId+\": \"+fe.text):fe.target===\"setimmediate\"?F.postMessage(fe):Te===\"onAbort\"?u.onAbort&&u.onAbort(fe.arg):Te&&q(\"worker sent an unknown command \"+Te),De.currentProxiedOperationCallerThread=void 0},F.onerror=ne=>{var fe=\"worker sent an error!\";throw q(fe+\" \"+ne.filename+\":\"+ne.lineno+\": \"+ne.message),ne},C&&(F.on(\"message\",function(ne){F.onmessage({data:ne})}),F.on(\"error\",function(ne){F.onerror(ne)}),F.on(\"detachedExit\",function(){})),F.postMessage({cmd:\"load\",urlOrBlob:u.mainScriptUrlOrBlob||r,wasmMemory:J,wasmModule:ie})},allocateUnusedWorker:function(){var F=_(\"tfjs-backend-wasm-threaded-simd.worker.js\");De.unusedWorkers.push(new Worker(F))},getNewWorker:function(){return De.unusedWorkers.length==0&&(De.allocateUnusedWorker(),De.loadWasmModuleToWorker(De.unusedWorkers[0])),De.unusedWorkers.pop()}};u.PThread=De;function Pc(F){for(;F.length>0;)F.shift()(u)}function Ax(F){var B=ab(),ne=F();return fm(B),ne}function NI(F){return F}function TI(F){var B=/\\b_Z[\\w\\d_]+/g;return F.replace(B,function(ne){var fe=ne;return ne===fe?ne:fe+\" [\"+ne+\"]\"})}function Rx(){var F=dm(),B=s()[F+44>>2],ne=s()[F+48>>2],fe=B-ne;DI(B,fe),fm(B)}u.establishStackSpace=Rx;function Jl(F){if(w)return Xa(2,0,F);try{Zl(F)}catch(B){$x(B)}}var Yu=[];function Fx(F){var B=Yu[F];return B||(F>=Yu.length&&(Yu.length=F+1),Yu[F]=B=rr.get(F)),B}function Dx(F,B){var ne=Fx(F)(B);Fo()?De.setExitStatus(ne):FI(ne)}u.invokeEntryPoint=Dx;function _I(){var F=new Error;if(!F.stack){try{throw new Error}catch(B){F=B}if(!F.stack)return\"(no stack trace available)\"}return F.stack.toString()}function Ox(F){De.tlsInitFunctions.push(F)}function Px(F,B){t().set(F,B)}function Mx(F){$I(F,!b,1,!x),De.threadInitTLS()}function Lx(F){w?postMessage({cmd:\"cleanupThread\",thread:F}):Dc(F)}function em(F,B,ne,fe){return w?Xa(3,1,F,B,ne,fe):tm(F,B,ne,fe)}function tm(F,B,ne,fe){if(typeof SharedArrayBuffer==\"undefined\")return q(\"Current environment does not support SharedArrayBuffer, pthreads are not available!\"),6;var Te=[],Ze=0;if(w&&(Te.length===0||Ze))return em(F,B,ne,fe);if(Ze)return Ze;var Ae={startRoutine:ne,pthread_ptr:F,arg:fe,transferList:Te};return w?(Ae.cmd=\"spawnThread\",postMessage(Ae,Te),0):Yl(Ae)}function Bx(){return 2097152}var Vx=!0;function zx(){return Vx}function Mc(F){Atomics.store(s(),F>>2,1),dm()&&RI(F),Atomics.compareExchange(s(),F>>2,1,0)}u.executeNotifiedProxyingQueue=Mc;function Wx(F,B,ne,fe){if(F==B)setTimeout(()=>Mc(fe));else if(w)postMessage({targetThread:F,cmd:\"processProxyingQueue\",queue:fe});else{var Te=De.pthreads[F];if(!Te)return;Te.postMessage({cmd:\"processProxyingQueue\",queue:fe})}return 1}function Ux(F,B,ne){return-1}function Gx(){Xu(\"\")}function qi(F){qi.shown||(qi.shown={}),qi.shown[F]||(qi.shown[F]=1,C&&(F=\"warning: \"+F),q(F))}function Hx(){C||b||qi(\"Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread\")}function qx(){return Date.now()}function rm(){return 2147483648}function Kx(){return rm()}var Qu;C?Qu=()=>{var F=process.hrtime();return F[0]*1e3+F[1]/1e6}:w?Qu=()=>performance.now()-u.__performance_now_clock_drift:Qu=()=>performance.now();function jx(F,B,ne){o().copyWithin(F,B,B+ne)}function Xx(){return C?d3().cpus().length:navigator.hardwareConcurrency}function Xa(F,B){var ne=arguments.length-2,fe=arguments;return Ax(()=>{for(var Te=ne,Ze=hm(Te*8),Ae=Ze>>3,Pe=0;Pe>3,Te=0;Te>>16),Nt(J.buffer),1}catch(B){}}function Zx(F){var B=o().length;if(F=F>>>0,F<=B)return!1;var ne=rm();if(F>ne)return!1;let fe=(zt,Qr)=>zt+(Qr-zt%Qr)%Qr;for(var Te=1;Te<=4;Te*=2){var Ze=B*(1+.2/Te);Ze=Math.min(Ze,F+100663296);var Ae=Math.min(ne,fe(Math.max(F,Ze),65536)),Pe=Qx(Ae);if(Pe)return!0}return!1}function Jx(){throw\"unwind\"}function om(F){return w?Xa(4,1,F):52}function nm(F,B,ne,fe,Te){return w?Xa(5,1,F,B,ne,fe,Te):70}var ey=[null,[],[]];function ty(F,B){var ne=ey[F];B===0||B===10?((F===1?U:q)($e(ne,0)),ne.length=0):ne.push(B)}function sm(F,B,ne,fe){if(w)return Xa(6,1,F,B,ne,fe);for(var Te=0,Ze=0;Ze>2],Pe=a()[B+4>>2];B+=8;for(var zt=0;zt>2]=Te,0}function am(F){var B=u[\"_\"+F];return B}function ry(F,B,ne,fe,Te){var Ze={string:Dr=>{var tp=0;if(Dr!=null&&Dr!==0){var MI=(Dr.length<<2)+1;tp=hm(MI),pt(Dr,tp,MI)}return tp},array:Dr=>{var tp=hm(Dr.length);return Px(Dr,tp),tp}};function Ae(Dr){return B===\"string\"?Le(Dr):B===\"boolean\"?Boolean(Dr):Dr}var Pe=am(F),zt=[],Qr=0;if(fe)for(var oa=0;oaAe===\"number\"||Ae===\"boolean\"),Ze=B!==\"string\";return Ze&&Te&&!fe?am(F):function(){return ry(F,B,ne,arguments,fe)}}De.init();var ny=[null,Oc,Jl,em,om,nm,sm],im={__emscripten_init_main_thread_js:Mx,__emscripten_thread_cleanup:Lx,__pthread_create_js:tm,_emscripten_default_pthread_stack_size:Bx,_emscripten_get_now_is_monotonic:zx,_emscripten_notify_task_queue:Wx,_emscripten_set_offscreencanvas_size:Ux,abort:Gx,emscripten_check_blocking_allowed:Hx,emscripten_date_now:qx,emscripten_get_heap_max:Kx,emscripten_get_now:Qu,emscripten_memcpy_big:jx,emscripten_num_logical_cores:Xx,emscripten_receive_on_main_thread_js:Yx,emscripten_resize_heap:Zx,emscripten_unwind_to_js_event_loop:Jx,exit:Zl,fd_close:om,fd_seek:nm,fd_write:sm,memory:J||u.wasmMemory},EI=kx(),sy=u.___wasm_call_ctors=function(){return(sy=u.___wasm_call_ctors=u.asm.__wasm_call_ctors).apply(null,arguments)},ay=u._init=function(){return(ay=u._init=u.asm.init).apply(null,arguments)},iy=u._init_with_threads_count=function(){return(iy=u._init_with_threads_count=u.asm.init_with_threads_count).apply(null,arguments)},uy=u._get_threads_count=function(){return(uy=u._get_threads_count=u.asm.get_threads_count).apply(null,arguments)},py=u._register_tensor=function(){return(py=u._register_tensor=u.asm.register_tensor).apply(null,arguments)},cy=u._dispose_data=function(){return(cy=u._dispose_data=u.asm.dispose_data).apply(null,arguments)},ly=u._dispose=function(){return(ly=u._dispose=u.asm.dispose).apply(null,arguments)},my=u._Abs=function(){return(my=u._Abs=u.asm.Abs).apply(null,arguments)},dy=u._Add=function(){return(dy=u._Add=u.asm.Add).apply(null,arguments)},fy=u._AddN=function(){return(fy=u._AddN=u.asm.AddN).apply(null,arguments)},hy=u._All=function(){return(hy=u._All=u.asm.All).apply(null,arguments)},gy=u._Any=function(){return(gy=u._Any=u.asm.Any).apply(null,arguments)},xy=u._ArgMax=function(){return(xy=u._ArgMax=u.asm.ArgMax).apply(null,arguments)},yy=u._AvgPool=function(){return(yy=u._AvgPool=u.asm.AvgPool).apply(null,arguments)},by=u._BatchMatMul=function(){return(by=u._BatchMatMul=u.asm.BatchMatMul).apply(null,arguments)},Cy=u._Ceil=function(){return(Cy=u._Ceil=u.asm.Ceil).apply(null,arguments)},Sy=u._ClipByValue=function(){return(Sy=u._ClipByValue=u.asm.ClipByValue).apply(null,arguments)},wy=u._Conv2D=function(){return(wy=u._Conv2D=u.asm.Conv2D).apply(null,arguments)},Iy=u._Conv2DBackpropInput=function(){return(Iy=u._Conv2DBackpropInput=u.asm.Conv2DBackpropInput).apply(null,arguments)},vy=u._Cos=function(){return(vy=u._Cos=u.asm.Cos).apply(null,arguments)},ky=u._Cosh=function(){return(ky=u._Cosh=u.asm.Cosh).apply(null,arguments)},Ny=u._CropAndResize=function(){return(Ny=u._CropAndResize=u.asm.CropAndResize).apply(null,arguments)},Ty=u._Cumprod=function(){return(Ty=u._Cumprod=u.asm.Cumprod).apply(null,arguments)},_y=u._Cumsum=function(){return(_y=u._Cumsum=u.asm.Cumsum).apply(null,arguments)},Ey=u._DepthToSpace=function(){return(Ey=u._DepthToSpace=u.asm.DepthToSpace).apply(null,arguments)},$y=u._DepthwiseConv2dNative=function(){return($y=u._DepthwiseConv2dNative=u.asm.DepthwiseConv2dNative).apply(null,arguments)},Ay=u._Elu=function(){return(Ay=u._Elu=u.asm.Elu).apply(null,arguments)},Ry=u._Equal=function(){return(Ry=u._Equal=u.asm.Equal).apply(null,arguments)},Fy=u._Exp=function(){return(Fy=u._Exp=u.asm.Exp).apply(null,arguments)},Dy=u._FlipLeftRight=function(){return(Dy=u._FlipLeftRight=u.asm.FlipLeftRight).apply(null,arguments)},Oy=u._Floor=function(){return(Oy=u._Floor=u.asm.Floor).apply(null,arguments)},Py=u._FloorDiv=function(){return(Py=u._FloorDiv=u.asm.FloorDiv).apply(null,arguments)},My=u._FusedBatchNorm=function(){return(My=u._FusedBatchNorm=u.asm.FusedBatchNorm).apply(null,arguments)},Ly=u._FusedConv2D=function(){return(Ly=u._FusedConv2D=u.asm.FusedConv2D).apply(null,arguments)},By=u._FusedDepthwiseConv2D=function(){return(By=u._FusedDepthwiseConv2D=u.asm.FusedDepthwiseConv2D).apply(null,arguments)},Vy=u._Gather=function(){return(Vy=u._Gather=u.asm.Gather).apply(null,arguments)},zy=u._GatherNd=function(){return(zy=u._GatherNd=u.asm.GatherNd).apply(null,arguments)},Wy=u._Greater=function(){return(Wy=u._Greater=u.asm.Greater).apply(null,arguments)},Uy=u._GreaterEqual=function(){return(Uy=u._GreaterEqual=u.asm.GreaterEqual).apply(null,arguments)},Gy=u._IsNan=function(){return(Gy=u._IsNan=u.asm.IsNan).apply(null,arguments)},Hy=u._LeakyRelu=function(){return(Hy=u._LeakyRelu=u.asm.LeakyRelu).apply(null,arguments)},qy=u._Less=function(){return(qy=u._Less=u.asm.Less).apply(null,arguments)},Ky=u._LessEqual=function(){return(Ky=u._LessEqual=u.asm.LessEqual).apply(null,arguments)},jy=u._Log=function(){return(jy=u._Log=u.asm.Log).apply(null,arguments)},Xy=u._LogicalAnd=function(){return(Xy=u._LogicalAnd=u.asm.LogicalAnd).apply(null,arguments)},Yy=u._LogicalNot=function(){return(Yy=u._LogicalNot=u.asm.LogicalNot).apply(null,arguments)},Qy=u._LogicalOr=function(){return(Qy=u._LogicalOr=u.asm.LogicalOr).apply(null,arguments)},Zy=u._LogicalXor=function(){return(Zy=u._LogicalXor=u.asm.LogicalXor).apply(null,arguments)},Jy=u._Max=function(){return(Jy=u._Max=u.asm.Max).apply(null,arguments)},eb=u._MaxPool=function(){return(eb=u._MaxPool=u.asm.MaxPool).apply(null,arguments)},um=u._Maximum=function(){return(um=u._Maximum=u.asm.Maximum).apply(null,arguments)},pm=u._Mean=function(){return(pm=u._Mean=u.asm.Mean).apply(null,arguments)},Bc=u._Min=function(){return(Bc=u._Min=u.asm.Min).apply(null,arguments)},tb=u._Minimum=function(){return(tb=u._Minimum=u.asm.Minimum).apply(null,arguments)},rb=u._MirrorPad=function(){return(rb=u._MirrorPad=u.asm.MirrorPad).apply(null,arguments)},Zu=u._Multiply=function(){return(Zu=u._Multiply=u.asm.Multiply).apply(null,arguments)},cm=u._Neg=function(){return(cm=u._Neg=u.asm.Neg).apply(null,arguments)},Ju=u._NonMaxSuppressionV3=function(){return(Ju=u._NonMaxSuppressionV3=u.asm.NonMaxSuppressionV3).apply(null,arguments)},ep=u._NonMaxSuppressionV4=function(){return(ep=u._NonMaxSuppressionV4=u.asm.NonMaxSuppressionV4).apply(null,arguments)},ob=u._NonMaxSuppressionV5=function(){return(ob=u._NonMaxSuppressionV5=u.asm.NonMaxSuppressionV5).apply(null,arguments)},G=u._NotEqual=function(){return(G=u._NotEqual=u.asm.NotEqual).apply(null,arguments)},oe=u._OneHot=function(){return(oe=u._OneHot=u.asm.OneHot).apply(null,arguments)},ke=u._PadV2=function(){return(ke=u._PadV2=u.asm.PadV2).apply(null,arguments)},je=u._Pow=function(){return(je=u._Pow=u.asm.Pow).apply(null,arguments)},Tt=u._Prelu=function(){return(Tt=u._Prelu=u.asm.Prelu).apply(null,arguments)},_t=u._Prod=function(){return(_t=u._Prod=u.asm.Prod).apply(null,arguments)},qe=u._RealDiv=function(){return(qe=u._RealDiv=u.asm.RealDiv).apply(null,arguments)},We=u._Reciprocal=function(){return(We=u._Reciprocal=u.asm.Reciprocal).apply(null,arguments)},Vt=u._Relu=function(){return(Vt=u._Relu=u.asm.Relu).apply(null,arguments)},Yr=u._Relu6=function(){return(Yr=u._Relu6=u.asm.Relu6).apply(null,arguments)},ra=u._ResizeBilinear=function(){return(ra=u._ResizeBilinear=u.asm.ResizeBilinear).apply(null,arguments)},lm=u._ResizeNearestNeighbor=function(){return(lm=u._ResizeNearestNeighbor=u.asm.ResizeNearestNeighbor).apply(null,arguments)},Vc=u._Reverse=function(){return(Vc=u._Reverse=u.asm.Reverse).apply(null,arguments)},nb=u._RotateWithOffset=function(){return(nb=u._RotateWithOffset=u.asm.RotateWithOffset).apply(null,arguments)},hr=u._Round=function(){return(hr=u._Round=u.asm.Round).apply(null,arguments)},Ya=u._Rsqrt=function(){return(Ya=u._Rsqrt=u.asm.Rsqrt).apply(null,arguments)},mm=u._ScatterNd=function(){return(mm=u._ScatterNd=u.asm.ScatterNd).apply(null,arguments)},BB=u._SelectV2=function(){return(BB=u._SelectV2=u.asm.SelectV2).apply(null,arguments)},VB=u._Sigmoid=function(){return(VB=u._Sigmoid=u.asm.Sigmoid).apply(null,arguments)},zB=u._Sin=function(){return(zB=u._Sin=u.asm.Sin).apply(null,arguments)},WB=u._Softmax=function(){return(WB=u._Softmax=u.asm.Softmax).apply(null,arguments)},UB=u._SparseFillEmptyRows=function(){return(UB=u._SparseFillEmptyRows=u.asm.SparseFillEmptyRows).apply(null,arguments)},GB=u._SparseReshape=function(){return(GB=u._SparseReshape=u.asm.SparseReshape).apply(null,arguments)},HB=u._SparseSegmentReduction=function(){return(HB=u._SparseSegmentReduction=u.asm.SparseSegmentReduction).apply(null,arguments)},qB=u._Sqrt=function(){return(qB=u._Sqrt=u.asm.Sqrt).apply(null,arguments)},KB=u._Square=function(){return(KB=u._Square=u.asm.Square).apply(null,arguments)},jB=u._SquaredDifference=function(){return(jB=u._SquaredDifference=u.asm.SquaredDifference).apply(null,arguments)},XB=u._Step=function(){return(XB=u._Step=u.asm.Step).apply(null,arguments)},YB=u._StridedSlice=function(){return(YB=u._StridedSlice=u.asm.StridedSlice).apply(null,arguments)},QB=u._Sub=function(){return(QB=u._Sub=u.asm.Sub).apply(null,arguments)},ZB=u._Sum=function(){return(ZB=u._Sum=u.asm.Sum).apply(null,arguments)},JB=u._Tan=function(){return(JB=u._Tan=u.asm.Tan).apply(null,arguments)},eV=u._Tanh=function(){return(eV=u._Tanh=u.asm.Tanh).apply(null,arguments)},tV=u._Tile=function(){return(tV=u._Tile=u.asm.Tile).apply(null,arguments)},rV=u._TopK=function(){return(rV=u._TopK=u.asm.TopK).apply(null,arguments)},oV=u._Transform=function(){return(oV=u._Transform=u.asm.Transform).apply(null,arguments)},nV=u._Transpose=function(){return(nV=u._Transpose=u.asm.Transpose).apply(null,arguments)},sV=u.__FusedMatMul=function(){return(sV=u.__FusedMatMul=u.asm._FusedMatMul).apply(null,arguments)},aV=u._malloc=function(){return(aV=u._malloc=u.asm.malloc).apply(null,arguments)},iV=u._free=function(){return(iV=u._free=u.asm.free).apply(null,arguments)},uV=u.__emscripten_tls_init=function(){return(uV=u.__emscripten_tls_init=u.asm._emscripten_tls_init).apply(null,arguments)},dm=u._pthread_self=function(){return(dm=u._pthread_self=u.asm.pthread_self).apply(null,arguments)},pV=u.___errno_location=function(){return(pV=u.___errno_location=u.asm.__errno_location).apply(null,arguments)},$I=u.__emscripten_thread_init=function(){return($I=u.__emscripten_thread_init=u.asm._emscripten_thread_init).apply(null,arguments)},cV=u.__emscripten_thread_crashed=function(){return(cV=u.__emscripten_thread_crashed=u.asm._emscripten_thread_crashed).apply(null,arguments)},lV=u._emscripten_main_thread_process_queued_calls=function(){return(lV=u._emscripten_main_thread_process_queued_calls=u.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)},mV=u._emscripten_main_browser_thread_id=function(){return(mV=u._emscripten_main_browser_thread_id=u.asm.emscripten_main_browser_thread_id).apply(null,arguments)},AI=u._emscripten_run_in_main_runtime_thread_js=function(){return(AI=u._emscripten_run_in_main_runtime_thread_js=u.asm.emscripten_run_in_main_runtime_thread_js).apply(null,arguments)},dV=u._emscripten_dispatch_to_thread_=function(){return(dV=u._emscripten_dispatch_to_thread_=u.asm.emscripten_dispatch_to_thread_).apply(null,arguments)},RI=u.__emscripten_proxy_execute_task_queue=function(){return(RI=u.__emscripten_proxy_execute_task_queue=u.asm._emscripten_proxy_execute_task_queue).apply(null,arguments)},sb=u.__emscripten_thread_free_data=function(){return(sb=u.__emscripten_thread_free_data=u.asm._emscripten_thread_free_data).apply(null,arguments)},FI=u.__emscripten_thread_exit=function(){return(FI=u.__emscripten_thread_exit=u.asm._emscripten_thread_exit).apply(null,arguments)},DI=u._emscripten_stack_set_limits=function(){return(DI=u._emscripten_stack_set_limits=u.asm.emscripten_stack_set_limits).apply(null,arguments)},ab=u.stackSave=function(){return(ab=u.stackSave=u.asm.stackSave).apply(null,arguments)},fm=u.stackRestore=function(){return(fm=u.stackRestore=u.asm.stackRestore).apply(null,arguments)},hm=u.stackAlloc=function(){return(hm=u.stackAlloc=u.asm.stackAlloc).apply(null,arguments)},fV=u.dynCall_iijjiiii=function(){return(fV=u.dynCall_iijjiiii=u.asm.dynCall_iijjiiii).apply(null,arguments)},hV=u.dynCall_jiji=function(){return(hV=u.dynCall_jiji=u.asm.dynCall_jiji).apply(null,arguments)};u.keepRuntimeAlive=Fo,u.wasmMemory=J,u.cwrap=oy,u.ExitStatus=Hi,u.PThread=De;var gm;ta=function F(){gm||OI(),gm||(ta=F)};function OI(F){if(F=F||f,ja>0)return;if(w){c(u),Kt(),postMessage({cmd:\"loaded\"});return}if(Ka(),ja>0)return;function B(){gm||(gm=!0,u.calledRun=!0,!pe&&(Kt(),c(u),u.onRuntimeInitialized&&u.onRuntimeInitialized(),ea()))}u.setStatus?(u.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){u.setStatus(\"\")},1),B()},1)):B()}if(u.preInit)for(typeof u.preInit==\"function\"&&(u.preInit=[u.preInit]);u.preInit.length>0;)u.preInit.pop()();OI();var xm;m&&(xm={uncaughtException:process.listeners(\"uncaughtException\").filter(function(F){return!m.uncaughtException.indexOf(F)>-1}),unhandledRejection:process.listeners(\"unhandledRejection\").filter(function(F){return!m.unhandledRejection.indexOf(F)>-1})});var ym;if(typeof WasmBackendModule!=\"undefined\")ym=WasmBackendModule;else if(typeof e!=\"undefined\")ym=e;else throw new Error(\"Could not find wasm module in post.js\");if(xm){var gV=ym._dispose;ym._dispose=function(){gV(),xm.uncaughtException.forEach(function(F){process.removeListener(\"uncaughtException\",F)}),xm.unhandledRejection.forEach(function(F){process.removeListener(\"unhandledRejection\",F)})}}return e.ready}})();typeof wg==\"object\"&&typeof jw==\"object\"?jw.exports=Kw:typeof define==\"function\"&&define.amd?define([],function(){return Kw}):typeof wg==\"object\"&&(wg.WasmBackendModuleThreadedSimd=Kw)});var g3=qt((kkt,h3)=>{h3.exports.wasmWorkerContents=`\"use strict\";var Module={};var ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require(\"worker_threads\");var parentPort=nodeWorkerThreads.parentPort;parentPort.on(\"message\",data=>onmessage({data:data}));var fs=require(\"fs\");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(fs.readFileSync(f,\"utf8\"))},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}var initializedJS=false;var pendingNotifiedProxyingQueues=[];function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(\" \");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+\"\n\");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(\" \");postMessage({cmd:\"alert\",text:text,threadId:Module[\"_pthread_self\"]()})}var err=threadPrintErr;self.alert=threadAlert;Module[\"instantiateWasm\"]=(info,receiveInstance)=>{var instance=new WebAssembly.Instance(Module[\"wasmModule\"],info);receiveInstance(instance);Module[\"wasmModule\"]=null;return instance.exports};self.onunhandledrejection=e=>{throw e.reason??e};self.onmessage=e=>{try{if(e.data.cmd===\"load\"){Module[\"wasmModule\"]=e.data.wasmModule;Module[\"wasmMemory\"]=e.data.wasmMemory;Module[\"buffer\"]=Module[\"wasmMemory\"].buffer;Module[\"ENVIRONMENT_IS_PTHREAD\"]=true;if(typeof e.data.urlOrBlob==\"string\"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}WasmBackendModuleThreadedSimd(Module).then(function(instance){Module=instance})}else if(e.data.cmd===\"run\"){Module[\"__performance_now_clock_drift\"]=performance.now()-e.data.time;Module[\"__emscripten_thread_init\"](e.data.pthread_ptr,0,0,1);Module[\"establishStackSpace\"]();Module[\"PThread\"].receiveObjectTransfer(e.data);Module[\"PThread\"].threadInitTLS();if(!initializedJS){pendingNotifiedProxyingQueues.forEach(queue=>{Module[\"executeNotifiedProxyingQueue\"](queue)});pendingNotifiedProxyingQueues=[];initializedJS=true}try{Module[\"invokeEntryPoint\"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!=\"unwind\"){if(ex instanceof Module[\"ExitStatus\"]){if(Module[\"keepRuntimeAlive\"]()){}else{Module[\"__emscripten_thread_exit\"](ex.status)}}else{throw ex}}}}else if(e.data.cmd===\"cancel\"){if(Module[\"_pthread_self\"]()){Module[\"__emscripten_thread_exit\"](-1)}}else if(e.data.target===\"setimmediate\"){}else if(e.data.cmd===\"processProxyingQueue\"){if(initializedJS){Module[\"executeNotifiedProxyingQueue\"](e.data.queue)}else{pendingNotifiedProxyingQueues.push(e.data.queue)}}else if(e.data.cmd){err(\"worker.js received unknown command \"+e.data.cmd);err(e.data)}}catch(ex){if(Module[\"__emscripten_thread_crashed\"]){Module[\"__emscripten_thread_crashed\"]()}throw ex}};`});var x3=qt((Ig,Yw)=>{var Xw=(()=>{var r=typeof document!=\"undefined\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!=\"undefined\"&&(r=r||__filename),function(e){e=e||{};var t=typeof e!=\"undefined\"?e:{},o,n;t.ready=new Promise(function(G,oe){o=G,n=oe});var s;typeof process!=\"undefined\"&&process.listeners&&(s={uncaughtException:process.listeners(\"uncaughtException\"),unhandledRejection:process.listeners(\"unhandledRejection\")});var a=Object.assign({},t),i=[],p=\"./this.program\",u=(G,oe)=>{throw oe},c=typeof window==\"object\",l=typeof importScripts==\"function\",m=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",d=\"\";function f(G){return t.locateFile?t.locateFile(G,d):d+G}var h,g,x,b;function C(G){if(G instanceof ju)return;$(\"exiting due to exception: \"+G)}if(m){l?d=Rl().dirname(d)+\"/\":d=__dirname+\"/\";var w,k;typeof bm==\"function\"&&(w=qw(),k=Rl()),h=(G,oe)=>(G=k.normalize(G),w.readFileSync(G,oe?void 0:\"utf8\")),x=G=>{var oe=h(G,!0);return oe.buffer||(oe=new Uint8Array(oe)),oe},g=(G,oe,ke)=>{G=k.normalize(G),w.readFile(G,function(je,Tt){je?ke(je):oe(Tt.buffer)})},process.argv.length>1&&(p=process.argv[1].replace(/\\\\/g,\"/\")),i=process.argv.slice(2),process.on(\"uncaughtException\",function(G){if(!(G instanceof ju))throw G}),process.on(\"unhandledRejection\",function(G){throw G}),u=(G,oe)=>{if(at())throw process.exitCode=G,oe;C(oe),process.exit(G)},t.inspect=function(){return\"[Emscripten Module object]\"}}else(c||l)&&(l?d=self.location.href:typeof document!=\"undefined\"&&document.currentScript&&(d=document.currentScript.src),r&&(d=r),d.indexOf(\"blob:\")!==0?d=d.substr(0,d.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):d=\"\",h=G=>{var oe=new XMLHttpRequest;return oe.open(\"GET\",G,!1),oe.send(null),oe.responseText},l&&(x=G=>{var oe=new XMLHttpRequest;return oe.open(\"GET\",G,!1),oe.responseType=\"arraybuffer\",oe.send(null),new Uint8Array(oe.response)}),g=(G,oe,ke)=>{var je=new XMLHttpRequest;je.open(\"GET\",G,!0),je.responseType=\"arraybuffer\",je.onload=()=>{if(je.status==200||je.status==0&&je.response){oe(je.response);return}ke()},je.onerror=ke,je.send(null)},b=G=>document.title=G);var _=t.print||console.log.bind(console),$=t.printErr||console.warn.bind(console);Object.assign(t,a),a=null,t.arguments&&(i=t.arguments),t.thisProgram&&(p=t.thisProgram),t.quit&&(u=t.quit);var A=4,R;t.wasmBinary&&(R=t.wasmBinary);var D=t.noExitRuntime||!0;typeof WebAssembly!=\"object\"&&pr(\"no native wasm support detected\");var P,M=!1,L;function W(G,oe){G||pr(oe)}var V=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):void 0;function U(G,oe,ke){for(var je=oe+ke,Tt=oe;G[Tt]&&!(Tt>=je);)++Tt;if(Tt-oe>16&&G.buffer&&V)return V.decode(G.subarray(oe,Tt));for(var _t=\"\";oe>10,56320|Yr&1023)}}return _t}function q(G,oe){return G?U(ee,G,oe):\"\"}function H(G,oe,ke,je){if(!(je>0))return 0;for(var Tt=ke,_t=ke+je-1,qe=0;qe=55296&&We<=57343){var Vt=G.charCodeAt(++qe);We=65536+((We&1023)<<10)|Vt&1023}if(We<=127){if(ke>=_t)break;oe[ke++]=We}else if(We<=2047){if(ke+1>=_t)break;oe[ke++]=192|We>>6,oe[ke++]=128|We&63}else if(We<=65535){if(ke+2>=_t)break;oe[ke++]=224|We>>12,oe[ke++]=128|We>>6&63,oe[ke++]=128|We&63}else{if(ke+3>=_t)break;oe[ke++]=240|We>>18,oe[ke++]=128|We>>12&63,oe[ke++]=128|We>>6&63,oe[ke++]=128|We&63}}return oe[ke]=0,ke-Tt}function j(G,oe,ke){return H(G,ee,oe,ke)}var X,Z,ee,Y,J,ie,pe,he,we;function ve(G){X=G,t.HEAP8=Z=new Int8Array(G),t.HEAP16=Y=new Int16Array(G),t.HEAP32=ie=new Int32Array(G),t.HEAPU8=ee=new Uint8Array(G),t.HEAPU16=J=new Uint16Array(G),t.HEAPU32=pe=new Uint32Array(G),t.HEAPF32=he=new Float32Array(G),t.HEAPF64=we=new Float64Array(G)}var $e=t.INITIAL_MEMORY||16777216,Le,nt=[],pt=[],Oe=[],mt=!1;function at(){return D}function ft(){if(t.preRun)for(typeof t.preRun==\"function\"&&(t.preRun=[t.preRun]);t.preRun.length;)Ot(t.preRun.shift());ta(nt)}function wt(){mt=!0,ta(pt)}function Fr(){if(t.postRun)for(typeof t.postRun==\"function\"&&(t.postRun=[t.postRun]);t.postRun.length;)er(t.postRun.shift());ta(Oe)}function Ot(G){nt.unshift(G)}function Kr(G){pt.unshift(G)}function er(G){Oe.unshift(G)}var Nt=0,tr=null,rr=null;function jr(G){Nt++,t.monitorRunDependencies&&t.monitorRunDependencies(Nt)}function Xr(G){if(Nt--,t.monitorRunDependencies&&t.monitorRunDependencies(Nt),Nt==0&&(tr!==null&&(clearInterval(tr),tr=null),rr)){var oe=rr;rr=null,oe()}}function pr(G){t.onAbort&&t.onAbort(G),G=\"Aborted(\"+G+\")\",$(G),M=!0,L=1,G+=\". Build with -sASSERTIONS for more info.\";var oe=new WebAssembly.RuntimeError(G);throw n(oe),oe}var Js=\"data:application/octet-stream;base64,\";function Fo(G){return G.startsWith(Js)}function Ka(G){return G.startsWith(\"file://\")}var Kt;Kt=\"tfjs-backend-wasm.wasm\",Fo(Kt)||(Kt=f(Kt));function ea(G){try{if(G==Kt&&R)return new Uint8Array(R);if(x)return x(G);throw\"both async and sync fetching of the wasm failed\"}catch(oe){pr(oe)}}function Ac(){if(!R&&(c||l)){if(typeof fetch==\"function\"&&!Ka(Kt))return fetch(Kt,{credentials:\"same-origin\"}).then(function(G){if(!G.ok)throw\"failed to load wasm binary file at '\"+Kt+\"'\";return G.arrayBuffer()}).catch(function(){return ea(Kt)});if(g)return new Promise(function(G,oe){g(Kt,function(ke){G(new Uint8Array(ke))},oe)})}return Promise.resolve().then(function(){return ea(Kt)})}function Rc(){var G={env:Oc,wasi_snapshot_preview1:Oc};function oe(qe,We){var Vt=qe.exports;t.asm=Vt,P=t.asm.memory,ve(P.buffer),Le=t.asm.__indirect_function_table,Kr(t.asm.__wasm_call_ctors),Xr(\"wasm-instantiate\")}jr(\"wasm-instantiate\");function ke(qe){oe(qe.instance)}function je(qe){return Ac().then(function(We){return WebAssembly.instantiate(We,G)}).then(function(We){return We}).then(qe,function(We){$(\"failed to asynchronously prepare wasm: \"+We),pr(We)})}function Tt(){return!R&&typeof WebAssembly.instantiateStreaming==\"function\"&&!Fo(Kt)&&!Ka(Kt)&&!m&&typeof fetch==\"function\"?fetch(Kt,{credentials:\"same-origin\"}).then(function(qe){var We=WebAssembly.instantiateStreaming(qe,G);return We.then(ke,function(Vt){return $(\"wasm streaming compile failed: \"+Vt),$(\"falling back to ArrayBuffer instantiation\"),je(ke)})}):je(ke)}if(t.instantiateWasm)try{var _t=t.instantiateWasm(G,oe);return _t}catch(qe){$(\"Module.instantiateWasm callback failed with error: \"+qe),n(qe)}return Tt().catch(n),{}}var SI,ja;function ju(G){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+G+\")\",this.status=G}function ta(G){for(;G.length>0;)G.shift()(t)}function wI(G){return G}function II(G){var oe=/\\b_Z[\\w\\d_]+/g;return G.replace(oe,function(ke){var je=ke;return ke===je?ke:je+\" [\"+ke+\"]\"})}function Xu(){var G=new Error;if(!G.stack){try{throw new Error}catch(oe){G=oe}if(!G.stack)return\"(no stack trace available)\"}return G.stack.toString()}function Ix(G,oe){Z.set(G,oe)}function jl(){pr(\"\")}function Fc(){return 2147483648}function fr(){return Fc()}function Xl(G,oe,ke){ee.copyWithin(G,oe,oe+ke)}function vx(G){try{return P.grow(G-X.byteLength+65535>>>16),ve(P.buffer),1}catch(oe){}}function kx(G){var oe=ee.length;G=G>>>0;var ke=Fc();if(G>ke)return!1;let je=(Vt,Yr)=>Vt+(Yr-Vt%Yr)%Yr;for(var Tt=1;Tt<=4;Tt*=2){var _t=oe*(1+.2/Tt);_t=Math.min(_t,G+100663296);var qe=Math.min(ke,je(Math.max(G,_t),65536)),We=vx(qe);if(We)return!0}return!1}var Nx={varargs:void 0,get:function(){Nx.varargs+=4;var G=ie[Nx.varargs-4>>2];return G},getStr:function(G){var oe=q(G);return oe}};function vI(G){return 52}function Tx(G,oe,ke,je,Tt){return 70}var Hi=[null,[],[]];function _x(G,oe){var ke=Hi[G];oe===0||oe===10?((G===1?_:$)(U(ke,0)),ke.length=0):ke.push(oe)}function Ex(G,oe,ke,je){for(var Tt=0,_t=0;_t>2],We=pe[oe+4>>2];oe+=8;for(var Vt=0;Vt>2]=Tt,0}function Dc(G){var oe=t[\"_\"+G];return oe}function Yl(G,oe,ke,je,Tt){var _t={string:hr=>{var Ya=0;if(hr!=null&&hr!==0){var mm=(hr.length<<2)+1;Ya=Bc(mm),j(hr,Ya,mm)}return Ya},array:hr=>{var Ya=Bc(hr.length);return Ix(hr,Ya),Ya}};function qe(hr){return oe===\"string\"?q(hr):oe===\"boolean\"?Boolean(hr):hr}var We=Dc(G),Vt=[],Yr=0;if(je)for(var ra=0;raqe===\"number\"||qe===\"boolean\"),_t=oe!==\"string\";return _t&&Tt&&!je?Dc(G):function(){return Yl(G,oe,ke,arguments,je)}}var Oc={abort:jl,emscripten_get_heap_max:fr,emscripten_memcpy_big:Xl,emscripten_resize_heap:kx,fd_close:vI,fd_seek:Tx,fd_write:Ex},kI=Rc(),Zl=t.___wasm_call_ctors=function(){return(Zl=t.___wasm_call_ctors=t.asm.__wasm_call_ctors).apply(null,arguments)},$x=t._init=function(){return($x=t._init=t.asm.init).apply(null,arguments)},De=t._init_with_threads_count=function(){return(De=t._init_with_threads_count=t.asm.init_with_threads_count).apply(null,arguments)},Pc=t._get_threads_count=function(){return(Pc=t._get_threads_count=t.asm.get_threads_count).apply(null,arguments)},Ax=t._register_tensor=function(){return(Ax=t._register_tensor=t.asm.register_tensor).apply(null,arguments)},NI=t._dispose_data=function(){return(NI=t._dispose_data=t.asm.dispose_data).apply(null,arguments)},TI=t._dispose=function(){return(TI=t._dispose=t.asm.dispose).apply(null,arguments)},Rx=t._Abs=function(){return(Rx=t._Abs=t.asm.Abs).apply(null,arguments)},Jl=t._Add=function(){return(Jl=t._Add=t.asm.Add).apply(null,arguments)},Yu=t._AddN=function(){return(Yu=t._AddN=t.asm.AddN).apply(null,arguments)},Fx=t._All=function(){return(Fx=t._All=t.asm.All).apply(null,arguments)},Dx=t._Any=function(){return(Dx=t._Any=t.asm.Any).apply(null,arguments)},_I=t._ArgMax=function(){return(_I=t._ArgMax=t.asm.ArgMax).apply(null,arguments)},Ox=t._AvgPool=function(){return(Ox=t._AvgPool=t.asm.AvgPool).apply(null,arguments)},Px=t._BatchMatMul=function(){return(Px=t._BatchMatMul=t.asm.BatchMatMul).apply(null,arguments)},Mx=t._Ceil=function(){return(Mx=t._Ceil=t.asm.Ceil).apply(null,arguments)},Lx=t._ClipByValue=function(){return(Lx=t._ClipByValue=t.asm.ClipByValue).apply(null,arguments)},em=t._Conv2D=function(){return(em=t._Conv2D=t.asm.Conv2D).apply(null,arguments)},tm=t._Conv2DBackpropInput=function(){return(tm=t._Conv2DBackpropInput=t.asm.Conv2DBackpropInput).apply(null,arguments)},Bx=t._Cos=function(){return(Bx=t._Cos=t.asm.Cos).apply(null,arguments)},Vx=t._Cosh=function(){return(Vx=t._Cosh=t.asm.Cosh).apply(null,arguments)},zx=t._CropAndResize=function(){return(zx=t._CropAndResize=t.asm.CropAndResize).apply(null,arguments)},Mc=t._Cumprod=function(){return(Mc=t._Cumprod=t.asm.Cumprod).apply(null,arguments)},Wx=t._Cumsum=function(){return(Wx=t._Cumsum=t.asm.Cumsum).apply(null,arguments)},Ux=t._DepthToSpace=function(){return(Ux=t._DepthToSpace=t.asm.DepthToSpace).apply(null,arguments)},Gx=t._DepthwiseConv2dNative=function(){return(Gx=t._DepthwiseConv2dNative=t.asm.DepthwiseConv2dNative).apply(null,arguments)},qi=t._Elu=function(){return(qi=t._Elu=t.asm.Elu).apply(null,arguments)},Hx=t._Equal=function(){return(Hx=t._Equal=t.asm.Equal).apply(null,arguments)},qx=t._Exp=function(){return(qx=t._Exp=t.asm.Exp).apply(null,arguments)},rm=t._FlipLeftRight=function(){return(rm=t._FlipLeftRight=t.asm.FlipLeftRight).apply(null,arguments)},Kx=t._Floor=function(){return(Kx=t._Floor=t.asm.Floor).apply(null,arguments)},Qu=t._FloorDiv=function(){return(Qu=t._FloorDiv=t.asm.FloorDiv).apply(null,arguments)},jx=t._FusedBatchNorm=function(){return(jx=t._FusedBatchNorm=t.asm.FusedBatchNorm).apply(null,arguments)},Xx=t._FusedConv2D=function(){return(Xx=t._FusedConv2D=t.asm.FusedConv2D).apply(null,arguments)},Xa=t._FusedDepthwiseConv2D=function(){return(Xa=t._FusedDepthwiseConv2D=t.asm.FusedDepthwiseConv2D).apply(null,arguments)},Lc=t._Gather=function(){return(Lc=t._Gather=t.asm.Gather).apply(null,arguments)},Yx=t._GatherNd=function(){return(Yx=t._GatherNd=t.asm.GatherNd).apply(null,arguments)},Qx=t._Greater=function(){return(Qx=t._Greater=t.asm.Greater).apply(null,arguments)},Zx=t._GreaterEqual=function(){return(Zx=t._GreaterEqual=t.asm.GreaterEqual).apply(null,arguments)},Jx=t._IsNan=function(){return(Jx=t._IsNan=t.asm.IsNan).apply(null,arguments)},om=t._LeakyRelu=function(){return(om=t._LeakyRelu=t.asm.LeakyRelu).apply(null,arguments)},nm=t._Less=function(){return(nm=t._Less=t.asm.Less).apply(null,arguments)},ey=t._LessEqual=function(){return(ey=t._LessEqual=t.asm.LessEqual).apply(null,arguments)},ty=t._Log=function(){return(ty=t._Log=t.asm.Log).apply(null,arguments)},sm=t._LogicalAnd=function(){return(sm=t._LogicalAnd=t.asm.LogicalAnd).apply(null,arguments)},am=t._LogicalNot=function(){return(am=t._LogicalNot=t.asm.LogicalNot).apply(null,arguments)},ry=t._LogicalOr=function(){return(ry=t._LogicalOr=t.asm.LogicalOr).apply(null,arguments)},oy=t._LogicalXor=function(){return(oy=t._LogicalXor=t.asm.LogicalXor).apply(null,arguments)},ny=t._Max=function(){return(ny=t._Max=t.asm.Max).apply(null,arguments)},im=t._MaxPool=function(){return(im=t._MaxPool=t.asm.MaxPool).apply(null,arguments)},EI=t._Maximum=function(){return(EI=t._Maximum=t.asm.Maximum).apply(null,arguments)},sy=t._Mean=function(){return(sy=t._Mean=t.asm.Mean).apply(null,arguments)},ay=t._Min=function(){return(ay=t._Min=t.asm.Min).apply(null,arguments)},iy=t._Minimum=function(){return(iy=t._Minimum=t.asm.Minimum).apply(null,arguments)},uy=t._MirrorPad=function(){return(uy=t._MirrorPad=t.asm.MirrorPad).apply(null,arguments)},py=t._Multiply=function(){return(py=t._Multiply=t.asm.Multiply).apply(null,arguments)},cy=t._Neg=function(){return(cy=t._Neg=t.asm.Neg).apply(null,arguments)},ly=t._NonMaxSuppressionV3=function(){return(ly=t._NonMaxSuppressionV3=t.asm.NonMaxSuppressionV3).apply(null,arguments)},my=t._NonMaxSuppressionV4=function(){return(my=t._NonMaxSuppressionV4=t.asm.NonMaxSuppressionV4).apply(null,arguments)},dy=t._NonMaxSuppressionV5=function(){return(dy=t._NonMaxSuppressionV5=t.asm.NonMaxSuppressionV5).apply(null,arguments)},fy=t._NotEqual=function(){return(fy=t._NotEqual=t.asm.NotEqual).apply(null,arguments)},hy=t._OneHot=function(){return(hy=t._OneHot=t.asm.OneHot).apply(null,arguments)},gy=t._PadV2=function(){return(gy=t._PadV2=t.asm.PadV2).apply(null,arguments)},xy=t._Pow=function(){return(xy=t._Pow=t.asm.Pow).apply(null,arguments)},yy=t._Prelu=function(){return(yy=t._Prelu=t.asm.Prelu).apply(null,arguments)},by=t._Prod=function(){return(by=t._Prod=t.asm.Prod).apply(null,arguments)},Cy=t._RealDiv=function(){return(Cy=t._RealDiv=t.asm.RealDiv).apply(null,arguments)},Sy=t._Reciprocal=function(){return(Sy=t._Reciprocal=t.asm.Reciprocal).apply(null,arguments)},wy=t._Relu=function(){return(wy=t._Relu=t.asm.Relu).apply(null,arguments)},Iy=t._Relu6=function(){return(Iy=t._Relu6=t.asm.Relu6).apply(null,arguments)},vy=t._ResizeBilinear=function(){return(vy=t._ResizeBilinear=t.asm.ResizeBilinear).apply(null,arguments)},ky=t._ResizeNearestNeighbor=function(){return(ky=t._ResizeNearestNeighbor=t.asm.ResizeNearestNeighbor).apply(null,arguments)},Ny=t._Reverse=function(){return(Ny=t._Reverse=t.asm.Reverse).apply(null,arguments)},Ty=t._RotateWithOffset=function(){return(Ty=t._RotateWithOffset=t.asm.RotateWithOffset).apply(null,arguments)},_y=t._Round=function(){return(_y=t._Round=t.asm.Round).apply(null,arguments)},Ey=t._Rsqrt=function(){return(Ey=t._Rsqrt=t.asm.Rsqrt).apply(null,arguments)},$y=t._ScatterNd=function(){return($y=t._ScatterNd=t.asm.ScatterNd).apply(null,arguments)},Ay=t._SelectV2=function(){return(Ay=t._SelectV2=t.asm.SelectV2).apply(null,arguments)},Ry=t._Sigmoid=function(){return(Ry=t._Sigmoid=t.asm.Sigmoid).apply(null,arguments)},Fy=t._Sin=function(){return(Fy=t._Sin=t.asm.Sin).apply(null,arguments)},Dy=t._Softmax=function(){return(Dy=t._Softmax=t.asm.Softmax).apply(null,arguments)},Oy=t._SparseFillEmptyRows=function(){return(Oy=t._SparseFillEmptyRows=t.asm.SparseFillEmptyRows).apply(null,arguments)},Py=t._SparseReshape=function(){return(Py=t._SparseReshape=t.asm.SparseReshape).apply(null,arguments)},My=t._SparseSegmentReduction=function(){return(My=t._SparseSegmentReduction=t.asm.SparseSegmentReduction).apply(null,arguments)},Ly=t._Sqrt=function(){return(Ly=t._Sqrt=t.asm.Sqrt).apply(null,arguments)},By=t._Square=function(){return(By=t._Square=t.asm.Square).apply(null,arguments)},Vy=t._SquaredDifference=function(){return(Vy=t._SquaredDifference=t.asm.SquaredDifference).apply(null,arguments)},zy=t._Step=function(){return(zy=t._Step=t.asm.Step).apply(null,arguments)},Wy=t._StridedSlice=function(){return(Wy=t._StridedSlice=t.asm.StridedSlice).apply(null,arguments)},Uy=t._Sub=function(){return(Uy=t._Sub=t.asm.Sub).apply(null,arguments)},Gy=t._Sum=function(){return(Gy=t._Sum=t.asm.Sum).apply(null,arguments)},Hy=t._Tan=function(){return(Hy=t._Tan=t.asm.Tan).apply(null,arguments)},qy=t._Tanh=function(){return(qy=t._Tanh=t.asm.Tanh).apply(null,arguments)},Ky=t._Tile=function(){return(Ky=t._Tile=t.asm.Tile).apply(null,arguments)},jy=t._TopK=function(){return(jy=t._TopK=t.asm.TopK).apply(null,arguments)},Xy=t._Transform=function(){return(Xy=t._Transform=t.asm.Transform).apply(null,arguments)},Yy=t._Transpose=function(){return(Yy=t._Transpose=t.asm.Transpose).apply(null,arguments)},Qy=t.__FusedMatMul=function(){return(Qy=t.__FusedMatMul=t.asm._FusedMatMul).apply(null,arguments)},Zy=t._malloc=function(){return(Zy=t._malloc=t.asm.malloc).apply(null,arguments)},Jy=t._free=function(){return(Jy=t._free=t.asm.free).apply(null,arguments)},eb=t.___errno_location=function(){return(eb=t.___errno_location=t.asm.__errno_location).apply(null,arguments)},um=t.stackSave=function(){return(um=t.stackSave=t.asm.stackSave).apply(null,arguments)},pm=t.stackRestore=function(){return(pm=t.stackRestore=t.asm.stackRestore).apply(null,arguments)},Bc=t.stackAlloc=function(){return(Bc=t.stackAlloc=t.asm.stackAlloc).apply(null,arguments)},tb=t.dynCall_iijjiiii=function(){return(tb=t.dynCall_iijjiiii=t.asm.dynCall_iijjiiii).apply(null,arguments)},rb=t.dynCall_jiji=function(){return(rb=t.dynCall_jiji=t.asm.dynCall_jiji).apply(null,arguments)};t.cwrap=Ql;var Zu;rr=function G(){Zu||cm(),Zu||(rr=G)};function cm(G){if(G=G||i,Nt>0||(ft(),Nt>0))return;function oe(){Zu||(Zu=!0,t.calledRun=!0,!M&&(wt(),o(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),Fr()))}t.setStatus?(t.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){t.setStatus(\"\")},1),oe()},1)):oe()}if(t.preInit)for(typeof t.preInit==\"function\"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();cm();var Ju;s&&(Ju={uncaughtException:process.listeners(\"uncaughtException\").filter(function(G){return!s.uncaughtException.indexOf(G)>-1}),unhandledRejection:process.listeners(\"unhandledRejection\").filter(function(G){return!s.unhandledRejection.indexOf(G)>-1})});var ep;if(typeof e!=\"undefined\")ep=e;else if(typeof WasmBackendModuleThreadedSimd!=\"undefined\")ep=WasmBackendModuleThreadedSimd;else throw new Error(\"Could not find wasm module in post.js\");if(Ju){var ob=ep._dispose;ep._dispose=function(){ob(),Ju.uncaughtException.forEach(function(G){process.removeListener(\"uncaughtException\",G)}),Ju.unhandledRejection.forEach(function(G){process.removeListener(\"unhandledRejection\",G)})}}return e.ready}})();typeof Ig==\"object\"&&typeof Yw==\"object\"?Yw.exports=Xw:typeof define==\"function\"&&define.amd?define([],function(){return Xw}):typeof Ig==\"object\"&&(Ig.WasmBackendModule=Xw)});var Do=class{constructor(e,t){this.backend=e,this.dataMover=t,this.data=new WeakMap,this.dataIdsCount=0}get(e){return this.data.has(e)||this.dataMover.moveData(this.backend,e),this.data.get(e)}set(e,t){this.dataIdsCount++,this.data.set(e,t)}has(e){return this.data.has(e)}delete(e){return this.dataIdsCount--,this.data.delete(e)}numDataIds(){return this.dataIdsCount}},Zr=class{refCount(e){return Or(\"refCount\")}incRef(e){return Or(\"incRef\")}timerAvailable(){return!0}time(e){return Or(\"time\")}read(e){return Or(\"read\")}readSync(e){return Or(\"readSync\")}readToGPU(e,t){return Or(\"readToGPU\")}numDataIds(){return Or(\"numDataIds\")}disposeData(e,t){return Or(\"disposeData\")}write(e,t,o){return Or(\"write\")}move(e,t,o,n,s){return Or(\"move\")}createTensorFromTexture(e,t,o){return Or(\"createTensorFromTexture\")}memory(){return Or(\"memory\")}floatPrecision(){return Or(\"floatPrecision\")}epsilon(){return this.floatPrecision()===32?1e-7:1e-4}dispose(){return Or(\"dispose\")}};function Or(r){throw new Error(`'${r}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}function LI(r){let e=r.length,t=0;for(;e>0;)t=Math.random()*e|0,e--,Cm(r,e,t)}function vV(r,e){if(r.length!==e.length)throw new Error(`Array sizes must match to be shuffled together First array length was ${r.length}Second array length was ${e.length}`);let t=r.length,o=0;for(;t>0;)o=Math.random()*t|0,t--,Cm(r,t,o),Cm(e,t,o)}function op(r,e,t){return Math.max(r,Math.min(e,t))}function kV(r){return r%2===0?r:r+1}function Cm(r,e,t){let o=r[e];r[e]=r[t],r[t]=o}function NV(r){let e=0;for(let t=0;tt+` Shapes ${r} and ${e} must match`)}function Jr(r){E(r!=null,()=>\"The input to the tensor constructor must be a non-null value.\")}function Oo(r,e=[],t=!1){if(e==null&&(e=[]),Array.isArray(r)||Wt(r)&&!t)for(let o=0;o0,t,o){return new Promise((n,s)=>{let a=0,i=()=>{if(r()){n();return}a++;let p=e(a);if(t!=null&&a>=t){s();return}o!=null?o(i,p):setTimeout(i,p)};i()})}function DV(r,e){let t=1,o=-1;for(let s=0;s=0)t*=r[s];else if(r[s]===-1){if(o!==-1)throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${o} and dim ${s}`);o=s}else if(r[s]<0)throw Error(`Shapes can not be < 0. Found ${r[s]} at dim ${s}`);if(o===-1){if(e>0&&e!==t)throw Error(`Size(${e}) must match the product of shape ${r}`);return r}if(t===0)throw Error(`Cannot infer the missing size in [${r}] when there are 0 elements`);if(e%t!==0)throw Error(`The implicit shape can't be a fractional number. Got ${e} / ${t}`);let n=r.slice();return n[o]=e/t,n}function Qa(r,e){let t=e.length;return r=r==null?e.map((o,n)=>n):[].concat(r),E(r.every(o=>o>=-t&&o`All values in axis param must be in range [-${t}, ${t}) but got axis ${r}`),E(r.every(o=>na(o)),()=>`All values in axis param must be integers but got axis ${r}`),r.map(o=>o<0?t+o:o)}function pb(r,e){let t=[],o=[],n=e!=null&&Array.isArray(e)&&e.length===0,s=e==null||n?null:Qa(e,r).sort(),a=0;for(let i=0;ii)&&r[i]===1&&(t.push(r[i]),o.push(i)),s[a]<=i&&a++}r[i]!==1&&(t.push(r[i]),o.push(i))}return{newShape:t,keptDims:o}}function cb(r,e){let t=null;if(r==null||r===\"float32\")t=new Float32Array(e);else if(r===\"int32\")t=new Int32Array(e);else if(r===\"bool\")t=new Uint8Array(e);else throw new Error(`Unknown data type ${r}`);return t}function lb(r,e){let t=null;if(r==null||r===\"float32\")t=new Float32Array(e);else if(r===\"int32\")t=new Int32Array(e);else if(r===\"bool\")t=new Uint8Array(e);else if(r===\"string\")t=new Array(e);else throw new Error(`Unknown data type ${r}`);return t}function mb(r,e){for(let t=0;te+=t.length),e}function Po(r){return typeof r==\"string\"||r instanceof String}function BI(r){return typeof r==\"boolean\"}function VI(r){return typeof r==\"number\"}function np(r){return Array.isArray(r)?np(r[0]):r instanceof Float32Array?\"float32\":r instanceof Int32Array||r instanceof Uint8Array||r instanceof Uint8ClampedArray?\"int32\":VI(r)?\"float32\":Po(r)?\"string\":BI(r)?\"bool\":\"float32\"}function fs(r){return!!(r&&r.constructor&&r.call&&r.apply)}function sp(r,e){for(let t=e;t=0;--o)t[o]=t[o+1]*r[o+1];return t}function zI(r,e,t,o=!1){let n=new Array;if(e.length===1){let s=e[0]*(o?2:1);for(let a=0;ap*u)*(o?2:1);for(let p=0;pn*s)*(t?2:1);if(o===0)return[];if(o!==e.length)throw new Error(`[${r}] does not match the input size ${e.length}${t?\" for a complex tensor\":\"\"}.`);return zI(0,r,e,t)}function zc(r,e){let t=ap(r,e);for(let o=0;oo*n,1);if(e==null||e===\"float32\")return Ki(r,new Float32Array(t));if(e===\"int32\")return Ki(r,new Int32Array(t));if(e===\"bool\")return Ki(r,new Uint8Array(t));throw new Error(`Unknown data type ${e}`)}function yt(r){r.forEach(e=>{E(Number.isInteger(e)&&e>=0,()=>`Tensor must have a shape comprised of positive integers but got shape [${r}].`)})}function MV(r,e,t){if(e===0)return 0;if(e===1)return r[0];let o=r[r.length-1];for(let n=0;n{let[n,s]=o.split(\":\");this.urlFlags[n]=WV(n,s)})}};function VV(r){let e={};return r.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,(t,...o)=>(zV(e,o[0],o[1]),o.join(\"=\"))),e}function zV(r,e,t){r[decodeURIComponent(e)]=decodeURIComponent(t||\"\")}function WV(r,e){if(e=e.toLowerCase(),e===\"true\"||e===\"false\")return e===\"true\";if(`${+e}`===e)return+e;throw new Error(`Could not parse value flag value ${e} for flag ${r}.`)}function O(){return hb}var hb=null;function UI(r){hb=r}var gb;function xb(){if(gb==null){let r;if(typeof window!=\"undefined\")r=window;else if(typeof global!=\"undefined\")r=global;else if(typeof process!=\"undefined\")r=process;else if(typeof self!=\"undefined\")r=self;else throw new Error(\"Could not find a global object\");gb=r}return gb}function UV(){let r=xb();return r._tfGlobals==null&&(r._tfGlobals=new Map),r._tfGlobals}function Gc(r,e){let t=UV();if(t.has(r))return t.get(r);{let o=e();return t.set(r,o),t.get(r)}}var gs=\"Abs\",sa=\"Acos\",aa=\"Acosh\",eo=\"Add\",Mo=\"AddN\",Lo=\"All\",Bo=\"Any\",Vo=\"ArgMax\",Za=\"ArgMin\",ia=\"Asin\",ua=\"Asinh\",pa=\"Atan\",ca=\"Atanh\",la=\"Atan2\",zo=\"AvgPool\",wm=\"AvgPoolGrad\",ip=\"AvgPool3D\",Im=\"AvgPool3DGrad\",Wo=\"BatchMatMul\",xs=\"BatchToSpaceND\",Ja=\"Bincount\",wne=\"BroadcastTo\",up=\"BroadcastArgs\",co=\"Cast\",Uo=\"Ceil\",lo=\"ClipByValue\",ei=\"Complex\",pp=\"ComplexAbs\",ys=\"Concat\",Go=\"Conv2D\",cp=\"Conv2DBackpropFilter\",Ho=\"Conv2DBackpropInput\",lp=\"Conv3D\",vm=\"Conv3DBackpropFilterV2\",mp=\"Conv3DBackpropInputV2\",qo=\"Cos\",Ko=\"Cosh\",jo=\"Cumprod\",Xo=\"Cumsum\",Yo=\"CropAndResize\",ti=\"DenseBincount\",Qo=\"DepthToSpace\",Zo=\"DepthwiseConv2dNative\",dp=\"DepthwiseConv2dNativeBackpropFilter\",fp=\"DepthwiseConv2dNativeBackpropInput\",hp=\"Diag\",gp=\"Dilation2D\",yb=\"Dilation2DBackpropInput\",bb=\"Dilation2DBackpropFilter\",Jo=\"RealDiv\",ri=\"Einsum\",en=\"Elu\",km=\"EluGrad\",ma=\"Erf\",tn=\"Equal\",rn=\"Exp\",bs=\"ExpandDims\",da=\"Expm1\",oi=\"FFT\",Cs=\"Fill\",on=\"FlipLeftRight\",nn=\"Floor\",sn=\"FloorDiv\",an=\"FusedBatchNorm\",Ss=\"GatherV2\",un=\"GatherNd\",pn=\"Greater\",cn=\"GreaterEqual\",mo=\"Identity\",ni=\"IFFT\",si=\"Imag\",fa=\"IsFinite\",ha=\"IsInf\",ln=\"IsNan\",mn=\"LeakyRelu\",dn=\"Less\",fn=\"LessEqual\",xp=\"LinSpace\",hn=\"Log\",ga=\"Log1p\",gn=\"LogicalAnd\",xn=\"LogicalNot\",xa=\"LogicalOr\",GI=\"LogicalXor\",Ine=\"LogSoftmax\",vne=\"LowerBound\",yp=\"LRN\",Nm=\"LRNGrad\",yn=\"Max\",bn=\"Maximum\",Cn=\"MaxPool\",Tm=\"MaxPoolGrad\",bp=\"MaxPool3D\",_m=\"MaxPool3DGrad\",Cp=\"MaxPoolWithArgmax\",Sn=\"Mean\",wn=\"Min\",In=\"Minimum\",vn=\"MirrorPad\",ya=\"Mod\",Sp=\"Multinomial\",kn=\"Multiply\",ws=\"Neg\",Nn=\"NotEqual\",Tn=\"NonMaxSuppressionV3\",ba=\"NonMaxSuppressionV4\",_n=\"NonMaxSuppressionV5\",Is=\"OnesLike\",En=\"OneHot\",vs=\"Pack\",$n=\"PadV2\",kne=\"Pool\",An=\"Pow\",Rn=\"Prelu\",Fn=\"Prod\",wp=\"RaggedGather\",Ip=\"RaggedRange\",vp=\"RaggedTensorToTensor\",ks=\"Range\",ai=\"Real\",Dn=\"Reciprocal\",On=\"Relu\",Ns=\"Reshape\",Pn=\"ResizeNearestNeighbor\",Em=\"ResizeNearestNeighborGrad\",Mn=\"ResizeBilinear\",$m=\"ResizeBilinearGrad\",Ln=\"Relu6\",Bn=\"Reverse\",Ca=\"Round\",Vn=\"Rsqrt\",zn=\"ScatterNd\",ii=\"SearchSorted\",Ts=\"Select\",Xi=\"Selu\",_s=\"Slice\",Wn=\"Sin\",Sa=\"Sinh\",Yi=\"Sign\",Un=\"Sigmoid\",Qi=\"Softplus\",Gn=\"Sqrt\",Hn=\"Sum\",Es=\"SpaceToBatchND\",$s=\"SplitV\",qn=\"Softmax\",ui=\"SparseFillEmptyRows\",wa=\"SparseReshape\",pi=\"SparseSegmentMean\",ci=\"SparseSegmentSum\",li=\"SparseToDense\",Kn=\"SquaredDifference\",mi=\"Square\",jn=\"StridedSlice\",As=\"StringNGrams\",di=\"StringSplit\",fi=\"StringToHashBucketFast\",Xn=\"Sub\",Yn=\"Tan\",Qn=\"Tanh\",to=\"Tile\",Zn=\"TopK\",Jn=\"Transform\",ro=\"Transpose\",kp=\"Unique\",Rs=\"Unpack\",Np=\"UnsortedSegmentSum\",Nne=\"UpperBound\",Fs=\"ZerosLike\",Ds=\"Step\",Zi=\"FromPixels\",es=\"RotateWithOffset\",fo=\"_FusedMatMul\",ho=\"FusedConv2D\",go=\"FusedDepthwiseConv2D\";function Os(...r){O().getBool(\"IS_TEST\")||O().getBool(\"PROD\")||console.warn(...r)}function GV(...r){O().getBool(\"IS_TEST\")||O().getBool(\"PROD\")||console.log(...r)}var Tp=Gc(\"kernelRegistry\",()=>new Map),Hc=Gc(\"gradRegistry\",()=>new Map);function qc(r,e){let t=Sb(r,e);return Tp.get(t)}function Cb(r){return Hc.get(r)}function Am(r){let e=Tp.entries(),t=[];for(;;){let{done:o,value:n}=e.next();if(o)break;let[s,a]=n,[i]=s.split(\"_\");i===r&&t.push(a)}return t}function Ia(r){let{kernelName:e,backendName:t}=r,o=Sb(e,t);Tp.has(o)&&Os(`The kernel '${e}' for backend '${t}' is already registered`),Tp.set(o,r)}function Ane(r){let{kernelName:e}=r;Hc.has(e)&&O().getBool(\"DEBUG\")&&Os(`Overriding the gradient for '${e}'`),Hc.set(e,r)}function Rne(r,e){let t=Sb(r,e);if(!Tp.has(t))throw new Error(`The kernel '${r}' for backend '${e}' is not registered`);Tp.delete(t)}function Fne(r){if(!Hc.has(r))throw new Error(`The gradient '${r}' for backend is not registered`);Hc.delete(r)}function Dne(r,e){Am(r).forEach(o=>{let n=Object.assign({},o,{backendName:e});Ia(n)})}function Sb(r,e){return`${e}_${r}`}var y={};Ue(y,{arraysEqual:()=>Pr,assert:()=>E,assertNonNegativeIntegerDimensions:()=>yt,assertNonNull:()=>Jr,assertShapesMatch:()=>ht,bytesFromStringArray:()=>fb,bytesPerElement:()=>Sm,checkConversionForErrors:()=>mb,clamp:()=>op,computeStrides:()=>hs,createScalarValue:()=>QV,createShuffledIndices:()=>RV,decodeString:()=>Ap,distSquared:()=>_V,encodeString:()=>gi,fetch:()=>JV,fingerPrint64:()=>YV,flatten:()=>Oo,getArrayFromDType:()=>lb,getTypedArrayFromDType:()=>cb,hasEncodingLoss:()=>OV,hexToLong:()=>Kc,indexToLoc:()=>LV,inferDtype:()=>np,inferFromImplicitShape:()=>DV,isBoolean:()=>BI,isFunction:()=>fs,isInt:()=>na,isNumber:()=>VI,isPromise:()=>Wc,isScalarShape:()=>EV,isString:()=>Po,isTypedArray:()=>Wt,isValidDtype:()=>db,locToIndex:()=>MV,makeOnesTypedArray:()=>zc,makeZerosNestedTypedArray:()=>PV,makeZerosTypedArray:()=>ap,nearestDivisor:()=>sp,nearestLargerEven:()=>kV,now:()=>ou,parseAxisParam:()=>Qa,randUniform:()=>TV,repeatedTry:()=>FV,rightPad:()=>ji,shuffle:()=>LI,shuffleCombo:()=>vV,sizeFromShape:()=>ze,sizeToSquarishShape:()=>AV,squeezeShape:()=>pb,sum:()=>NV,swap:()=>Cm,tanh:()=>$V,toNestedArray:()=>Ki,toTypedArray:()=>$p});var kb=rp(rv());var ru=kb.default||kb;function Kc(r){return ru.fromString(r,!0,16)}var nv=Kc(\"c3a5c85c97cb3127\"),tu=Kc(\"b492b66fbe98f273\"),gr=Kc(\"9ae16a3b2f90404f\");function vb(r){return r.xor(r.shru(47))}function sv(r,e,t){let o=r.slice(e,e+t);return ru.fromBytes(Array.from(o),!0,!0)}function bt(r,e){return sv(r,e,8)}function ov(r,e){return sv(r,e,4)}function jt(r,e){return e===0?r:r.shru(e).or(r.shl(64-e))}function hi(r,e,t=Kc(\"9ddfea08eb382d69\")){let o=r.xor(e).mul(t);o=o.xor(o.shru(47));let n=e.xor(o).mul(t);return n=n.xor(n.shru(47)),n=n.mul(t),n}function qV(r,e,t,o,n,s){n=n.add(r),s=jt(s.add(n).add(o),21);let a=n;return n=n.add(e),n=n.add(t),s=s.add(jt(n,44)),[n.add(o),s.add(a)]}function Fm(r,e,t,o){return qV(bt(r,e),bt(r,e+8),bt(r,e+16),bt(r,e+24),t,o)}function KV(r,e=r.length){if(e>=8){let t=gr.add(e*2),o=bt(r,0).add(gr),n=bt(r,e-8),s=jt(n,37).mul(t).add(o),a=jt(o,25).add(n).mul(t);return hi(s,a,t)}if(e>=4){let t=gr.add(e*2),o=ov(r,0);return hi(o.shl(3).add(e),ov(r,e-4),t)}if(e>0){let t=r[0],o=r[e>>1],n=r[e-1],s=t+(o<<8),a=e+(n<<2);return vb(gr.mul(s).xor(nv.mul(a))).mul(gr)}return gr}function jV(r,e=r.length){let t=gr.add(e*2),o=bt(r,0).mul(tu),n=bt(r,8),s=bt(r,e-8).mul(t),a=bt(r,e-16).mul(gr);return hi(jt(o.add(n),43).add(jt(s,30)).add(a),o.add(jt(n.add(gr),18)).add(s),t)}function XV(r,e=r.length){let t=gr.add(e*2),o=bt(r,0).mul(gr),n=bt(r,8),s=bt(r,e-8).mul(t),a=bt(r,e-16).mul(gr),i=jt(o.add(n),43).add(jt(s,30)).add(a),p=hi(i,o.add(jt(n.add(gr),18)).add(s),t),u=bt(r,16).mul(t),c=bt(r,24),l=i.add(bt(r,e-32)).mul(t),m=p.add(bt(r,e-24)).mul(t);return hi(jt(u.add(c),43).add(jt(l,30)).add(m),u.add(jt(c.add(o),18)).add(l),t)}function YV(r,e=r.length){let t=ru.fromNumber(81,!0);if(e<=32)return e<=16?KV(r,e):jV(r,e);if(e<=64)return XV(r,e);let o=t,n=t.mul(tu).add(113),s=vb(n.mul(gr).add(113)).mul(gr),a=[ru.UZERO,ru.UZERO],i=[ru.UZERO,ru.UZERO];o=o.mul(gr).add(bt(r,0));let p=0,u=(e-1>>6)*64,c=u+(e-1&63)-63;do o=jt(o.add(n).add(a[0]).add(bt(r,p+8)),37).mul(tu),n=jt(n.add(a[1]).add(bt(r,p+48)),42).mul(tu),o=o.xor(i[1]),n=n.add(a[0]).add(bt(r,p+40)),s=jt(s.add(i[0]),33).mul(tu),a=Fm(r,p,a[1].mul(tu),o.add(i[0])),i=Fm(r,p+32,s.add(i[1]),n.add(bt(r,p+16))),[s,o]=[o,s],p+=64;while(p!==u);let l=tu.add(s.and(255).shl(1));return p=c,i[0]=i[0].add(e-1&63),a[0]=a[0].add(i[0]),i[0]=i[0].add(a[0]),o=jt(o.add(n).add(a[0]).add(bt(r,p+8)),37).mul(l),n=jt(n.add(a[1]).add(bt(r,p+48)),42).mul(l),o=o.xor(i[1].mul(9)),n=n.add(a[0].mul(9).add(bt(r,p+40))),s=jt(s.add(i[0]),33).mul(l),a=Fm(r,p,a[1].mul(l),o.add(i[0])),i=Fm(r,p+32,s.add(i[1]),n.add(bt(r,p+16))),[s,o]=[o,s],hi(hi(a[0],i[0],l).add(vb(n).mul(nv)).add(s),hi(a[1],i[1],l).add(o),l)}function QV(r,e){return e===\"string\"?gi(r):$p([r],e)}function ZV(r,e){return r instanceof Float32Array&&e===\"float32\"||r instanceof Int32Array&&e===\"int32\"||r instanceof Uint8Array&&e===\"bool\"}function $p(r,e){if(e===\"string\")throw new Error(\"Cannot convert a string[] to a TypedArray\");if(Array.isArray(r)&&(r=Oo(r)),O().getBool(\"DEBUG\")&&mb(r,e),ZV(r,e))return r;if(e==null||e===\"float32\"||e===\"complex64\")return new Float32Array(r);if(e===\"int32\")return new Int32Array(r);if(e===\"bool\"){let t=new Uint8Array(r.length);for(let o=0;o{n=o()},a,i=ou();if(this.backendTimer.timerAvailable())a=this.backendTimer.time(s);else{s();for(let u of n)u.dataSync();a=Promise.resolve({kernelMs:ou()-i})}if(O().getBool(\"CHECK_COMPUTATION_FOR_ERRORS\"))for(let u=0;u{ez(l,c.dtype,e)})}return{kernelName:e,outputs:n,inputs:t,timeMs:a.then(u=>u.kernelMs),extraInfo:a.then(u=>u.getExtraProfileInfo!=null?u.getExtraProfileInfo():\"\")}}logKernelProfile(e){let{kernelName:t,outputs:o,timeMs:n,inputs:s,extraInfo:a}=e;o.forEach(i=>{Promise.all([i.data(),n,a]).then(p=>{this.logger.logKernelProfile(t,i,p[0],p[1],s,p[2])})})}};function ez(r,e,t){if(e!==\"float32\")return!1;for(let o=0;o0?h:\"\"} `}}console.log(`%c${p}\t%c${i}\t%c${u}D ${l}\t%c${c}\t%c${m}\t%c${a}`,\"font-weight:bold\",\"color:red\",\"color:blue\",\"color: orange\",\"color: green\",\"color: steelblue\")}};function av(r,e,t){let o={},n={};for(let p=0;po[h.id]=!0),d=!0,n[u.id]=!0;break}if(d)break}}let s={};s[t.id]=!0;let a={};for(let p=r.length-1;p>=0;p--){let u=r[p],c=u.inputs;for(let l=0;l=0;n--){let s=e[n],a=[];if(s.outputs.forEach(p=>{let u=r[p.id];u!=null?a.push(u):a.push(null)}),s.gradient==null)throw new Error(`Cannot compute gradient: gradient function not found for ${s.kernelName}.`);let i=s.gradient(a);for(let p in s.inputs){if(!(p in i))throw new Error(`Cannot backprop through input ${p}. Available gradients found: ${Object.keys(i)}.`);let u=t(()=>i[p]());if(u.dtype!==\"float32\")throw new Error(`Error in gradient for op ${s.kernelName}. The gradient of input ${p} must have 'float32' dtype, but has '${u.dtype}'`);let c=s.inputs[p];if(!Pr(u.shape,c.shape))throw new Error(`Error in gradient for op ${s.kernelName}. The gradient of input '${p}' has shape '${u.shape}', which does not match the shape of the input '${c.shape}'`);if(r[c.id]==null)r[c.id]=u;else{let l=r[c.id];r[c.id]=o(l,u),l.dispose()}}}}var uv=20,jc=3,Tb=7;function pv(r,e,t,o){let n=hs(e),s=tz(r,e,t,n),a=e.length,i=Om(r,e,t,n,s),p=[\"Tensor\"];return o&&(p.push(` dtype: ${t}`),p.push(` rank: ${a}`),p.push(` shape: [${e}]`),p.push(\" values:\")),p.push(i.map(u=>\" \"+u).join(`\n`)),p.join(`\n`)}function tz(r,e,t,o){let n=ze(e),s=o[o.length-1],a=new Array(s).fill(0),i=e.length,p=t===\"complex64\"?Yc(r):r;if(i>1)for(let u=0;uuv){let g=jc*a,x=Array.from(r.slice(0,g)),b=Array.from(r.slice((i-jc)*a,i*a));return t===\"complex64\"&&(x=Yc(x),b=Yc(b)),[\"[\"+x.map((C,w)=>Xc(C,n[w],t)).join(\", \")+\", ..., \"+b.map((C,w)=>Xc(C,n[i-jc+w],t)).join(\", \")+\"]\"]}return[\"[\"+(t===\"complex64\"?Yc(r):Array.from(r)).map((g,x)=>Xc(g,n[x],t)).join(\", \")+\"]\"]}let u=e.slice(1),c=o.slice(1),l=o[0]*a,m=[];if(i>uv){for(let h=0;h`Length of values '${n}' does not match the size inferred by the shape '${this.size}'.`)}if(t===\"complex64\")throw new Error(\"complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).\");this.values=o||lb(t,this.size),this.strides=hs(e)}set(e,...t){t.length===0&&(t=[0]),E(t.length===this.rank,()=>`The number of provided coordinates (${t.length}) must match the rank (${this.rank})`);let o=this.locToIndex(t);this.values[o]=e}get(...e){e.length===0&&(e=[0]);let t=0;for(let n of e){if(n<0||n>=this.shape[t]){let s=`Requested out of range element at ${e}. Buffer shape=${this.shape}`;throw new Error(s)}t++}let o=e[e.length-1];for(let n=0;nAp(o))}catch(o){throw new Error(\"Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().\")}}return e}dataToGPU(e){return this.throwIfDisposed(),rs().readToGPU(this.dataId,e)}dataSync(){this.throwIfDisposed();let e=rs().readSync(this.dataId);if(this.dtype===\"string\")try{return e.map(t=>Ap(t))}catch(t){throw new Error(\"Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().\")}return e}async bytes(){this.throwIfDisposed();let e=await rs().read(this.dataId);return this.dtype===\"string\"?e:new Uint8Array(e.buffer)}dispose(){this.isDisposed||(rs().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error(\"Tensor is disposed.\")}print(e=!1){return Rp.print(this,e)}clone(){return this.throwIfDisposed(),Rp.clone(this)}toString(e=!1){let t=this.dataSync();return pv(t,this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),Rp.cast(this,e)}variable(e=!0,t,o){return this.throwIfDisposed(),rs().makeVariable(this,e,t,o)}};Object.defineProperty(it,Symbol.hasInstance,{value:r=>!!r&&r.data!=null&&r.dataSync!=null&&r.throwIfDisposed!=null});function oz(){return Gc(\"Tensor\",()=>it)}oz();var va=class extends it{constructor(e,t,o,n){super(e.shape,e.dtype,e.dataId,n),this.trainable=t,this.name=o}assign(e){if(e.dtype!==this.dtype)throw new Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);if(!Pr(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);rs().disposeTensor(this),this.dataId=e.dataId,rs().incRef(this,null)}dispose(){rs().disposeVariable(this),this.isDisposedInternal=!0}};Object.defineProperty(va,Symbol.hasInstance,{value:r=>r instanceof it&&r.assign!=null&&r.assign instanceof Function});var hv={};Ue(hv,{assertTypesMatch:()=>Fb,getTensorsInContainer:()=>Qc,isTensorInList:()=>sz,makeTypesMatch:()=>Re});var _b;(function(r){r.R0=\"R0\",r.R1=\"R1\",r.R2=\"R2\",r.R3=\"R3\",r.R4=\"R4\",r.R5=\"R5\",r.R6=\"R6\"})(_b||(_b={}));var Eb;(function(r){r.float32=\"float32\",r.int32=\"int32\",r.bool=\"int32\",r.complex64=\"complex64\"})(Eb||(Eb={}));var $b;(function(r){r.float32=\"float32\",r.int32=\"int32\",r.bool=\"bool\",r.complex64=\"complex64\"})($b||($b={}));var Ab;(function(r){r.float32=\"float32\",r.int32=\"float32\",r.bool=\"float32\",r.complex64=\"complex64\"})(Ab||(Ab={}));var Rb;(function(r){r.float32=\"complex64\",r.int32=\"complex64\",r.bool=\"complex64\",r.complex64=\"complex64\"})(Rb||(Rb={}));var nz={float32:Ab,int32:Eb,bool:$b,complex64:Rb};function dt(r,e){if(r===\"string\"||e===\"string\"){if(r===\"string\"&&e===\"string\")return\"string\";throw new Error(`Can not upcast ${r} with ${e}`)}return nz[r][e]}function ka(r){return dt(r,\"int32\")}function Re(r,e){if(r.dtype===e.dtype)return[r,e];let t=dt(r.dtype,e.dtype);return[r.cast(t),e.cast(t)]}function Fb(r,e){E(r.dtype===e.dtype,()=>`The dtypes of the first(${r.dtype}) and second(${e.dtype}) input must match`)}function sz(r,e){return e.some(t=>t.id===r.id)}function Qc(r){let e=[];return fv(r,e,new Set),e}function fv(r,e,t){if(r==null)return;if(r instanceof it){e.push(r);return}if(!az(r))return;let o=r;for(let n in o){let s=o[n];t.has(s)||(t.add(s),fv(s,e,t))}}function az(r){return Array.isArray(r)||typeof r==\"object\"}function Db(r){return r.kernelName!=null}var Pm=class{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null,get kernelNames(){return Array.from(new Set(this.kernels.map(e=>e.name)))}}}dispose(){for(let e in this.registeredVariables)this.registeredVariables[e].dispose()}},xi=class{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new Pm}async ready(){if(this.pendingBackendInit!=null)return this.pendingBackendInit.then(()=>{});if(this.backendInstance!=null)return;let e=this.getSortedBackends();for(let t=0;t{t.setupFunc!=null&&t.setupFunc(this.backendInstance)})}disposeRegisteredKernels(e){Am(e).forEach(o=>{o.disposeFunc!=null&&o.disposeFunc(this.registry[e])})}initializeBackend(e){let t=this.registryFactory[e];if(t==null)throw new Error(`Cannot initialize backend ${e}, no registration found.`);try{let o=t.factory();if(o&&!(o instanceof Zr)&&typeof o.then==\"function\"){let n=++this.pendingBackendInitId,s=o.then(a=>n(nthis.registryFactory[t].priority-this.registryFactory[e].priority)}initializeBackendsAndReturnBest(){let e=this.getSortedBackends();for(let t=0;tthis.startScope(o),()=>this.endScope(n),()=>(n=t(),n instanceof Promise&&console.error(\"Cannot return a Promise inside of tidy.\"),n))}scopedRun(e,t,o){e();try{let n=o();return t(),n}catch(n){throw t(),n}}nextTensorId(){return xi.nextTensorId++}nextVariableId(){return xi.nextVariableId++}clone(e){let t=T.runKernel(mo,{x:e}),o={x:e},n=a=>({x:()=>{let i=\"float32\",p={x:a},u={dtype:i};return T.runKernel(co,p,u)}}),s=[];return this.addTapeNode(this.state.activeScope.name,o,[t],n,s,{}),t}runKernel(e,t,o){if(this.backendName==null&&this.backend,!(qc(e,this.backendName)!=null))throw new Error(`Kernel '${e}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:e,inputs:t,attrs:o})}shouldCheckForMemLeaks(){return this.ENV.getBool(\"IS_TEST\")}checkKernelForMemLeak(e,t,o){let n=this.backend.numDataIds(),s=0;o.forEach(p=>{s+=p.dtype===\"complex64\"?3:1});let a=this.state.numDataMovesStack[this.state.numDataMovesStack.length-1],i=n-t-s-a;if(i>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${i} data ids) after running '${e}'`)}runKernelFunc(e){let t,o=[],n=this.isTapeOn(),s=this.state.numBytes,a=this.state.numTensors;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);let i;this.backendName==null&&this.backend;let p,u=Db(e)?e.kernelName:this.state.activeScope!=null?this.state.activeScope.name:\"\";if(Db(e)){let{kernelName:f,inputs:h,attrs:g}=e;this.backendName==null&&this.backend;let x=qc(f,this.backendName);E(x!=null,()=>`Cannot find registered kernel '${f}' for backend '${this.backendName}'`),i=()=>{let b=this.backend.numDataIds();p=x.kernelFunc({inputs:h,attrs:g,backend:this.backend});let C=Array.isArray(p)?p:[p];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(f,b,C);let w=C.map(k=>k.rank!=null?k:this.makeTensorFromTensorInfo(k));if(n){let k=this.getTensorsForGradient(f,h,w);o=this.saveTensorsForBackwardMode(k)}return w}}else{let{forwardFunc:f}=e,h=g=>{!n||(o=g.map(x=>this.keep(this.clone(x))))};i=()=>{let g=this.backend.numDataIds();p=this.tidy(()=>f(this.backend,h));let x=Array.isArray(p)?p:[p];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(u,g,x),x}}let{inputs:c,attrs:l}=e,m=Db(e)?null:e.backwardsFunc,d;return this.scopedRun(()=>this.state.kernelDepth++,()=>this.state.kernelDepth--,()=>{!this.ENV.getBool(\"DEBUG\")&&!this.state.profiling?t=i():(d=this.profiler.profileKernel(u,c,()=>i()),this.ENV.getBool(\"DEBUG\")&&this.profiler.logKernelProfile(d),t=d.outputs)}),n&&this.addTapeNode(u,c,t,m,o,l),this.state.profiling&&this.state.activeProfile.kernels.push({name:u,bytesAdded:this.state.numBytes-s,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-a,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(c).map(f=>c[f]!=null?c[f].shape:null),outputShapes:t.map(f=>f.shape),kernelTimeMs:d.timeMs,extraInfo:d.extraInfo}),Array.isArray(p)?t:t[0]}saveTensorsForBackwardMode(e){return e.map(o=>this.keep(this.clone(o)))}getTensorsForGradient(e,t,o){let n=Cb(e);if(n!=null){let s=n.inputsToSave||[],a=n.outputsToSave||[],i;n.saveAllInputs?(E(Array.isArray(t),()=>\"saveAllInputs is true, expected inputs to be an array.\"),i=Object.keys(t).map(u=>t[u])):i=s.map(u=>t[u]);let p=o.filter((u,c)=>a[c]);return i.concat(p)}return[]}makeTensor(e,t,o,n){if(e==null)throw new Error(\"Values passed to engine.makeTensor() are null\");o=o||\"float32\",n=n||this.backend;let s=e;o===\"string\"&&Po(e[0])&&(s=e.map(p=>gi(p)));let a=n.write(s,t,o),i=new it(t,o,a,this.nextTensorId());if(this.trackTensor(i,n),o===\"string\"){let p=this.state.tensorInfo.get(a),u=fb(s);this.state.numBytes+=u-p.bytes,p.bytes=u}return i}makeTensorFromDataId(e,t,o,n){o=o||\"float32\";let s={dataId:e,shape:t,dtype:o};return this.makeTensorFromTensorInfo(s,n)}makeTensorFromTensorInfo(e,t){let{dataId:o,shape:n,dtype:s}=e,a=new it(n,s,o,this.nextTensorId());return this.trackTensor(a,t),a}makeVariable(e,t=!0,o,n){o=o||this.nextVariableId().toString(),n!=null&&n!==e.dtype&&(e=e.cast(n));let s=new va(e,t,o,this.nextTensorId());if(this.state.registeredVariables[s.name]!=null)throw new Error(`Variable with name ${s.name} was already registered`);return this.state.registeredVariables[s.name]=s,this.incRef(s,this.backend),s}trackTensor(e,t){this.state.numTensors++,e.dtype===\"string\"&&this.state.numStringTensors++;let o=0;e.dtype!==\"complex64\"&&e.dtype!==\"string\"&&(o=e.size*Sm(e.dtype)),this.state.numBytes+=o,this.state.tensorInfo.has(e.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:o})),e instanceof va||this.track(e)}incRef(e,t){this.trackTensor(e,t),this.backend.incRef(e.dataId)}removeDataId(e,t){this.state.tensorInfo.has(e)&&this.state.tensorInfo.get(e).backend===t&&(this.state.tensorInfo.delete(e),this.state.numDataBuffers--)}disposeTensor(e){if(!this.state.tensorInfo.has(e.dataId))return;let t=this.state.tensorInfo.get(e.dataId);if(this.state.numTensors--,e.dtype===\"string\"&&(this.state.numStringTensors--,this.state.numBytes-=t.bytes),e.dtype!==\"complex64\"&&e.dtype!==\"string\"){let o=e.size*Sm(e.dtype);this.state.numBytes-=o}t.backend.disposeData(e.dataId)&&this.removeDataId(e.dataId,t.backend)}disposeVariables(){for(let e in this.state.registeredVariables){let t=this.state.registeredVariables[e];this.disposeVariable(t)}}disposeVariable(e){this.disposeTensor(e),this.state.registeredVariables[e.name]!=null&&delete this.state.registeredVariables[e.name]}memory(){let e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,e.reasons==null&&(e.reasons=[]),e.reasons.push(\"Memory usage by string tensors is approximate (2 bytes per character)\")),e}async profile(e){this.state.profiling=!0;let t=this.state.numBytes,o=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await e(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map(n=>n.totalBytesSnapshot)),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-o;for(let n of this.state.activeProfile.kernels)n.kernelTimeMs=await n.kernelTimeMs,n.extraInfo=await n.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&this.state.kernelDepth===0}addTapeNode(e,t,o,n,s,a){let i={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:o,saved:s},p=Cb(e);p!=null&&(n=p.gradFunc),n!=null&&(i.gradient=u=>(u=u.map((c,l)=>{if(c==null){let m=o[l],d=ap(m.size,m.dtype);return this.makeTensor(d,m.shape,m.dtype)}return c}),n(u.length>1?u:u[0],s,a))),this.state.activeTape.push(i)}keep(e){return e.kept=!0,e}startTape(){this.state.gradientDepth===0&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(e){let t={track:[],name:\"unnamed scope\",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t}endScope(e){let t=Qc(e),o=new Set(t.map(s=>s.id));for(let s=0;s{!s.kept&&s.scopeId===n.id&&this.track(s)})}gradients(e,t,o,n=!1){if(E(t.length>0,()=>\"gradients() received an empty list of xs.\"),o!=null&&o.dtype!==\"float32\")throw new Error(`dy must have 'float32' dtype, but has '${o.dtype}'`);let s=this.scopedRun(()=>this.startTape(),()=>this.endTape(),()=>this.tidy(\"forward\",e));E(s instanceof it,()=>\"The result y returned by f() must be a tensor.\");let a=av(this.state.activeTape,t,s);if(!n&&a.length===0&&t.length>0)throw new Error(\"Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.\");return this.tidy(\"backward\",()=>{let i={};i[s.id]=o==null?iz(s.shape):o,iv(i,a,u=>this.tidy(u),uz);let p=t.map(u=>i[u.id]);return this.state.gradientDepth===0&&(this.state.activeTape.forEach(u=>{for(let c of u.saved)c.dispose()}),this.state.activeTape=null),{value:s,grads:p}})}customGrad(e){return E(fs(e),()=>\"The f passed in customGrad(f) must be a function.\"),(...t)=>{E(t.every(i=>i instanceof it),()=>\"The args passed in customGrad(f)(x1, x2,...) must all be tensors\");let o,n={};t.forEach((i,p)=>{n[p]=i});let s=(i,p)=>(o=e(...t,p),E(o.value instanceof it,()=>\"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor\"),E(fs(o.gradFunc),()=>\"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function.\"),o.value),a=(i,p)=>{let u=o.gradFunc(i,p),c=Array.isArray(u)?u:[u];E(c.length===t.length,()=>\"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...).\"),E(c.every(m=>m instanceof it),()=>\"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors.\");let l={};return c.forEach((m,d)=>{l[d]=()=>m}),l};return this.runKernelFunc({forwardFunc:s,backwardsFunc:a,inputs:n})}}readSync(e){return this.state.tensorInfo.get(e).backend.readSync(e)}read(e){return this.state.tensorInfo.get(e).backend.read(e)}readToGPU(e,t){return this.state.tensorInfo.get(e).backend.readToGPU(e,t)}async time(e){let t=ou(),o=await this.backend.time(e);return o.wallMs=ou()-t,o}track(e){return this.state.activeScope!=null&&(e.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(e)),e}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new Pm;for(let e in this.registry)this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}};xi.nextTensorId=0;xi.nextVariableId=0;function iz(r){let e=zc(ze(r),\"float32\");return T.makeTensor(e,r,\"float32\")}function Ob(){let r=xb();if(r._tfengine==null){let e=new Uc(r);r._tfengine=new xi(e)}return UI(r._tfengine.ENV),lv(()=>r._tfengine),r._tfengine}var T=Ob();function uz(r,e){let t={a:r,b:e};return T.runKernel(eo,t)}var yi={};Ue(yi,{isBrowser:()=>Mb,isMobile:()=>lz,mockIsMobile:()=>cz});function pz(){return typeof navigator!=\"undefined\"&&navigator!=null}var Pb;function cz(r){Pb=r}function lz(r){if(Pb!==void 0)return Pb;if(r||pz()){if(r||(r=navigator),r.product===\"ReactNative\")return!0;let e=r.userAgent||r.vendor||(typeof window!=\"undefined\"?window.opera:\"\");if(!e){let t=r;return t.userAgentData&&t.userAgentData.mobile}return/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(e.substr(0,4))}return!1}function Mb(){return typeof window!=\"undefined\"&&window.document!=null||typeof WorkerGlobalScope!=\"undefined\"}var oo=O();oo.registerFlag(\"DEBUG\",()=>!1,r=>{r&&console.warn(\"Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.\")});oo.registerFlag(\"IS_BROWSER\",()=>Mb());oo.registerFlag(\"IS_NODE\",()=>typeof process!=\"undefined\"&&typeof process.versions!=\"undefined\"&&typeof process.versions.node!=\"undefined\");oo.registerFlag(\"IS_CHROME\",()=>typeof navigator!=\"undefined\"&&navigator!=null&&navigator.userAgent!=null&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor));oo.registerFlag(\"PROD\",()=>!1);oo.registerFlag(\"TENSORLIKE_CHECK_SHAPE_CONSISTENCY\",()=>oo.getBool(\"DEBUG\"));oo.registerFlag(\"DEPRECATION_WARNINGS_ENABLED\",()=>!0);oo.registerFlag(\"IS_TEST\",()=>!1);oo.registerFlag(\"CHECK_COMPUTATION_FOR_ERRORS\",()=>!0);oo.registerFlag(\"WRAP_TO_IMAGEBITMAP\",()=>!1);oo.registerFlag(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\",()=>!1);oo.registerFlag(\"USE_SETTIMEOUTCUSTOM\",()=>!1);function or(r,e){let t=r;if(Wt(r))return e===\"string\"?[]:[r.length];if(typeof r==\"object\"&&\"texture\"in r){let n=r.channels||\"RGBA\";return[r.height,r.width*n.length]}if(!Array.isArray(r))return[];let o=[];for(;Array.isArray(t)||Wt(t)&&e!==\"string\";)o.push(t.length),t=t[0];return Array.isArray(r)&&O().getBool(\"TENSORLIKE_CHECK_SHAPE_CONSISTENCY\")&&xv(r,o,[]),o}function xv(r,e,t){if(t=t||[],!Array.isArray(r)&&!Wt(r)){E(e.length===0,()=>`Element arr[${t.join(\"][\")}] is a primitive, but should be an array/TypedArray of ${e[0]} elements`);return}E(e.length>0,()=>`Element arr[${t.join(\"][\")}] should be a primitive, but is an array of ${r.length} elements`),E(r.length===e[0],()=>`Element arr[${t.join(\"][\")}] should have ${e[0]} elements, but has ${r.length} elements`);let o=e.slice(1);for(let n=0;n=0&&(n=o),gv(o,n,e,t),r==null||!Wt(r)&&!Array.isArray(r)&&typeof r!=\"number\"&&typeof r!=\"boolean\"&&typeof r!=\"string\"){let p=r==null?\"null\":r.constructor.name;throw new Error(`Argument '${e}' passed to '${t}' must be a Tensor or TensorLike, but got '${p}'`)}let s=or(r,n);!Wt(r)&&!Array.isArray(r)&&(r=[r]);let i=n!==\"string\"?$p(r,n):Oo(r,[],!0);return T.makeTensor(i,s,n)}function Na(r,e,t,o=\"numeric\"){if(!Array.isArray(r))throw new Error(`Argument ${e} passed to ${t} must be a \\`Tensor[]\\` or \\`TensorLike[]\\``);return r.map((s,a)=>v(s,`${e}[${a}]`,t,o))}var Lb=\"__op\";function N(r){let e=Object.keys(r);if(e.length!==1)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${e.length} keys.`);let t=e[0],o=r[t];t.endsWith(\"_\")&&(t=t.substring(0,t.length-1)),t=t+Lb;let n=(...s)=>{T.startScope(t);try{let a=o(...s);return Wc(a)&&console.error(\"Cannot return a Promise inside of tidy.\"),T.endScope(a),a}catch(a){throw T.endScope(null),a}};return Object.defineProperty(n,\"name\",{value:t,configurable:!0}),n}function mz(r,e){let t=v(r,\"real\",\"complex\"),o=v(e,\"imag\",\"complex\");ht(t.shape,o.shape,`real and imag shapes, ${t.shape} and ${o.shape}, must match in call to tf.complex().`);let n={real:t,imag:o};return T.runKernel(ei,n)}var Tr=N({complex_:mz});function xr(r,e,t,o){if(o==null&&(o=np(r)),o===\"complex64\")throw new Error(\"Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).\");if(typeof r==\"object\"&&\"texture\"in r){if(o!==\"float32\"&&o!==\"int32\")throw new Error(`Creating tensor from texture only supports 'float32'|'int32' dtype, while the dtype is ${o}.`);return r.channels=r.channels||\"RGBA\",T.backend.createTensorFromTexture(r,e||t,o)}if(!Wt(r)&&!Array.isArray(r)&&typeof r!=\"number\"&&typeof r!=\"boolean\"&&typeof r!=\"string\")throw new Error(\"values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray\");if(e!=null){yt(e);let n=ze(e),s=ze(t);E(n===s,()=>`Based on the provided shape, [${e}], the tensor should have ${n} values but has ${s}`);for(let a=0;a`Error creating a new Tensor. Inferred shape (${t}) does not match the provided shape (${e}). `)}}return!Wt(r)&&!Array.isArray(r)&&(r=[r]),e=e||t,r=o!==\"string\"?$p(r,o):Oo(r,[],!0),T.makeTensor(r,e,o)}function nr(r,e,t){let o=or(r,t);return xr(r,e,o,t)}var Zc={float32:4,float16:2,int32:4,uint16:2,uint8:1,bool:1,complex64:8};var Mm=4;async function bv(r,e){let t=[],o=[],n=Array.isArray(r)?r.map(a=>a.name):Object.keys(r);for(let a=0;a{let m=await p.bytes(),d=m.reduce((g,x)=>g+x.length,0)+Mm*m.length,f=new Uint8Array(d),h=0;for(let g=0;g{if(e+=s.byteLength,t.push(s.byteLength===s.buffer.byteLength?s:new s.constructor(s)),!(s instanceof Float32Array||s instanceof Int32Array||s instanceof Uint8Array))throw new Error(`Unsupported TypedArray subtype: ${s.constructor.name}`)});let o=new Uint8Array(e),n=0;return t.forEach(s=>{o.set(new Uint8Array(s.buffer),n),n+=s.byteLength}),o.buffer}var Bb=typeof Buffer!=\"undefined\"&&(typeof Blob==\"undefined\"||typeof atob==\"undefined\"||typeof btoa==\"undefined\");function yv(r){return Bb?Buffer.byteLength(r):new Blob([r]).size}function Cv(r){if(Bb)return Buffer.from(r).toString(\"base64\");let e=new Uint8Array(r),t=\"\";for(let o=0,n=e.length;o{e+=n.byteLength});let t=new Uint8Array(e),o=0;return r.forEach(n=>{t.set(new Uint8Array(n),o),o+=n.byteLength}),t.buffer}function Vb(r){let e=\"/\";for(r=r.trim();r.endsWith(e);)r=r.slice(0,r.length-1);let t=r.split(e);return t[t.length-1]}function Bm(r,e){let t={modelTopology:r.modelTopology,format:r.format,generatedBy:r.generatedBy,convertedBy:r.convertedBy,weightsManifest:e};return r.signature!=null&&(t.signature=r.signature),r.userDefinedMetadata!=null&&(t.userDefinedMetadata=r.userDefinedMetadata),r.modelInitializer!=null&&(t.modelInitializer=r.modelInitializer),r.initializerSignature!=null&&(t.initializerSignature=r.initializerSignature),r.trainingConfig!=null&&(t.trainingConfig=r.trainingConfig),t}function zb(r,e,t){let o={modelTopology:r.modelTopology,format:r.format,generatedBy:r.generatedBy,convertedBy:r.convertedBy};if(r.trainingConfig!=null&&(o.trainingConfig=r.trainingConfig),r.weightsManifest!=null){if(!e)throw new Error(\"modelJSON has weightsManifest but weightSpecs is null\");if(!t)throw new Error(\"modelJSON has weightsManifest but weightData is null\");o.weightSpecs=e,o.weightData=t}return r.signature!=null&&(o.signature=r.signature),r.userDefinedMetadata!=null&&(o.userDefinedMetadata=r.userDefinedMetadata),r.modelInitializer!=null&&(o.modelInitializer=r.modelInitializer),r.initializerSignature!=null&&(o.initializerSignature=r.initializerSignature),o}async function Dp(r,e){let t,o;return r.weightsManifest!=null&&([t,o]=await e(r.weightsManifest)),zb(r,t,o)}function Ps(r){if(r.modelTopology instanceof ArrayBuffer)throw new Error(\"Expected JSON model topology, received ArrayBuffer.\");return{dateSaved:new Date,modelTopologyType:\"JSON\",modelTopologyBytes:r.modelTopology==null?0:yv(JSON.stringify(r.modelTopology)),weightSpecsBytes:r.weightSpecs==null?0:yv(JSON.stringify(r.weightSpecs)),weightDataBytes:r.weightData==null?0:r.weightData.byteLength}}function Vm(r){let e=[];for(let t of r)e.push(...t.weights);return e}function fz(){let r=t=>{let o=t<<13,n=0;for(;(o&8388608)===0;)n-=8388608,o<<=1;return o&=-8388609,n+=947912704,o|n},e=new Uint32Array(2048);e[0]=0;for(let t=1;t<1024;t++)e[t]=r(t);for(let t=1024;t<2048;t++)e[t]=939524096+(t-1024<<13);return e}function hz(){let r=new Uint32Array(64);r[0]=0,r[31]=1199570944,r[32]=2147483648,r[63]=3347054592;for(let e=1;e<31;e++)r[e]=e<<23;for(let e=33;e<63;e++)r[e]=2147483648+(e-32<<23);return r}function gz(){let r=new Uint32Array(64);for(let e=0;e<64;e++)r[e]=1024;return r[0]=r[32]=0,r}function xz(){let r=fz(),e=hz(),t=gz();return o=>{let n=new ArrayBuffer(4*o.length),s=new Uint32Array(n);for(let a=0;a>10]+(i&1023)]+e[i>>10];s[a]=p}return new Float32Array(n)}}var lt=class{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return lt.instance==null&&(lt.instance=new lt),lt.instance}static registerSaveRouter(e){lt.getInstance().saveRouters.push(e)}static registerLoadRouter(e){lt.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return lt.getHandlers(e,\"save\")}static getLoadHandlers(e,t){return lt.getHandlers(e,\"load\",t)}static getHandlers(e,t,o){let n=[];return(t===\"load\"?lt.getInstance().loadRouters:lt.getInstance().saveRouters).forEach(a=>{let i=a(e,o);i!==null&&n.push(i)}),n}},wv=r=>lt.registerSaveRouter(r),Iv=r=>lt.registerLoadRouter(r),vv=r=>lt.getSaveHandlers(r),kv=(r,e)=>lt.getLoadHandlers(r,e);var Wb=\"tensorflowjs\",Ub=1,nu=\"models_store\",bi=\"model_info_store\";function Nv(){if(!O().getBool(\"IS_BROWSER\"))throw new Error(\"Failed to obtain IndexedDB factory because the current environmentis not a web browser.\");let r=typeof window==\"undefined\"?self:window,e=r.indexedDB||r.mozIndexedDB||r.webkitIndexedDB||r.msIndexedDB||r.shimIndexedDB;if(e==null)throw new Error(\"The current browser does not appear to support IndexedDB.\");return e}function Gb(r){let e=r.result;e.createObjectStore(nu,{keyPath:\"modelPath\"}),e.createObjectStore(bi,{keyPath:\"modelPath\"})}var Ms=class{constructor(e){if(this.indexedDB=Nv(),e==null||!e)throw new Error(\"For IndexedDB, modelPath must not be null, undefined or empty.\");this.modelPath=e}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserLocalStorage.save() does not support saving model topology in binary formats yet.\");return this.databaseAction(this.modelPath,e)}async load(){return this.databaseAction(this.modelPath)}databaseAction(e,t){return new Promise((o,n)=>{let s=this.indexedDB.open(Wb,Ub);s.onupgradeneeded=()=>Gb(s),s.onsuccess=()=>{let a=s.result;if(t==null){let i=a.transaction(nu,\"readonly\"),u=i.objectStore(nu).get(this.modelPath);u.onsuccess=()=>{if(u.result==null)return a.close(),n(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));o(u.result.modelArtifacts)},u.onerror=c=>(a.close(),n(u.error)),i.oncomplete=()=>a.close()}else{let i=Ps(t),p=a.transaction(bi,\"readwrite\"),u=p.objectStore(bi),c=u.put({modelPath:this.modelPath,modelArtifactsInfo:i}),l;c.onsuccess=()=>{l=a.transaction(nu,\"readwrite\");let d=l.objectStore(nu).put({modelPath:this.modelPath,modelArtifacts:t,modelArtifactsInfo:i});d.onsuccess=()=>o({modelArtifactsInfo:i}),d.onerror=f=>{u=p.objectStore(bi);let h=u.delete(this.modelPath);h.onsuccess=()=>(a.close(),n(d.error)),h.onerror=g=>(a.close(),n(d.error))}},c.onerror=m=>(a.close(),n(c.error)),p.oncomplete=()=>{l==null?a.close():l.oncomplete=()=>a.close()}}},s.onerror=a=>n(s.error)})}};Ms.URL_SCHEME=\"indexeddb://\";var Tv=r=>O().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith(Ms.URL_SCHEME)?yz(r.slice(Ms.URL_SCHEME.length)):null;lt.registerSaveRouter(Tv);lt.registerLoadRouter(Tv);function yz(r){return new Ms(r)}function bz(r){return r.startsWith(Ms.URL_SCHEME)?r.slice(Ms.URL_SCHEME.length):r}var zm=class{constructor(){this.indexedDB=Nv()}async listModels(){return new Promise((e,t)=>{let o=this.indexedDB.open(Wb,Ub);o.onupgradeneeded=()=>Gb(o),o.onsuccess=()=>{let n=o.result,s=n.transaction(bi,\"readonly\"),i=s.objectStore(bi).getAll();i.onsuccess=()=>{let p={};for(let u of i.result)p[u.modelPath]=u.modelArtifactsInfo;e(p)},i.onerror=p=>(n.close(),t(i.error)),s.oncomplete=()=>n.close()},o.onerror=n=>t(o.error)})}async removeModel(e){return e=bz(e),new Promise((t,o)=>{let n=this.indexedDB.open(Wb,Ub);n.onupgradeneeded=()=>Gb(n),n.onsuccess=()=>{let s=n.result,a=s.transaction(bi,\"readwrite\"),i=a.objectStore(bi),p=i.get(e),u;p.onsuccess=()=>{if(p.result==null)return s.close(),o(new Error(`Cannot find model with path '${e}' in IndexedDB.`));{let c=i.delete(e),l=()=>{u=s.transaction(nu,\"readwrite\");let d=u.objectStore(nu).delete(e);d.onsuccess=()=>t(p.result.modelArtifactsInfo),d.onerror=f=>o(p.error)};c.onsuccess=l,c.onerror=m=>(l(),s.close(),o(p.error))}},p.onerror=c=>(s.close(),o(p.error)),a.oncomplete=()=>{u==null?s.close():u.oncomplete=()=>s.close()}},n.onerror=s=>o(n.error)})}};var Ta=\"/\",Op=\"tensorflowjs_models\",_v=\"info\",Cz=\"model_topology\",Sz=\"weight_specs\",wz=\"weight_data\",Iz=\"model_metadata\";function Ev(r){return{info:[Op,r,_v].join(Ta),topology:[Op,r,Cz].join(Ta),weightSpecs:[Op,r,Sz].join(Ta),weightData:[Op,r,wz].join(Ta),modelMetadata:[Op,r,Iz].join(Ta)}}function $v(r){for(let e of Object.values(r))window.localStorage.removeItem(e)}function vz(r){let e=r.split(Ta);if(e.length<3)throw new Error(`Invalid key format: ${r}`);return e.slice(1,e.length-1).join(Ta)}function kz(r){return r.startsWith(Ls.URL_SCHEME)?r.slice(Ls.URL_SCHEME.length):r}var Ls=class{constructor(e){if(!O().getBool(\"IS_BROWSER\")||typeof window==\"undefined\"||typeof window.localStorage==\"undefined\")throw new Error(\"The current environment does not support local storage.\");if(this.LS=window.localStorage,e==null||!e)throw new Error(\"For local storage, modelPath must not be null, undefined or empty.\");this.modelPath=e,this.keys=Ev(this.modelPath)}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserLocalStorage.save() does not support saving model topology in binary formats yet.\");{let t=JSON.stringify(e.modelTopology),o=JSON.stringify(e.weightSpecs),n=Ps(e);try{this.LS.setItem(this.keys.info,JSON.stringify(n)),this.LS.setItem(this.keys.topology,t),this.LS.setItem(this.keys.weightSpecs,o),this.LS.setItem(this.keys.weightData,Cv(e.weightData));let s={format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,signature:e.signature!=null?e.signature:void 0,userDefinedMetadata:e.userDefinedMetadata!=null?e.userDefinedMetadata:void 0,modelInitializer:e.modelInitializer!=null?e.modelInitializer:void 0,initializerSignature:e.initializerSignature!=null?e.initializerSignature:void 0,trainingConfig:e.trainingConfig!=null?e.trainingConfig:void 0};return this.LS.setItem(this.keys.modelMetadata,JSON.stringify(s)),{modelArtifactsInfo:n}}catch(s){throw $v(this.keys),new Error(`Failed to save model '${this.modelPath}' to local storage: size quota being exceeded is a possible cause of this failure: modelTopologyBytes=${n.modelTopologyBytes}, weightSpecsBytes=${n.weightSpecsBytes}, weightDataBytes=${n.weightDataBytes}.`)}}}async load(){let e=JSON.parse(this.LS.getItem(this.keys.info));if(e==null)throw new Error(`In local storage, there is no model with name '${this.modelPath}'`);if(e.modelTopologyType!==\"JSON\")throw new Error(\"BrowserLocalStorage does not support loading non-JSON model topology yet.\");let t={},o=JSON.parse(this.LS.getItem(this.keys.topology));if(o==null)throw new Error(`In local storage, the topology of model '${this.modelPath}' is missing.`);t.modelTopology=o;let n=JSON.parse(this.LS.getItem(this.keys.weightSpecs));if(n==null)throw new Error(`In local storage, the weight specs of model '${this.modelPath}' are missing.`);t.weightSpecs=n;let s=this.LS.getItem(this.keys.modelMetadata);if(s!=null){let i=JSON.parse(s);t.format=i.format,t.generatedBy=i.generatedBy,t.convertedBy=i.convertedBy,i.signature!=null&&(t.signature=i.signature),i.userDefinedMetadata!=null&&(t.userDefinedMetadata=i.userDefinedMetadata),i.modelInitializer!=null&&(t.modelInitializer=i.modelInitializer),i.initializerSignature!=null&&(t.initializerSignature=i.initializerSignature),i.trainingConfig!=null&&(t.trainingConfig=i.trainingConfig)}let a=this.LS.getItem(this.keys.weightData);if(a==null)throw new Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`);return t.weightData=Sv(a),t}};Ls.URL_SCHEME=\"localstorage://\";var Av=r=>O().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith(Ls.URL_SCHEME)?Nz(r.slice(Ls.URL_SCHEME.length)):null;lt.registerSaveRouter(Av);lt.registerLoadRouter(Av);function Nz(r){return new Ls(r)}var Wm=class{constructor(){E(O().getBool(\"IS_BROWSER\"),()=>\"Current environment is not a web browser\"),E(typeof window==\"undefined\"||typeof window.localStorage!=\"undefined\",()=>\"Current browser does not appear to support localStorage\"),this.LS=window.localStorage}async listModels(){let e={},t=Op+Ta,o=Ta+_v;for(let n=0;n\"scheme must not be undefined or null.\"),e.endsWith(Pp)&&(e=e.slice(0,e.indexOf(Pp))),E(e.length>0,()=>\"scheme must not be an empty string.\");let o=Xt.getInstance();E(o.managers[e]==null,()=>`A model store manager is already registered for scheme '${e}'.`),o.managers[e]=t}static getManager(e){let t=Xt.getInstance().managers[e];if(t==null)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(Xt.getInstance().managers)}};function Um(r){if(r.indexOf(Pp)===-1)throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${Xt.getSchemes().join(\",\")}`);return{scheme:r.split(Pp)[0],path:r.split(Pp)[1]}}async function Rv(r,e,t=!1){E(r!==e,()=>`Old path and new path are the same: '${r}'`);let o=lt.getLoadHandlers(r);E(o.length>0,()=>`Copying failed because no load handler is found for source URL ${r}.`),E(o.length<2,()=>`Copying failed because more than one (${o.length}) load handlers for source URL ${r}.`);let n=o[0],s=lt.getSaveHandlers(e);E(s.length>0,()=>`Copying failed because no save handler is found for destination URL ${e}.`),E(s.length<2,()=>`Copying failed because more than one (${o.length}) save handlers for destination URL ${e}.`);let a=s[0],i=Um(r).scheme,p=Um(r).path,u=i===Um(r).scheme,c=await n.load();t&&u&&await Xt.getManager(i).removeModel(p);let l=await a.save(c);return t&&!u&&await Xt.getManager(i).removeModel(p),l.modelArtifactsInfo}async function Fv(){let r=Xt.getSchemes(),e={};for(let t of r){let o=await Xt.getManager(t).listModels();for(let n in o){let s=t+Pp+n;e[s]=o[n]}}return e}async function Dv(r){let e=Um(r);return Xt.getManager(e.scheme).removeModel(e.path)}async function Ov(r,e){return Rv(r,e,!1)}async function Pv(r,e){return Rv(r,e,!0)}var Hb=class{constructor(){this.messageName=\"setTimeoutCustom\",this.functionRefs=[],this.handledMessageCount=0,this.hasEventListener=!1}fetch(e,t){return fetch(e,t)}now(){return performance.now()}encode(e,t){if(t!==\"utf-8\"&&t!==\"utf8\")throw new Error(`Browser's encoder only supports utf-8, but got ${t}`);return this.textEncoder==null&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(e)}decode(e,t){return new TextDecoder(t).decode(e)}setTimeoutCustom(e,t){if(typeof window==\"undefined\"||!O().getBool(\"USE_SETTIMEOUTCUSTOM\")){setTimeout(e,t);return}this.functionRefs.push(e),setTimeout(()=>{window.postMessage({name:this.messageName,index:this.functionRefs.length-1},\"*\")},t),this.hasEventListener||(this.hasEventListener=!0,window.addEventListener(\"message\",o=>{if(o.source===window&&o.data.name===this.messageName){o.stopPropagation();let n=this.functionRefs[o.data.index];n(),this.handledMessageCount++,this.handledMessageCount===this.functionRefs.length&&(this.functionRefs=[],this.handledMessageCount=0)}},!0))}};if(O().get(\"IS_BROWSER\")){O().setPlatform(\"browser\",new Hb);try{Xt.registerManager(Ls.URL_SCHEME,new Wm)}catch(r){}try{Xt.registerManager(Ms.URL_SCHEME,new zm)}catch(r){}}var Tz={importFetch:()=>Mv()},qb;var Kb=class{constructor(){this.util=Lv(),this.textEncoder=new this.util.TextEncoder}fetch(e,t){return O().global.fetch!=null?O().global.fetch(e,t):(qb==null&&(qb=Tz.importFetch()),qb(e,t))}now(){let e=process.hrtime();return e[0]*1e3+e[1]/1e6}encode(e,t){if(t!==\"utf-8\"&&t!==\"utf8\")throw new Error(`Node built-in encoder only supports utf-8, but got ${t}`);return this.textEncoder.encode(e)}decode(e,t){return e.length===0?\"\":new this.util.TextDecoder(t).decode(e)}};O().get(\"IS_NODE\")&&!O().get(\"IS_BROWSER\")&&O().setPlatform(\"node\",new Kb);function le(r,e=\"float32\",t){return e=e||\"float32\",yt(r),new st(r,e,t)}function _z(r,e){let t=v(r,\"x\",\"cast\");if(!db(e))throw new Error(`Failed to cast to unknown dtype ${e}`);if(e===\"string\"&&t.dtype!==\"string\"||e!==\"string\"&&t.dtype===\"string\")throw new Error(\"Only strings can be casted to strings\");let o={x:t},n={dtype:e};return T.runKernel(co,o,n)}var Ke=N({cast_:_z});function Ez(r){let t={x:v(r,\"x\",\"clone\",\"string_or_numeric\")};return T.runKernel(mo,t)}var Br=N({clone_:Ez});function Gm(r,e=!1){console.log(r.toString(e))}Ob();var $z={buffer:le,cast:Ke,clone:Br,print:Gm};mv($z);var Ea={};Ue(Ea,{browserFiles:()=>Vv,browserHTTPRequest:()=>Uv,concatenateArrayBuffers:()=>Fp,copyModel:()=>Ov,decodeWeights:()=>Lm,encodeWeights:()=>bv,fromMemory:()=>Gv,fromMemorySync:()=>Jb,getLoadHandlers:()=>kv,getModelArtifactsForJSON:()=>Dp,getModelArtifactsForJSONSync:()=>zb,getModelArtifactsInfoForJSON:()=>Ps,getSaveHandlers:()=>vv,getWeightSpecs:()=>Vm,http:()=>qm,isHTTPScheme:()=>Hm,listModels:()=>Fv,loadWeights:()=>zv,moveModel:()=>Pv,registerLoadRouter:()=>Iv,registerSaveRouter:()=>wv,removeModel:()=>Dv,weightsLoaderFactory:()=>Qb,withSaveHandler:()=>Hv,withSaveHandlerSync:()=>qv});var Az=\"model\",Rz=\".json\",Fz=\".weights.bin\";function Bv(r){return new Promise(e=>setTimeout(e)).then(r)}var _a=class{constructor(e){if(!O().getBool(\"IS_BROWSER\"))throw new Error(\"browserDownloads() cannot proceed because the current environment is not a browser.\");e.startsWith(_a.URL_SCHEME)&&(e=e.slice(_a.URL_SCHEME.length)),(e==null||e.length===0)&&(e=Az),this.modelJsonFileName=e+Rz,this.weightDataFileName=e+Fz}async save(e){if(typeof document==\"undefined\")throw new Error(\"Browser downloads are not supported in this environment since `document` is not present\");let t=window.URL.createObjectURL(new Blob([e.weightData],{type:\"application/octet-stream\"}));if(e.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserDownloads.save() does not support saving model topology in binary formats yet.\");{let o=[{paths:[\"./\"+this.weightDataFileName],weights:e.weightSpecs}],n=Bm(e,o),s=window.URL.createObjectURL(new Blob([JSON.stringify(n)],{type:\"application/json\"})),a=this.modelJsonAnchor==null?document.createElement(\"a\"):this.modelJsonAnchor;if(a.download=this.modelJsonFileName,a.href=s,await Bv(()=>a.dispatchEvent(new MouseEvent(\"click\"))),e.weightData!=null){let i=this.weightDataAnchor==null?document.createElement(\"a\"):this.weightDataAnchor;i.download=this.weightDataFileName,i.href=t,await Bv(()=>i.dispatchEvent(new MouseEvent(\"click\")))}return{modelArtifactsInfo:Ps(e)}}}};_a.URL_SCHEME=\"downloads://\";var jb=class{constructor(e){if(e==null||e.length<1)throw new Error(`When calling browserFiles, at least 1 file is required, but received ${e}`);this.jsonFile=e[0],this.weightsFiles=e.slice(1)}async load(){return new Promise((e,t)=>{let o=new FileReader;o.onload=n=>{let s=JSON.parse(n.target.result),a=s.modelTopology;if(a==null){t(new Error(`modelTopology field is missing from file ${this.jsonFile.name}`));return}if(s.weightsManifest==null){t(new Error(`weightManifest field is missing from file ${this.jsonFile.name}`));return}if(this.weightsFiles.length===0){e({modelTopology:a});return}let p=Dp(s,u=>this.loadWeights(u));e(p)},o.onerror=n=>t(`Failed to read model topology and weights manifest JSON from file '${this.jsonFile.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`),o.readAsText(this.jsonFile)})}loadWeights(e){let t=[],o=[];for(let a of e)t.push(...a.weights),o.push(...a.paths);let n=this.checkManifestAndWeightFiles(e),s=o.map(a=>this.loadWeightsFile(a,n[a]));return Promise.all(s).then(a=>[t,Fp(a)])}loadWeightsFile(e,t){return new Promise((o,n)=>{let s=new FileReader;s.onload=a=>{let i=a.target.result;o(i)},s.onerror=a=>n(`Failed to weights data from file of path '${e}'.`),s.readAsArrayBuffer(t)})}checkManifestAndWeightFiles(e){let t=[],o=this.weightsFiles.map(s=>Vb(s.name)),n={};for(let s of e)s.paths.forEach(a=>{let i=Vb(a);if(t.indexOf(i)!==-1)throw new Error(`Duplicate file basename found in weights manifest: '${i}'`);if(t.push(i),o.indexOf(i)===-1)throw new Error(`Weight file with basename '${i}' is not provided.`);n[a]=this.weightsFiles[o.indexOf(i)]});if(t.length!==this.weightsFiles.length)throw new Error(`Mismatch in the number of files in weights manifest (${t.length}) and the number of weight files provided (${this.weightsFiles.length}).`);return n}},Dz=r=>O().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith(_a.URL_SCHEME)?Oz(r.slice(_a.URL_SCHEME.length)):null;lt.registerSaveRouter(Dz);function Oz(r=\"model\"){return new _a(r)}function Vv(r){return new jb(r)}function Xb(r,e,t,o){a(r),t=t==null?0:t,o=o==null?1:o,i(t,o);let n=0,s=p=>(p.then(u=>{let c=t+ ++n/r.length*(o-t);return e(c),u}),p);function a(p){E(p!=null&&Array.isArray(p)&&p.length>0,()=>\"promises must be a none empty array\")}function i(p,u){E(p>=0&&p<=1,()=>`Progress fraction must be in range [0, 1], but got startFraction ${p}`),E(u>=0&&u<=1,()=>`Progress fraction must be in range [0, 1], but got endFraction ${u}`),E(u>=p,()=>`startFraction must be no more than endFraction, but got startFraction ${p} and endFraction ${u}`)}return Promise.all(r.map(s))}async function Yb(r,e){e==null&&(e={});let t=e.fetchFunc==null?O().platform.fetch:e.fetchFunc,o=r.map(l=>t(l,e.requestInit,{isBinary:!0})),n=0,s=.5,i=(e.onProgress==null?await Promise.all(o):await Xb(o,e.onProgress,n,s)).map(l=>l.arrayBuffer()),p=.5,u=1;return e.onProgress==null?await Promise.all(i):await Xb(i,e.onProgress,p,u)}async function zv(r,e=\"\",t,o){return Qb(a=>Yb(a,{requestInit:o}))(r,e,t)}function Qb(r){return async(e,t=\"\",o)=>{let n=e.map(()=>!1),s={},a=o!=null?o.map(()=>!1):[],i=[];if(e.forEach((d,f)=>{let h=0;d.weights.forEach(g=>{let x=\"quantization\"in g?g.quantization.dtype:g.dtype,b=Zc[x]*ze(g.shape),C=()=>{n[f]=!0,s[f]==null&&(s[f]=[]),s[f].push({manifestEntry:g,groupOffset:h,sizeBytes:b})};o!=null?o.forEach((w,k)=>{w===g.name&&(C(),a[k]=!0)}):C(),i.push(g.name),h+=b})}),!a.every(d=>d)){let d=o.filter((f,h)=>!a[h]);throw new Error(`Could not find weights in manifest with names: ${d.join(\", \")}. \nManifest JSON has weights with names: ${i.join(\", \")}.`)}let p=n.reduce((d,f,h)=>(f&&d.push(h),d),[]),u=[];p.forEach(d=>{e[d].paths.forEach(f=>{let h=t+(t.endsWith(\"/\")?\"\":\"/\")+f;u.push(h)})});let c=await r(u),l={},m=0;return p.forEach(d=>{let f=e[d].paths.length,h=0;for(let w=0;w{let k=g.slice(w.groupOffset,w.groupOffset+w.sizeBytes),_=Lm(k,[w.manifestEntry]);for(let $ in _)l[$]=_[$]}),m+=f}),l}}var Pz=\"application/octet-stream\",Mz=\"application/json\",Jc=class{constructor(e,t){if(this.DEFAULT_METHOD=\"POST\",t==null&&(t={}),this.weightPathPrefix=t.weightPathPrefix,this.onProgress=t.onProgress,this.weightUrlConverter=t.weightUrlConverter,t.fetchFunc!=null?(E(typeof t.fetchFunc==\"function\",()=>\"Must pass a function that matches the signature of `fetch` (see https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\"),this.fetch=t.fetchFunc):this.fetch=O().platform.fetch,E(e!=null&&e.length>0,()=>\"URL path for http must not be null, undefined or empty.\"),Array.isArray(e)&&E(e.length===2,()=>`URL paths for http must have a length of 2, (actual length is ${e.length}).`),this.path=e,t.requestInit!=null&&t.requestInit.body!=null)throw new Error(\"requestInit is expected to have no pre-existing body, but has one.\");this.requestInit=t.requestInit||{}}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.\");let t=Object.assign({method:this.DEFAULT_METHOD},this.requestInit);t.body=new FormData;let o=[{paths:[\"./model.weights.bin\"],weights:e.weightSpecs}],n=Bm(e,o);t.body.append(\"model.json\",new Blob([JSON.stringify(n)],{type:Mz}),\"model.json\"),e.weightData!=null&&t.body.append(\"model.weights.bin\",new Blob([e.weightData],{type:Pz}),\"model.weights.bin\");let s=await this.fetch(this.path,t);if(s.ok)return{modelArtifactsInfo:Ps(e),responses:[s]};throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${s.status}.`)}async load(){let e=await this.fetch(this.path,this.requestInit);if(!e.ok)throw new Error(`Request to ${this.path} failed with status code ${e.status}. Please verify this URL points to the model JSON of the model to load.`);let t;try{t=await e.json()}catch(s){let a=`Failed to parse model JSON of response from ${this.path}.`;throw this.path.endsWith(\".pb\")?a+=\" Your path contains a .pb file extension. Support for .pb models have been removed in TensorFlow.js 1.0 in favor of .json models. You can re-convert your Python TensorFlow model using the TensorFlow.js 1.0 conversion scripts or you can convert your.pb models with the 'pb2json'NPM script in the tensorflow/tfjs-converter repository.\":a+=\" Please make sure the server is serving valid JSON for this request.\",new Error(a)}let o=t.modelTopology,n=t.weightsManifest;if(o==null&&n==null)throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`);return Dp(t,s=>this.loadWeights(s))}async loadWeights(e){let t=Array.isArray(this.path)?this.path[1]:this.path,[o,n]=Lz(t),s=this.weightPathPrefix||o,a=Vm(e),i=[],p=[];for(let c of e)for(let l of c.paths)this.weightUrlConverter!=null?p.push(this.weightUrlConverter(l)):i.push(s+l+n);this.weightUrlConverter&&i.push(...await Promise.all(p));let u=await Yb(i,{requestInit:this.requestInit,fetchFunc:this.fetch,onProgress:this.onProgress});return[a,Fp(u)]}};Jc.URL_SCHEME_REGEX=/^https?:\\/\\//;function Lz(r){let e=r.lastIndexOf(\"/\"),t=r.lastIndexOf(\"?\"),o=r.substring(0,e),n=t>e?r.substring(t):\"\";return[o+\"/\",n]}function Hm(r){return r.match(Jc.URL_SCHEME_REGEX)!=null}var Wv=(r,e)=>{if(typeof fetch==\"undefined\"&&(e==null||e.fetchFunc==null))return null;{let t=!0;if(Array.isArray(r)?t=r.every(o=>Hm(o)):t=Hm(r),t)return qm(r,e)}return null};lt.registerSaveRouter(Wv);lt.registerLoadRouter(Wv);function qm(r,e){return new Jc(r,e)}function Uv(r,e){return qm(r,e)}var el=class{constructor(e){this.modelArtifacts=e}load(){return this.modelArtifacts}},Km=class{constructor(e){this.saveHandler=e}save(e){return this.saveHandler(e)}},Zb=class{constructor(e){e.load&&(this.load=()=>Promise.resolve(e.load())),e.save&&(this.save=t=>Promise.resolve(e.save(t)))}};function Gv(r,e,t,o){let n=arguments;return new Zb(Jb(...n))}function Jb(r,e,t,o){return arguments.length===1?r.modelTopology!=null||r.weightSpecs!=null?new el(r):(console.warn(\"Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release.\"),new el({modelTopology:r})):(console.warn(\"Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release.\"),new el({modelTopology:r,weightSpecs:e,weightData:t,trainingConfig:o}))}function Hv(r){return new Km(r)}function qv(r){return new Km(r)}var jv={};Ue(jv,{confusionMatrix:()=>Kv});function Bz(r,e,t=!1,o=!1){let n=v(r,\"a\",\"matMul\"),s=v(e,\"b\",\"matMul\");[n,s]=Re(n,s);let a={a:n,b:s},i={transposeA:t,transposeB:o};return T.runKernel(Wo,a,i)}var Xe=N({matMul_:Bz});function Vz(r,e,t=1,o=0,n=\"int32\"){if(e<2)throw new Error(`Error in oneHot: depth must be >=2, but it is ${e}`);let a={indices:v(r,\"indices\",\"oneHot\",\"int32\")},i={dtype:n,depth:e,onValue:t,offValue:o};return T.runKernel(En,a,i)}var tl=N({oneHot_:Vz});function wie(){O().set(\"PROD\",!0)}function Iie(){O().set(\"DEBUG\",!0)}function vie(){O().set(\"DEPRECATION_WARNINGS_ENABLED\",!1),console.warn(\"TensorFlow.js deprecation warnings have been disabled.\")}function eC(r){O().getBool(\"DEPRECATION_WARNINGS_ENABLED\")&&console.warn(r+\" You can disable deprecation warnings with tf.disableDeprecationWarnings().\")}dv(eC);function kie(){T.disposeVariables()}function cr(){return T}function Nie(){return T.memory()}function Tie(r){return T.profile(r)}function Ee(r,e){return T.tidy(r,e)}function Dt(r){Qc(r).forEach(t=>t.dispose())}function _r(r){return T.keep(r)}function _ie(r){return T.time(r)}function Eie(r){return T.setBackend(r)}function $ie(){return T.ready()}function Aie(){return T.backendName}function Rie(r){T.removeBackend(r)}function Fie(r){return T.findBackend(r)}function Die(r){return T.findBackendFactory(r)}function Ci(r,e,t=1){return T.registerBackend(r,e,t)}function Oie(){return T.backend}function Pie(r,e){O().setPlatform(r,e)}function zz(r){let t={input:v(r,\"input\",\"imag\")};return T.runKernel(si,t)}var Si=N({imag_:zz});function Wz(r){let t={x:v(r,\"x\",\"neg\")};return T.runKernel(ws,t)}var yr=N({neg_:Wz});function Uz(r){let t={input:v(r,\"input\",\"real\")};return T.runKernel(ai,t)}var $a=N({real_:Uz});function Gz(r,e,t){let o=v(r,\"x\",\"transpose\");if(e==null&&(e=o.shape.map((a,i)=>i).reverse()),E(o.rank===e.length,()=>`Error in transpose: rank of input ${o.rank} must match length of perm ${e}.`),e.forEach(a=>{E(a>=0&&a`All entries in 'perm' must be between 0 and ${o.rank-1} but got ${e}`)}),o.rank<=1)return o.clone();let n={x:o},s={perm:e};return o.dtype===\"complex64\"?Ee(()=>{let a=$a(o),i=Si(o);return a=T.runKernel(ro,{x:a},s),i=T.runKernel(ro,{x:i},s),t&&(i=yr(i)),Tr(a,i)}):T.runKernel(ro,n,s)}var Mp=N({transpose_:Gz});function Hz(r,e,t){let o=v(r,\"labels\",\"confusionMatrix\"),n=v(e,\"predictions\",\"confusionMatrix\");E(t==null||t>0&&Number.isInteger(t),()=>`If provided, numClasses must be a positive integer, but got ${t}`),E(o.rank===1,()=>`Expected the rank of labels to be 1, but got ${o.rank}`),E(n.rank===1,()=>`Expected the rank of predictions to be 1, but got ${n.rank}`),E(o.shape[0]===n.shape[0],()=>`Mismatch in the number of examples: ${o.shape[0]} vs. ${n.shape[0]}. Labels and predictions should have the same number of elements.`),E(t>0&&Number.isInteger(t),()=>`numClasses is required to be a positive integer, but got ${t}`);let s=tl(Ke(o,\"int32\"),t),a=tl(Ke(n,\"int32\"),t),i=Mp(s),p=Xe(i,a);return Ke(p,\"int32\")}var Kv=N({confusionMatrix_:Hz});var br={};Ue(br,{assertAndGetBroadcastShape:()=>Je,getBroadcastDims:()=>Xv,getReductionAxes:()=>jm});function Xv(r,e){let t=r.length,o=[];for(let n=0;n1&&a===1&&o.unshift(s)}return o}function jm(r,e){let t=[];for(let o=0;o1)&&t.unshift(s)}return t}function Je(r,e){let t=[],o=Math.max(r.length,e.length);for(let n=0;nZz,fromPixelsAsync:()=>Yz,toPixels:()=>Qz});function Xm(r,e,t){if(Jr(r),e!=null&&e.length!==3)throw new Error(\"tensor3d() requires shape to have three numbers\");let o=or(r,t);if(o.length!==3&&o.length!==1)throw new Error(\"tensor3d() requires values to be number[][][] or flat/TypedArray\");if(o.length===1&&e==null)throw new Error(\"tensor3d() requires shape to be provided when `values` are a flat array\");return xr(r,e,o,t)}var su;function Yv(r,e=3){if(e>4)throw new Error(\"Cannot construct Tensor with more than 4 channels from pixels.\");if(r==null)throw new Error(\"pixels passed to tf.browser.fromPixels() can not be null\");let t=!1,o=!1,n=!1,s=!1,a=!1,i=!1;if(r.data instanceof Uint8Array)t=!0;else if(typeof ImageData!=\"undefined\"&&r instanceof ImageData)o=!0;else if(typeof HTMLVideoElement!=\"undefined\"&&r instanceof HTMLVideoElement)n=!0;else if(typeof HTMLImageElement!=\"undefined\"&&r instanceof HTMLImageElement)s=!0;else if(r.getContext!=null)a=!0;else if(typeof ImageBitmap!=\"undefined\"&&r instanceof ImageBitmap)i=!0;else throw new Error(`pixels passed to tf.browser.fromPixels() must be either an HTMLVideoElement, HTMLImageElement, HTMLCanvasElement, ImageData in browser, or OffscreenCanvas, ImageData in webworker or {data: Uint32Array, width: number, height: number}, but was ${r.constructor.name}`);if(qc(Zi,T.backendName)!=null){let f={pixels:r},h={numChannels:e};return T.runKernel(Zi,f,h)}let[u,c]=n?[r.videoWidth,r.videoHeight]:[r.width,r.height],l;if(a)l=r.getContext(\"2d\").getImageData(0,0,u,c).data;else if(o||t)l=r.data;else if(s||n||i){if(su==null)if(typeof document==\"undefined\")if(typeof OffscreenCanvas!=\"undefined\"&&typeof OffscreenCanvasRenderingContext2D!=\"undefined\")su=new OffscreenCanvas(1,1).getContext(\"2d\");else throw new Error(\"Cannot parse input in current context. Reason: OffscreenCanvas Context2D rendering is not supported.\");else su=document.createElement(\"canvas\").getContext(\"2d\",{willReadFrequently:!0});su.canvas.width=u,su.canvas.height=c,su.drawImage(r,0,0,u,c),l=su.getImageData(0,0,u,c).data}let m;if(e===4)m=new Int32Array(l);else{let f=u*c;m=new Int32Array(f*e);for(let h=0;h4||s===2)throw new Error(`toPixels only supports depth of size 1, 3 or 4 but got ${s}`);if(t.dtype!==\"float32\"&&t.dtype!==\"int32\")throw new Error(`Unsupported type for toPixels: ${t.dtype}. Please use float32 or int32 tensors.`);let a=await t.data(),i=t.dtype===\"float32\"?255:1,p=new Uint8ClampedArray(n*o*4);for(let u=0;u1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but encountered ${d}.`)}else if(t.dtype===\"int32\"&&(d<0||d>255))throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but encountered ${d}.`);s===1?(c[0]=d*i,c[1]=d*i,c[2]=d*i):c[m]=d*i}let l=u*4;p[l+0]=Math.round(c[0]),p[l+1]=Math.round(c[1]),p[l+2]=Math.round(c[2]),p[l+3]=Math.round(c[3])}if(e!=null){e.width=n,e.height=o;let u=e.getContext(\"2d\"),c=new ImageData(p,n,o);u.putImageData(c,0,0)}return t!==r&&t.dispose(),p}var Zz=N({fromPixels_:Yv});var Ym={};Ue(Ym,{prepareAndValidate:()=>Zv});function Zv(r,e){let t=r.shape.length,o=e.shape.length;if(t<1)throw new Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${t}.`);if(o<1)throw new Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${o}.`);if(e.dtype!==\"int32\")throw new Error(`tf.gatherND() expects the indices to be int32 type, but the dtype was ${e.dtype}.`);if(e.shape[o-1]>t)throw new Error(`index innermost dimension length must be <= tensor rank; saw: ${e.shape[o-1]} vs. ${t}`);if(ze(r.shape)===0)throw new Error(`Requested more than 0 entries, but input is empty. Input shape: ${r.shape}.`);let n=e.shape,s=n[n.length-1],a=1;for(let l=0;ll/u),1].slice(0,s);return[p,a,u,c]}var rl={};Ue(rl,{calculateShapes:()=>Jv,validateInput:()=>Qm,validateUpdateShape:()=>tC});function tC(r,e,t){let o=e.rank>1?e.shape[e.rank-1]:1,n=e.rank>1?e.rank-1:1,s=`Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${t.shape}, indices.shape: ${e.shape}, shape: ${r}, sliceDim: ${o}, and batchDim: ${n}.`;if(t.rank1?e.shape[o-1]:1,s=t.length,a=1;for(let l=n;leW,computeFlatOffset:()=>sW,computeOutShape:()=>rW,getNormalizedAxes:()=>oW,isSliceContinous:()=>nW,maskToAxes:()=>tW,parseSliceParams:()=>aW,sliceInfo:()=>iW,startForAxis:()=>i0,startIndicesWithElidedDims:()=>n0,stopForAxis:()=>u0,stopIndicesWithElidedDims:()=>s0,stridesForAxis:()=>a0,stridesWithElidedDims:()=>t0});var rC=-2,Jz=-1;function eW(r,e,t){let o=r.shape.length;E(o===e.length,()=>`Error in slice${o}D: Length of begin ${e} must match the rank of the array (${o}).`),E(o===t.length,()=>`Error in slice${o}D: Length of size ${t} must match the rank of the array (${o}).`);for(let n=0;n`Error in slice${o}D: begin[${n}] + size[${n}] (${e[n]+t[n]}) would overflow input.shape[${n}] (${r.shape[n]})`)}function tW(r){let e=[],t=0;for(;r>0;)r&1&&e.push(t),r/=2,t++;return e}function rW(r,e,t){let o=[];for(let n=0;n0){let d=e[0],f=t+1;c=n0(a,d,f,o,r),l=s0(i,d,f,n,r),m=t0(s,d,f,r)}else for(let d=0;d-1)s[i]=0;else{let p=r0(e,t,i),u=o[p];r&1<-1)s[i]=Number.MAX_SAFE_INTEGER;else{let p=r0(e,t,i),u=o[p];r&1<0?a=Number.MIN_SAFE_INTEGER:a=Number.MAX_SAFE_INTEGER);let p=o[n];return a<0&&(a+=p),a=op(0,a,p-1),a}function u0(r,e,t,o,n,s){let a=e[n],i=t[n]||1;(r&1<0?a=Number.MAX_SAFE_INTEGER:a=Number.MIN_SAFE_INTEGER);let p=o[n];return a<0&&(a+=p),i>0?a=op(0,a,p):a=op(-1,a,p-1),a}function nW(r,e,t){let o=t.length;for(let n=0;n1){o=n;break}for(let n=o+1;n0||t[n]!==r[n])return!1;return!0}function sW(r,e){let t=r.length>0?r[r.length-1]:1;for(let o=0;o{E(a!==-1,()=>\"slice() does not support negative begin indexing.\")});let s;return t==null?s=new Array(n).fill(-1):typeof t==\"number\"?s=[t,...new Array(n-1).fill(-1)]:t.lengtha>=0?a:(E(a===-1,()=>`Negative size values should be exactly -1 but got ${a} for the slice() size at index ${i}.`),r.shape[i]-o[i])),[o,s]}function iW(r,e,t,o,n,s,a,i,p){let u;if(o==null?(u=new Array(e.length),u.fill(1)):u=o,a!=null&&(a&a-1)!==0)throw new Error(\"Multiple ellipses in slice is not allowed.\");let c=!1,l={dims:u.length,numAddAxisAfterEllipsis:0,begin:e.slice(),end:t.slice(),strides:u.slice(),beginMask:n,endMask:s,ellipsisMask:a,newAxisMask:i,shrinkAxisMask:p};for(let C=0;C0?0:-1,m.strides[C]>0?k:k-1];if(w&&m.strides[C]<=0)throw Error(\"only stride 1 allowed on non-range indexing.\");h=h&&m.strides[C]===1;let A=!!(m.beginMask&1<=k)throw Error(`slice index ${m.begin[C]} of dimension ${C} out of bounds.`)}else m.begin[C]=e0(m.begin[C],0,m.strides[C],k,_,$),m.end[C]=e0(m.end[C],1,m.strides[C],k,_,$);let P=m.strides[C]===1&&m.begin[C]===0&&m.end[C]===k;d=d&&P,f=f&&(C===0&&m.strides[C]===1||P)}else d=d&&m.strides[C]===1&&A,f=f&&(C===0&&m.strides[C]===1||A);let R,D=!1;if(m.beginValid&&m.endValid?(R=m.end[C]-m.begin[C],D=!0):w?(R=1,D=!0):A&&k>=0&&(m.strides[C]<0?R=-k:R=k,D=!0),D){let P;R===0||R<0!=m.strides[C]<0?P=0:P=Math.trunc(R/m.strides[C])+(R%m.strides[C]!==0?1:0),g.push(P)}else g.push(-1)}for(let C=0;C=0?x.push(g[w]):w===rC&&x.push(1)}return{finalShapeSparse:x.filter((C,w)=>m.finalShapeGatherIndices[w]!==rC),finalShape:x,isIdentity:d,sliceDim0:f,isSimpleSlice:h,begin:m.begin,end:m.end,strides:m.strides}}function uW(r,e){e.beginMask=0,e.endMask=0,e.shrinkAxisMask=0;let t=0;e.beginValid=r.begin!=null,e.endValid=r.end!=null,e.begin=new Array(e.dims),e.end=new Array(e.dims),e.strides=new Array(e.dims),e.finalShapeGatherIndices=[],e.finalShapeGatherIndicesSparse=[],e.inputShapeGatherIndicesSparse=new Array(e.dims);for(let o=0;o0?s[e]:s[e+1&1];{let a=r<0?o+r:r;return as[1]?s[1]:a}}var p0={};Ue(p0,{Serializable:()=>ol,SerializationMap:()=>Bs,registerClass:()=>Er});var ol=class{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}},Bs=class{constructor(){this.classNameMap={}}static getMap(){return Bs.instance==null&&(Bs.instance=new Bs),Bs.instance}static register(e){Bs.getMap().classNameMap[e.className]=[e,e.fromConfig]}};function Er(r){E(r.className!=null,()=>\"Class being registered does not have the static className property defined.\"),E(typeof r.className==\"string\",()=>\"className is required to be a string, but got type \"+typeof r.className),E(r.className.length>0,()=>\"Class being registered has an empty-string as its className, which is disallowed.\"),Bs.register(r)}var d0={};Ue(d0,{TEST_EPSILON_FLOAT16:()=>c0,createVideoElement:()=>hW,encodeStrings:()=>m0,expectArrayBuffersEqual:()=>fW,expectArraysClose:()=>cW,expectArraysEqual:()=>mW,expectNumbersClose:()=>l0,expectPromiseToFail:()=>lW,expectValuesInRange:()=>dW,play:()=>gW,testEpsilon:()=>Zm});var pW=.001,c0=.1;function cW(r,e,t){return t==null&&(t=Zm()),oC(r,e,(o,n)=>nC(o,n,t))}function Zm(){return T.backend.floatPrecision()===32?pW:c0}function oC(r,e,t){let o=!0;if((Wt(r)||Wt(e))&&(o=!1),Wt(r)&&Wt(e)&&(o=!0),o){let a=r.constructor.name,i=e.constructor.name;if(a!==i)throw new Error(`Arrays are of different type. Actual: ${a}. Expected: ${i}`)}if(Array.isArray(r)&&Array.isArray(e)){let a=or(r),i=or(e);if(!Pr(a,i))throw new Error(`Arrays have different shapes. Actual: [${a}]. Expected: [${i}]`)}let n=Wt(r)?r:Oo(r),s=Wt(e)?e:Oo(e);if(n.length!==s.length)throw new Error(`Arrays have different lengths actual: ${n.length} vs expected: ${s.length}.\nActual: ${n}.\nExpected: ${s}.`);for(let a=0;ae.fail(),()=>e()),typeof expect!=\"undefined\"&&expect().nothing()}function mW(r,e){let t=typeof e==\"string\"||typeof e==\"number\"||typeof e==\"boolean\"?[e]:e;return Po(r)||Po(r[0])||Po(e)||Po(e[0])?oC(r,t,(o,n)=>o==n):oC(r,e,(o,n)=>nC(o,n,0))}function l0(r,e,t){if(t==null&&(t=Zm()),!nC(r,e,t))throw new Error(`Numbers differ: actual === ${r}, expected === ${e}`);typeof expect!=\"undefined\"&&expect().nothing()}function nC(r,e,t){return!isFinite(r)&&!isFinite(e)?!0:!(isNaN(r)||isNaN(e)||Math.abs(r-e)>t)}function dW(r,e,t){for(let o=0;ot)throw new Error(`Value out of range:${r[o]} low: ${e}, high: ${t}`)}function fW(r,e){let t=new Float32Array(r),o=new Float32Array(e);if(t.length!==o.length)throw new Error(`Expected ArrayBuffer to be of length ${o.length}, but it was ${t.length}`);for(let n=0;n{e.addEventListener(\"loadeddata\",o=>t(e)),e.load()})}async function gW(r){await r.play(),\"requestVideoFrameCallback\"in r&&await new Promise(e=>{r.requestVideoFrameCallback(e)})}var xW=\"4.1.0\";function yW(r,e){let t=v(r,\"a\",\"add\"),o=v(e,\"b\",\"add\");[t,o]=Re(t,o);let n={a:t,b:o};return T.runKernel(eo,n)}var xe=N({add_:yW});function bW(r,e){let t=v(r,\"a\",\"floorDiv\"),o=v(e,\"b\",\"floorDiv\");[t,o]=Re(t,o);let n={a:t,b:o};return T.runKernel(sn,n)}var Jm=N({floorDiv_:bW});function CW(r,e){let t=v(r,\"a\",\"div\"),o=v(e,\"b\",\"div\");if([t,o]=Re(t,o),t.dtype===\"int32\"&&o.dtype===\"int32\")return Jm(t,o);let n={a:t,b:o},s={};return T.runKernel(Jo,n,s)}var Ge=N({div_:CW});function SW(r,e){let t=v(r,\"a\",\"mul\"),o=v(e,\"b\",\"mul\");[t,o]=Re(t,o);let n={a:t,b:o};return T.runKernel(kn,n)}var ae=N({mul_:SW});function wW(r){let e=v(r,\"x\",\"abs\");if(e.dtype===\"complex64\"){let t={x:e};return T.runKernel(pp,t)}else{let t={x:e};return T.runKernel(gs,t)}}var Yt=N({abs_:wW});function IW(r){let t={x:v(r,\"x\",\"acos\")};return T.runKernel(sa,t)}var f0=N({acos_:IW});function vW(r){let t={x:v(r,\"x\",\"acosh\")};return T.runKernel(aa,t)}var h0=N({acosh_:vW});function kW(r){E(Array.isArray(r),()=>\"The argument passed to tf.addN() must be a list of tensors\"),E(r.length>=1,()=>`Must pass at least one tensor to tf.addN(), but got ${r.length}`);let e=r.map((n,s)=>v(n,`tensors${s}`,\"addN\")),t=e[0];e.forEach(n=>{if(n.dtype!==t.dtype)throw new Error(\"All tensors passed to tf.addN() must have the same dtype\")}),e.forEach(n=>{if(!Pr(n.shape,t.shape))throw new Error(\"All tensors passed to tf.addN() must have the same shape\")});let o=e;return T.runKernel(Mo,o)}var g0=N({addN_:kW});function NW(r,e=null,t=!1){let n={x:v(r,\"x\",\"all\",\"bool\")},s={axis:e,keepDims:t};return T.runKernel(Lo,n,s)}var x0=N({all_:NW});function TW(r,e=null,t=!1){let n={x:v(r,\"x\",\"any\",\"bool\")},s={axis:e,keepDims:t};return T.runKernel(Bo,n,s)}var y0=N({any_:TW});function _W(r,e=0){let o={x:v(r,\"x\",\"argMax\")},n={axis:e};return T.runKernel(Vo,o,n)}var b0=N({argMax_:_W});function EW(r,e=0){let o={x:v(r,\"x\",\"argMin\")},n={axis:e};return T.runKernel(Za,o,n)}var C0=N({argMin_:EW});function $W(r){let t={x:v(r,\"x\",\"asin\")};return T.runKernel(ia,t)}var S0=N({asin_:$W});function AW(r){let t={x:v(r,\"x\",\"asinh\")};return T.runKernel(ua,t)}var w0=N({asinh_:AW});function RW(r){let t={x:v(r,\"x\",\"atan\")};return T.runKernel(pa,t)}var I0=N({atan_:RW});function FW(r,e){let t=v(r,\"a\",\"atan2\"),o=v(e,\"b\",\"atan2\");[t,o]=Re(t,o);let n={a:t,b:o};return T.runKernel(la,n)}var v0=N({atan2_:FW});function DW(r){let t={x:v(r,\"x\",\"atanh\")};return T.runKernel(ca,t)}var k0=N({atanh_:DW});function OW(r,e,t,o,n=\"NHWC\",s){let a=r[3],i=[...e,a],p=T0(n);return uu(r,i,t,s,o,null,null,p)}function aC(r,e,t,o,n,s,a=\"channelsLast\"){let[i,p]=ed(e),u;if(a===\"channelsLast\")u=[i,p,r[3],r[3]];else if(a===\"channelsFirst\")u=[i,p,r[1],r[1]];else throw new Error(`Unknown dataFormat ${a}`);return uu(r,u,t,o,n,s,!1,a)}function PW(r,e,t,o,n,s,a=\"NDHWC\"){let[i,p,u]=sC(e),c,l;if(a===\"NDHWC\")l=\"channelsLast\",c=[i,p,u,r[4],r[4]];else if(a===\"NCDHW\")l=\"channelsFirst\",c=[i,p,u,r[1],r[1]];else throw new Error(`Unknown dataFormat ${a}`);return N0(r,c,t,o,n,!1,l,s)}function uu(r,e,t,o,n,s,a=!1,i=\"channelsLast\"){let[p,u,c,l]=[-1,-1,-1,-1];if(i===\"channelsLast\")[p,u,c,l]=r;else if(i===\"channelsFirst\")[p,l,u,c]=r;else throw new Error(`Unknown dataFormat ${i}`);let[m,d,,f]=e,[h,g]=ed(t),[x,b]=ed(o),C=Lp(m,x),w=Lp(d,b),{padInfo:k,outHeight:_,outWidth:$}=BW(n,u,c,h,g,C,w,s,i),A=a?f*l:f,R;return i===\"channelsFirst\"?R=[p,A,_,$]:i===\"channelsLast\"&&(R=[p,_,$,A]),{batchSize:p,dataFormat:i,inHeight:u,inWidth:c,inChannels:l,outHeight:_,outWidth:$,outChannels:A,padInfo:k,strideHeight:h,strideWidth:g,filterHeight:m,filterWidth:d,effectiveFilterHeight:C,effectiveFilterWidth:w,dilationHeight:x,dilationWidth:b,inShape:r,outShape:R,filterShape:e}}function N0(r,e,t,o,n,s=!1,a=\"channelsLast\",i){let[p,u,c,l,m]=[-1,-1,-1,-1,-1];if(a===\"channelsLast\")[p,u,c,l,m]=r;else if(a===\"channelsFirst\")[p,m,u,c,l]=r;else throw new Error(`Unknown dataFormat ${a}`);let[d,f,h,,g]=e,[x,b,C]=sC(t),[w,k,_]=sC(o),$=Lp(d,w),A=Lp(f,k),R=Lp(h,_),{padInfo:D,outDepth:P,outHeight:M,outWidth:L}=VW(n,u,c,l,x,b,C,$,A,R,i),W=s?g*m:g,V;return a===\"channelsFirst\"?V=[p,W,P,M,L]:a===\"channelsLast\"&&(V=[p,P,M,L,W]),{batchSize:p,dataFormat:a,inDepth:u,inHeight:c,inWidth:l,inChannels:m,outDepth:P,outHeight:M,outWidth:L,outChannels:W,padInfo:D,strideDepth:x,strideHeight:b,strideWidth:C,filterDepth:d,filterHeight:f,filterWidth:h,effectiveFilterDepth:$,effectiveFilterHeight:A,effectiveFilterWidth:R,dilationDepth:w,dilationHeight:k,dilationWidth:_,inShape:r,outShape:V,filterShape:e}}function MW(r,e,t,o,n){o==null&&(o=iC(r,e,t));let s=r[0],a=r[1],i=au((s-e+2*o)/t+1,n),p=au((a-e+2*o)/t+1,n);return[i,p]}function LW(r,e,t,o,n,s){n==null&&(n=iC(r,e,o));let a=r[0],i=r[1],p=r[2],u=au((a-e+2*n)/o+1,s),c=au((i-e+2*n)/o+1,s),l=au((p-e+2*n)/o+1,s);return[u,c,l,t]}function iC(r,e,t,o=1){let n=Lp(e,o);return Math.floor((r[0]*(t-1)-t+n)/2)}function ed(r){return typeof r==\"number\"?[r,r,r]:r.length===2?[r[0],r[1],1]:r}function sC(r){return typeof r==\"number\"?[r,r,r]:r}function Lp(r,e){return e<=1?r:r+(r-1)*(e-1)}function BW(r,e,t,o,n,s,a,i,p){let u,c,l;if(typeof r==\"number\"){u={top:r,bottom:r,left:r,right:r,type:r===0?\"VALID\":\"NUMBER\"};let d=MW([e,t],s,o,r,i);c=d[0],l=d[1]}else if(r===\"same\"){c=Math.ceil(e/o),l=Math.ceil(t/n);let m=Math.max(0,(c-1)*o+s-e),d=Math.max(0,(l-1)*n+a-t),f=Math.floor(m/2),h=m-f,g=Math.floor(d/2),x=d-g;u={top:f,bottom:h,left:g,right:x,type:\"SAME\"}}else if(r===\"valid\")u={top:0,bottom:0,left:0,right:0,type:\"VALID\"},c=Math.ceil((e-s+1)/o),l=Math.ceil((t-a+1)/n);else if(typeof r==\"object\"){let m=p===\"channelsLast\"?r[1][0]:r[2][0],d=p===\"channelsLast\"?r[1][1]:r[2][1],f=p===\"channelsLast\"?r[2][0]:r[3][0],h=p===\"channelsLast\"?r[2][1]:r[3][1];u={top:m,bottom:d,left:f,right:h,type:m===0&&d===0&&f===0&&h===0?\"VALID\":\"EXPLICIT\"},c=au((e-s+m+d)/o+1,i),l=au((t-a+f+h)/n+1,i)}else throw Error(`Unknown padding parameter: ${r}`);return{padInfo:u,outHeight:c,outWidth:l}}function VW(r,e,t,o,n,s,a,i,p,u,c){let l,m,d,f;if(typeof r==\"number\"){l={top:r,bottom:r,left:r,right:r,front:r,back:r,type:r===0?\"VALID\":\"NUMBER\"};let g=LW([e,t,o,1],i,1,n,r,c);m=g[0],d=g[1],f=g[2]}else if(r===\"same\"){m=Math.ceil(e/n),d=Math.ceil(t/s),f=Math.ceil(o/a);let h=(m-1)*n+i-e,g=(d-1)*s+p-t,x=(f-1)*a+u-o,b=Math.floor(h/2),C=h-b,w=Math.floor(g/2),k=g-w,_=Math.floor(x/2),$=x-_;l={top:w,bottom:k,left:_,right:$,front:b,back:C,type:\"SAME\"}}else if(r===\"valid\")l={top:0,bottom:0,left:0,right:0,front:0,back:0,type:\"VALID\"},m=Math.ceil((e-i+1)/n),d=Math.ceil((t-p+1)/s),f=Math.ceil((o-u+1)/a);else throw Error(`Unknown padding parameter: ${r}`);return{padInfo:l,outDepth:m,outHeight:d,outWidth:f}}function au(r,e){if(!e)return Math.trunc(r);switch(e){case\"round\":return Math.round(r);case\"ceil\":return Math.ceil(r);case\"floor\":return Math.floor(r);default:throw new Error(`Unknown roundingMode ${e}`)}}function iu(r){let[e,t,o]=ed(r);return e===1&&t===1&&o===1}function lr(r,e){return iu(r)||iu(e)}function T0(r){if(r===\"NHWC\")return\"channelsLast\";if(r===\"NCHW\")return\"channelsFirst\";throw new Error(`Unknown dataFormat ${r}`)}function Pt(r,e,t){if(t!=null){if(typeof e==\"string\")throw Error(`Error in ${r}: pad must be an integer when using dimRoundingMode ${t} but got pad ${e}.`);if(typeof e==\"number\")E(na(e),()=>`Error in ${r}: pad must be an integer when using dimRoundingMode ${t} but got pad ${e}.`);else if(typeof e==\"object\")e.forEach(o=>{o.forEach(n=>{E(na(n),()=>`Error in ${r}: pad must be an integer when using dimRoundingMode ${t} but got pad ${n}.`)})});else throw Error(`Error in ${r}: Unknown padding parameter: ${e}`)}}function zW(r,e){let o={x:v(r,\"x\",\"reshape\",\"string_or_numeric\")},n={shape:e};return T.runKernel(Ns,o,n)}var z=N({reshape_:zW});function WW(r,e,t,o,n){let s=v(r,\"x\",\"avgPool\",\"float32\"),a=1;E(lr(t,a),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${t} and dilations '${a}'`);let i=s,p=!1;s.rank===3&&(p=!0,i=z(s,[1,s.shape[0],s.shape[1],s.shape[2]])),E(i.rank===4,()=>`Error in avgPool: x must be rank 4 but got rank ${i.rank}.`),Pt(\"avgPool\",o,n);let u={x:i},c={filterSize:e,strides:t,pad:o,dimRoundingMode:n},l=T.runKernel(zo,u,c);return l=Ke(l,s.dtype),p?z(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var td=N({avgPool_:WW});function UW(r,e,t,o,n,s=\"NDHWC\"){let a=v(r,\"x\",\"avgPool3d\",\"float32\"),i=a,p=!1;a.rank===4&&(p=!0,i=z(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),E(i.rank===5,()=>`Error in avgPool3d: x must be rank 5 but got rank ${i.rank}.`),E(s===\"NDHWC\",()=>`Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${s}`),Pt(\"avgPool3d\",o,n);let u={x:i},c={filterSize:e,strides:t,pad:o,dimRoundingMode:n,dataFormat:s},l=T.runKernel(ip,u,c);return l=Ke(l,i.dtype),p?z(l,[l.shape[1],l.shape[2],l.shape[3],l.shape[4]]):l}var _0=N({avgPool3d_:UW});function GW(r,e=0){E(r.length>=1,()=>\"Pass at least one tensor to concat\");let t=Na(r,\"tensors\",\"concat\",\"string_or_numeric\");if(t[0].dtype===\"complex64\"&&t.forEach(s=>{if(s.dtype!==\"complex64\")throw new Error(`Cannot concatenate complex64 tensors with a tensor\n with dtype ${s.dtype}. `)}),t.length===1)return Br(t[0]);let o=t,n={axis:e};return T.runKernel(ys,o,n)}var gt=N({concat_:GW});function HW(r){let t={x:v(r,\"x\",\"sigmoid\",\"float32\")};return T.runKernel(Un,t)}var zs=N({sigmoid_:HW});function qW(r,e,t){let o=v(r,\"x\",\"slice\",\"string_or_numeric\");if(o.rank===0)throw new Error(\"Slicing scalar is not possible\");let n={x:o},s={begin:e,size:t};return T.runKernel(_s,n,s)}var He=N({slice_:qW});function KW(r){let t={x:v(r,\"x\",\"tanh\",\"float32\")};return T.runKernel(Qn,t)}var nl=N({tanh_:KW});function jW(r,e,t,o,n,s){let a=v(r,\"forgetBias\",\"basicLSTMCell\"),i=v(e,\"lstmKernel\",\"basicLSTMCell\"),p=v(t,\"lstmBias\",\"basicLSTMCell\"),u=v(o,\"data\",\"basicLSTMCell\"),c=v(n,\"c\",\"basicLSTMCell\"),l=v(s,\"h\",\"basicLSTMCell\"),m=gt([u,l],1),d=Xe(m,i),f=xe(d,p),h=f.shape[0],g=f.shape[1]/4,x=[h,g],b=He(f,[0,0],x),C=He(f,[0,g],x),w=He(f,[0,g*2],x),k=He(f,[0,g*3],x),_=xe(ae(zs(b),nl(C)),ae(c,zs(xe(a,w)))),$=ae(nl(_),zs(k));return[_,$]}var E0=N({basicLSTMCell_:jW});function XW(r,e,t){let o=v(r,\"x\",\"batchToSpaceND\"),n=e.reduce((i,p)=>i*p);E(o.rank>=1+e.length,()=>`input rank is ${o.rank} but should be > than blockShape.length ${e.length}`),E(t.length===e.length,()=>`crops.length is ${t.length} but should be equal to blockShape.length ${e.length}`),E(o.shape[0]%n===0,()=>`input tensor batch is ${o.shape[0]} but is not divisible by the product of the elements of blockShape ${e.join(\" * \")} === ${n}`);let s={x:o},a={blockShape:e,crops:t};return T.runKernel(xs,s,a)}var rd=N({batchToSpaceND_:XW});function $0(r){let e;return r.rank===0||r.rank===1?e=z(r,[1,1,1,r.size]):r.rank===2?e=z(r,[1,1,r.shape[0],r.shape[1]]):r.rank===3?e=z(r,[1,r.shape[0],r.shape[1],r.shape[2]]):e=r,e}function YW(r,e,t,o,n,s){s==null&&(s=.001);let a=v(r,\"x\",\"batchNorm\"),i=v(e,\"mean\",\"batchNorm\"),p=v(t,\"variance\",\"batchNorm\"),u;n!=null&&(u=v(n,\"scale\",\"batchNorm\"));let c;o!=null&&(c=v(o,\"offset\",\"batchNorm\")),E(i.rank===p.rank,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),E(c==null||i.rank===c.rank,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),E(u==null||i.rank===u.rank,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\");let m={x:$0(a),scale:u,offset:c,mean:i,variance:p},d={varianceEpsilon:s},f=T.runKernel(an,m,d);return z(f,a.shape)}var wi=N({batchNorm_:YW});function QW(r,e,t,o,n,s){let a=v(r,\"x\",\"batchNorm\"),i=v(e,\"mean\",\"batchNorm\"),p=v(t,\"variance\",\"batchNorm\"),u;n!=null&&(u=v(n,\"scale\",\"batchNorm\"));let c;return o!=null&&(c=v(o,\"offset\",\"batchNorm\")),E(a.rank===2,()=>`Error in batchNorm2D: x must be rank 2 but got rank ${a.rank}.`),E(i.rank===2||i.rank===1,()=>`Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${i.rank}.`),E(p.rank===2||p.rank===1,()=>`Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${p.rank}.`),u!=null&&E(u.rank===2||u.rank===1,()=>`Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${u.rank}.`),c!=null&&E(c.rank===2||c.rank===1,()=>`Error in batchNorm2D: offset must be rank 2 or rank 1 but got rank ${c.rank}.`),wi(a,i,p,c,u,s)}var A0=N({batchNorm2d_:QW});function ZW(r,e,t,o,n,s){let a=v(r,\"x\",\"batchNorm\"),i=v(e,\"mean\",\"batchNorm\"),p=v(t,\"variance\",\"batchNorm\"),u;n!=null&&(u=v(n,\"scale\",\"batchNorm\"));let c;return o!=null&&(c=v(o,\"offset\",\"batchNorm\")),E(a.rank===3,()=>`Error in batchNorm3D: x must be rank 3 but got rank ${a.rank}.`),E(i.rank===3||i.rank===1,()=>`Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${i.rank}.`),E(p.rank===3||p.rank===1,()=>`Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${p.rank}.`),u!=null&&E(u.rank===3||u.rank===1,()=>`Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${u.rank}.`),c!=null&&E(c.rank===3||c.rank===1,()=>`Error in batchNorm3D: offset must be rank 3 or rank 1 but got rank ${c.rank}.`),wi(a,i,p,c,u,s)}var R0=N({batchNorm3d_:ZW});function JW(r,e,t,o,n,s){let a=v(r,\"x\",\"batchNorm\"),i=v(e,\"mean\",\"batchNorm\"),p=v(t,\"variance\",\"batchNorm\"),u;n!=null&&(u=v(n,\"scale\",\"batchNorm\"));let c;return o!=null&&(c=v(o,\"offset\",\"batchNorm\")),E(a.rank===4,()=>`Error in batchNorm4D: x must be rank 4 but got rank ${a.rank}.`),E(i.rank===4||i.rank===1,()=>`Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${i.rank}.`),E(p.rank===4||p.rank===1,()=>`Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${p.rank}.`),u!=null&&E(u.rank===4||u.rank===1,()=>`Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${u.rank}.`),c!=null&&E(c.rank===4||c.rank===1,()=>`Error in batchNorm4D: offset must be rank 4 or rank 1 but got rank ${c.rank}.`),wi(a,i,p,c,u,s)}var F0=N({batchNorm4d_:JW});function eU(r,e,t){let o=v(r,\"x\",\"bincount\"),n=v(e,\"weights\",\"bincount\");E(o.dtype===\"int32\",()=>`Error in bincount: input dtype must be int32, but got ${o.dtype}`),E(t>=0,()=>`size must be non-negative, but got ${t}.`),E(n.size===o.size||n.size===0,()=>`Error in bincount: weights must have the same size as input or0-length, but got input shape: ${o.shape}, weights shape: ${n.shape}.`);let s={x:o,weights:n},a={size:t};return T.runKernel(Ja,s,a)}var od=N({bincount_:eU});function tU(r,e){let t=v(r,\"s0\",\"broadcastArgs\",\"int32\"),o=v(e,\"s1\",\"broadcastArgs\",\"int32\");if(t.rank!==1)throw new Error(`broadcastArgs(): first input must be a vector (rank=1). Has rank ${t.rank}`);if(o.rank!==1)throw new Error(`broadcastArgs(): second input must be a vector (rank=1). Has rank ${o.rank}`);let n={s0:t,s1:o};return T.runKernel(up,n)}var D0=N({broadcastArgs_:tU});function rU(r,e){let t=v(r,\"broadcastTo\",\"x\"),o=t.shape;if(yt(e),e.lengtht.rank){let u=t.shape.slice();for(;u.length=0;u--)if(n[u]===e[u])s[u]=1;else if(t.shape[u]!==1)throw new Error(`broadcastTo(): [${o}] cannot be broadcast to [${e}].`);if(s.map((u,c)=>u>1?c:-1).filter(u=>u>=0).length===0)return Br(t);let i={x:t},p={reps:s};return T.runKernel(to,i,p)}var Ii=N({broadcastTo_:rU});function oU(r){let t={x:v(r,\"x\",\"ceil\",\"float32\")};return T.runKernel(Uo,t)}var O0=N({ceil_:oU});function Ws(r,e,t){yt(r);let o={shape:r,value:e,dtype:t};return T.runKernel(Cs,{},o)}function nU(r,e,t){let o=v(r,\"x\",\"clipByValue\");if(E(e<=t,()=>`Error in clip: min (${e}) must be less than or equal to max (${t}).`),e===t)return Ws(o.shape,e,o.dtype);let n={x:o},s={clipValueMin:e,clipValueMax:t};return T.runKernel(lo,n,s)}var P0=N({clipByValue_:nU});function sU(r){return gt(r,0)}var M0=N({concat1d_:sU});function aU(r,e){return gt(r,e)}var L0=N({concat2d_:aU});function iU(r,e){return gt(r,e)}var B0=N({concat3d_:iU});function uU(r,e){return gt(r,e)}var V0=N({concat4d_:uU});function pU(r,e,t,o,n=\"NHWC\",s=[1,1],a){let i=v(r,\"x\",\"conv2d\",\"float32\"),p=v(e,\"filter\",\"conv2d\",\"float32\"),u=i,c=!1;i.rank===3&&(c=!0,u=z(i,[1,i.shape[0],i.shape[1],i.shape[2]])),E(u.rank===4,()=>`Error in conv2d: input must be rank 4, but got rank ${u.rank}.`),E(p.rank===4,()=>`Error in conv2d: filter must be rank 4, but got rank ${p.rank}.`),Pt(\"conv2d\",o,a);let l=n===\"NHWC\"?u.shape[3]:u.shape[1];E(l===p.shape[2],()=>`Error in conv2d: depth of input (${l}) must match input depth for filter ${p.shape[2]}.`),E(lr(t,s),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${t} and dilations '${s}'`);let m={x:u,filter:p},d={strides:t,pad:o,dataFormat:n,dilations:s,dimRoundingMode:a},f=T.runKernel(Go,m,d);return c?z(f,[f.shape[1],f.shape[2],f.shape[3]]):f}var vi=N({conv2d_:pU});function cU(r,e,t,o,n=\"NWC\",s=1,a){let i=v(r,\"x\",\"conv1d\"),p=v(e,\"filter\",\"conv1d\"),u=i,c=!1;i.rank===2&&(c=!0,u=z(i,[1,i.shape[0],i.shape[1]])),E(u.rank===3,()=>`Error in conv1d: input must be rank 3, but got rank ${u.rank}.`),E(p.rank===3,()=>`Error in conv1d: filter must be rank 3, but got rank ${p.rank}.`),Pt(\"conv1d\",o,a),E(u.shape[2]===p.shape[1],()=>`Error in conv1d: depth of input (${u.shape[2]}) must match input depth for filter ${p.shape[1]}.`),E(lr(t,s),()=>`Error in conv1D: Either stride or dilation must be 1. Got stride ${t} and dilation '${s}'`),E(n===\"NWC\",()=>`Error in conv1d: got dataFormat of ${n} but only NWC is currently supported.`);let l=z(p,[1,p.shape[0],p.shape[1],p.shape[2]]),m=z(u,[u.shape[0],1,u.shape[1],u.shape[2]]),g=vi(m,l,[1,t],o,\"NHWC\",[1,s],a);return c?z(g,[g.shape[2],g.shape[3]]):z(g,[g.shape[0],g.shape[2],g.shape[3]])}var z0=N({conv1d_:cU});function lU(r,e,t,o,n,s=\"NHWC\",a){E(r.length===e.rank,()=>`Length of inShape (${r.length}) and rank of dy (${e.rank}) must match`);let i=r,p=e,u=!1;e.rank===3&&(u=!0,p=z(e,[1,e.shape[0],e.shape[1],e.shape[2]]),i=[1,r[0],r[1],r[2]]),E(i.length===4,()=>`Error in conv2dDerInput: inShape must be length 4, but got length ${i.length}.`),E(p.rank===4,()=>`Error in conv2dDerInput: dy must be rank 4, but got rank ${p.rank}`),E(t.rank===4,()=>`Error in conv2dDerInput: filter must be rank 4, but got rank ${t.rank}`);let c=s===\"NHWC\"?i[3]:i[1],l=s===\"NHWC\"?p.shape[3]:p.shape[1];E(c===t.shape[2],()=>`Error in conv2dDerInput: depth of input (${c}) must match input depth for filter ${t.shape[2]}.`),E(l===t.shape[3],()=>`Error in conv2dDerInput: depth of output (${l}) must match output depth for filter ${t.shape[3]}.`),Pt(\"conv2dDerInput\",n,a);let m={dy:p,filter:t},d={strides:o,pad:n,dataFormat:s,dimRoundingMode:a,inputShape:i},f=T.runKernel(Ho,m,d);return u?z(f,[f.shape[1],f.shape[2],f.shape[3]]):f}var nd=N({conv2DBackpropInput_:lU});function mU(r,e,t,o,n,s){let a=v(r,\"x\",\"conv2dTranspose\"),i=v(e,\"filter\",\"conv2dTranspose\");return nd(t,a,i,o,n,\"NHWC\",s)}var W0=N({conv2dTranspose_:mU});function dU(r,e,t,o,n=\"NDHWC\",s=[1,1,1]){let a=v(r,\"x\",\"conv3d\"),i=v(e,\"filter\",\"conv3d\"),p=a,u=!1;a.rank===4&&(u=!0,p=z(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),E(p.rank===5,()=>`Error in conv3d: input must be rank 5, but got rank ${p.rank}.`),E(i.rank===5,()=>`Error in conv3d: filter must be rank 5, but got rank ${i.rank}.`),E(p.shape[4]===i.shape[3],()=>`Error in conv3d: depth of input (${p.shape[4]}) must match input depth for filter ${i.shape[3]}.`),E(lr(t,s),()=>`Error in conv3D: Either strides or dilations must be 1. Got strides ${t} and dilations '${s}'`),E(n===\"NDHWC\",()=>`Error in conv3d: got dataFormat of ${n} but only NDHWC is currently supported.`);let c={x:p,filter:i},l={strides:t,pad:o,dataFormat:n,dilations:s},m=T.runKernel(lp,c,l);return u?z(m,[m.shape[1],m.shape[2],m.shape[3],m.shape[4]]):m}var U0=N({conv3d_:dU});function fU(r,e,t,o,n){E(r.length===e.rank,()=>`Length of inShape (${r.length}) and rank of dy (${e.rank}) must match`);let s=r,a=e,i=!1;e.rank===4&&(i=!0,a=z(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]]),s=[1,r[0],r[1],r[2],r[3]]);let p=s[4],u=a.shape[4];E(s.length===5,()=>`Error in conv3dDerInput: inShape must be length 5, but got length ${s.length}.`),E(a.rank===5,()=>`Error in conv3dDerInput: dy must be rank 5, but got rank ${a.rank}`),E(t.rank===5,()=>`Error in conv3dDerInput: filter must be rank 5, but got rank ${t.rank}`),E(p===t.shape[3],()=>`Error in conv3dDerInput: depth of input (${p}) must match input depth for filter ${t.shape[3]}.`),E(u===t.shape[4],()=>`Error in conv3dDerInput: depth of output (${u}) must match output depth for filter ${t.shape[4]}.`);let c={dy:a,filter:t},l={pad:n,strides:o,inputShape:s},m=T.runKernel(mp,c,l);return i?z(m,[m.shape[1],m.shape[2],m.shape[3],m.shape[4]]):m}var G0=N({conv3DBackpropInput_:fU});function hU(r,e,t,o,n){let s=v(r,\"x\",\"conv3dTranspose\"),a=v(e,\"filter\",\"conv3dTranspose\");return G0(t,s,a,o,n)}var H0=N({conv3dTranspose_:hU});function gU(r){let t={x:v(r,\"x\",\"cos\",\"float32\")};return T.runKernel(qo,t)}var q0=N({cos_:gU});function xU(r){let t={x:v(r,\"x\",\"cosh\",\"float32\")};return T.runKernel(Ko,t)}var K0=N({cosh_:xU});function yU(r,e=0,t=!1,o=!1){let s={x:v(r,\"x\",\"cumprod\")},a={axis:e,exclusive:t,reverse:o};return T.runKernel(jo,s,a)}var j0=N({cumprod_:yU});function bU(r,e=0,t=!1,o=!1){let s={x:v(r,\"x\",\"cumsum\")},a={axis:e,exclusive:t,reverse:o};return T.runKernel(Xo,s,a)}var X0=N({cumsum_:bU});function CU(r,e,t,o=!1){let n=v(r,\"x\",\"denseBincount\"),s=v(e,\"weights\",\"denseBincount\");E(n.dtype===\"int32\",()=>`Error in denseBincount: input dtype must be int32, but got ${n.dtype}`),E(n.rank<=2,()=>`Error in denseBincount: input must be at most rank 2, but got rank ${n.rank}.`),E(t>=0,()=>`size must be non-negative, but got ${t}.`),E(s.size===n.size||s.size===0,()=>`Error in denseBincount: weights must have the same shape as x or 0-length, but got x shape: ${n.shape}, weights shape: ${s.shape}.`);let a={x:n,weights:s},i={size:t,binaryOutput:o};return T.runKernel(ti,a,i)}var Y0=N({denseBincount_:CU});function SU(r,e,t=\"NHWC\"){let o=v(r,\"x\",\"depthToSpace\",\"float32\"),n=t===\"NHWC\"?o.shape[1]:o.shape[2],s=t===\"NHWC\"?o.shape[2]:o.shape[3],a=t===\"NHWC\"?o.shape[3]:o.shape[1];E(e>1,()=>`blockSize should be > 1 for depthToSpace, but was: ${e}`),E(n*e>=0,()=>`Negative dimension size caused by overflow when multiplying\n ${n} and ${e} for depthToSpace with input shape\n ${o.shape}`),E(s*e>=0,()=>`Negative dimension size caused by overflow when multiplying\n ${s} and ${e} for depthToSpace with input shape\n ${o.shape}`),E(a%(e*e)===0,()=>`Dimension size must be evenly divisible by ${e*e} but is ${a} for depthToSpace with input shape ${o.shape}`);let i={x:o},p={blockSize:e,dataFormat:t};return T.runKernel(Qo,i,p)}var Q0=N({depthToSpace_:SU});function wU(r,e,t,o,n=\"NHWC\",s=[1,1],a){let i=v(r,\"x\",\"depthwiseConv2d\",\"float32\"),p=v(e,\"filter\",\"depthwiseConv2d\",\"float32\"),u=i,c=!1;i.rank===3&&(c=!0,u=z(i,[1,i.shape[0],i.shape[1],i.shape[2]])),E(u.rank===4,()=>`Error in depthwiseConv2d: input must be rank 4, but got rank ${u.rank}.`),E(p.rank===4,()=>`Error in depthwiseConv2d: filter must be rank 4, but got rank ${p.rank}.`);let l=n===\"NHWC\"?u.shape[3]:u.shape[1];E(l===p.shape[2],()=>`Error in depthwiseConv2d: number of input channels (${l}) must match the inChannels dimension in filter ${p.shape[2]}.`),Pt(\"depthwiseConv2d\",o,a);let m={x:u,filter:p},d={strides:t,pad:o,dataFormat:n,dilations:s,dimRoundingMode:a},f=T.runKernel(Zo,m,d);return c?z(f,[f.shape[1],f.shape[2],f.shape[3]]):f}var Bp=N({depthwiseConv2d_:wU});function IU(r){let t={x:v(r,\"x\",\"diag\")};return T.runKernel(hp,t)}var Z0=N({diag_:IU});function vU(r,e,t,o,n=[1,1],s=\"NHWC\"){let a=v(r,\"x\",\"dilation2d\"),i=v(e,\"filter\",\"dilation2d\");E(a.rank===3||a.rank===4,()=>`Error in dilation2d: input must be rank 3 or 4, but got rank ${a.rank}.`),E(i.rank===3,()=>`Error in dilation2d: filter must be rank 3, but got rank ${i.rank}.`),E(s===\"NHWC\",()=>`Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${s}`);let p=a,u=!1;a.rank===3&&(p=z(a,[1,a.shape[0],a.shape[1],a.shape[2]]),u=!0);let c={x:p,filter:i},l={strides:t,pad:o,dilations:n},m=T.runKernel(gp,c,l);return u?z(m,[m.shape[1],m.shape[2],m.shape[3]]):m}var J0=N({dilation2d_:vU});function kU(r,e){let t=v(r,\"a\",\"equal\",\"string_or_numeric\"),o=v(e,\"b\",\"equal\",\"string_or_numeric\");[t,o]=Re(t,o),Je(t.shape,o.shape);let n={a:t,b:o};return T.runKernel(tn,n)}var sd=N({equal_:kU});function NU(r,e,t){let o=v(e,\"a\",\"where\"),n=v(t,\"b\",\"where\"),s=v(r,\"condition\",\"where\",\"bool\"),a=Je(Je(s.shape,o.shape),n.shape),i=Ii(s,a),p=Ii(o,a),u=Ii(n,a),c={condition:i,t:p,e:u};return T.runKernel(Ts,c)}var os=N({where_:NU});function TU(r){let t={x:v(r,\"x\",\"zerosLike\")};return T.runKernel(Fs,t)}var Ut=N({zerosLike_:TU});function _U(r,e){let t=v(r,\"a\",\"div\"),o=v(e,\"b\",\"div\");[t,o]=Re(t,o);let n=Ge(t,o),s=Ut(n),a=sd(o,s);return os(a,s,n)}var ek=N({divNoNan_:_U});function EU(r,e){let t=v(r,\"t1\",\"dot\"),o=v(e,\"t2\",\"dot\");E((t.rank===1||t.rank===2)&&(o.rank===1||o.rank===2),()=>`Error in dot: inputs must all be rank 1 or 2, but got ranks ${t.rank} and ${o.rank}.`);let n=t.rank===1?t.size:t.shape[1],s=o.rank===1?o.size:o.shape[0];if(E(n===s,()=>`Error in dot: inner dimensions of inputs must match, but got ${n} and ${s}.`),t.rank===1&&o.rank===1){let a=z(t,[1,-1]),i=z(o,[-1,1]),p=Xe(a,i);return z(p,[])}else if(t.rank===1&&o.rank===2){let a=z(t,[1,-1]),i=z(o,[o.shape[0],o.shape[1]]),p=Xe(a,i);return z(p,[p.size])}else if(t.rank===2&&o.rank===1){let a=z(o,[-1,1]),i=Xe(t,a);return z(i,[i.size])}else{let a=z(o,[o.shape[0],o.shape[1]]);return Xe(t,a)}}var tk=N({dot_:EU});function $U(r,...e){let t=e.map((n,s)=>v(n,`tensors${s}`,\"einsum\")),o={equation:r};return T.runKernel(ri,t,o)}var rk=N({einsum_:$U});function AU(r){let t={x:v(r,\"x\",\"elu\",\"float32\")};return T.runKernel(en,t)}var ad=N({elu_:AU});function RU(r){let e=v(r,\"x\",\"erf\");E(e.dtype===\"int32\"||e.dtype===\"float32\",()=>\"Input dtype must be `int32` or `float32`.\"),e.dtype===\"int32\"&&(e=Ke(e,\"float32\"));let t={x:e};return T.runKernel(ma,t)}var ok=N({erf_:RU});function uC(r,e){for(let t=0;tr[s]);return[t,n]}function Aa(r,e){let t=e.map(o=>1);return nk(r,t,e)}function DU(r,e,t){E(uC(e,t),()=>`${r} supports only inner-most axes for now. Got axes ${e} and rank-${t} input.`)}function OU(r,e){if(uC(r,e))return null;let t=[];for(let o=0;ot.push(o)),t}function PU(r){return r.map((e,t)=>[t,e]).sort((e,t)=>e[1]-t[1]).map(e=>e[0])}function MU(r,e){let t=[];for(let o=e-r;o\"Axis must be <= rank of the tensor\");let o={input:t},n={dim:e};return T.runKernel(bs,o,n)}var Fa=N({expandDims_:jU});function XU(r){let t={x:v(r,\"x\",\"expm1\")};return T.runKernel(da,t)}var ik=N({expm1_:XU});function YU(r,e){let t=v(r,\"x\",\"tile\",\"string_or_numeric\");E(t.rank===e.length,()=>`Error in transpose: rank of input ${t.rank} must match length of reps ${e}.`);let o={x:t},n={reps:e};return T.runKernel(to,o,n)}var ki=N({tile_:YU});function QU(r,e,t,o=\"float32\"){e==null&&(e=r);let n=le([r,e],o),s=r<=e?r:e;for(let i=0;i`Error in localResponseNormalization: x must be rank 3 or 4 but got\n rank ${s.rank}.`),E(na(e),()=>`Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${e}.`);let a=s,i=!1;s.rank===3&&(i=!0,a=z(s,[1,s.shape[0],s.shape[1],s.shape[2]]));let p={x:a},u={depthRadius:e,bias:t,alpha:o,beta:n},c=T.runKernel(yp,p,u);return i?z(c,[c.shape[1],c.shape[2],c.shape[3]]):c}var dk=N({localResponseNormalization_:u4});function p4(r){let t={x:v(r,\"x\",\"log\",\"float32\")};return T.runKernel(hn,t)}var Da=N({log_:p4});function c4(r){let t={x:v(r,\"x\",\"log1p\")};return T.runKernel(ga,t)}var md=N({log1p_:c4});function l4(r){return E(fs(r),()=>\"The f passed in grad(f) must be a function\"),(e,t)=>{let o=v(e,\"x\",\"tf.grad\",\"string_or_numeric\"),n=t!=null?v(t,\"dy\",\"tf.grad\"):null;return T.tidy(()=>{let{value:s,grads:a}=T.gradients(()=>r(o),[o],n);return n!=null&&ht(s.shape,n.shape,\"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)\"),dd(a),a[0]})}}function m4(r){return E(fs(r),()=>\"The f passed in grads(f) must be a function\"),(e,t)=>{E(Array.isArray(e),()=>\"The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s\");let o=Na(e,\"args\",\"tf.grads\",\"string_or_numeric\"),n=t!=null?v(t,\"dy\",\"tf.grads\"):null;return T.tidy(()=>{let{value:s,grads:a}=T.gradients(()=>r(...o),o,n);return n!=null&&ht(s.shape,n.shape,\"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])\"),dd(a),a})}}function d4(r){return E(fs(r),()=>\"The f passed in valueAndGrad(f) must be a function\"),(e,t)=>{E(e instanceof it,()=>\"The x passed in valueAndGrad(f)(x) must be a tensor\"),E(t==null||t instanceof it,()=>\"The dy passed in valueAndGrad(f)(x, dy) must be a tensor\");let{grads:o,value:n}=T.gradients(()=>r(e),[e],t);return dd(o),{grad:o[0],value:n}}}function f4(r){return E(fs(r),()=>\"The f passed in valueAndGrads(f) must be a function\"),(e,t)=>{E(Array.isArray(e)&&e.every(n=>n instanceof it),()=>\"The args passed in valueAndGrads(f)(args) must be array of tensors\"),E(t==null||t instanceof it,()=>\"The dy passed in valueAndGrads(f)(args, dy) must be a tensor\");let o=T.gradients(()=>r(...e),e,t);return t!=null&&ht(o.value.shape,t.shape,\"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])\"),dd(o.grads),o}}function pC(r,e){E(fs(r),()=>\"The f passed in variableGrads(f) must be a function\"),E(e==null||Array.isArray(e)&&e.every(u=>u instanceof va),()=>\"The varList passed in variableGrads(f, varList) must be an array of variables\");let t=e!=null;if(!t){e=[];for(let u in T.registeredVariables)e.push(T.registeredVariables[u])}let o=t?e.filter(u=>!u.trainable):null,n=e.length;e=e.filter(u=>u.trainable),E(e.length>0,()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${n} variables is trainable.`);let s=!0,{value:a,grads:i}=T.gradients(r,e,null,s);E(i.some(u=>u!=null),()=>\"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize().\"),E(a.rank===0,()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${a.rank} tensor`);let p={};return e.forEach((u,c)=>{i[c]!=null&&(p[u.name]=i[c])}),o!=null&&o.forEach(u=>p[u.name]=null),{value:a,grads:p}}function Cr(r){return T.customGrad(r)}function dd(r){if(r.filter(t=>t==null).length>0)throw new Error(`Cannot compute gradient of y=f(x) with respect to x. Make sure that\n the f you passed encloses all operations that lead from x to y.`)}function h4(r){let t={x:v(r,\"x\",\"softplus\")};return T.runKernel(Qi,t)}var fd=N({softplus_:h4});function g4(r){let e=v(r,\"x\",\"logSigmoid\");return Cr(o=>({value:yr(fd(yr(o))),gradFunc:a=>ae(a,zs(yr(o)))}))(e)}var fk=N({logSigmoid_:g4});function x4(r,e){let t=v(r,\"a\",\"sub\"),o=v(e,\"b\",\"sub\");[t,o]=Re(t,o);let n={a:t,b:o};return T.runKernel(Xn,n)}var Ne=N({sub_:x4});function y4(r,e=-1){let t=v(r,\"logits\",\"logSoftmax\");if(e===-1&&(e=t.rank-1),e!==t.rank-1)throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${t.rank} and axis was ${e}`);return Cr((n,s)=>{let i=Us(n,e,!0),p=Ne(n,i),u=Ne(Ke(p,\"float32\"),Da(et(Co(p),e,!0)));return s([u]),{value:u,gradFunc:(l,m)=>{let[d]=m,f=!0,h=Co(d);return Ne(l,ae(et(l,e,f),h))}}})(t)}var hk=N({logSoftmax_:y4});function b4(r,e=null,t=!1){let o=v(r,\"x\",\"logSumExp\"),n=Qa(e,o.shape),s=Us(o,n,!0),a=Ne(o,s),i=Co(a),p=et(i,n),u=Da(p),c=xe(z(s,u.shape),u);if(t){let l=Aa(c.shape,n);return z(c,l)}return c}var hd=N({logSumExp_:b4});function C4(r,e){let t=v(r,\"a\",\"logicalAnd\",\"bool\"),o=v(e,\"b\",\"logicalAnd\",\"bool\");Je(t.shape,o.shape);let n={a:t,b:o};return T.runKernel(gn,n)}var lu=N({logicalAnd_:C4});function S4(r){let t={x:v(r,\"x\",\"logicalNot\",\"bool\")};return T.runKernel(xn,t)}var gd=N({logicalNot_:S4});function w4(r,e){let t=v(r,\"a\",\"logicalOr\",\"bool\"),o=v(e,\"b\",\"logicalOr\",\"bool\");Je(t.shape,o.shape);let n={a:t,b:o};return T.runKernel(xa,n)}var xd=N({logicalOr_:w4});function I4(r,e){let t=v(r,\"a\",\"logicalXor\",\"bool\"),o=v(e,\"b\",\"logicalXor\",\"bool\");return Je(t.shape,o.shape),lu(xd(r,e),gd(lu(r,e)))}var gk=N({logicalXor_:I4});var yd=2147483648;function v4(r,e,t=\"left\"){let o=v(r,\"sortedSequence\",\"searchSorted\"),n=v(e,\"values\",\"searchSorted\"),s=o.shape[o.shape.length-1],a=n.shape[n.shape.length-1],i=z(o,[-1,s]),p=z(n,[-1,a]);if(i.rank<2)throw new Error(\"Sorted input argument must be at least 2-dimensional\");if(i.shape[0]!==p.shape[0])throw new Error(\"Leading dimension of 'sortedSequence' and 'values' must match.\");if(ze(p.shape)>=yd)throw new Error(`values tensor size must less than ${yd}`);if(i.shape[1]>=yd)throw new Error(`trailing dim_size must less than ${yd} for int32 output type, was ${i.shape[1]}`);let u={sortedSequence:i,values:p},c={side:t};return T.runKernel(ii,u,c)}var al=N({searchSorted_:v4});function xk(r,e){return al(r,e,\"left\")}function k4(r,e,t,o,n){let s=v(r,\"x\",\"maxPool\"),a=1,i=s,p=!1;s.rank===3&&(p=!0,i=z(s,[1,s.shape[0],s.shape[1],s.shape[2]])),E(i.rank===4,()=>`Error in maxPool: input must be rank 4 but got rank ${i.rank}.`),E(lr(t,a),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${t} and dilations '${a}'`),Pt(\"maxPool\",o,n);let u={x:i},c={filterSize:e,strides:t,pad:o,dimRoundingMode:n},l=T.runKernel(Cn,u,c);return p?z(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var bd=N({maxPool_:k4});function N4(r,e=[1,1,1],t,o,n,s=\"NDHWC\"){let a=v(r,\"x\",\"maxPool3d\"),i=a,p=!1;a.rank===4&&(p=!0,i=z(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),E(i.rank===5,()=>`Error in maxPool3d: x must be rank 5 but got rank ${i.rank}.`),E(s===\"NDHWC\",()=>`Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${s}`),Pt(\"maxPool3d\",o,n);let u={x:i},c={filterSize:e,strides:t,pad:o,dimRoundingMode:n,dataFormat:s},l=T.runKernel(bp,u,c);return p?z(l,[l.shape[1],l.shape[2],l.shape[3],l.shape[4]]):l}var yk=N({maxPool3d_:N4});function T4(r,e,t,o,n=!1){let a={x:v(r,\"x\",\"maxPoolWithArgmax\")},i={filterSize:e,strides:t,pad:o,includeBatchInIndex:n},p=T.runKernel(Cp,a,i);return{result:p[0],indexes:p[1]}}var bk=N({maxPoolWithArgmax_:T4});function _4(r,e){let t=v(r,\"a\",\"maximum\"),o=v(e,\"b\",\"maximum\");[t,o]=Re(t,o),t.dtype===\"bool\"&&(t=Ke(t,\"int32\"),o=Ke(o,\"int32\")),Je(t.shape,o.shape);let n={a:t,b:o};return T.runKernel(bn,n)}var Cd=N({maximum_:_4});function E4(r,e=null,t=!1){let n={x:v(r,\"x\",\"mean\")},s={axis:e,keepDims:t};return T.runKernel(Sn,n,s)}var mu=N({mean_:E4});function Vr(r,e=\"float32\"){if(yt(r),e===\"complex64\"){let o=Vr(r,\"float32\"),n=Vr(r,\"float32\");return Tr(o,n)}let t=ap(ze(r),e);return T.makeTensor(t,r,e)}function Gs(r,e=\"float32\"){if(yt(r),e===\"complex64\"){let o=Gs(r,\"float32\"),n=Vr(r,\"float32\");return Tr(o,n)}let t=zc(ze(r),e);return T.makeTensor(t,r,e)}function Ck(r,e,{indexing:t=\"xy\"}={}){if(t!==\"xy\"&&t!==\"ij\")throw new TypeError(`${t} is not a valid third argument to meshgrid`);if(r===void 0)return[];let o=v(r,\"x\",\"meshgrid\",r instanceof it?r.dtype:\"float32\");if(e===void 0)return[o];let n=v(e,\"y\",\"meshgrid\",e instanceof it?e.dtype:\"float32\"),s=ze(o.shape),a=ze(n.shape);return t===\"xy\"?(o=z(o,[1,-1]),n=z(n,[-1,1]),[Xe(Gs([a,1],o.dtype),o),Xe(n,Gs([1,s],n.dtype))]):(o=z(o,[-1,1]),n=z(n,[1,-1]),[Xe(o,Gs([1,a],o.dtype)),Xe(Gs([s,1],n.dtype),n)])}function $4(r,e){let t=v(r,\"a\",\"minimum\"),o=v(e,\"b\",\"minimum\");[t,o]=Re(t,o),t.dtype===\"bool\"&&(t=Ke(t,\"int32\"),o=Ke(o,\"int32\")),Je(t.shape,o.shape);let n={a:t,b:o};return T.runKernel(In,n)}var Sd=N({minimum_:$4});function A4(r,e,t){E(t===\"reflect\"||t===\"symmetric\",()=>`Invalid mode. Mode must be either reflect or symmetric. Got ${t}.`);let o=v(r,\"x\",\"mirrorPad\");if(o.rank===0)throw new Error(\"mirrorPad(scalar) is not defined. Pass non-scalar to mirrorPad\");E(e.length===o.rank,()=>`Padding doesn't match input. Must be ${o.rank}. Got ${e.length}.`);let n=t===\"reflect\"?1:0;for(let i=0;i\"Invalid number of paddings. Must be length of 2 each.\"),E(e[i][0]>=0&&e[i][0]<=o.shape[i]-n&&e[i][1]>=0&&e[i][1]<=o.shape[i]-n,()=>`Padding in dimension ${i} cannot be greater than or equal to ${o.shape[i]-n} or less than 0 for input of shape ${o.shape}`);let s={paddings:e,mode:t},a={x:o};return T.runKernel(vn,a,s)}var Sk=N({mirrorPad_:A4});function R4(r,e){let t=v(r,\"a\",\"mod\"),o=v(e,\"b\",\"mod\");[t,o]=Re(t,o);let n={a:t,b:o};return T.runKernel(ya,n)}var wk=N({mod_:R4});function F4(r,e=null,t=!1){r=v(r,\"x\",\"moments\");let o=Qa(e,r.shape),n=mu(r,o,t),s=n.shape;t||(s=Aa(n.shape,o));let a=Qt(Ne(Ke(r,\"float32\"),z(n,s))),i=mu(a,o,t);return{mean:n,variance:i}}var Ik=N({moments_:F4});function D4(r,e,t,o){let n=v(e,\"data\",\"multiRNNCell\"),s=Na(t,\"c\",\"multiRNNCell\"),a=Na(o,\"h\",\"multiRNNCell\"),i=n,p=[];for(let l=0;l2)throw new Error(`Rank of probabilities must be 1 or 2, but is ${a}`);t=t||Math.random();let p={logits:a===1?z(n,[1,-1]):n},u={numSamples:e,seed:t,normalized:o},c=T.runKernel(Sp,p,u);return a===1?z(c,[c.size]):c}var kk=N({multinomial_:O4});function P4(r,e){let t=v(r,\"a\",\"notEqual\",\"string_or_numeric\"),o=v(e,\"b\",\"notEqual\",\"string_or_numeric\");[t,o]=Re(t,o),Je(t.shape,o.shape);let n={a:t,b:o};return T.runKernel(Nn,n)}var wd=N({notEqual_:P4});function M4(r){let t={x:v(r,\"x\",\"onesLike\")};return T.runKernel(Is,t)}var Nk=N({onesLike_:M4});function L4(r,e){let t=v(r,\"v1\",\"outerProduct\"),o=v(e,\"v2\",\"outerProduct\");E(t.rank===1&&o.rank===1,()=>`Error in outerProduct: inputs must be rank 1, but got ranks ${t.rank} and ${o.rank}.`);let n=z(t,[-1,1]),s=z(o,[1,-1]);return Xe(n,s)}var Tk=N({outerProduct_:L4});function B4(r,e,t=0){let o=v(r,\"x\",\"pad\");if(o.rank===0)throw new Error(\"pad(scalar) is not defined. Pass non-scalar to pad\");let n={paddings:e,constantValue:t},s={x:o};return T.runKernel($n,s,n)}var Hs=N({pad_:B4});function V4(r,e,t=0){return E(e.length===2,()=>\"Invalid number of paddings. Must be length of 2.\"),Hs(r,[e],t)}var _k=N({pad1d_:V4});function z4(r,e,t=0){return E(e.length===2&&e[0].length===2&&e[1].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),Hs(r,e,t)}var Ek=N({pad2d_:z4});function W4(r,e,t=0){return E(e.length===3&&e[0].length===2&&e[1].length===2&&e[2].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),Hs(r,e,t)}var $k=N({pad3d_:W4});function U4(r,e,t=0){return E(e.length===4&&e[0].length===2&&e[1].length===2&&e[2].length===2&&e[3].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),Hs(r,e,t)}var Ak=N({pad4d_:U4});function G4(r,e,t){let o=v(r,\"x\",\"spaceToBatchND\");E(o.rank>=1+e.length,()=>`input rank ${o.rank} should be > than [blockShape] ${e.length}`),E(t.length===e.length,()=>`paddings.shape[0] ${t.length} must be equal to [blockShape] ${e.length}`),E(o.shape.reduce((a,i,p)=>p>0&&p<=e.length?a&&(i+t[p-1][0]+t[p-1][1])%e[p-1]===0:a,!0),()=>`input spatial dimensions ${o.shape.slice(1)} with paddings ${t.toString()} must be divisible by blockShapes ${e.toString()}`);let n={x:o},s={blockShape:e,paddings:t};return T.runKernel(Es,n,s)}var Id=N({spaceToBatchND_:G4});function H4(r,e,t,o,n,s,a){n==null&&(n=[1,1]),s==null&&(s=1),o===0&&(o=\"valid\");let i=v(r,\"x\",\"maxPool\"),p=i,u=!1;i.rank===3&&(u=!0,p=z(i,[1,i.shape[0],i.shape[1],i.shape[2]])),E(lr(s,n),()=>`Error in pool: Either strides or dilations must be 1. Got strides ${s} and dilations '${n}'`);let c=aC(p.shape,e,s,n,o),l=[c.dilationHeight,c.dilationWidth],m;o===\"same\"?m=K4([c.filterHeight,c.filterWidth],l):m=[[0,0],[0,0]];let d=l[0]===1&&l[1]===1,[f,h]=q4([c.inHeight,c.inWidth],l,m),g=d?o:\"valid\",x=d?p:Id(p,l,f),C=(t===\"avg\"?()=>td(x,e,s,g,a):()=>bd(x,e,s,g,a))(),w=d?C:rd(C,l,h);return u?z(w,[w.shape[1],w.shape[2],w.shape[3]]):w}function q4(r,e,t){let o=t.map(c=>c[0]),n=t.map(c=>c[1]),s=r.concat(o,n),a=e.map((c,l)=>(c-s[l]%c)%c),i=n.map((c,l)=>c+a[l]),p=e.map((c,l)=>[o[l],i[l]]),u=e.map((c,l)=>[0,a[l]]);return[p,u]}function K4(r,e){let o=r.map((a,i)=>a+(a-1)*(e[i]-1)).map(a=>a-1),n=o.map(a=>Math.floor(a/2)),s=o.map((a,i)=>a-n[i]);return o.map((a,i)=>[n[i],s[i]])}var Rk=N({pool_:H4});function j4(r,e){let t=v(r,\"x\",\"prelu\"),o=v(e,\"alpha\",\"prelu\"),n={x:t,alpha:o};return T.runKernel(Rn,n)}var vd=N({prelu_:j4});function X4(r,e=null,t=!1){let o=v(r,\"x\",\"prod\");o.dtype===\"bool\"&&(o=Ke(o,\"int32\"));let n={x:o},s={axis:e,keepDims:t};return T.runKernel(Fn,n,s)}var Fk=N({prod_:X4});function Y4(r,e,t,o){let n=r.map((c,l)=>v(c,`tensors${l}`,\"raggedGather\",\"int32\")),s=v(e,\"paramsDenseValues\",\"raggedGather\"),a=v(t,\"indices\",\"raggedGather\",\"int32\"),i={paramsNestedSplits:n,paramsDenseValues:s,indices:a},p={outputRaggedRank:o},u=T.runKernel(wp,i,p);return{outputNestedSplits:u.slice(0,u.length-1),outputDenseValues:u[u.length-1]}}var Dk=N({raggedGather_:Y4});function Q4(r,e,t){let o=v(r,\"starts\",\"raggedRange\"),n=v(e,\"limits\",\"raggedRange\",o.dtype),s=v(t,\"deltas\",\"raggedRange\",o.dtype),a={starts:o,limits:n,deltas:s},i=T.runKernel(Ip,a);return{rtNestedSplits:i[0],rtDenseValues:i[1]}}var Ok=N({raggedRange_:Q4});function Z4(r,e,t,o,n){let s=v(r,\"shape\",\"raggedTensorToTensor\",\"int32\"),a=v(e,\"values\",\"raggedTensorToTensor\"),i=v(t,\"defaultValue\",\"raggedTensorToTensor\",a.dtype),p=o.map((l,m)=>v(l,`tensors${m}`,\"raggedTensorToTensor\",\"int32\")),u={shape:s,values:a,defaultValue:i,rowPartitionTensors:p},c={rowPartitionTypes:n};return T.runKernel(vp,u,c)}var Pk=N({raggedTensorToTensor_:Z4});function J4(r,e,t){yt(r);let o=ze(r),n=null;if(t==null||t===\"float32\")n=new Float32Array(o);else if(t===\"int32\")n=new Int32Array(o);else if(t===\"bool\")n=new Uint8Array(o);else throw new Error(`Unknown data type ${t}`);for(let s=0;s=1||a===0);let i=Math.sqrt(-2*Math.log(a)/a);e=this.mean+this.stdDev*n*i,t=this.mean+this.stdDev*s*i,(!this.truncated||this.isValidTruncated(e))&&(o=!0)}return(!this.truncated||this.isValidTruncated(t))&&(this.nextVal=this.convertValue(t)),this.convertValue(e)}convertValue(e){return this.dtype==null||this.dtype===\"float32\"?e:Math.round(e)}isValidTruncated(e){return e<=this.upper&&e>=this.lower}},Nd=class{constructor(e,t,o,n){this.alpha=e,this.beta=1/t,this.dtype=o;let s=n||Math.random();this.randu=_d.alea(s.toString()),this.randn=new fu(0,1,o,!1,this.randu()),e<1?this.d=e+2/3:this.d=e-1/3,this.c=1/Math.sqrt(9*this.d)}nextValue(){let e,t,o,n,s,a;for(;;){do n=this.randn.nextValue(),a=1+this.c*n;while(a<=0);if(a*=a*a,e=n*n,t=1-.331*e*e,o=.5*e+this.d*(1-a+Math.log(a)),s=this.randu(),sthis.dtype==null||this.dtype===\"float32\",this.min=e,this.range=t-e,this.dtype=o,n==null&&(n=Math.random()),typeof n==\"number\"&&(n=n.toString()),!this.canReturnFloat()&&this.range<=1)throw new Error(`The difference between ${e} - ${t} <= 1 and dtype is not float`);this.random=_d.alea(n)}convertValue(e){return this.canReturnFloat()?e:Math.round(e)}nextValue(){return this.convertValue(this.min+this.range*this.random())}};function aG(r,e,t=1,o=\"float32\",n){if(yt(r),t==null&&(t=1),o==null&&(o=\"float32\"),o!==\"float32\"&&o!==\"int32\")throw new Error(`Unsupported data type ${o}`);let s=new Nd(e,t,o,n),a=le(r,o);for(let i=0;i`Error in reverse1D: x must be rank 1 but got rank ${e.rank}.`),no(e,0)}var o1=N({reverse1d_:fG});function hG(r,e){let t=v(r,\"x\",\"reverse\");return E(t.rank===2,()=>`Error in reverse2D: x must be rank 2 but got rank ${t.rank}.`),no(t,e)}var n1=N({reverse2d_:hG});function gG(r,e){let t=v(r,\"x\",\"reverse\");return E(t.rank===3,()=>`Error in reverse3D: x must be rank 3 but got rank ${t.rank}.`),no(t,e)}var s1=N({reverse3d_:gG});function xG(r,e){let t=v(r,\"x\",\"reverse\");return E(t.rank===4,()=>`Error in reverse4D: x must be rank 4 but got rank ${t.rank}.`),no(t,e)}var a1=N({reverse4d_:xG});function yG(r){let t={x:v(r,\"x\",\"round\")};return T.runKernel(Ca,t)}var Rd=N({round_:yG});function bG(r){let t={x:v(r,\"x\",\"rsqrt\",\"float32\")};return T.runKernel(Vn,t)}var i1=N({rsqrt_:bG});function CG(r){let t={x:v(r,\"x\",\"selu\")};return T.runKernel(Xi,t)}var u1=N({selu_:CG});function SG(r,e,t,o,n,s=[1,1],a=\"NHWC\"){let i=v(r,\"x\",\"separableConv2d\"),p=v(e,\"depthwiseFilter\",\"separableConv2d\"),u=v(t,\"pointwiseFilter\",\"separableConv2d\"),c=i,l=!1;if(i.rank===3&&(l=!0,c=z(i,[1,i.shape[0],i.shape[1],i.shape[2]])),a===\"NCHW\")throw new Error(\"separableConv2d currently does not support dataFormat NCHW; only NHWC is supported\");E(c.rank===4,()=>`Error in separableConv2d: input must be rank 4, but got rank ${c.rank}.`),E(p.rank===4,()=>`Error in separableConv2d: depthwise filter must be rank 4, but got rank ${p.rank}.`),E(u.rank===4,()=>`Error in separableConv2d: pointwise filter must be rank 4, but got rank ${p.rank}.`),E(u.shape[0]===1,()=>`Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${u.shape[0]}.`),E(u.shape[1]===1,()=>`Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${u.shape[1]}.`);let m=p.shape[2],d=p.shape[3];E(u.shape[2]===m*d,()=>`Error in separableConv2d: the third dimension of pointwise filter must be ${m*d}, but got ${u.shape[2]}.`);let f=Bp(c,p,o,n,a,s),g=vi(f,u,1,\"valid\",a);return l?z(g,[g.shape[1],g.shape[2],g.shape[3]]):g}var p1=N({separableConv2d_:SG});async function wG(r,e){let t=v(r,\"x\",\"setdiff1d\"),o=v(e,\"y\",\"setdiff1d\");E(t.dtype===o.dtype,()=>`x and y should have the same dtype, but got x (${t.dtype}) and y (${o.dtype}).`),E(t.rank===1,()=>`x should be 1D tensor, but got x (${t.shape}).`),E(o.rank===1,()=>`y should be 1D tensor, but got y (${o.shape}).`);let n=await t.data(),s=await o.data(),a=new Set(s),i=0;for(let c=0;c`slice1d expects a rank-1 tensor, but got a rank-${o.rank} tensor`),He(o,[e],[t])}var f1=N({slice1d_:NG});function TG(r,e,t){let o=v(r,\"x\",\"slice2d\");return E(o.rank===2,()=>`slice2d expects a rank-2 tensor, but got a rank-${o.rank} tensor`),He(o,e,t)}var h1=N({slice2d_:TG});function _G(r,e,t){let o=v(r,\"x\",\"slice3d\");return E(o.rank===3,()=>`slice3d expects a rank-3 tensor, but got a rank-${o.rank} tensor`),He(o,e,t)}var g1=N({slice3d_:_G});function EG(r,e,t){let o=v(r,\"x\",\"slice4d\");return E(o.rank===4,()=>`slice4d expects a rank-4 tensor, but got a rank-${o.rank} tensor`),He(o,e,t)}var x1=N({slice4d_:EG});function $G(r,e=-1){let t=v(r,\"logits\",\"softmax\",\"float32\");if(e===-1&&(e=t.rank-1),e!==t.rank-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${t.rank} and dim was ${e}`);let o={logits:t},n={dim:e};return T.runKernel(qn,o,n)}var y1=N({softmax_:$G});function AG(r){E(r.dtype===\"complex64\",()=>`The dtype for tf.spectral.fft() must be complex64 but got ${r.dtype}.`);let e={input:r};return T.runKernel(oi,e)}var zp=N({fft_:AG});function RG(r){E(r.dtype===\"complex64\",()=>`The dtype for tf.spectral.ifft() must be complex64 but got ${r.dtype}.`);let e={input:r};return T.runKernel(ni,e)}var hu=N({ifft_:RG});function FG(r){let e=r.shape[r.shape.length-1],t=r.size/e,o;if(e<=2){let n=z(r,[t,e]);o=hu(n)}else{let n=[t,2*(e-1)],s=z($a(r),[t,e]),a=z(Si(r),[t,e]),i=no(He(s,[0,1],[t,e-2]),1),p=ae(no(He(a,[0,1],[t,e-2]),1),be(-1)),u=gt([s,i],1),c=gt([a,p],1),l=z(Tr(u,c),[n[0],n[1]]);o=hu(l)}if(o=$a(o),r.rank===3&&r.shape[0]!==0){let n=o,s=r.shape[0];o=z(o,[s,o.shape[0]/s,o.shape[1]]),n.dispose()}return o}var Fd=N({irfft_:FG});function DG(r,e,t=0){let n={x:v(r,\"x\",\"split\")},s={numOrSizeSplits:e,axis:t};return T.runKernel($s,n,s)}var Oa=N({split_:DG});function OG(r,e){E(r.dtype===\"float32\",()=>`The dtype for rfft() must be real value but got ${r.dtype}`);let t=r.shape[r.shape.length-1],o=r.size/t,n;if(e!=null&&e0),h=r.shape.map(g=>g);h[r.shape.length-1]=e,n=He(r,f,h),t=e}else if(e!=null&&e>t){let f=r.shape.map(h=>h);f[r.shape.length-1]=e-t,n=gt([r,Vr(f)],r.shape.length-1),t=e}else n=r;let s=Ut(n),a=z(Tr(n,s),[o,t]),i=zp(a),p=Math.floor(t/2)+1,u=$a(i),c=Si(i),l=Oa(u,[p,t-p],u.shape.length-1),m=Oa(c,[p,t-p],c.shape.length-1),d=n.shape.slice();return d[n.shape.length-1]=p,z(Tr(l[0],m[0]),d)}var Wp=N({rfft_:OG});function PG(r,e){let t=v(r,\"a\",\"squaredDifference\"),o=v(e,\"b\",\"squaredDifference\");[t,o]=Re(t,o),Je(t.shape,o.shape);let n={a:t,b:o},s={};return T.runKernel(Kn,n,s)}var Dd=N({squaredDifference_:PG});function MG(r,e){let t=v(r,\"x\",\"squeeze\",\"string_or_numeric\");return z(t,pb(t.shape,e).newShape)}var Up=N({squeeze_:MG});function LG(r,e=0){let t=Na(r,\"tensors\",\"stack\",\"string_or_numeric\");E(t.length>=1,()=>\"Pass at least one tensor to tf.stack\"),t.length>0&&E(e<=t[0].rank,()=>\"Axis must be <= rank of the tensor\");let o=t,n={axis:e};return T.runKernel(vs,o,n)}var Sr=N({stack_:LG});function BG(r,e=0){let o={x:v(r,\"x\",\"step\")},n={alpha:e};return T.runKernel(Ds,o,n)}var Od=N({step_:BG});function VG(r,e,t,o,n=0,s=0,a=0,i=0,p=0){let c={x:v(r,\"x\",\"stridedSlice\",\"string_or_numeric\")},l={begin:e,end:t,strides:o,beginMask:n,endMask:s,ellipsisMask:a,newAxisMask:i,shrinkAxisMask:p};return T.runKernel(jn,c,l)}var b1=N({stridedSlice_:VG});function zG(r){let t={x:v(r,\"x\",\"tan\",\"float32\")};return T.runKernel(Yn,t)}var C1=N({tan_:zG});function mr(r,e){Jr(r);let t=or(r,e);if(t.length!==1)throw new Error(\"tensor1d() requires values to be a flat/TypedArray\");return xr(r,null,t,e)}function _i(r,e,t){if(Jr(r),e!=null&&e.length!==2)throw new Error(\"tensor2d() requires shape to have two numbers\");let o=or(r,t);if(o.length!==2&&o.length!==1)throw new Error(\"tensor2d() requires values to be number[][] or flat/TypedArray\");if(o.length===1&&e==null)throw new Error(\"tensor2d() requires shape to be provided when `values` are a flat/TypedArray\");return xr(r,e,o,t)}function S1(r,e,t){if(Jr(r),e!=null&&e.length!==4)throw new Error(\"tensor4d() requires shape to have four numbers\");let o=or(r,t);if(o.length!==4&&o.length!==1)throw new Error(\"tensor4d() requires values to be number[][][][] or flat/TypedArray\");if(o.length===1&&e==null)throw new Error(\"tensor4d() requires shape to be provided when `values` are a flat array\");return xr(r,e,o,t)}function w1(r,e,t){if(Jr(r),e!=null&&e.length!==5)throw new Error(\"tensor5d() requires shape to have five numbers\");let o=or(r,t);if(o.length!==5&&o.length!==1)throw new Error(\"tensor5d() requires values to be number[][][][][] or flat/TypedArray\");if(o.length===1&&e==null)throw new Error(\"tensor5d() requires shape to be provided when `values` are a flat array\");return xr(r,e,o,t)}function I1(r,e,t){if(Jr(r),e!=null&&e.length!==6)throw new Error(\"tensor6d() requires shape to have six numbers\");let o=or(r,t);if(o.length!==6&&o.length!==1)throw new Error(\"tensor6d() requires values to be number[][][][][][] or flat/TypedArray\");if(o.length===1&&e==null)throw new Error(\"tensor6d() requires shape to be provided when `values` are a flat array\");return e=e||o,xr(r,e,o,t)}function WG(r,e=1,t=!0){let o=v(r,\"x\",\"topk\");if(o.rank===0)throw new Error(\"topk() expects the input to be of rank 1 or higher\");let n=o.shape[o.shape.length-1];if(e<0)throw new Error(`'k' passed to topk() must be >= 0 but got ${e}`);if(e>n)throw new Error(`'k' passed to topk() must be <= the last dimension (${n}) but got ${e}`);let s={x:o},a={k:e,sorted:t},[i,p]=T.runKernel(Zn,s,a);return{values:i,indices:p}}var v1=N({topk_:WG});function UG(r,e=0,t=1,o,n){if(yt(r),o!=null&&o===\"bool\")throw new Error(\"Unsupported data type $ { dtype }\");let s=new fu(e,t,o,!0,n),a=le(r,o);for(let i=0;i0,()=>\"The input tensor must be at least 1D\");let o={x:t},n={axis:e},[s,a]=T.runKernel(kp,o,n);return{values:s,indices:a}}var N1=N({unique_:GG});function HG(r,e,t){let o=v(r,\"x\",\"unsortedSegmentSum\"),n=v(e,\"segmentIds\",\"unsortedSegmentSum\",\"int32\");E(na(t),()=>\"numSegments must be of dtype int\");let s={x:o,segmentIds:n},a={numSegments:t};return T.runKernel(Np,s,a)}var T1=N({unsortedSegmentSum_:HG});function qG(r,e=0){let t=v(r,\"x\",\"unstack\",\"string_or_numeric\");E(e>=-t.shape.length&&e`Axis = ${e} is not in [-${t.shape.length}, ${t.shape.length})`);let o={value:t},n={axis:e};return T.runKernel(Rs,o,n)}var so=N({unstack_:qG});function _1(r,e){return al(r,e,\"right\")}function E1(r,e=!0,t,o){return T.makeVariable(r,e,t,o)}function Pd(r,e){let t=[];for(let s=0;s0,()=>\"mask cannot be scalar\"),ht(i.slice(s,s+a),n.shape,\"mask's shape must match the first K dimensions of tensor's shape,\");let p=1;for(let h=s;h\"Shape mismatch in v and x\");let p=be(1),u=Ne(p,i),c=ae(Ne(a,s),u);if(n){E(o!=null,()=>\"When using zeroDebias: true, step is required.\");let l=v(o,\"step\",\"movingAverage\");c=Ge(c,Ne(p,Ra(i,l)))}return xe(s,c)}var QG=N({movingAverage_:YG});function ZG(r,e,t){yt(t);let o=v(r,\"indices\",\"scatterND\",\"int32\"),n=v(e,\"updates\",\"scatterND\");Qm(n,o,t);let s={indices:o,updates:n},a={shape:t};return T.runKernel(zn,s,a)}var JG=N({scatterND_:ZG});function $1(r,e,t,o){if(r.dtype!==\"int32\")throw new Error(`tf.sparseToDense() expects the indices to be int32 type, but the dtype was ${r.dtype}.`);if(r.rank>2)throw new Error(`sparseIndices should be a scalar, vector, or matrix, but got shape ${r.shape}.`);let n=r.rank>0?r.shape[0]:1,s=r.rank>1?r.shape[1]:1;if(t.length!==s)throw new Error(`outputShape has incorrect number of elements:, ${t.length}, should be: ${s}.`);let a=e.size;if(!(e.rank===0||e.rank===1&&a===n))throw new Error(`sparseValues has incorrect shape ${e.shape}, should be [] or [${n}]`);if(e.dtype!==o.dtype)throw new Error(\"sparseValues.dtype must match defaultValues.dtype\")}function tH(r,e,t,o=0){yt(t);let n=v(r,\"sparseIndices\",\"sparseToDense\",\"int32\"),s=v(e,\"sparseValues\",\"sparseToDense\",\"string_or_numeric\"),a=v(o,\"defaultValue\",\"sparseToDense\",s.dtype);$1(n,s,t,a);let i={sparseIndices:n,sparseValues:s,defaultValue:a},p={outputShape:t};return T.runKernel(li,i,p)}var rH=N({sparseToDense_:tH});function oH(r,e){let t=v(e,\"indices\",\"gatherND\",\"int32\"),n={params:v(r,\"x\",\"gatherND\",\"string_or_numeric\"),indices:t};return T.runKernel(un,n)}var nH=N({gatherND_:oH});function A1(r,e){if(e==null)return r.shape.slice();if(Pr(r.shape,e))return e;if(r.shape.length===e.length){let t=[];for(let o=0;o`x has to be a floating point tensor since it's going to be scaled, but got a ${n.dtype} tensor instead.`),E(e>=0&&e<1,()=>`rate must be a float in the range [0, 1), but got ${e}.`),e===0)return r instanceof it?n.clone():n;let s=A1(n,t),a=1-e,i=Ge(ud(xe($d(s,0,1,\"float32\",o),a)),a);return ae(n,i)}var aH=N({dropout_:sH});function xC(r){return Math.floor(Math.pow(2,Math.ceil(Math.log(r)/Math.log(2))))}function il(r,e,t){let o=1-r%2,n=new Float32Array(r);for(let s=0;s1,()=>`inTopK() expects the predictions to be of rank 2 or higher, but got ${o.rank}`),E(o.rank-1===n.rank,()=>`predictions rank should be 1 larger than targets rank, but got predictions rank ${o.rank} and targets rank ${n.rank}`),ht(o.shape.slice(0,o.shape.length-1),n.shape,\"predictions's shape should be align with the targets' shape, except the last dimension.\");let s=o.shape[o.shape.length-1];E(t>0&&t<=s,()=>`'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${s}), but got ${t}`);let a=await o.data(),i=await n.data(),[p,u]=[a.length/s,s],c=cb(\"bool\",p);for(let l=0;lg.value-h.value),c[l]=0;for(let h=0;hF1,depthwiseConv2d:()=>P1,matMul:()=>M1});function pH(r,e,t,o,n,s=\"NHWC\",a){let i=r;r.rank===3&&(i=z(r,[1,r.shape[0],r.shape[1],r.shape[2]]));let p=e;p.rank===3&&(p=z(e,[1,e.shape[0],e.shape[1],e.shape[2]])),E(i.rank===4,()=>`Error in conv2dDerFilter: input must be rank 4, but got shape ${i.shape}.`),E(p.rank===4,()=>`Error in conv2dDerFilter: dy must be rank 4, but got shape ${p.shape}.`),E(t.length===4,()=>`Error in conv2dDerFilter: filterShape must be length 4, but got ${t}.`);let u=s===\"NHWC\"?i.shape[3]:i.shape[1],c=s===\"NHWC\"?p.shape[3]:p.shape[1];E(u===t[2],()=>`Error in conv2dDerFilter: depth of input ${u}) must match input depth in filter (${t[2]}.`),E(c===t[3],()=>`Error in conv2dDerFilter: depth of dy (${c}) must match output depth for filter (${t[3]}).`),Pt(\"conv2dDerFilter\",n,a);let l={x:i,dy:p},m={strides:o,pad:n,dataFormat:s,dimRoundingMode:a,filterShape:t};return T.runKernel(cp,l,m)}var R1=N({conv2DBackpropFilter_:pH});function gu(r,e,t){if(t==null||t===\"linear\")return r;if(t===\"relu\")return ae(r,Od(e));throw new Error(`Cannot compute gradient for fused activation ${t}.`)}function xu(r,e){let t=e,o=jm(r.shape,e.shape);return o.length>0&&(t=et(t,o)),z(t,r.shape)}function yu(r,e,t,o){if(e===\"linear\")return r;if(e===\"relu\")return Ti(r);if(e===\"elu\")return ad(r);if(e===\"relu6\")return Ad(r);if(e===\"prelu\")return vd(r,t);if(e===\"leakyrelu\")return ld(r,o);if(e===\"sigmoid\")return zs(r);throw new Error(`Unknown fused activation ${e}.`)}var bu=(r,e)=>!(r>0)||e===\"linear\";function cH({x:r,filter:e,strides:t,pad:o,dataFormat:n=\"NHWC\",dilations:s=[1,1],dimRoundingMode:a,bias:i,activation:p=\"linear\",preluActivationWeights:u,leakyreluAlpha:c}){if(p=p||\"linear\",bu(T.state.gradientDepth,p)===!1){E(n===\"NHWC\",()=>`Error in fused conv2d: got dataFormat of ${n} but only NHWC is currently supported for the case of gradient depth is 0 and the activation is not linear.`);let _=vi(r,e,t,o,n,s,a);return i!=null&&(_=xe(_,i)),yu(_,p,u,c)}let l=v(r,\"x\",\"conv2d\",\"float32\"),m=v(e,\"filter\",\"conv2d\",\"float32\"),d=l,f=!1;l.rank===3&&(f=!0,d=z(l,[1,l.shape[0],l.shape[1],l.shape[2]])),E(d.rank===4,()=>`Error in fused conv2d: input must be rank 4, but got rank ${d.rank}.`),E(m.rank===4,()=>`Error in fused conv2d: filter must be rank 4, but got rank ${m.rank}.`),Pt(\"fused conv2d\",o,a);let h=n===\"NHWC\"?d.shape[3]:d.shape[1];E(m.shape[2]===h,()=>`Error in conv2d: depth of input (${h}) must match input depth for filter ${m.shape[2]}.`),E(lr(t,s),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${t} and dilations '${s}'`);let g=uu(d.shape,m.shape,t,s,o,a),x;i!=null&&(x=v(i,\"bias\",\"fused conv2d\"),[x]=Re(x,l),n===\"NHWC\"?Je(g.outShape,x.shape):(E(x.shape.length<=1,()=>`Error in fused conv2d: only supports scalar or 1-D Tensor bias for NCHW format but got the bias of rank-${x.shape.length}.`),E(x.shape.length===0||x.shape[0]===g.outChannels||x.shape[0]===1,()=>`Error in fused conv2d: bias shape (${x.shape}) is not compatible with the number of output channels (${g.outChannels})`)));let b;if(u!=null){let _=u.shape;if(E(_.length<=1||_.length===3,()=>`Error in fused conv2d: only supports scalar, 1-D Tensor or 3-D Tensor PReLU activation weights but got a tensor of rank-${_.length}.`),_.length===1)E(_[0]===1||_[0]===g.outChannels,()=>`Error in fused conv2d: PReLU activation weights (${_}) is not compatible with the number of output channels (${g.outChannels}).`);else if(_.length===3)try{Je(_,g.outShape)}catch($){let A=`Error in fused conv2d: PReLU activation weights (${_}) is not compatible with the output shape of the conv2d (${g.outShape}).`;throw Error(A)}b=v(u,\"prelu weights\",\"fused conv2d\")}let C=(_,$)=>{E(n===\"NHWC\",()=>`Error in gradient of fused conv2D: got dataFormat of ${n} but only NHWC is currently supported.`);let[A,R,D,P]=$,M=gu(_,D,p);E(iu(s),()=>`Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${s}'`);let L=nd(R.shape,M,A,t,o),W=R1(R,M,A.shape,t,o),V=[L,W];if(P!=null){let U=xu(P,M);V.push(U)}return V},w={x:d,filter:m,bias:x,preluActivationWeights:b},k={strides:t,pad:o,dataFormat:n,dilations:s,dimRoundingMode:a,activation:p,leakyreluAlpha:c};return i==null?Cr(($,A,R)=>{let D=T.runKernel(ho,w,k);return R([A,$,D]),f&&(D=z(D,[D.shape[1],D.shape[2],D.shape[3]])),{value:D,gradFunc:C}})(d,m):Cr(($,A,R,D)=>{let P=T.runKernel(ho,w,k);return D([A,$,P,R]),f&&(P=z(P,[P.shape[1],P.shape[2],P.shape[3]])),{value:P,gradFunc:C}})(d,m,x)}var F1=N({fusedConv2d_:cH});function lH(r,e,t,o,n,s=[1,1],a){let i=r;r.rank===3&&(i=z(r,[1,r.shape[0],r.shape[1],r.shape[2]]));let p=e;p.rank===3&&(p=z(e,[1,e.shape[0],e.shape[1],e.shape[2]]));let u={x:i,dy:p},c={strides:o,pad:n,dimRoundingMode:a,dilations:s,filterShape:t};return T.runKernel(dp,u,c)}var D1=N({depthwiseConv2dNativeBackpropFilter_:lH});function mH(r,e,t,o,n,s=[1,1],a){let i=e,p=!1;e.rank===3&&(p=!0,i=z(e,[1,e.shape[0],e.shape[1],e.shape[2]]));let u={dy:i,filter:t},c={strides:o,pad:n,dimRoundingMode:a,dilations:s,inputShape:r},l=T.runKernel(fp,u,c);return p?z(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var O1=N({depthwiseConv2dNativeBackpropInput_:mH});function dH({x:r,filter:e,strides:t,pad:o,dataFormat:n=\"NHWC\",dilations:s=[1,1],dimRoundingMode:a,bias:i,activation:p=\"linear\",preluActivationWeights:u,leakyreluAlpha:c}){if(bu(T.state.gradientDepth,p)===!1){let k=Bp(r,e,t,o,n,s,a);return i!=null&&(k=xe(k,i)),yu(k,p,u,c)}let l=v(r,\"x\",\"depthwiseConv2d\",\"float32\"),m=v(e,\"filter\",\"depthwiseConv2d\",\"float32\"),d=l,f=!1;l.rank===3&&(f=!0,d=z(l,[1,l.shape[0],l.shape[1],l.shape[2]])),E(d.rank===4,()=>`Error in fused depthwiseConv2d: input must be rank 4, but got rank ${d.rank}.`),E(m.rank===4,()=>`Error in fused depthwiseConv2d: filter must be rank 4, but got rank ${m.rank}.`),E(d.shape[3]===m.shape[2],()=>`Error in fused depthwiseConv2d: number of input channels (${d.shape[3]}) must match the inChannels dimension in filter ${m.shape[2]}.`),s==null&&(s=[1,1]),E(lr(t,s),()=>`Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${t} and dilations '${s}'`),Pt(\"fused depthwiseConv2d\",o,a);let h=uu(d.shape,m.shape,t,s,o,a,!0),g;i!=null&&(g=v(i,\"bias\",\"fused conv2d\"),[g]=Re(g,l),Je(h.outShape,g.shape));let x;u!=null&&(x=v(u,\"prelu weights\",\"fused depthwiseConv2d\"));let b=(k,_)=>{E(iu(s),()=>`Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${s}'`);let[$,A,R,D]=_,P=gu(k,R,p),M=O1(A.shape,P,$,t,o,s,a),L=D1(A,P,$.shape,t,o,s,a);if(D!=null){let W=xu(g,P);return[M,L,W]}return[M,L]},C={x:d,filter:m,bias:g,preluActivationWeights:x},w={strides:t,pad:o,dataFormat:n,dilations:s,dimRoundingMode:a,activation:p,leakyreluAlpha:c};return i==null?Cr((_,$,A)=>{let R=T.runKernel(go,C,w);return A([$,_,R]),f&&(R=z(R,[R.shape[1],R.shape[2],R.shape[3]])),{value:R,gradFunc:b}})(d,m):Cr((_,$,A,R)=>{let D=T.runKernel(go,C,w);return R([$,_,D,A]),f&&(D=z(D,[D.shape[1],D.shape[2],D.shape[3]])),{value:D,gradFunc:b}})(d,m,g)}var P1=N({fusedDepthwiseConv2d_:dH});function fH({a:r,b:e,transposeA:t=!1,transposeB:o=!1,bias:n,activation:s=\"linear\",preluActivationWeights:a,leakyreluAlpha:i=.2}){if(bu(T.state.gradientDepth,s)===!1){let P=Xe(r,e,t,o);return n!=null&&(P=xe(P,n)),yu(P,s,a,i)}let p=v(r,\"a\",\"fused matMul\"),u=v(e,\"b\",\"fused matMul\");[p,u]=Re(p,u);let c=t?p.shape[p.rank-2]:p.shape[p.rank-1],l=o?u.shape[u.rank-1]:u.shape[u.rank-2],m=t?p.shape[p.rank-1]:p.shape[p.rank-2],d=o?u.shape[u.rank-2]:u.shape[u.rank-1],f=p.shape.slice(0,-2),h=u.shape.slice(0,-2),g=ze(f),x=ze(h);E(c===l,()=>`Error in fused matMul: inner shapes (${c}) and (${l}) of Tensors with shapes ${p.shape} and ${u.shape} and transposeA=${t} and transposeB=${o} must match.`);let C=Je(p.shape.slice(0,-2),u.shape.slice(0,-2)).concat([m,d]),w=t?z(p,[g,c,m]):z(p,[g,m,c]),k=o?z(u,[x,d,l]):z(u,[x,l,d]),_;n!=null&&(_=v(n,\"bias\",\"fused matMul\"),[_]=Re(_,p),Je(C,_.shape));let $;a!=null&&($=v(a,\"prelu weights\",\"fused matMul\"));let A=(P,M)=>{let[L,W,V,U]=M,q=gu(z(P,V.shape),V,s),H,j;if(!t&&!o?(H=Xe(q,W,!1,!0),j=Xe(L,q,!0,!1)):!t&&o?(H=Xe(q,W,!1,!1),j=Xe(q,L,!0,!1)):t&&!o?(H=Xe(W,q,!1,!0),j=Xe(L,q,!1,!1)):(H=Xe(W,q,!0,!0),j=Xe(q,L,!0,!0)),n!=null){let X=xu(U,q);return[H,j,X]}else return[H,j]},R={a:w,b:k,bias:_,preluActivationWeights:$},D={transposeA:t,transposeB:o,activation:s,leakyreluAlpha:i};return n==null?Cr((M,L,W)=>{let V=T.runKernel(fo,R,D);return W([M,L,V]),{value:z(V,C),gradFunc:A}})(w,k):Cr((M,L,W,V)=>{let U=T.runKernel(fo,R,D);return V([M,L,U,W]),{value:z(U,C),gradFunc:A}})(w,k,_)}var M1=N({fusedMatMul_:fH});function hH(r){return il(r,.54,.46)}var L1=N({hammingWindow_:hH});function gH(r){return il(r,.5,.5)}var Ld=N({hannWindow_:gH});function xH(r,e,t,o=!1,n=0){let s=0,a=[];for(;s+e<=r.size;)a.push(He(r,s,e)),s+=t;if(o)for(;s`Error in cropAndResize: image must be rank 4,but got rank ${a.rank}.`),E(i.rank===2&&i.shape[1]===4,()=>`Error in cropAndResize: boxes must be have size [${u},4] but had shape ${i.shape}.`),E(p.rank===1&&p.shape[0]===u,()=>`Error in cropAndResize: boxInd must be have size [${u}] but had shape ${i.shape}.`),E(o.length===2,()=>`Error in cropAndResize: cropSize must be of length 2, but got length ${o.length}.`),E(o[0]>=1&&o[1]>=1,()=>`cropSize must be atleast [1,1], but was ${o}`),E(n===\"bilinear\"||n===\"nearest\",()=>`method must be bilinear or nearest, but was ${n}`);let c={image:a,boxes:i,boxInd:p},l={method:n,extrapolationValue:s,cropSize:o};return T.runKernel(Yo,c,l)}var V1=N({cropAndResize_:bH});function CH(r){let e=v(r,\"image\",\"flipLeftRight\",\"float32\");E(e.rank===4,()=>`Error in flipLeftRight: image must be rank 4,but got rank ${e.rank}.`);let t={image:e};return T.runKernel(on,t,{})}var z1=N({flipLeftRight_:CH});function SH(r){let e=v(r,\"image\",\"grayscaleToRGB\"),t=e.rank-1,o=e.shape[t];E(e.rank>=2,()=>`Error in grayscaleToRGB: images must be at least rank 2, but got rank ${e.rank}.`),E(o===1,()=>`Error in grayscaleToRGB: last dimension of a grayscale image should be size 1, but got size ${o}.`);let n=new Array(e.rank);return n.fill(1,0,t),n[t]=3,ki(e,n)}var W1=N({grayscaleToRGB_:SH});function wH(r,e,t=0,o=.5){let n=v(r,\"image\",\"rotateWithOffset\",\"float32\");E(n.rank===4,()=>`Error in rotateWithOffset: image must be rank 4,but got rank ${n.rank}.`);let s={image:n},a={radians:e,fillValue:t,center:o};return T.runKernel(es,s,a)}var U1=N({rotateWithOffset_:wH});function So(r,e,t,o,n,s){o==null&&(o=.5),n==null&&(n=Number.NEGATIVE_INFINITY),s==null&&(s=0);let a=r.shape[0];return t=Math.min(t,a),E(0<=o&&o<=1,()=>`iouThreshold must be in [0, 1], but was '${o}'`),E(r.rank===2,()=>`boxes must be a 2D tensor, but was of rank '${r.rank}'`),E(r.shape[1]===4,()=>`boxes must have 4 columns, but 2nd dimension was ${r.shape[1]}`),E(e.rank===1,()=>\"scores must be a 1D tensor\"),E(e.shape[0]===a,()=>`scores has incompatible shape with boxes. Expected ${a}, but was ${e.shape[0]}`),E(0<=s&&s<=1,()=>`softNmsSigma must be in [0, 1], but was '${s}'`),{maxOutputSize:t,iouThreshold:o,scoreThreshold:n,softNmsSigma:s}}function IH(r,e,t,o=.5,n=Number.NEGATIVE_INFINITY){let s=v(r,\"boxes\",\"nonMaxSuppression\",\"float32\"),a=v(e,\"scores\",\"nonMaxSuppression\",\"float32\"),i=So(s,a,t,o,n);t=i.maxOutputSize,o=i.iouThreshold,n=i.scoreThreshold;let p={maxOutputSize:t,iouThreshold:o,scoreThreshold:n};return T.runKernel(Tn,{boxes:s,scores:a},p)}var G1=N({nonMaxSuppression_:IH});function H1(r,e,t){let o=vH(r,e,t),n=o<0?-(o+1):o;r.splice(n,0,e)}function vH(r,e,t){return NH(r,e,t||kH)}function kH(r,e){return r>e?1:r>>1);let i=t(e,r[s]);i>0?o=s+1:(n=s,a=!i)}return a?o:-o-1}function Vd(r,e,t,o,n){return bC(r,e,t,o,n,0)}function zd(r,e,t,o,n,s){return bC(r,e,t,o,n,0,!1,s,!0)}function Wd(r,e,t,o,n,s){return bC(r,e,t,o,n,s,!0)}function bC(r,e,t,o,n,s,a=!1,i=!1,p=!1){let u=[];for(let g=0;gn&&u.push({score:e[g],boxIndex:g,suppressBeginIndex:0});u.sort(q1);let c=s>0?-.5/s:0,l=[],m=[];for(;l.length0;){let g=u.pop(),{score:x,boxIndex:b,suppressBeginIndex:C}=g;if(x=C;--k){let _=TH(r,b,l[k]);if(_>=o){w=!0;break}if(g.score=g.score*_H(o,c,_),g.score<=n)break}g.suppressBeginIndex=l.length,w||(g.score===x?(l.push(b),m.push(g.score)):g.score>n&&H1(u,g,q1))}let d=l.length,f=t-d;i&&f>0&&(l.push(...new Array(f).fill(0)),m.push(...new Array(f).fill(0)));let h={selectedIndices:l};return a&&(h.selectedScores=m),p&&(h.validOutputs=d),h}function TH(r,e,t){let o=r.subarray(e*4,e*4+4),n=r.subarray(t*4,t*4+4),s=Math.min(o[0],o[2]),a=Math.min(o[1],o[3]),i=Math.max(o[0],o[2]),p=Math.max(o[1],o[3]),u=Math.min(n[0],n[2]),c=Math.min(n[1],n[3]),l=Math.max(n[0],n[2]),m=Math.max(n[1],n[3]),d=(i-s)*(p-a),f=(l-u)*(m-c);if(d<=0||f<=0)return 0;let h=Math.max(s,u),g=Math.max(a,c),x=Math.min(i,l),b=Math.min(p,m),C=Math.max(x-h,0)*Math.max(b-g,0);return C/(d+f-C)}function _H(r,e,t){let o=Math.exp(e*t*t);return t<=r?o:0}function q1(r,e){return r.score-e.score||r.score===e.score&&e.boxIndex-r.boxIndex}async function EH(r,e,t,o=.5,n=Number.NEGATIVE_INFINITY){let s=v(r,\"boxes\",\"nonMaxSuppressionAsync\"),a=v(e,\"scores\",\"nonMaxSuppressionAsync\"),i=So(s,a,t,o,n);t=i.maxOutputSize,o=i.iouThreshold,n=i.scoreThreshold;let p=await Promise.all([s.data(),a.data()]),u=p[0],c=p[1],{selectedIndices:l}=Vd(u,c,t,o,n);return s!==r&&s.dispose(),a!==e&&a.dispose(),mr(l,\"int32\")}var K1=EH;function $H(r,e,t,o=.5,n=Number.NEGATIVE_INFINITY,s=0){let a=v(r,\"boxes\",\"nonMaxSuppression\"),i=v(e,\"scores\",\"nonMaxSuppression\"),p=So(a,i,t,o,n,s);t=p.maxOutputSize,o=p.iouThreshold,n=p.scoreThreshold,s=p.softNmsSigma;let u={boxes:a,scores:i},c={maxOutputSize:t,iouThreshold:o,scoreThreshold:n,softNmsSigma:s},l=T.runKernel(_n,u,c);return{selectedIndices:l[0],selectedScores:l[1]}}var j1=N({nonMaxSuppressionWithScore_:$H});async function AH(r,e,t,o=.5,n=Number.NEGATIVE_INFINITY,s=0){let a=v(r,\"boxes\",\"nonMaxSuppressionAsync\"),i=v(e,\"scores\",\"nonMaxSuppressionAsync\"),p=So(a,i,t,o,n,s);t=p.maxOutputSize,o=p.iouThreshold,n=p.scoreThreshold,s=p.softNmsSigma;let u=await Promise.all([a.data(),i.data()]),c=u[0],l=u[1],{selectedIndices:m,selectedScores:d}=Wd(c,l,t,o,n,s);return a!==r&&a.dispose(),i!==e&&i.dispose(),{selectedIndices:mr(m,\"int32\"),selectedScores:mr(d)}}var X1=AH;function RH(r,e,t,o=.5,n=Number.NEGATIVE_INFINITY,s=!1){let a=v(r,\"boxes\",\"nonMaxSuppression\"),i=v(e,\"scores\",\"nonMaxSuppression\"),p=So(a,i,t,o,n,null),u=p.maxOutputSize,c=p.iouThreshold,l=p.scoreThreshold,m={boxes:a,scores:i},d={maxOutputSize:u,iouThreshold:c,scoreThreshold:l,padToMaxOutputSize:s},f=T.runKernel(ba,m,d);return{selectedIndices:f[0],validOutputs:f[1]}}var Y1=N({nonMaxSuppressionPadded_:RH});async function FH(r,e,t,o=.5,n=Number.NEGATIVE_INFINITY,s=!1){let a=v(r,\"boxes\",\"nonMaxSuppressionAsync\"),i=v(e,\"scores\",\"nonMaxSuppressionAsync\"),p=So(a,i,t,o,n,null),u=p.maxOutputSize,c=p.iouThreshold,l=p.scoreThreshold,[m,d]=await Promise.all([a.data(),i.data()]),{selectedIndices:f,validOutputs:h}=zd(m,d,u,c,l,s);return a!==r&&a.dispose(),i!==e&&i.dispose(),{selectedIndices:mr(f,\"int32\"),validOutputs:be(h,\"int32\")}}var Q1=FH;function DH(r,e,t=!1,o=!1){let n=v(r,\"images\",\"resizeBilinear\");E(n.rank===3||n.rank===4,()=>`Error in resizeBilinear: x must be rank 3 or 4, but got rank ${n.rank}.`),E(e.length===2,()=>`Error in resizeBilinear: new shape must 2D, but got shape ${e}.`),E(o===!1||t===!1,()=>\"Error in resizeBilinear: If halfPixelCenters is true, alignCorners must be false.\");let s=n,a=!1;n.rank===3&&(a=!0,s=z(n,[1,n.shape[0],n.shape[1],n.shape[2]]));let[]=e,i={images:s},p={alignCorners:t,halfPixelCenters:o,size:e},u=T.runKernel(Mn,i,p);return a?z(u,[u.shape[1],u.shape[2],u.shape[3]]):u}var Z1=N({resizeBilinear_:DH});function OH(r,e,t=!1,o=!1){let n=v(r,\"images\",\"resizeNearestNeighbor\");E(n.rank===3||n.rank===4,()=>`Error in resizeNearestNeighbor: x must be rank 3 or 4, but got rank ${n.rank}.`),E(e.length===2,()=>`Error in resizeNearestNeighbor: new shape must 2D, but got shape ${e}.`),E(n.dtype===\"float32\"||n.dtype===\"int32\",()=>\"`images` must have `int32` or `float32` as dtype\"),E(o===!1||t===!1,()=>\"Error in resizeNearestNeighbor: If halfPixelCenters is true, alignCorners must be false.\");let s=n,a=!1;n.rank===3&&(a=!0,s=z(n,[1,n.shape[0],n.shape[1],n.shape[2]]));let[]=e,i={images:s},p={alignCorners:t,halfPixelCenters:o,size:e},u=T.runKernel(Pn,i,p);return a?z(u,[u.shape[1],u.shape[2],u.shape[3]]):u}var J1=N({resizeNearestNeighbor_:OH});function PH(r,e=\"binary\",t=!1,o=.5){let n=v(r,\"image\",\"threshold\"),s=.2989,a=.587,i=.114,p=n.shape[0]*n.shape[1],u=ae(mr([o]),255),c,l,m,d;if(E(n.rank===3,()=>`Error in threshold: image must be rank 3,but got rank ${n.rank}.`),E(n.shape[2]===3||n.shape[2]===1,()=>`Error in threshold: image color channel must be equal to 3 or 1but got ${n.shape[2]}.`),E(n.dtype===\"int32\"||n.dtype===\"float32\",()=>`Error in dtype: image dtype must be int32 or float32,but got dtype ${n.dtype}.`),E(e===\"otsu\"||e===\"binary\",()=>`Method must be binary or otsu, but was ${e}`),n.shape[2]===3){[c,l,m]=Oa(n,[1,1,1],-1);let g=ae(c,s),x=ae(l,a),b=ae(m,i);d=xe(xe(g,x),b)}else d=r;if(e===\"otsu\"){let g=od(Ke(Rd(d),\"int32\"),nr([]),256);u=MH(g,p)}let f=t?Vp(d,u):cu(d,u);return Ke(ae(f,255),\"int32\")}function MH(r,e){let t=mr([-1]),o=mr([0]),n=mr([0]),s,a,i,p,u,c;for(let l=0;l`Error in transform: image must be rank 4,but got rank ${a.rank}.`),E(i.rank===2&&(i.shape[0]===a.shape[0]||i.shape[0]===1)&&i.shape[1]===8,()=>\"Error in transform: Input transform should be batch x 8 or 1 x 8\"),E(s==null||s.length===2,()=>`Error in transform: outputShape must be [height, width] or null, but got ${s}.`);let p={image:a,transforms:i},u={interpolation:t,fillMode:o,fillValue:n,outputShape:s};return T.runKernel(Jn,p,u)}var tN=N({transform_:LH});function BH(r,e,t){E(e%1===0,()=>`bandPart(): numLower must be an integer, got ${e}.`),E(t%1===0,()=>`bandPart(): numUpper must be an integer, got ${t}.`);let o=v(r,\"a\",\"bandPart\");E(o.rank>=2,()=>`bandPart(): Rank must be at least 2, got ${o.rank}.`);let n=o.shape,[s,a]=o.shape.slice(-2);if(!(e<=s))throw new Error(`bandPart(): numLower (${e}) must not be greater than the number of rows (${s}).`);if(!(t<=a))throw new Error(`bandPart(): numUpper (${t}) must not be greater than the number of columns (${a}).`);e<0&&(e=s),t<0&&(t=a);let i=z(Ni(0,s,1,\"int32\"),[-1,1]),p=Ni(0,a,1,\"int32\"),u=Ne(i,p),c=lu(Vp(u,be(+e,\"int32\")),cd(u,be(-t,\"int32\"))),l=Vr([s,a],o.dtype);return z(Sr(so(z(o,[-1,s,a])).map(m=>os(c,m,l))),n)}var rN=N({bandPart_:BH});function VH(r){let e;if(Array.isArray(r)){e=!1,E(r!=null&&r.length>0,()=>\"Gram-Schmidt process: input must not be null, undefined, or empty\");let n=r[0].shape[0];for(let s=1;s`Gram-Schmidt: Non-unique lengths found in the input vectors: (${r[s].shape[0]} vs. ${n})`)}else e=!0,r=Oa(r,r.shape[0],0).map(n=>Up(n,[0]));E(r.length<=r[0].shape[0],()=>`Gram-Schmidt: Number of vectors (${r.length}) exceeds number of dimensions (${r[0].shape[0]}).`);let t=[],o=r;for(let n=0;n{let s=o[n];if(n>0)for(let a=0;a=2,()=>`qr() requires input tensor to have a rank >= 2, but got rank ${r.rank}`),r.rank===2)return nN(r,e);{let t=r.shape.slice(0,r.shape.length-2).reduce((p,u)=>p*u),o=so(z(r,[t,r.shape[r.shape.length-2],r.shape[r.shape.length-1]]),0),n=[],s=[];o.forEach(p=>{let[u,c]=nN(p,e);n.push(u),s.push(c)});let a=z(Sr(n,0),r.shape),i=z(Sr(s,0),r.shape);return[a,i]}}function nN(r,e=!1){return T.tidy(()=>{E(r.shape.length===2,()=>`qr2d() requires a 2D Tensor, but got a ${r.shape.length}D Tensor.`);let t=r.shape[0],o=r.shape[1],n=id(t),s=Br(r),a=_i([[1]],[1,1]),i=Br(a),p=t>=o?o:t;for(let u=0;u{let d=He(s,[u,u],[t-u,1]),f=pu(d),h=He(s,[u,u],[1,1]),g=os(cu(h,0),_i([[-1]]),_i([[1]])),x=Ne(h,ae(g,f)),b=Ge(d,x);b.shape[0]===1?i=Br(a):i=gt([a,He(b,[1,0],[b.shape[0]-1,b.shape[1]])],0);let C=yr(Ge(Xe(g,x),f)),w=He(s,[u,0],[t-u,o]),k=ae(C,i),_=Mp(i);if(u===0)s=Ne(w,Xe(k,Xe(_,w)));else{let R=Ne(w,Xe(k,Xe(_,w)));s=gt([He(s,[0,0],[u,o]),R],0)}let $=Mp(k),A=He(n,[0,u],[t,n.shape[1]-u]);if(u===0)n=Ne(A,Xe(Xe(A,i),$));else{let R=Ne(A,Xe(Xe(A,i),$));n=gt([He(n,[0,0],[t,u]),R],1)}return[i,s,n]}),Dt([c,l,m])}return!e&&t>o&&(n=He(n,[0,0],[t,o]),s=He(s,[0,0],[o,o])),[n,s]})}var sN=N({qr_:zH});var Et;(function(r){r[r.NONE=0]=\"NONE\",r[r.MEAN=1]=\"MEAN\",r[r.SUM=2]=\"SUM\",r[r.SUM_BY_NONZERO_WEIGHTS=3]=\"SUM_BY_NONZERO_WEIGHTS\"})(Et||(Et={}));function WH(r,e,t=Et.SUM_BY_NONZERO_WEIGHTS){let o=v(r,\"losses\",\"computeWeightedLoss\"),n=null;e!=null&&(n=v(e,\"weights\",\"computeWeightedLoss\"));let s=n==null?o:ae(o,n);if(t===Et.NONE)return s;if(t===Et.SUM)return et(s);if(t===Et.MEAN){if(n==null)return mu(s);{let a=o.size/n.size,i=Ge(et(s),et(n));return a>1?Ge(i,be(a)):i}}if(t===Et.SUM_BY_NONZERO_WEIGHTS){if(n==null)return Ge(et(s),be(o.size));{let a=ae(n,Gs(o.shape)),i=Ke(et(wd(a,be(0))),\"float32\");return Ge(et(s),i)}}throw Error(`Unknown reduction: ${t}`)}var sr=N({computeWeightedLoss_:WH});function UH(r,e,t,o=Et.SUM_BY_NONZERO_WEIGHTS){let n=v(r,\"labels\",\"absoluteDifference\"),s=v(e,\"predictions\",\"absoluteDifference\"),a=null;t!=null&&(a=v(t,\"weights\",\"absoluteDifference\")),ht(n.shape,s.shape,\"Error in absoluteDifference: \");let i=Yt(Ne(n,s));return sr(i,a,o)}var aN=N({absoluteDifference_:UH});function GH(r,e,t,o,n=Et.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"labels\",\"cosineDistance\"),a=v(e,\"predictions\",\"cosineDistance\"),i=null;o!=null&&(i=v(o,\"weights\",\"cosineDistance\")),ht(s.shape,a.shape,\"Error in cosineDistance: \");let p=be(1),u=Ne(p,et(ae(s,a),t,!0));return sr(u,i,n)}var iN=N({cosineDistance_:GH});function HH(r,e,t,o=Et.SUM_BY_NONZERO_WEIGHTS){let n=v(r,\"labels\",\"hingeLoss\"),s=v(e,\"predictions\",\"hingeLoss\"),a=null;t!=null&&(a=v(t,\"weights\",\"hingeLoss\")),ht(n.shape,s.shape,\"Error in hingeLoss: \");let i=be(1);n=Ne(ae(be(2),n),i);let p=Ti(Ne(i,ae(n,s)));return sr(p,a,o)}var uN=N({hingeLoss_:HH});function qH(r,e,t,o=1,n=Et.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"labels\",\"huberLoss\"),a=v(e,\"predictions\",\"huberLoss\"),i=null;t!=null&&(i=v(t,\"weights\",\"huberLoss\")),ht(s.shape,a.shape,\"Error in huberLoss: \");let p=be(o),u=Yt(Ne(a,s)),c=Sd(u,p),l=Ne(u,c),m=xe(ae(be(.5),Qt(c)),ae(p,l));return sr(m,i,n)}var pN=N({huberLoss_:qH});function KH(r,e,t,o=1e-7,n=Et.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"labels\",\"logLoss\"),a=v(e,\"predictions\",\"logLoss\"),i=null;t!=null&&(i=v(t,\"weights\",\"logLoss\")),ht(s.shape,a.shape,\"Error in logLoss: \");let p=be(1),u=be(o),c=yr(ae(s,Da(xe(a,u)))),l=ae(Ne(p,s),Da(xe(Ne(p,a),u))),m=Ne(c,l);return sr(m,i,n)}var cN=N({logLoss_:KH});function jH(r,e,t,o=Et.SUM_BY_NONZERO_WEIGHTS){let n=v(r,\"labels\",\"meanSquaredError\"),s=v(e,\"predictions\",\"meanSquaredError\"),a=null;t!=null&&(a=v(t,\"weights\",\"meanSquaredError\")),ht(n.shape,s.shape,\"Error in meanSquaredError: \");let i=Dd(n,s);return sr(i,a,o)}var lN=N({meanSquaredError_:jH});function XH(r,e){let t=v(r,\"labels\",\"sigmoidCrossEntropyWithLogits\"),o=v(e,\"logits\",\"sigmoidCrossEntropyWithLogits\");ht(t.shape,o.shape,\"Error in sigmoidCrossEntropyWithLogits: \");let n=Ti(o),s=ae(o,t),a=md(Co(yr(Yt(o))));return xe(Ne(n,s),a)}function YH(r,e,t,o=0,n=Et.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"multiClassLabels\",\"sigmoidCrossEntropy\"),a=v(e,\"logits\",\"sigmoidCrossEntropy\"),i=null;if(t!=null&&(i=v(t,\"weights\",\"sigmoidCrossEntropy\")),ht(s.shape,a.shape,\"Error in sigmoidCrossEntropy: \"),o>0){let u=be(o),c=be(1),l=be(.5);s=xe(ae(s,Ne(c,u)),ae(l,u))}let p=XH(s,a);return sr(p,i,n)}var mN=N({sigmoidCrossEntropy_:YH});function QH(r,e,t=-1){if(t===-1&&(t=e.rank-1),t!==e.rank-1)throw Error(`Softmax cross entropy along a non-last dimension is not yet supported. Labels / logits was rank ${e.rank} and dim was ${t}`);return Cr((n,s,a)=>{let p=hd(s,[t],!0),u=Ne(Ke(s,\"float32\"),p);a([n,u]);let c=yr(ae(u,n));return{value:et(c,[t]),gradFunc:(d,f)=>{let[h,g]=f,x=Aa(d.shape,[t]);return[ae(z(d,x),Ne(Ke(h,\"float32\"),Co(g))),ae(z(d,x),Ne(Co(g),Ke(h,\"float32\")))]}}})(r,e)}function ZH(r,e,t,o=0,n=Et.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"onehotLabels\",\"softmaxCrossEntropy\"),a=v(e,\"logits\",\"softmaxCrossEntropy\"),i=null;if(t!=null&&(i=v(t,\"weights\",\"softmaxCrossEntropy\")),ht(s.shape,a.shape,\"Error in softmaxCrossEntropy: \"),o>0){let u=be(o),c=be(1),l=be(s.shape[1]);s=xe(ae(s,Ne(c,u)),Ge(u,l))}let p=QH(s,a);return sr(p,i,n)}var dN=N({softmaxCrossEntropy_:ZH});function JH(r,e,t,o){let n=v(r,\"indices\",\"sparseFillEmptyRows\",\"int32\"),s=v(e,\"values\",\"sparseFillEmptyRows\"),a=v(t,\"denseShape\",\"sparseFillEmptyRows\",\"int32\"),i=v(o,\"defaultValue\",\"sparseFillEmptyRows\",s.dtype);if(n.rank!==2)throw new Error(`Indices should be Tensor2D but received shape\n ${n.shape}`);if(s.rank!==1)throw new Error(`Values should be Tensor1D but received shape ${s.shape}`);if(a.rank!==1)throw new Error(`Dense shape should be Tensor1D but received shape ${a.shape}`);if(i.rank!==0)throw new Error(`Default value should be a scalar but received shape ${i.shape}`);let p={indices:n,values:s,denseShape:a,defaultValue:i},u=T.runKernel(ui,p);return{outputIndices:u[0],outputValues:u[1],emptyRowIndicator:u[2],reverseIndexMap:u[3]}}var fN=N({sparseFillEmptyRows_:JH});function eq(r,e,t){let o=v(r,\"inputIndices\",\"sparseReshape\",\"int32\"),n=v(e,\"inputShape\",\"sparseReshape\",\"int32\"),s=v(t,\"newShape\",\"sparseReshape\",\"int32\");if(o.rank!==2)throw new Error(`Input indices should be Tensor2D but received shape\n ${o.shape}`);if(n.rank!==1)throw new Error(`Input shape should be Tensor1D but received shape ${n.shape}`);if(s.rank!==1)throw new Error(`New shape should be Tensor1D but received shape ${s.shape}`);let a={inputIndices:o,inputShape:n,newShape:s},i=T.runKernel(wa,a);return{outputIndices:i[0],outputShape:i[1]}}var hN=N({sparseReshape_:eq});function tq(r,e,t){let o=v(r,\"data\",\"sparseSegmentMean\"),n=v(e,\"indices\",\"sparseSegmentMean\",\"int32\"),s=v(t,\"segmentIds\",\"sparseSegmentMean\",\"int32\");if(o.rank<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(n.rank!==1)throw new Error(`Indices should be Tensor1D but received shape\n ${n.shape}`);if(s.rank!==1)throw new Error(`Segment ids should be Tensor1D but received shape\n ${s.shape}`);let a={data:o,indices:n,segmentIds:s};return T.runKernel(pi,a)}var gN=N({sparseSegmentMean_:tq});function rq(r,e,t){let o=v(r,\"data\",\"sparseSegmentSum\"),n=v(e,\"indices\",\"sparseSegmentSum\",\"int32\"),s=v(t,\"segmentIds\",\"sparseSegmentSum\",\"int32\");if(o.rank<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(n.rank!==1)throw new Error(`Indices should be Tensor1D but received shape\n ${n.shape}`);if(s.rank!==1)throw new Error(`Segment ids should be Tensor1D but received shape\n ${s.shape}`);let a={data:o,indices:n,segmentIds:s};return T.runKernel(ci,a)}var xN=N({sparseSegmentSum_:rq});function oq(r,e,t,o,n,s,a,i){let p=v(r,\"data\",\"stringNGrams\",\"string\");if(p.dtype!==\"string\")throw new Error(\"Data must be of datatype string\");if(p.shape.length!==1)throw new Error(`Data must be a vector, saw: ${p.shape}`);let u=v(e,\"dataSplits\",\"stringNGrams\");if(u.dtype!==\"int32\")throw new Error(\"Data splits must be of datatype int32\");let c={separator:t,nGramWidths:o,leftPad:n,rightPad:s,padWidth:a,preserveShortSequences:i},l={data:p,dataSplits:u},m=T.runKernel(As,l,c);return{nGrams:m[0],nGramsSplits:m[1]}}var yN=N({stringNGrams_:oq});function nq(r,e,t=!0){let o=v(r,\"input\",\"stringSplit\",\"string\"),n=v(e,\"delimiter\",\"stringSplit\",\"string\");if(o.rank!==1)throw new Error(`Input should be Tensor1D but received shape ${o.shape}`);if(n.rank!==0)throw new Error(`Delimiter should be a scalar but received shape ${n.shape}`);let s={skipEmpty:t},a={input:o,delimiter:n},i=T.runKernel(di,a,s);return{indices:i[0],values:i[1],shape:i[2]}}var bN=N({stringSplit_:nq});function sq(r,e){let t=v(r,\"input\",\"stringToHashBucketFast\",\"string\"),o={numBuckets:e};if(e<=0)throw new Error(\"Number of buckets must be at least 1\");let n={input:t};return T.runKernel(fi,n,o)}var CN=N({stringToHashBucketFast_:sq});var aq={fft:zp,ifft:hu,rfft:Wp,irfft:Fd},iq={hammingWindow:L1,hannWindow:Ld,frame:Bd,stft:B1},uq={flipLeftRight:z1,grayscaleToRGB:W1,resizeNearestNeighbor:J1,resizeBilinear:Z1,rotateWithOffset:U1,cropAndResize:V1,nonMaxSuppression:G1,nonMaxSuppressionAsync:K1,nonMaxSuppressionWithScore:j1,nonMaxSuppressionWithScoreAsync:X1,nonMaxSuppressionPadded:Y1,nonMaxSuppressionPaddedAsync:Q1,threshold:eN,transform:tN},pq={bandPart:rN,gramSchmidt:oN,qr:sN},cq={absoluteDifference:aN,computeWeightedLoss:sr,cosineDistance:iN,hingeLoss:uN,huberLoss:pN,logLoss:cN,meanSquaredError:lN,sigmoidCrossEntropy:mN,softmaxCrossEntropy:dN},lq={sparseFillEmptyRows:fN,sparseReshape:hN,sparseSegmentMean:gN,sparseSegmentSum:xN},mq={stringNGrams:yN,stringSplit:bN,stringToHashBucketFast:CN};var wr=class extends ol{minimize(e,t=!1,o){let{value:n,grads:s}=this.computeGradients(e,o);if(o!=null){let a=o.map(i=>({name:i.name,tensor:s[i.name]}));this.applyGradients(a)}else this.applyGradients(s);return Dt(s),t?n:(n.dispose(),null)}get iterations(){return this.iterations_==null&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return pC(e,t)}dispose(){this.iterations_!=null&&Dt(this.iterations_)}async saveIterations(){return this.iterations_==null&&(this.iterations_=0),{name:\"iter\",tensor:be(this.iterations_,\"int32\")}}async getWeights(){throw new Error(\"getWeights() is not implemented for this optimizer yet.\")}async setWeights(e){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}};Object.defineProperty(wr,Symbol.hasInstance,{value:r=>r.minimize!=null&&r.computeGradients!=null&&r.applyGradients!=null});var Ei=class extends wr{constructor(e,t,o=null){super(),this.learningRate=e,this.rho=t,this.epsilon=o,this.accumulatedGrads=[],this.accumulatedUpdates=[],o==null&&(this.epsilon=T.backend.epsilon())}applyGradients(e){(Array.isArray(e)?e.map(o=>o.name):Object.keys(e)).forEach((o,n)=>{let s=T.registeredVariables[o],a=!1;this.accumulatedGrads[n]==null&&(this.accumulatedGrads[n]={originalName:`${o}/accum_grad`,variable:Ee(()=>Ut(s).variable(a))}),this.accumulatedUpdates[n]==null&&(this.accumulatedUpdates[n]={originalName:`${o}/accum_var`,variable:Ee(()=>Ut(s).variable(a))});let i=Array.isArray(e)?e[n].tensor:e[o];if(i==null)return;let p=this.accumulatedGrads[n].variable,u=this.accumulatedUpdates[n].variable;Ee(()=>{let c=xe(ae(p,this.rho),ae(Qt(i),1-this.rho)),l=ae(Ge($r(xe(u,this.epsilon)),$r(xe(p,this.epsilon))),i),m=xe(ae(u,this.rho),ae(Qt(l),1-this.rho));p.assign(c),u.assign(m);let d=xe(ae(l,-this.learningRate),s);s.assign(d)})}),this.incrementIterations()}dispose(){this.accumulatedUpdates!=null&&(Dt(this.accumulatedGrads.map(e=>e.variable)),Dt(this.accumulatedUpdates.map(e=>e.variable)))}async getWeights(){let e=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e);let t=e.length/2,o=!1;this.accumulatedGrads=e.slice(0,t).map(n=>({originalName:n.name,variable:n.tensor.variable(o)})),this.accumulatedUpdates=e.slice(t,t*2).map(n=>({originalName:n.name,variable:n.tensor.variable(o)}))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.rho,t.epsilon)}};Ei.className=\"Adadelta\";Er(Ei);var $i=class extends wr{constructor(e,t=.1){super(),this.learningRate=e,this.initialAccumulatorValue=t,this.accumulatedGrads=[]}applyGradients(e){(Array.isArray(e)?e.map(o=>o.name):Object.keys(e)).forEach((o,n)=>{let s=T.registeredVariables[o];this.accumulatedGrads[n]==null&&(this.accumulatedGrads[n]={originalName:`${o}/accumulator`,variable:Ee(()=>Ws(s.shape,this.initialAccumulatorValue).variable(!1))});let a=Array.isArray(e)?e[n].tensor:e[o];if(a==null)return;let i=this.accumulatedGrads[n].variable;Ee(()=>{let p=xe(i,Qt(a));i.assign(p);let u=xe(ae(Ge(a,$r(xe(p,T.backend.epsilon()))),-this.learningRate),s);s.assign(u)})}),this.incrementIterations()}dispose(){this.accumulatedGrads!=null&&Dt(this.accumulatedGrads.map(e=>e.variable))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e);let t=!1;this.accumulatedGrads=e.map(o=>({originalName:o.name,variable:o.tensor.variable(t)}))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(e,t){return new e(t.learningRate,t.initialAccumulatorValue)}};$i.className=\"Adagrad\";Er($i);var Ai=class extends wr{constructor(e,t,o,n=null){super(),this.learningRate=e,this.beta1=t,this.beta2=o,this.epsilon=n,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],Ee(()=>{this.accBeta1=be(t).variable(),this.accBeta2=be(o).variable()}),n==null&&(this.epsilon=T.backend.epsilon())}applyGradients(e){let t=Array.isArray(e)?e.map(o=>o.name):Object.keys(e);Ee(()=>{let o=Ne(1,this.accBeta1),n=Ne(1,this.accBeta2);t.forEach((s,a)=>{let i=T.registeredVariables[s],p=!1;this.accumulatedFirstMoment[a]==null&&(this.accumulatedFirstMoment[a]={originalName:`${s}/m`,variable:Ee(()=>Ut(i).variable(p))}),this.accumulatedSecondMoment[a]==null&&(this.accumulatedSecondMoment[a]={originalName:`${s}/v`,variable:Ee(()=>Ut(i).variable(p))});let u=Array.isArray(e)?e[a].tensor:e[s];if(u==null)return;let c=this.accumulatedFirstMoment[a].variable,l=this.accumulatedSecondMoment[a].variable,m=xe(ae(c,this.beta1),ae(u,1-this.beta1)),d=xe(ae(l,this.beta2),ae(Qt(u),1-this.beta2)),f=Ge(m,o),h=Ge(d,n);c.assign(m),l.assign(d);let g=xe(ae(Ge(f,xe($r(h),this.epsilon)),-this.learningRate),i);i.assign(g)}),this.accBeta1.assign(ae(this.accBeta1,this.beta1)),this.accBeta2.assign(ae(this.accBeta2,this.beta2))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),this.accumulatedFirstMoment!=null&&Dt(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedSecondMoment!=null&&Dt(this.accumulatedSecondMoment.map(e=>e.variable))}async getWeights(){let e=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e),Ee(()=>{this.accBeta1.assign(Ra(this.beta1,this.iterations_+1)),this.accBeta2.assign(Ra(this.beta2,this.iterations_+1))});let t=e.length/2,o=!1;this.accumulatedFirstMoment=e.slice(0,t).map(n=>({originalName:n.name,variable:n.tensor.variable(o)})),this.accumulatedSecondMoment=e.slice(t,t*2).map(n=>({originalName:n.name,variable:n.tensor.variable(o)}))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)}};Ai.className=\"Adam\";Er(Ai);var Ri=class extends wr{constructor(e,t,o,n=null,s=0){super(),this.learningRate=e,this.beta1=t,this.beta2=o,this.epsilon=n,this.decay=s,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],Ee(()=>{this.iteration=be(0).variable(),this.accBeta1=be(t).variable()}),n==null&&(this.epsilon=T.backend.epsilon())}applyGradients(e){let t=Array.isArray(e)?e.map(o=>o.name):Object.keys(e);Ee(()=>{let o=Ne(1,this.accBeta1),n=Ge(-this.learningRate,xe(ae(this.iteration,this.decay),1));t.forEach((s,a)=>{let i=T.registeredVariables[s],p=!1;this.accumulatedFirstMoment[a]==null&&(this.accumulatedFirstMoment[a]={originalName:`${s}/m`,variable:Ut(i).variable(p)}),this.accumulatedWeightedInfNorm[a]==null&&(this.accumulatedWeightedInfNorm[a]={originalName:`${s}/v`,variable:Ut(i).variable(p)});let u=Array.isArray(e)?e[a].tensor:e[s];if(u==null)return;let c=this.accumulatedFirstMoment[a].variable,l=this.accumulatedWeightedInfNorm[a].variable,m=xe(ae(c,this.beta1),ae(u,1-this.beta1)),d=ae(l,this.beta2),f=Yt(u),h=Cd(d,f);c.assign(m),l.assign(h);let g=xe(ae(Ge(n,o),Ge(m,xe(h,this.epsilon))),i);i.assign(g)}),this.iteration.assign(xe(this.iteration,1)),this.accBeta1.assign(ae(this.accBeta1,this.beta1))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),this.accumulatedFirstMoment!=null&&Dt(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedWeightedInfNorm!=null&&Dt(this.accumulatedWeightedInfNorm.map(e=>e.variable))}async getWeights(){throw new Error(\"getWeights() is not implemented for Adamax yet.\")}async setWeights(e){throw new Error(\"setWeights() is not implemented for Adamax yet.\")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)}};Ri.className=\"Adamax\";Er(Ri);var qs=class extends wr{constructor(e){super(),this.learningRate=e,this.setLearningRate(e)}applyGradients(e){(Array.isArray(e)?e.map(o=>o.name):Object.keys(e)).forEach((o,n)=>{let s=Array.isArray(e)?e[n].tensor:e[o];if(s==null)return;let a=T.registeredVariables[o];Ee(()=>{let i=xe(ae(this.c,s),a);a.assign(i)})}),this.incrementIterations()}setLearningRate(e){this.learningRate=e,this.c!=null&&this.c.dispose(),this.c=_r(be(-e))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(e){if(e=await this.extractIterations(e),e.length!==0)throw new Error(\"SGD optimizer does not have settable weights.\")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(e,t){return new e(t.learningRate)}};qs.className=\"SGD\";Er(qs);var Fi=class extends qs{constructor(e,t,o=!1){super(e),this.learningRate=e,this.momentum=t,this.useNesterov=o,this.accumulations=[],this.m=be(this.momentum)}applyGradients(e){(Array.isArray(e)?e.map(o=>o.name):Object.keys(e)).forEach((o,n)=>{let s=T.registeredVariables[o];this.accumulations[n]==null&&(this.accumulations[n]={originalName:`${o}/momentum`,variable:Ee(()=>Ut(s).variable(!1))});let a=this.accumulations[n].variable,i=Array.isArray(e)?e[n].tensor:e[o];i!=null&&Ee(()=>{let p,u=xe(ae(this.m,a),i);this.useNesterov?p=xe(ae(this.c,xe(i,ae(u,this.m))),s):p=xe(ae(this.c,u),s),a.assign(u),s.assign(p)})}),this.incrementIterations()}dispose(){this.m.dispose(),this.accumulations!=null&&Dt(this.accumulations.map(e=>e.variable))}setMomentum(e){this.momentum=e}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e);let t=!1;this.accumulations=e.map(o=>({originalName:o.name,variable:o.tensor.variable(t)}))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)}};Fi.className=\"Momentum\";Er(Fi);var Di=class extends wr{constructor(e,t=.9,o=0,n=null,s=!1){if(super(),this.learningRate=e,this.decay=t,this.momentum=o,this.epsilon=n,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=s,n==null&&(this.epsilon=T.backend.epsilon()),e==null)throw new Error(\"learningRate for RMSPropOptimizer must be defined.\")}applyGradients(e){(Array.isArray(e)?e.map(o=>o.name):Object.keys(e)).forEach((o,n)=>{let s=T.registeredVariables[o],a=!1;this.accumulatedMeanSquares[n]==null&&(this.accumulatedMeanSquares[n]={originalName:`${o}/rms`,variable:Ee(()=>Ut(s).variable(a))}),this.accumulatedMoments[n]==null&&(this.accumulatedMoments[n]={originalName:`${o}/momentum`,variable:Ee(()=>Ut(s).variable(a))}),this.accumulatedMeanGrads[n]==null&&this.centered&&(this.accumulatedMeanGrads[n]={originalName:`${o}/mg`,variable:Ee(()=>Ut(s).variable(a))});let i=Array.isArray(e)?e[n].tensor:e[o];if(i==null)return;let p=this.accumulatedMeanSquares[n].variable,u=this.accumulatedMoments[n].variable;Ee(()=>{let c=xe(ae(p,this.decay),ae(Qt(i),1-this.decay));if(this.centered){let l=this.accumulatedMeanGrads[n].variable,m=xe(ae(l,this.decay),ae(i,1-this.decay)),d=Ge(ae(i,this.learningRate),$r(Ne(c,xe(Qt(m),this.epsilon)))),f=xe(ae(u,this.momentum),d);p.assign(c),l.assign(m),u.assign(f);let h=Ne(s,f);s.assign(h)}else{let l=xe(ae(p,this.decay),ae(Qt(i),1-this.decay)),m=xe(ae(u,this.momentum),Ge(ae(i,this.learningRate),$r(xe(l,this.epsilon))));p.assign(l),u.assign(m);let d=Ne(s,m);s.assign(d)}})}),this.incrementIterations()}dispose(){this.accumulatedMeanSquares!=null&&Dt(this.accumulatedMeanSquares.map(e=>e.variable)),this.accumulatedMeanGrads!=null&&this.centered&&Dt(this.accumulatedMeanGrads.map(e=>e.variable)),this.accumulatedMoments!=null&&Dt(this.accumulatedMoments.map(e=>e.variable))}async getWeights(){let e=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&e.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e);let t=this.centered?e.length/3:e.length/2,o=!1;this.accumulatedMeanSquares=e.slice(0,t).map(n=>({originalName:n.name,variable:n.tensor.variable(o)})),this.accumulatedMoments=e.slice(t,t*2).map(n=>({originalName:n.name,variable:n.tensor.variable(o)})),this.centered&&(this.accumulatedMeanGrads=e.slice(t*2,t*3).map(n=>({originalName:n.name,variable:n.tensor.variable(o)})))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)}};Di.className=\"RMSProp\";Er(Di);var ns=class{static sgd(e){return new qs(e)}static momentum(e,t,o=!1){return new Fi(e,t,o)}static rmsprop(e,t=.9,o=0,n=null,s=!1){return new Di(e,t,o,n,s)}static adam(e=.001,t=.9,o=.999,n=null){return new Ai(e,t,o,n)}static adadelta(e=.001,t=.95,o=null){return new Ei(e,t,o)}static adamax(e=.002,t=.9,o=.999,n=null,s=0){return new Ri(e,t,o,n,s)}static adagrad(e,t=.1){return new $i(e,t)}};var hMe={sgd:ns.sgd,momentum:ns.momentum,adadelta:ns.adadelta,adagrad:ns.adagrad,rmsprop:ns.rmsprop,adamax:ns.adamax,adam:ns.adam};var dq=(()=>typeof requestAnimationFrame!=\"undefined\"?requestAnimationFrame:typeof setImmediate!=\"undefined\"?setImmediate:r=>r())();function CC(){return new Promise(r=>dq(()=>r()))}var S={};Ue(S,{ERF_A1:()=>$q,ERF_A2:()=>Aq,ERF_A3:()=>Rq,ERF_A4:()=>Fq,ERF_A5:()=>Dq,ERF_P:()=>Eq,PARALLELIZE_THRESHOLD:()=>Ud,RowPartitionType:()=>Ks,SELU_SCALE:()=>_q,SELU_SCALEALPHA:()=>Tq,applyActivation:()=>yu,assertAndGetBroadcastShape:()=>Je,assertAxesAreInnerMostDims:()=>DU,assertParamsConsistent:()=>fq,assignToTypedArray:()=>Vq,axesAreInnerMostDims:()=>uC,calculateShapes:()=>Jv,checkEinsumDimSizes:()=>qq,checkPadOnDimRoundingMode:()=>Pt,combineLocations:()=>nk,combineRaggedTensorToTensorShapes:()=>gq,complexWithEvenIndex:()=>Mq,complexWithOddIndex:()=>Lq,computeConv2DInfo:()=>uu,computeConv3DInfo:()=>N0,computeDefaultPad:()=>iC,computeDilation2DInfo:()=>OW,computeOptimalWindowSize:()=>Cq,computeOutAndReduceShapes:()=>FU,computeOutShape:()=>hq,computePool2DInfo:()=>aC,computePool3DInfo:()=>PW,convertConv2DDataFormat:()=>T0,decodeEinsumEquation:()=>Gq,eitherStridesOrDilationsAreOne:()=>lr,expandShapeToKeepDim:()=>Aa,exponent:()=>Wq,exponents:()=>zq,fromStringArrayToUint8:()=>dK,fromUint8ToStringArray:()=>mK,getAxesPermutation:()=>OU,getBroadcastDims:()=>Xv,getComplexWithIndex:()=>Bq,getEinsumComputePath:()=>Kq,getEinsumPermutation:()=>Hq,getFusedBiasGradient:()=>xu,getFusedDyActivation:()=>gu,getImageCenter:()=>Sq,getInnerMostAxes:()=>MU,getPermuted:()=>Iq,getRaggedRank:()=>yq,getReductionAxes:()=>jm,getReshaped:()=>wq,getReshapedPermuted:()=>vq,getRowPartitionTypesHelper:()=>xq,getSliceBeginCoords:()=>kq,getSliceSize:()=>Nq,getSparseFillEmptyRowsIndicesDenseShapeMismatch:()=>Qq,getSparseFillEmptyRowsNegativeIndexErrorMessage:()=>Zq,getSparseFillEmptyRowsOutOfRangeIndexErrorMessage:()=>Jq,getSparseReshapeEmptyTensorZeroOutputDimErrorMessage:()=>rK,getSparseReshapeInputOutputMismatchErrorMessage:()=>nK,getSparseReshapeInputOutputMultipleErrorMessage:()=>oK,getSparseReshapeMultipleNegativeOneOutputDimErrorMessage:()=>eK,getSparseReshapeNegativeOutputDimErrorMessage:()=>tK,getSparseSegmentReductionIndicesOutOfRangeErrorMessage:()=>uK,getSparseSegmentReductionNegativeSegmentIdsErrorMessage:()=>sK,getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage:()=>aK,getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage:()=>iK,getUndoAxesPermutation:()=>PU,isIdentityPermutation:()=>jq,log:()=>GV,mergeRealAndImagArrays:()=>Oq,prepareAndValidate:()=>Zv,prepareSplitSize:()=>Yq,segment_util:()=>wC,shouldFuse:()=>bu,slice_util:()=>ut,splitRealAndImagArrays:()=>Pq,tupleValuesAreOne:()=>iu,upcastType:()=>dt,validateDefaultValueShape:()=>bq,validateInput:()=>Qm,validateUpdateShape:()=>tC,warn:()=>Os});function fq(r,e){let t=r[0].length;r.forEach((n,s)=>{E(n.length===t,()=>`Error in concat${t}D: rank of tensors[${s}] must be the same as the rank of the rest (${t})`)}),E(e>=0&&e`Error in concat${t}D: axis must be between 0 and ${t-1}.`);let o=r[0];r.forEach((n,s)=>{for(let a=0;a`Error in concat${t}D: Shape of tensors[${s}] (${n}) does not match the shape of the rest (${o}) along the non-concatenated axis ${s}.`)})}function hq(r,e){let t=r[0].slice();for(let o=1;o=0)if(i>=0){if(i!==s)throw new Error(`rt input.shape and shape=${e} are incompatible: rt input.shape[${n+r}] = ${s} but shape[${n+r}] = ${i}`)}else o[a]=s}return o}function xq(r){let e={FIRST_DIM_SIZE:Ks.FIRST_DIM_SIZE,VALUE_ROWIDS:Ks.VALUE_ROWIDS,ROW_LENGTHS:Ks.ROW_LENGTHS,ROW_SPLITS:Ks.ROW_SPLITS,ROW_LIMITS:Ks.ROW_LIMITS,ROW_STARTS:Ks.ROW_STARTS},t=[];for(let o of r)if(o in e)t.push(e[o]);else break;return t}function yq(r){return r.length===0?0:r[0]===Ks.FIRST_DIM_SIZE?r.length-1:r.length}function bq(r,e){if(r==null||e==null)return;let t=r.length,o=e.length;if(t>=o)throw new Error(`defaultValue.shape=${r} and ragged tensor flatValues.shape=${e}, are incompatible: defaultValue.rank = ${t} must be less than ragged tensor input flatValues.rank = ${o})`);for(let n=0;n=0&&a>=0&&s!==1&&s!==a)throw new Error(`defaultValue.shape=${r}, and ragged tensor input flatValues.shape=${e} are incompatible: defaultValue.shape[${n-r.length}] = ${s} but ragged tensor input.flatValues.shape[${n-r.length}] = ${a}`)}}var Ud=30;function Cq(r){return r<=Ud?r:sp(r,Math.floor(Math.sqrt(r)))}function Sq(r,e,t){let o=t*(typeof r==\"number\"?r:r[0]),n=e*(typeof r==\"number\"?r:r[1]);return[o,n]}function wq(r,e,t,o=!0){let n=[];if(o)n=n.concat(e.slice(0)),n.push(r[0]/t),n=n.concat(r.slice(1));else{n=n.concat(r[0]);let s=e.length;for(let a=0;a=e*2+1||a%2===1?s.push(a):n.push(a);o.push(...n),o.push(0),o.push(...s)}return o}function vq(r,e,t,o=!0){let n=[];o?n.push(r[0]/t):n.push(r[0]*t);for(let s=1;s\",Uq=/->/g,SN=\",\",wN=\"...\";function Gq(r,e){r=r.replace(/\\s/g,\"\");let t=(r.length-r.replace(Uq,\"\").length)/SC.length;if(t<1)throw new Error(\"Equations without an arrow are not supported.\");if(t>1)throw new Error(`Equation must contain exactly one arrow (\"${SC}\").`);let[o,n]=r.split(SC);E(o.indexOf(wN)===-1,()=>`The ellipsis notation (\"${wN}\") is not supported yet.`);let s=o.split(SN),a=s.length;if(e!==a)throw new Error(`Expected ${a} input tensors, received ${e}`);if(a>2)throw new Error(\"Support for more than 2 input tensors is not implemented yet.\");let i=[];for(let m=0;mf.indexOf(d)!==-1))throw new Error(`Output subscripts contain the label ${d} not present in the input subscripts.`);i.indexOf(d)===-1&&i.push(d)}for(let m=0;mn!==-1),{permutationIndices:t,expandDims:o}}function qq(r,e,t){let o=new Array(r);for(let n=0;n`Expected dimension ${o[e[n][a]]} at axis ${a} of input shaped ${JSON.stringify(s)}, but got dimension ${s[a]}`)}}function Kq(r,e){let t=r,o=[],n=0;r.length===0&&t.push(-1),n=r.length+1;for(let a=0;ae===t)}function Xq(r,e){let t=[];for(let o=0;o\"Number of splits must evenly divide the axis.\"),o=new Array(e).fill(r.shape[t]/e);else{let n=e.reduce((a,i)=>(i===-1&&(a+=1),a),0);E(n<=1,()=>\"There should be only one negative value in split array.\");let s=e.indexOf(-1);if(s!==-1){let a=e.reduce((i,p)=>p>0?i+p:i);e[s]=r.shape[t]-a}E(r.shape[t]===e.reduce((a,i)=>a+i),()=>\"The sum of sizes must match the size of the axis dimension.\"),o=e}return o}function Qq(r){return`Received SparseTensor with denseShape[0] = 0 but\n indices.shape[0] = ${r}`}function Zq(r,e){return`indices(${r}, 0) is invalid: ${e} < 0`}function Jq(r,e,t){return`indices(${r}, 0) is invalid: ${e} >= ${t}`}function eK(r,e){return`only one output dimension may be -1, not both ${r} and ${e}`}function tK(r,e){return`size ${r} must be non-negative, not ${e}`}function rK(){return\"reshape cannot infer the missing input size for an empty tensor unless all specified input sizes are non-zero\"}function oK(r,e){let t=ze(r),o=ze(e);return`Input to reshape is a SparseTensor with ${t}\n dense values, but the requested shape requires a multiple of ${o}. inputShape=${r} outputShape= ${e}`}function nK(r,e){let t=ze(r),o=ze(e);return`Input to reshape is a tensor with ${t} dense values, but the requested shape has ${o}. inputShape=${r} outputShape=${e}`}function sK(){return\"segment ids must be >= 0\"}function aK(){return\"segment ids are not increasing\"}function iK(r,e){return`Segment id ${r} out of range [0, ${e}), possibly because segmentIds input is not sorted.`}function uK(r,e,t){return`Bad: indices[${r}] == ${e} out of range [0, ${t})`}var wC={};Ue(wC,{collectGatherOpShapeInfo:()=>lK,computeOutShape:()=>cK,segOpComputeOptimalWindowSize:()=>pK});function pK(r,e){let t=!1,o;for(r<=Ud?(o=r,t=!0):o=sp(r,Math.floor(Math.sqrt(r)));!t;)o>e||o===r?t=!0:o=sp(r,o+1);return o}function cK(r,e,t){let o=[],n=r.length;for(let s=0;sn))throw new Error(`Expect batchDims in the range of [-${n}, ${n}], but got ${o}`);if(o<0&&(o+=n),o>s)throw new Error(`batchDims (${o}) must be less than rank(x) (\n ${s}).`);if(tAp(e))}catch(e){throw new Error(`Failed to decode encoded string bytes into utf-8, error: ${e}`)}}function dK(r){return r.map(e=>gi(e))}var Lt={};Ue(Lt,{nonMaxSuppressionV3Impl:()=>Vd,nonMaxSuppressionV4Impl:()=>zd,nonMaxSuppressionV5Impl:()=>Wd,whereImpl:()=>Pd});var fK=O();fK.registerFlag(\"KEEP_INTERMEDIATE_TENSORS\",()=>!1,r=>{r&&console.warn(\"Keep intermediate tensors is ON. This will print the values of all intermediate tensors during model inference. Not all models support this mode. For details, check e2e/benchmarks/ model_config.js. This significantly impacts performance.\")});var ao;(function(r){r[r.DT_INVALID=0]=\"DT_INVALID\",r[r.DT_FLOAT=1]=\"DT_FLOAT\",r[r.DT_DOUBLE=2]=\"DT_DOUBLE\",r[r.DT_INT32=3]=\"DT_INT32\",r[r.DT_UINT8=4]=\"DT_UINT8\",r[r.DT_INT16=5]=\"DT_INT16\",r[r.DT_INT8=6]=\"DT_INT8\",r[r.DT_STRING=7]=\"DT_STRING\",r[r.DT_COMPLEX64=8]=\"DT_COMPLEX64\",r[r.DT_INT64=9]=\"DT_INT64\",r[r.DT_BOOL=10]=\"DT_BOOL\",r[r.DT_QINT8=11]=\"DT_QINT8\",r[r.DT_QUINT8=12]=\"DT_QUINT8\",r[r.DT_QINT32=13]=\"DT_QINT32\",r[r.DT_BFLOAT16=14]=\"DT_BFLOAT16\",r[r.DT_QINT16=15]=\"DT_QINT16\",r[r.DT_QUINT16=16]=\"DT_QUINT16\",r[r.DT_UINT16=17]=\"DT_UINT16\",r[r.DT_COMPLEX128=18]=\"DT_COMPLEX128\",r[r.DT_HALF=19]=\"DT_HALF\",r[r.DT_RESOURCE=20]=\"DT_RESOURCE\",r[r.DT_VARIANT=21]=\"DT_VARIANT\",r[r.DT_UINT32=22]=\"DT_UINT32\",r[r.DT_UINT64=23]=\"DT_UINT64\",r[r.DT_FLOAT_REF=101]=\"DT_FLOAT_REF\",r[r.DT_DOUBLE_REF=102]=\"DT_DOUBLE_REF\",r[r.DT_INT32_REF=103]=\"DT_INT32_REF\",r[r.DT_UINT8_REF=104]=\"DT_UINT8_REF\",r[r.DT_INT16_REF=105]=\"DT_INT16_REF\",r[r.DT_INT8_REF=106]=\"DT_INT8_REF\",r[r.DT_STRING_REF=107]=\"DT_STRING_REF\",r[r.DT_COMPLEX64_REF=108]=\"DT_COMPLEX64_REF\",r[r.DT_INT64_REF=109]=\"DT_INT64_REF\",r[r.DT_BOOL_REF=110]=\"DT_BOOL_REF\",r[r.DT_QINT8_REF=111]=\"DT_QINT8_REF\",r[r.DT_QUINT8_REF=112]=\"DT_QUINT8_REF\",r[r.DT_QINT32_REF=113]=\"DT_QINT32_REF\",r[r.DT_BFLOAT16_REF=114]=\"DT_BFLOAT16_REF\",r[r.DT_QINT16_REF=115]=\"DT_QINT16_REF\",r[r.DT_QUINT16_REF=116]=\"DT_QUINT16_REF\",r[r.DT_UINT16_REF=117]=\"DT_UINT16_REF\",r[r.DT_COMPLEX128_REF=118]=\"DT_COMPLEX128_REF\",r[r.DT_HALF_REF=119]=\"DT_HALF_REF\",r[r.DT_RESOURCE_REF=120]=\"DT_RESOURCE_REF\",r[r.DT_VARIANT_REF=121]=\"DT_VARIANT_REF\",r[r.DT_UINT32_REF=122]=\"DT_UINT32_REF\",r[r.DT_UINT64_REF=123]=\"DT_UINT64_REF\"})(ao||(ao={}));var IN;(function(r){let e;(function(t){t[t.LEGACY=0]=\"LEGACY\",t[t.V1=1]=\"V1\",t[t.V2=2]=\"V2\"})(e=r.CheckpointFormatVersion||(r.CheckpointFormatVersion={}))})(IN||(IN={}));var vC={};function gK(r,e){let t={tfOpName:r,category:\"custom\",inputs:[],attrs:[],customExecutor:e};vC[r]=t}function Gd(r){return vC[r]}function xK(r){delete vC[r]}function I(r,e,t,o,n){let s=e.inputParams[r];if(s&&s.inputIndexStart!==void 0){let i=s.inputIndexStart,p=s.inputIndexEnd===0?void 0:s.inputIndexEnd===void 0?i+1:s.inputIndexEnd;if(s.type===\"tensor\")return Gt(e.inputNames[s.inputIndexStart],t,o,n);if(s.type===\"tensors\")return e.inputNames.slice(i,p).map(m=>Gt(m,t,o,n));let u=Gt(e.inputNames.slice(i)[0],t,o,n),c=u.dataSync();return s.type===\"number\"?c[0]:y.toNestedArray(u.shape,c)}let a=e.attrParams[r];return a&&a.value}function Gt(r,e,t,o){let[n,s]=Ir(r);if(o!=null){let i=o.getHashTableHandleByName(n);if(i!=null)return i}let a=t.currentContextIds.find(i=>!!e[Hd(n,i)]);return a!==void 0?e[Hd(n,a)][s]:void 0}function vN(r,e,t){return e[Hd(r,t.currentContextId)]}function ss(r,e){let[t,o,n]=Ir(r);return[Hd(t,e&&e.currentContextId),o,n]}function Hd(r,e){return e?`${r}-${e}`:r}function Ir(r){let e=r.split(\":\");if(e.length===1)return[r,0,void 0];let t=e[0],o=e.length===3?e[1]:void 0,n=Number(e[e.length-1]);return[t,n,o]}function ul(r,e,t){let o=I(\"pad\",r,e,t);if(o===\"explicit\"){o=I(\"explicitPaddings\",r,e,t);let n=[[0,0],[0,0],[0,0],[0,0]];for(let s=0;s<4;s++)n[s][0]=o[s*2],n[s][1]=o[s*2+1];return n}return o}function as(r){return r.kept?r:Br(r)}var kC={};Ue(kC,{json:()=>yK});var yK=[{tfOpName:\"Add\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"AddV2\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"AddN\",category:\"arithmetic\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}]},{tfOpName:\"BiasAdd\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"Sub\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"RealDiv\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Div\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"DivNoNan\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"FloorDiv\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Mul\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Maximum\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Minimum\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Pow\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"SquaredDifference\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Mod\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"FloorMod\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]}];var NC={};Ue(NC,{json:()=>bK});var bK=[{tfOpName:\"Abs\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Acos\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Asin\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Atan\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Atan2\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"y\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Ceil\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ClipByValue\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"clipValueMin\",type:\"number\"},{start:2,name:\"clipValueMax\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Complex\",category:\"basic_math\",inputs:[{start:0,name:\"real\",type:\"tensor\"},{start:1,name:\"imag\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ComplexAbs\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Cos\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Cosh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Elu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Exp\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Floor\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Log\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Imag\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"outputType\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Neg\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Real\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"outputType\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Prelu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"alpha\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Relu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Relu6\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Selu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sigmoid\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sin\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sinh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sqrt\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Rsqrt\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Square\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Tan\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Tanh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sign\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Round\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Expm1\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Log1p\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Reciprocal\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Softplus\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Asinh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Acosh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Atanh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Erf\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Prod\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axes\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\",notSupported:!0},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LeakyRelu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"alpha\",name:\"alpha\",type:\"number\",defaultValue:.2},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"IsNan\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]}];var TC={};Ue(TC,{json:()=>CK});var CK=[{tfOpName:\"EmptyTensorList\",category:\"control\",inputs:[{start:0,name:\"elementShape\",type:\"shape\"},{start:1,name:\"maxNumElements\",type:\"number\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"LoopCond\",category:\"control\",inputs:[{start:0,name:\"pred\",type:\"tensor\"}]},{tfOpName:\"Switch\",category:\"control\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"pred\",type:\"tensor\"}]},{tfOpName:\"Merge\",category:\"control\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}]},{tfOpName:\"Enter\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"frame_name\",name:\"frameName\",type:\"string\"},{tfName:\"is_constant\",name:\"isConstant\",type:\"bool\"}]},{tfOpName:\"Exit\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"NextIteration\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"TensorArrayV3\",category:\"control\",inputs:[{start:0,name:\"size\",type:\"number\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"element_shape\",name:\"elementShape\",type:\"shape\"},{tfName:\"dynamic_size\",name:\"dynamicSize\",type:\"bool\"},{tfName:\"clear_after_read\",name:\"clearAfterRead\",type:\"bool\"},{tfName:\"identical_element_shapes\",name:\"identicalElementShapes\",type:\"bool\"},{tfName:\"tensor_array_name\",name:\"name\",type:\"string\"}]},{tfOpName:\"TensorArrayWriteV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"index\",type:\"number\"},{start:2,name:\"tensor\",type:\"tensor\"},{start:3,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"TensorArrayReadV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"index\",type:\"number\"},{start:2,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"TensorArrayGatherV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"element_shape\",name:\"elementShape\",type:\"shape\"}]},{tfOpName:\"TensorArrayScatterV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"tensor\",type:\"tensor\"},{start:3,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"TensorArrayConcatV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"element_shape_except0\",name:\"elementShapeExcept0\",type:\"shape\",notSupported:!0}]},{tfOpName:\"TensorArraySplitV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"tensor\",type:\"tensor\"},{start:2,name:\"lengths\",type:\"number[]\"},{start:3,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"TensorArraySizeV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"flowIn\",type:\"number\"}]},{tfOpName:\"TensorArrayCloseV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"}]},{tfOpName:\"StatelessIf\",category:\"control\",inputs:[{start:0,name:\"cond\",type:\"tensor\"},{start:1,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"then_branch\",name:\"thenBranch\",type:\"func\"},{tfName:\"else_branch\",name:\"elseBranch\",type:\"func\"}]},{tfOpName:\"If\",category:\"control\",inputs:[{start:0,name:\"cond\",type:\"tensor\"},{start:1,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"then_branch\",name:\"thenBranch\",type:\"func\"},{tfName:\"else_branch\",name:\"elseBranch\",type:\"func\"}]},{tfOpName:\"StatelessWhile\",category:\"control\",inputs:[{start:0,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"cond\",name:\"cond\",type:\"func\"},{tfName:\"body\",name:\"body\",type:\"func\"}]},{tfOpName:\"While\",category:\"control\",inputs:[{start:0,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"cond\",name:\"cond\",type:\"func\"},{tfName:\"body\",name:\"body\",type:\"func\"}]},{tfOpName:\"TensorListScatter\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListScatterV2\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"elementShape\",type:\"shape\"},{start:3,name:\"numElements\",type:\"number\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListGather\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListGetItem\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"index\",type:\"number\"},{start:2,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListSetItem\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"index\",type:\"number\"},{start:2,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListReserve\",category:\"control\",inputs:[{start:0,name:\"elementShape\",type:\"shape\"},{start:1,name:\"numElements\",type:\"number\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListFromTensor\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListStack\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"},{tfName:\"num_elements\",name:\"numElements\",type:\"dtype\"}]},{tfOpName:\"TensorListSplit\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"elementShape\",type:\"shape\"},{start:2,name:\"lengths\",type:\"number[]\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListConcat\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"}],attrs:[{tfName:\"element_shape\",name:\"elementShape\",type:\"shape\"},{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListConcatV2\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"}],attrs:[{tfName:\"element_shape\",name:\"elementShape\",type:\"shape\"},{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListPopBack\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListPushBack\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListLength\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"}]},{tfOpName:\"TensorListResize\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"size\",type:\"number\"}]}];var _C={};Ue(_C,{json:()=>SK});var SK=[{tfOpName:\"AvgPool\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"MaxPool\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[],notSupported:!0},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"MaxPoolWithArgmax\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"include_batch_in_index\",name:\"includeBatchInIndex\",type:\"bool\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"AvgPool3D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"MaxPool3D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Conv1D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"stride\",name:\"stride\",type:\"number\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NWC\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"dilation\",name:\"dilation\",type:\"number\",defaultValue:1}]},{tfOpName:\"Conv2D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"useCudnnOnGpu\",name:\"useCudnnOnGpu\",type:\"bool\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\"}]},{tfOpName:\"_FusedConv2D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"},{start:2,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"num_args\",name:\"numArgs\",type:\"number\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"use_cudnn_on_gpu\",name:\"useCudnnOnGpu\",type:\"bool\",defaultValue:!0},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\",defaultValue:[1,1,1,1]},{tfName:\"fused_ops\",name:\"fusedOps\",type:\"string[]\",defaultValue:[]},{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:1e-4},{tfName:\"leakyrelu_alpha\",name:\"leakyreluAlpha\",type:\"number\",defaultValue:.2}]},{tfOpName:\"Conv2DBackpropInput\",category:\"convolution\",inputs:[{start:2,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"},{start:0,name:\"outputShape\",type:\"number[]\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\",notSupported:!0}]},{tfOpName:\"DepthwiseConv2d\",category:\"convolution\",inputs:[{start:0,name:\"input\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\"}]},{tfOpName:\"DepthwiseConv2dNative\",category:\"convolution\",inputs:[{start:0,name:\"input\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\"}]},{tfOpName:\"FusedDepthwiseConv2dNative\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"},{start:2,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"num_args\",name:\"numArgs\",type:\"number\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\",defaultValue:[1,1,1,1]},{tfName:\"fused_ops\",name:\"fusedOps\",type:\"string[]\",defaultValue:[]},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]}]},{tfOpName:\"Conv3D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\"}]},{tfOpName:\"Dilation2D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"rates\",name:\"dilations\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"}]}];var EC={};Ue(EC,{json:()=>wK});var wK=[{tfOpName:\"Fill\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"},{start:1,name:\"value\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"LinSpace\",category:\"creation\",inputs:[{start:0,name:\"start\",type:\"number\"},{start:1,name:\"stop\",type:\"number\"},{start:2,name:\"num\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"OneHot\",category:\"creation\",inputs:[{start:0,name:\"indices\",type:\"tensor\"},{start:1,name:\"depth\",type:\"number\"},{start:2,name:\"onValue\",type:\"number\",defaultValue:1},{start:3,name:\"offValue\",type:\"number\",defaultValue:0}],attrs:[{tfName:\"axis\",name:\"axis\",type:\"number\",notSupported:!0},{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Ones\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"OnesLike\",category:\"creation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"RandomStandardNormal\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"seed\",name:\"seed\",type:\"number\",defaultValue:0},{tfName:\"seed2\",name:\"seed2\",type:\"number\",defaultValue:0,notSupported:!0},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"T\",name:\"T\",type:\"number\",notSupported:!0}]},{tfOpName:\"RandomUniform\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"minval\",name:\"minval\",type:\"number\",defaultValue:0},{tfName:\"maxval\",name:\"maxval\",type:\"number\",defaultValue:1},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"seed\",name:\"seed\",type:\"number\",defaultValue:0},{tfName:\"seed2\",name:\"seed2\",type:\"number\",defaultValue:0,notSupported:!0},{tfName:\"T\",name:\"T\",type:\"number\",notSupported:!0}]},{tfOpName:\"Range\",category:\"creation\",inputs:[{start:0,name:\"start\",type:\"number\"},{start:1,name:\"stop\",type:\"number\"},{start:2,name:\"step\",type:\"number\",defaultValue:0}],attrs:[{tfName:\"Tidx\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"TruncatedNormal\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"means\",name:\"mean\",type:\"number\",defaultValue:0},{tfName:\"stddev\",name:\"stdDev\",type:\"number\",defaultValue:1},{tfName:\"seed\",name:\"seed\",type:\"number\"},{tfName:\"seed2\",name:\"seed2\",type:\"number\",defaultValue:0,notSupported:!0},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"T\",name:\"T\",type:\"number\",notSupported:!0}]},{tfOpName:\"Zeros\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"ZerosLike\",category:\"creation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Multinomial\",category:\"creation\",inputs:[{start:0,name:\"logits\",type:\"tensor\"},{start:1,name:\"numSamples\",type:\"number\"}],attrs:[{tfName:\"seed\",name:\"seed\",type:\"number\"},{tfName:\"seed2\",name:\"seed2\",type:\"number\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\"},{tfName:\"output_dtype\",name:\"output_dtype\",type:\"dtype\"}]}];var $C={};Ue($C,{json:()=>IK});var IK=[{tfOpName:\"NonMaxSuppressionV2\",category:\"dynamic\",inputs:[{start:0,name:\"boxes\",type:\"tensor\"},{start:1,name:\"scores\",type:\"tensor\"},{start:2,name:\"maxOutputSize\",type:\"number\"},{start:3,name:\"iouThreshold\",type:\"number\"}]},{tfOpName:\"NonMaxSuppressionV3\",category:\"dynamic\",inputs:[{start:0,name:\"boxes\",type:\"tensor\"},{start:1,name:\"scores\",type:\"tensor\"},{start:2,name:\"maxOutputSize\",type:\"number\"},{start:3,name:\"iouThreshold\",type:\"number\"},{start:4,name:\"scoreThreshold\",type:\"number\"}]},{tfOpName:\"NonMaxSuppressionV4\",category:\"dynamic\",inputs:[{start:0,name:\"boxes\",type:\"tensor\"},{start:1,name:\"scores\",type:\"tensor\"},{start:2,name:\"maxOutputSize\",type:\"number\"},{start:3,name:\"iouThreshold\",type:\"number\"},{start:4,name:\"scoreThreshold\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"T_threshold\",name:\"threshold\",type:\"dtype\",notSupported:!0},{tfName:\"pad_to_max_output_size\",name:\"padToMaxOutputSize\",type:\"bool\"}]},{tfOpName:\"NonMaxSuppressionV5\",category:\"dynamic\",inputs:[{start:0,name:\"boxes\",type:\"tensor\"},{start:1,name:\"scores\",type:\"tensor\"},{start:2,name:\"maxOutputSize\",type:\"number\"},{start:3,name:\"iouThreshold\",type:\"number\"},{start:4,name:\"scoreThreshold\",type:\"number\"},{start:5,name:\"softNmsSigma\",type:\"number\"}]},{tfOpName:\"Where\",category:\"dynamic\",inputs:[{start:0,name:\"condition\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ListDiff\",category:\"dynamic\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"y\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]}];var AC={};Ue(AC,{json:()=>vK});var vK=[{tfOpName:\"LowerBound\",category:\"evaluation\",inputs:[{start:0,name:\"sortedSequence\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"}]},{tfOpName:\"TopKV2\",category:\"evaluation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"k\",type:\"number\"}],attrs:[{tfName:\"sorted\",name:\"sorted\",type:\"bool\"}]},{tfOpName:\"UpperBound\",category:\"evaluation\",inputs:[{start:0,name:\"sortedSequence\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"}]},{tfOpName:\"Unique\",category:\"evaluation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"UniqueV2\",category:\"evaluation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}]}];var RC={};Ue(RC,{json:()=>kK});var kK=[{tfOpName:\"PlaceholderWithDefault\",category:\"graph\",inputs:[{start:0,name:\"default\",type:\"tensor\"}],attrs:[{tfName:\"shape\",name:\"shape\",type:\"shape\"},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Placeholder\",category:\"graph\",attrs:[{tfName:\"shape\",name:\"shape\",type:\"shape\"},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Const\",category:\"graph\"},{tfOpName:\"Identity\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"IdentityN\",category:\"graph\",inputs:[{start:0,end:0,name:\"x\",type:\"tensors\"}]},{tfOpName:\"Snapshot\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"Rank\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"Size\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"Shape\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"ShapeN\",category:\"graph\",inputs:[{start:0,end:0,name:\"x\",type:\"tensors\"}]},{tfOpName:\"Print\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"data\",type:\"tensors\"}],attrs:[{tfName:\"message\",name:\"message\",type:\"string\"},{tfName:\"first_n\",name:\"firstN\",type:\"number\",notSupported:!0},{tfName:\"summarize\",name:\"summarize\",type:\"number\",defaultValue:3}]},{tfOpName:\"NoOp\",category:\"graph\",inputs:[]},{tfOpName:\"StopGradient\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"FakeQuantWithMinMaxVars\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"min\",name:\"min\",type:\"number\"},{tfName:\"max\",name:\"max\",type:\"number\"}]}];var FC={};Ue(FC,{json:()=>NK});var NK=[{tfOpName:\"HashTable\",category:\"hash_table\",inputs:[],attrs:[{tfName:\"shared_name\",name:\"sharedName\",type:\"string\"},{tfName:\"use_node_name_sharing\",name:\"useNodeNameSharing\",type:\"bool\"},{tfName:\"key_dtype\",name:\"keyDType\",type:\"dtype\"},{tfName:\"value_dtype\",name:\"valueDType\",type:\"dtype\"}]},{tfOpName:\"HashTableV2\",category:\"hash_table\",inputs:[],attrs:[{tfName:\"shared_name\",name:\"sharedName\",type:\"string\"},{tfName:\"use_node_name_sharing\",name:\"useNodeNameSharing\",type:\"bool\"},{tfName:\"key_dtype\",name:\"keyDType\",type:\"dtype\"},{tfName:\"value_dtype\",name:\"valueDType\",type:\"dtype\"}]},{tfOpName:\"LookupTableImport\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}],attrs:[{tfName:\"Tin\",name:\"tIn\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"tOut\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LookupTableImportV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}],attrs:[{tfName:\"Tin\",name:\"tIn\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"tOut\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LookupTableFind\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"defaultValue\",type:\"tensor\"}],attrs:[{tfName:\"Tin\",name:\"tIn\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"tOut\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LookupTableFindV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"defaultValue\",type:\"tensor\"}],attrs:[{tfName:\"Tin\",name:\"tIn\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"tOut\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LookupTableSize\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"}]},{tfOpName:\"LookupTableSizeV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"}]},{tfOpName:\"InitializeTable\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}]},{tfOpName:\"InitializeTableV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}]}];var DC={};Ue(DC,{json:()=>TK});var TK=[{tfOpName:\"ResizeBilinear\",category:\"image\",inputs:[{start:0,name:\"images\",type:\"tensor\"},{start:1,name:\"size\",type:\"number[]\"}],attrs:[{tfName:\"align_corners\",name:\"alignCorners\",type:\"bool\"},{tfName:\"half_pixel_centers\",name:\"halfPixelCenters\",type:\"bool\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ResizeNearestNeighbor\",category:\"image\",inputs:[{start:0,name:\"images\",type:\"tensor\"},{start:1,name:\"size\",type:\"number[]\"}],attrs:[{tfName:\"align_corners\",name:\"alignCorners\",type:\"bool\"},{tfName:\"half_pixel_centers\",name:\"halfPixelCenters\",type:\"bool\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"CropAndResize\",category:\"image\",inputs:[{start:0,name:\"image\",type:\"tensor\"},{start:1,name:\"boxes\",type:\"tensor\"},{start:2,name:\"boxInd\",type:\"tensor\"},{start:3,name:\"cropSize\",type:\"number[]\"}],attrs:[{tfName:\"method\",name:\"method\",type:\"string\"},{tfName:\"extrapolation_value\",name:\"extrapolationValue\",type:\"number\"}]},{tfOpName:\"ImageProjectiveTransformV3\",category:\"image\",inputs:[{start:0,name:\"images\",type:\"tensor\"},{start:1,name:\"transforms\",type:\"tensor\"},{start:2,name:\"outputShape\",type:\"number[]\"},{start:3,name:\"fillValue\",type:\"number\"}],attrs:[{tfName:\"interpolation\",name:\"interpolation\",type:\"string\"},{tfName:\"fill_mode\",name:\"fillMode\",type:\"string\"}]}];var OC={};Ue(OC,{json:()=>_K});var _K=[{tfOpName:\"Equal\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"NotEqual\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Greater\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"GreaterEqual\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Less\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LessEqual\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LogicalAnd\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LogicalNot\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LogicalOr\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Select\",category:\"logical\",inputs:[{start:0,name:\"condition\",type:\"tensor\"},{start:1,name:\"a\",type:\"tensor\"},{start:2,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"SelectV2\",category:\"logical\",inputs:[{start:0,name:\"condition\",type:\"tensor\"},{start:1,name:\"a\",type:\"tensor\"},{start:2,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]}];var PC={};Ue(PC,{json:()=>EK});var EK=[{tfOpName:\"_FusedMatMul\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"},{start:2,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"num_args\",name:\"numArgs\",type:\"number\"},{tfName:\"fused_ops\",name:\"fusedOps\",type:\"string[]\",defaultValue:[]},{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:1e-4},{tfName:\"transpose_a\",name:\"transposeA\",type:\"bool\",defaultValue:!1},{tfName:\"transpose_b\",name:\"transposeB\",type:\"bool\",defaultValue:!1},{tfName:\"leakyrelu_alpha\",name:\"leakyreluAlpha\",type:\"number\",defaultValue:.2},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"MatMul\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"transpose_a\",name:\"transposeA\",type:\"bool\",defaultValue:!1},{tfName:\"transpose_b\",name:\"transposeB\",type:\"bool\",defaultValue:!1},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"BatchMatMul\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"adj_x\",name:\"transposeA\",type:\"bool\",defaultValue:!1},{tfName:\"adj_y\",name:\"transposeB\",type:\"bool\",defaultValue:!1},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"BatchMatMulV2\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"adj_x\",name:\"transposeA\",type:\"bool\",defaultValue:!1},{tfName:\"adj_y\",name:\"transposeB\",type:\"bool\",defaultValue:!1},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Transpose\",category:\"matrices\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"perm\",type:\"number[]\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Einsum\",category:\"matrices\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}],attrs:[{tfName:\"equation\",name:\"equation\",type:\"string\"},{tfName:\"N\",name:\"n\",type:\"number\",defaultValue:2},{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]}];var MC={};Ue(MC,{json:()=>$K});var $K=[{tfOpName:\"EuclideanNorm\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\",defaultValue:!1}]},{tfOpName:\"FusedBatchNorm\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"scale\",type:\"tensor\"},{start:2,name:\"offset\",type:\"tensor\"},{start:3,name:\"mean\",type:\"tensor\"},{start:4,name:\"variance\",type:\"tensor\"}],attrs:[{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:.001},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"FusedBatchNormV2\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"scale\",type:\"tensor\"},{start:2,name:\"offset\",type:\"tensor\"},{start:3,name:\"mean\",type:\"tensor\"},{start:4,name:\"variance\",type:\"tensor\"}],attrs:[{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:.001},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"FusedBatchNormV3\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"scale\",type:\"tensor\"},{start:2,name:\"offset\",type:\"tensor\"},{start:3,name:\"mean\",type:\"tensor\"},{start:4,name:\"variance\",type:\"tensor\"}],attrs:[{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:.001},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"LRN\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"depth_radius\",name:\"radius\",type:\"number\",defaultValue:5},{tfName:\"bias\",name:\"bias\",type:\"number\",defaultValue:1},{tfName:\"alpha\",name:\"alpha\",type:\"number\",defaultValue:1},{tfName:\"beta\",name:\"beta\",type:\"number\",defaultValue:.5}]},{tfOpName:\"Softmax\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"LogSoftmax\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"SparseToDense\",category:\"normalization\",inputs:[{start:0,name:\"sparseIndices\",type:\"tensor\"},{start:1,name:\"outputShape\",type:\"number[]\"},{start:2,name:\"sparseValues\",type:\"tensor\"},{start:3,name:\"defaultValue\",type:\"tensor\"}],attrs:[{tfName:\"validate_indices\",name:\"validateIndices\",type:\"bool\",defaultValue:!0,notSupported:!0}]}];var LC={};Ue(LC,{json:()=>AK});var AK=[{tfOpName:\"Bincount\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"size\",type:\"number\"},{start:2,name:\"weights\",type:\"tensor\"}]},{tfOpName:\"DenseBincount\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"size\",type:\"number\"},{start:2,name:\"weights\",type:\"tensor\"}],attrs:[{tfName:\"binary_output\",name:\"binaryOutput\",type:\"bool\"}]},{tfOpName:\"Max\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Mean\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Min\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Sum\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"All\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Any\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"ArgMax\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}]},{tfOpName:\"ArgMin\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}]},{tfOpName:\"Prod\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Cumprod\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}],attrs:[{tfName:\"exclusive\",name:\"exclusive\",type:\"bool\"},{tfName:\"reverse\",name:\"reverse\",type:\"bool\"}]},{tfOpName:\"Cumsum\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}],attrs:[{tfName:\"exclusive\",name:\"exclusive\",type:\"bool\"},{tfName:\"reverse\",name:\"reverse\",type:\"bool\"}]}];var BC={};Ue(BC,{json:()=>RK});var RK=[{tfOpName:\"ConcatV2\",category:\"slice_join\",inputs:[{start:0,end:-1,name:\"tensors\",type:\"tensors\"},{start:-1,name:\"axis\",type:\"number\"}],attrs:[{tfName:\"N\",name:\"n\",type:\"number\",defaultValue:2}]},{tfOpName:\"Concat\",category:\"slice_join\",inputs:[{start:1,end:0,name:\"tensors\",type:\"tensors\"},{start:0,name:\"axis\",type:\"number\"}],attrs:[{tfName:\"N\",name:\"n\",type:\"number\",defaultValue:2}]},{tfOpName:\"GatherV2\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"axis\",type:\"number\",defaultValue:0}],attrs:[{tfName:\"batch_dims\",name:\"batchDims\",type:\"number\",defaultValue:0}]},{tfOpName:\"Gather\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"}],attrs:[{tfName:\"validate_indices\",name:\"validateIndices\",type:\"bool\",notSupported:!0}]},{tfOpName:\"Reverse\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"dims\",type:\"bool[]\"}]},{tfOpName:\"ReverseV2\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}]},{tfOpName:\"Slice\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"begin\",type:\"number[]\"},{start:2,name:\"size\",type:\"number[]\"}]},{tfOpName:\"StridedSlice\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"begin\",type:\"number[]\"},{start:2,name:\"end\",type:\"number[]\"},{start:3,name:\"strides\",type:\"number[]\"}],attrs:[{tfName:\"begin_mask\",name:\"beginMask\",type:\"number\",defaultValue:0},{tfName:\"end_mask\",name:\"endMask\",type:\"number\",defaultValue:0},{tfName:\"new_axis_mask\",name:\"newAxisMask\",type:\"number\",defaultValue:0},{tfName:\"ellipsis_mask\",name:\"ellipsisMask\",type:\"number\",defaultValue:0},{tfName:\"shrink_axis_mask\",name:\"shrinkAxisMask\",type:\"number\",defaultValue:0}]},{tfOpName:\"Pack\",category:\"slice_join\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}],attrs:[{tfName:\"axis\",name:\"axis\",type:\"number\",defaultValue:0}]},{tfOpName:\"Unpack\",category:\"slice_join\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"axis\",name:\"axis\",type:\"number\",defaultValue:0},{tfName:\"num\",name:\"num\",type:\"number\",defaultValue:0,notSupported:!0}]},{tfOpName:\"Tile\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"reps\",type:\"number[]\"}]},{tfOpName:\"Split\",category:\"slice_join\",inputs:[{start:0,name:\"axis\",type:\"number\",defaultValue:0},{start:1,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"num_split\",name:\"numOrSizeSplits\",type:\"number\",defaultValue:1}]},{tfOpName:\"SplitV\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"numOrSizeSplits\",type:\"number[]\"},{start:2,name:\"axis\",type:\"number\",defaultValue:0}]},{tfOpName:\"ScatterNd\",category:\"slice_join\",inputs:[{start:0,name:\"indices\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"},{start:2,name:\"shape\",type:\"number[]\"}]},{tfOpName:\"GatherNd\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"}]},{tfOpName:\"SparseToDense\",category:\"slice_join\",inputs:[{start:0,name:\"sparseIndices\",type:\"tensor\"},{start:1,name:\"outputShape\",type:\"number[]\"},{start:2,name:\"sparseValues\",type:\"tensor\"},{start:3,name:\"defaultValue\",type:\"tensor\"}],attrs:[{tfName:\"validate_indices\",name:\"validateIndices\",type:\"bool\",defaultValue:!1,notSupported:!0}]}];var VC={};Ue(VC,{json:()=>FK});var FK=[{tfOpName:\"SparseFillEmptyRows\",category:\"sparse\",inputs:[{start:0,name:\"indices\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"},{start:2,name:\"denseShape\",type:\"tensor\"},{start:3,name:\"defaultValue\",type:\"tensor\"}]},{tfOpName:\"SparseReshape\",category:\"sparse\",inputs:[{start:0,name:\"inputIndices\",type:\"tensor\"},{start:1,name:\"inputShape\",type:\"tensor\"},{start:2,name:\"newShape\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"SparseSegmentMean\",category:\"sparse\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"segmentIds\",type:\"tensor\"}]},{tfOpName:\"SparseSegmentSum\",category:\"sparse\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"segmentIds\",type:\"tensor\"}]}];var zC={};Ue(zC,{json:()=>DK});var DK=[{tfOpName:\"FFT\",category:\"spectral\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"IFFT\",category:\"spectral\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"RFFT\",category:\"spectral\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"fft_length\",type:\"number\",notSupported:!0}]},{tfOpName:\"IRFFT\",category:\"spectral\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"fft_length\",type:\"number\",notSupported:!0}]}];var WC={};Ue(WC,{json:()=>OK});var OK=[{tfOpName:\"StringNGrams\",category:\"string\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"dataSplits\",type:\"tensor\"}],attrs:[{tfName:\"separator\",name:\"separator\",type:\"string\"},{tfName:\"ngram_widths\",name:\"nGramWidths\",type:\"number[]\"},{tfName:\"left_pad\",name:\"leftPad\",type:\"string\"},{tfName:\"right_pad\",name:\"rightPad\",type:\"string\"},{tfName:\"pad_width\",name:\"padWidth\",type:\"number\"},{tfName:\"preserve_short_sequences\",name:\"preserveShortSequences\",type:\"bool\"}],outputs:[\"ngrams\",\"ngrams_splits\"]},{tfOpName:\"StringSplit\",category:\"string\",inputs:[{start:0,name:\"input\",type:\"tensor\"},{start:1,name:\"delimiter\",type:\"tensor\"}],attrs:[{tfName:\"skip_empty\",name:\"skipEmpty\",type:\"bool\"}],outputs:[\"indices\",\"values\",\"shape\"]},{tfOpName:\"StringToHashBucketFast\",category:\"string\",inputs:[{start:0,name:\"input\",type:\"tensor\"}],attrs:[{tfName:\"num_buckets\",name:\"numBuckets\",type:\"number\"}]}];var UC={};Ue(UC,{json:()=>PK});var PK=[{tfOpName:\"Cast\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"SrcT\",name:\"sdtype\",type:\"dtype\",notSupported:!0},{tfName:\"DstT\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"ExpandDims\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}]},{tfOpName:\"MirrorPad\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"padding\",type:\"number[]\"}],attrs:[{tfName:\"mode\",name:\"mode\",type:\"string\"}]},{tfOpName:\"Pad\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"padding\",type:\"number[]\"}],attrs:[{tfName:\"constant_value\",name:\"constantValue\",type:\"number\",defaultValue:0}]},{tfOpName:\"PadV2\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"padding\",type:\"number[]\"},{start:2,name:\"constantValue\",type:\"number\",defaultValue:0}]},{tfOpName:\"Reshape\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"shape\",type:\"number[]\"}]},{tfOpName:\"Squeeze\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"axis\",tfDeprecatedName:\"squeeze_dims\",name:\"axis\",type:\"number[]\"}]},{tfOpName:\"SpaceToBatchND\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"blockShape\",type:\"number[]\"},{start:2,name:\"paddings\",type:\"number[]\"}]},{tfOpName:\"BatchToSpaceND\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"blockShape\",type:\"number[]\"},{start:2,name:\"crops\",type:\"number[]\"}]},{tfOpName:\"DepthToSpace\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"block_size\",name:\"blockSize\",type:\"number\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\"}]},{tfOpName:\"BroadcastTo\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"shape\",type:\"number[]\"}],attrs:[]},{tfOpName:\"BroadcastArgs\",category:\"transformation\",inputs:[{start:0,name:\"s0\",type:\"tensor\"},{start:1,name:\"s1\",type:\"tensor\"}],attrs:[]}];var pl=class{constructor(){let e=[kC,NC,TC,_C,EC,$C,AC,RC,FC,DC,OC,PC,MC,LC,BC,VC,zC,WC,UC],t=[].concat(...e.map(o=>o.json));this.opMappers=t.reduce((o,n)=>(o[n.tfOpName]=n,o),{})}static get Instance(){return this._instance||(this._instance=new this)}transformGraph(e,t={}){let o=e.node,n=[],s=[],a=[],i=o.reduce((h,g)=>(h[g.name]=this.mapNode(g),g.op.startsWith(\"Placeholder\")?n.push(h[g.name]):g.op===\"Const\"?s.push(h[g.name]):(g.input==null||g.input.length===0)&&a.push(h[g.name]),h),{}),p=[],u=[],c={},l={};t!=null&&(c=this.mapSignatureEntries(t.inputs),l=this.mapSignatureEntries(t.outputs));let m=Object.keys(i);m.forEach(h=>{let g=i[h];g.inputNames.forEach((x,b)=>{let[C,,w]=ss(x),k=i[C];if(k.outputs!=null){let _=k.outputs.indexOf(w);if(_!==-1){let $=`${C}:${_}`;g.inputNames[b]=$}}g.inputs.push(k),k.children.push(g)})}),Object.keys(l).length===0?m.forEach(h=>{let g=i[h];g.children.length===0&&u.push(g)}):Object.keys(l).forEach(h=>{let[g]=ss(h),x=i[g];x!=null&&(x.signatureKey=l[h],u.push(x))}),Object.keys(c).length>0?Object.keys(c).forEach(h=>{let[g]=ss(h),x=i[g];x&&(x.signatureKey=c[h],p.push(x))}):p=n;let d={};e.library!=null&&e.library.function!=null&&(d=e.library.function.reduce((h,g)=>(h[g.signature.name]=this.mapFunction(g),h),{}));let f={nodes:i,inputs:p,outputs:u,weights:s,placeholders:n,signature:t,functions:d};return a.length>0&&(f.initNodes=a),f}mapSignatureEntries(e){return Object.keys(e||{}).reduce((t,o)=>(t[e[o].name]=o,t),{})}mapNode(e){let t=Gd(e.op)||this.opMappers[e.op]||{};e.attr==null&&(e.attr={});let o={name:e.name,op:e.op,category:t.category,inputNames:(e.input||[]).map(n=>n.startsWith(\"^\")?n.slice(1):n),inputs:[],children:[],inputParams:{},attrParams:{},rawAttrs:e.attr,outputs:t.outputs};return t.inputs!=null&&(o.inputParams=t.inputs.reduce((n,s)=>(n[s.name]={type:s.type,inputIndexStart:s.start,inputIndexEnd:s.end},n),{})),t.attrs!=null&&(o.attrParams=t.attrs.reduce((n,s)=>{let a=s.type,i;switch(s.type){case\"string\":i=qd(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=qd(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"string[]\":i=Jd(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=Jd(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"number\":i=jd(e.attr,s.tfName,s.defaultValue||0),i===void 0&&!!s.tfDeprecatedName&&(i=jd(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"number[]\":i=Zd(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=Zd(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"bool\":i=Kd(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=Kd(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"bool[]\":i=tf(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=tf(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"shape\":i=Qd(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=Qd(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"shape[]\":i=ef(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=ef(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"dtype\":i=Xd(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=Xd(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"dtype[]\":i=Yd(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=Yd(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"func\":i=kN(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=kN(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"tensor\":case\"tensors\":break;default:throw new Error(`Unsupported param type: ${s.type} for op: ${e.op}`)}return n[s.name]={value:i,type:a},n},{})),o}mapFunction(e){let t=e.nodeDef,o=[],n=[],s={};t!=null&&(s=t.reduce((l,m)=>(l[m.name]=this.mapNode(m),m.op===\"Const\"&&n.push(l[m.name]),l),{}));let a=[],i=[];e.signature.inputArg.forEach(l=>{let[m]=ss(l.name),d={name:m,op:\"Placeholder\",inputs:[],inputNames:[],category:\"graph\",inputParams:{},attrParams:{dtype:{value:GC(l.type),type:\"dtype\"}},children:[]};d.signatureKey=l.name,a.push(d),s[m]=d}),Object.keys(s).forEach(l=>{let m=s[l];m.inputNames.forEach((d,f)=>{let[h,,g]=ss(d),x=s[h];if(x.outputs!=null){let b=x.outputs.indexOf(g);if(b!==-1){let C=`${h}:${b}`;m.inputNames[f]=C}}m.inputs.push(x),x.children.push(m)})});let u=e.ret;e.signature.outputArg.forEach(l=>{let[m,d]=ss(u[l.name]),f=s[m];f!=null&&(f.defaultOutput=d,i.push(f))});let c=this.mapArgsToSignature(e);return{nodes:s,inputs:a,outputs:i,weights:n,placeholders:o,signature:c}}mapArgsToSignature(e){return{methodName:e.signature.name,inputs:e.signature.inputArg.reduce((t,o)=>(t[o.name]=this.mapArgToTensorInfo(o),t),{}),outputs:e.signature.outputArg.reduce((t,o)=>(t[o.name]=this.mapArgToTensorInfo(o,e.ret),t),{})}}mapArgToTensorInfo(e,t){let o=e.name;return t!=null&&(o=t[o]),{name:o,dtype:e.type}}};function MK(r){let e=O().global;if(typeof e.atob!=\"undefined\")return e.atob(r);if(typeof Buffer!=\"undefined\")return new Buffer(r,\"base64\").toString();throw new Error(\"Unable to decode base64 in this environment. Missing built-in atob() or Buffer()\")}function NN(r,e){let t=Array.isArray(r)?String.fromCharCode.apply(null,r):MK(r);return e?t:t.toLowerCase()}function qd(r,e,t,o=!1){let n=r[e];return n!=null?NN(n.s,o):t}function Kd(r,e,t){let o=r[e];return o?o.b:t}function jd(r,e,t){let o=r[e]||{},n=o.i!=null?o.i:o.f!=null?o.f:t;return typeof n==\"number\"?n:parseInt(n,10)}function GC(r){switch(typeof r==\"string\"&&(r=ao[r]),r){case ao.DT_FLOAT:case ao.DT_HALF:return\"float32\";case ao.DT_INT32:case ao.DT_INT64:case ao.DT_INT8:case ao.DT_UINT8:return\"int32\";case ao.DT_BOOL:return\"bool\";case ao.DT_DOUBLE:return\"float32\";case ao.DT_STRING:return\"string\";default:return null}}function kN(r,e,t){let o=r[e];return o&&o.func?o.func.name:t}function Xd(r,e,t){let o=r[e];return o&&o.type?GC(o.type):t}function Yd(r,e,t){let o=r[e];return o&&o.list&&o.list.type?o.list.type.map(n=>GC(n)):t}function TN(r){if(!r.unknownRank)return r.dim!=null?r.dim.map(e=>typeof e.size==\"number\"?e.size:parseInt(e.size,10)):[]}function Qd(r,e,t){let o=r[e];return o&&o.shape?TN(o.shape):t}function Zd(r,e,t){let o=r[e];return o?((o.list.f&&o.list.f.length?o.list.f:o.list.i)||[]).map(n=>typeof n==\"number\"?n:parseInt(n,10)):t}function Jd(r,e,t,o=!1){let n=r[e];return n&&n.list&&n.list.s?n.list.s.map(s=>NN(s,o)):t}function ef(r,e,t){let o=r[e];return o&&o.list&&o.list.shape?o.list.shape.map(n=>TN(n)):t}function tf(r,e,t){let o=r[e];return o&&o.list&&o.list.b?o.list.b:t}var rf=class{constructor(e,t,o){this.node=e,this.tensorMap=t,this.context=o,this.inputs=[],this.attrs={},this.inputs=e.inputNames.map(n=>this.getInput(n)),e.rawAttrs!=null&&(this.attrs=Object.keys(e.rawAttrs).reduce((n,s)=>(n[s]=this.getAttr(s),n),{}))}getInput(e){return Gt(e,this.tensorMap,this.context)}getAttr(e,t){let o=this.node.rawAttrs[e];if(o.tensor!=null)return Gt(e,this.tensorMap,this.context);if(o.i!=null||o.f!=null)return jd(this.node.rawAttrs,e,t);if(o.s!=null)return qd(this.node.rawAttrs,e,t);if(o.b!=null)return Kd(this.node.rawAttrs,e,t);if(o.shape!=null)return Qd(this.node.rawAttrs,e,t);if(o.type!=null)return Xd(this.node.rawAttrs,e,t);if(o.list!=null){if(o.list.i!=null||o.list.f!=null)return Zd(this.node.rawAttrs,e,t);if(o.list.s!=null)return Jd(this.node.rawAttrs,e,t);if(o.list.shape!=null)return ef(this.node.rawAttrs,e,t);if(o.list.b!=null)return tf(this.node.rawAttrs,e,t);if(o.list.type!=null)return Yd(this.node.rawAttrs,e,t)}return t}};var Ye={};Ue(Ye,{OP_SCOPE_SUFFIX:()=>Lb,abs:()=>Yt,acos:()=>f0,acosh:()=>h0,add:()=>xe,addN:()=>g0,all:()=>x0,any:()=>y0,argMax:()=>b0,argMin:()=>C0,asin:()=>S0,asinh:()=>w0,atan:()=>I0,atan2:()=>v0,atanh:()=>k0,avgPool:()=>td,avgPool3d:()=>_0,basicLSTMCell:()=>E0,batchNorm:()=>wi,batchNorm2d:()=>A0,batchNorm3d:()=>R0,batchNorm4d:()=>F0,batchToSpaceND:()=>rd,bincount:()=>od,booleanMaskAsync:()=>XG,broadcastArgs:()=>D0,broadcastTo:()=>Ii,buffer:()=>le,cast:()=>Ke,ceil:()=>O0,clipByValue:()=>P0,clone:()=>Br,complex:()=>Tr,concat:()=>gt,concat1d:()=>M0,concat2d:()=>L0,concat3d:()=>B0,concat4d:()=>V0,conv1d:()=>z0,conv2d:()=>vi,conv2dTranspose:()=>W0,conv3d:()=>U0,conv3dTranspose:()=>H0,cos:()=>q0,cosh:()=>K0,cosineWindow:()=>il,cumprod:()=>j0,cumsum:()=>X0,denseBincount:()=>Y0,depthToSpace:()=>Q0,depthwiseConv2d:()=>Bp,diag:()=>Z0,dilation2d:()=>J0,div:()=>Ge,divNoNan:()=>ek,dot:()=>tk,dropout:()=>aH,einsum:()=>rk,elu:()=>ad,enclosingPowerOfTwo:()=>xC,equal:()=>sd,erf:()=>ok,euclideanNorm:()=>ak,exp:()=>Co,expandDims:()=>Fa,expm1:()=>ik,eye:()=>id,fft:()=>zp,fill:()=>Ws,floor:()=>ud,floorDiv:()=>Jm,fused:()=>yC,gather:()=>pd,gatherND:()=>nH,greater:()=>cu,greaterEqual:()=>cd,ifft:()=>hu,imag:()=>Si,image:()=>uq,inTopKAsync:()=>uH,irfft:()=>Fd,isFinite:()=>uk,isInf:()=>pk,isNaN:()=>ck,leakyRelu:()=>ld,less:()=>lk,lessEqual:()=>Vp,linalg:()=>pq,linspace:()=>mk,localResponseNormalization:()=>dk,log:()=>Da,log1p:()=>md,logSigmoid:()=>fk,logSoftmax:()=>hk,logSumExp:()=>hd,logicalAnd:()=>lu,logicalNot:()=>gd,logicalOr:()=>xd,logicalXor:()=>gk,losses:()=>cq,lowerBound:()=>xk,matMul:()=>Xe,max:()=>Us,maxPool:()=>bd,maxPool3d:()=>yk,maxPoolWithArgmax:()=>bk,maximum:()=>Cd,mean:()=>mu,meshgrid:()=>Ck,min:()=>sl,minimum:()=>Sd,mirrorPad:()=>Sk,mod:()=>wk,moments:()=>Ik,movingAverage:()=>QG,mul:()=>ae,multiRNNCell:()=>vk,multinomial:()=>kk,neg:()=>yr,norm:()=>pu,notEqual:()=>wd,oneHot:()=>tl,ones:()=>Gs,onesLike:()=>Nk,op:()=>N,outerProduct:()=>Tk,pad:()=>Hs,pad1d:()=>_k,pad2d:()=>Ek,pad3d:()=>$k,pad4d:()=>Ak,pool:()=>Rk,pow:()=>Ra,prelu:()=>vd,print:()=>Gm,prod:()=>Fk,raggedGather:()=>Dk,raggedRange:()=>Ok,raggedTensorToTensor:()=>Pk,rand:()=>Mk,randomGamma:()=>e1,randomNormal:()=>Ed,randomStandardNormal:()=>t1,randomUniform:()=>$d,range:()=>Ni,real:()=>$a,reciprocal:()=>r1,relu:()=>Ti,relu6:()=>Ad,reshape:()=>z,reverse:()=>no,reverse1d:()=>o1,reverse2d:()=>n1,reverse3d:()=>s1,reverse4d:()=>a1,rfft:()=>Wp,round:()=>Rd,rsqrt:()=>i1,scalar:()=>be,scatterND:()=>JG,searchSorted:()=>al,selu:()=>u1,separableConv2d:()=>p1,setdiff1dAsync:()=>c1,sigmoid:()=>zs,sign:()=>l1,signal:()=>iq,sin:()=>m1,sinh:()=>d1,slice:()=>He,slice1d:()=>f1,slice2d:()=>h1,slice3d:()=>g1,slice4d:()=>x1,softmax:()=>y1,softplus:()=>fd,spaceToBatchND:()=>Id,sparse:()=>lq,sparseToDense:()=>rH,spectral:()=>aq,split:()=>Oa,sqrt:()=>$r,square:()=>Qt,squaredDifference:()=>Dd,squeeze:()=>Up,stack:()=>Sr,step:()=>Od,stridedSlice:()=>b1,string:()=>mq,sub:()=>Ne,sum:()=>et,tan:()=>C1,tanh:()=>nl,tensor:()=>nr,tensor1d:()=>mr,tensor2d:()=>_i,tensor3d:()=>Xm,tensor4d:()=>S1,tensor5d:()=>w1,tensor6d:()=>I1,tile:()=>ki,topk:()=>v1,transpose:()=>Mp,truncatedNormal:()=>k1,unique:()=>N1,unsortedSegmentSum:()=>T1,unstack:()=>so,upperBound:()=>_1,variable:()=>E1,where:()=>os,whereAsync:()=>Md,zeros:()=>Vr,zerosLike:()=>Ut});var _N=(r,e,t,o=Ye)=>{switch(r.op){case\"BiasAdd\":case\"AddV2\":case\"Add\":return[o.add(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"AddN\":return[o.addN(I(\"tensors\",r,e,t))];case\"FloorMod\":case\"Mod\":return[o.mod(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"Mul\":return[o.mul(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"RealDiv\":case\"Div\":return[o.div(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"DivNoNan\":return[o.divNoNan(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"FloorDiv\":return[o.floorDiv(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"Sub\":return[o.sub(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"Minimum\":return[o.minimum(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"Maximum\":return[o.maximum(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"Pow\":return[o.pow(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"SquaredDifference\":return[o.squaredDifference(I(\"a\",r,e,t),I(\"b\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var EN=(r,e,t,o=Ye)=>{switch(r.op){case\"Abs\":case\"ComplexAbs\":return[o.abs(I(\"x\",r,e,t))];case\"Acos\":return[o.acos(I(\"x\",r,e,t))];case\"Acosh\":return[o.acosh(I(\"x\",r,e,t))];case\"Asin\":return[o.asin(I(\"x\",r,e,t))];case\"Asinh\":return[o.asinh(I(\"x\",r,e,t))];case\"Atan\":return[o.atan(I(\"x\",r,e,t))];case\"Atan2\":return[o.atan2(I(\"x\",r,e,t),I(\"y\",r,e,t))];case\"Atanh\":return[o.atanh(I(\"x\",r,e,t))];case\"Ceil\":return[o.ceil(I(\"x\",r,e,t))];case\"Complex\":return[o.complex(I(\"real\",r,e,t),I(\"imag\",r,e,t))];case\"Cos\":return[o.cos(I(\"x\",r,e,t))];case\"Cosh\":return[o.cosh(I(\"x\",r,e,t))];case\"Elu\":return[o.elu(I(\"x\",r,e,t))];case\"Erf\":return[o.erf(I(\"x\",r,e,t))];case\"Exp\":return[o.exp(I(\"x\",r,e,t))];case\"Expm1\":return[o.expm1(I(\"x\",r,e,t))];case\"Floor\":return[o.floor(I(\"x\",r,e,t))];case\"Log\":return[o.log(I(\"x\",r,e,t))];case\"Log1p\":return[o.log1p(I(\"x\",r,e,t))];case\"Imag\":return[o.imag(I(\"x\",r,e,t))];case\"Neg\":return[o.neg(I(\"x\",r,e,t))];case\"Reciprocal\":return[o.reciprocal(I(\"x\",r,e,t))];case\"Real\":return[o.real(I(\"x\",r,e,t))];case\"Relu\":return[o.relu(I(\"x\",r,e,t))];case\"Round\":return[o.round(I(\"x\",r,e,t))];case\"Selu\":return[o.selu(I(\"x\",r,e,t))];case\"Sigmoid\":return[o.sigmoid(I(\"x\",r,e,t))];case\"Sin\":return[o.sin(I(\"x\",r,e,t))];case\"Sign\":return[o.sign(I(\"x\",r,e,t))];case\"Sinh\":return[o.sinh(I(\"x\",r,e,t))];case\"Softplus\":return[o.softplus(I(\"x\",r,e,t))];case\"Sqrt\":return[o.sqrt(I(\"x\",r,e,t))];case\"Square\":return[o.square(I(\"x\",r,e,t))];case\"Tanh\":return[o.tanh(I(\"x\",r,e,t))];case\"Tan\":return[o.tan(I(\"x\",r,e,t))];case\"ClipByValue\":return[o.clipByValue(I(\"x\",r,e,t),I(\"clipValueMin\",r,e,t),I(\"clipValueMax\",r,e,t))];case\"Relu6\":return[o.relu6(I(\"x\",r,e,t))];case\"Rsqrt\":return[o.rsqrt(Gt(r.inputNames[0],e,t))];case\"Prod\":return[o.prod(I(\"x\",r,e,t),I(\"axes\",r,e,t))];case\"LeakyRelu\":return[o.leakyRelu(I(\"x\",r,e,t),I(\"alpha\",r,e,t))];case\"Prelu\":return[o.prelu(I(\"x\",r,e,t),I(\"alpha\",r,e,t))];case\"IsNan\":return[o.isNaN(Gt(r.inputNames[0],e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function zr(r,e,t=\"\"){if(!(typeof r==\"number\"||typeof e==\"number\")){y.assert(r.length===e.length,()=>t+` Shapes ${r} and ${e} must match`);for(let o=0;ot+` Shapes ${r} and ${e} must match`)}}}function $N(r){return!(typeof r==\"number\"||r.some(e=>e<0))}function Gp(r,e,t){let o=of(r,t),n=!$N(o);if(n&&e.length===0)throw new Error(`Tried to calculate elements of an empty list with non-fully-defined elementShape: ${o}`);if(n&&e.forEach(s=>{o=of(s.shape,o)}),!$N(o))throw new Error(`Non-fully-defined elementShape: ${o}`);return o}function of(r,e){if(typeof r==\"number\")return e;if(typeof e==\"number\")return r;if(r.length!==e.length)throw new Error(`Incompatible ranks during merge: ${r} vs. ${e}`);let t=[];for(let o=0;o=0&&s>=0&&n!==s)throw new Error(`Incompatible shape during merge: ${r} vs. ${e}`);t[o]=n>=0?n:s}return t}var nf=class{constructor(e,t,o,n,s,a,i){this.name=e,this.dtype=t,this.maxSize=o,this.elementShape=n,this.identicalElementShapes=s,this.dynamicSize=a,this.clearAfterRead=i,this.tensors=[],this.closed_=!1,this.idTensor=be(0),_r(this.idTensor)}get id(){return this.idTensor.id}get closed(){return this.closed_}clearAndClose(e){this.tensors.forEach(t=>{(e==null||!e.has(t.tensor.id))&&t.tensor.dispose()}),this.tensors=[],this.closed_=!0,this.idTensor.dispose()}size(){return this.tensors.length}read(e){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||e>=this.size())throw new Error(`Tried to read from index ${e}, but array size is: ${this.size()}`);let t=this.tensors[e];if(t.cleared)throw new Error(`TensorArray ${this.name}: Could not read index ${e} twice because it was cleared after a previous read (perhaps try setting clear_after_read = false?).`);return this.clearAfterRead&&(t.cleared=!0),t.read=!0,t.tensor}readMany(e){return e.map(t=>this.read(t))}write(e,t){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||!this.dynamicSize&&e>=this.maxSize)throw new Error(`Tried to write to index ${e}, but array is not resizeable and size is: ${this.maxSize}`);let o=this.tensors[e]||{};if(t.dtype!==this.dtype)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e},\n because the value dtype is ${t.dtype}, but TensorArray dtype is ${this.dtype}.`);if(this.size()===0&&(this.elementShape==null||this.elementShape.length===0)&&(this.elementShape=t.shape),zr(this.elementShape,t.shape,`TensorArray ${this.name}: Could not write to TensorArray index ${e}.`),o.read)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been read.`);if(o.written)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been written.`);o.tensor=t,_r(t),o.written=!0,this.tensors[e]=o}writeMany(e,t){if(e.length!==t.length)throw new Error(`TensorArray ${this.name}: could not write multiple tensors,because the index size: ${e.length} is not the same as tensors size: ${t.length}.`);e.forEach((o,n)=>this.write(o,t[n]))}gather(e,t){if(!!t&&t!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but gather requested dtype ${t}`);if(e)e=e.slice(0,this.size());else{e=[];for(let n=0;n=this.maxSize)throw new Error(`Max index must be < array size (${o} vs. ${this.maxSize})`);this.writeMany(e,so(t,0))}split(e,t){if(t.dtype!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but tensor has dtype ${t.dtype}`);let o=0,n=e.map(p=>(o+=p,o));if(o!==t.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${o}, and tensor's shape is: ${t.shape}`);if(!this.dynamicSize&&e.length!==this.maxSize)throw new Error(`TensorArray's size is not equal to the size of lengths (${this.maxSize} vs. ${e.length}), and the TensorArray is not marked as dynamically resizeable`);let s=o===0?0:t.size/o,a=[];Ee(()=>{t=z(t,[1,o,s]);for(let p=0;p{if(o!==s.dtype)throw new Error(`Invalid data types; op elements ${o}, but list elements ${s.dtype}`);zr(t,s.shape,\"TensorList shape mismatch: \"),_r(s)}),this.idTensor=be(0),this.maxNumElements=n,_r(this.idTensor)}get id(){return this.idTensor.id}copy(){return new Pa([...this.tensors],this.elementShape,this.elementDtype)}clearAndClose(e){this.tensors.forEach(t=>{(e==null||!e.has(t.id))&&t.dispose()}),this.tensors.length=0,this.idTensor.dispose()}size(){return this.tensors.length}stack(e,t,o=-1){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(o!==-1&&this.tensors.length!==o)throw new Error(`Operation expected a list with ${o} elements but got a list with ${this.tensors.length} elements.`);zr(e,this.elementShape,\"TensorList shape mismatch: \");let n=Gp(this.elementShape,this.tensors,e);return Ee(()=>{let s=this.tensors.map(a=>z(a,n));return Sr(s,0)})}popBack(e,t){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(this.size()===0)throw new Error(\"Trying to pop from an empty list.\");let o=Gp(this.elementShape,this.tensors,e),n=this.tensors.pop();return n.kept=!1,zr(n.shape,e,\"TensorList shape mismatch: \"),z(n,o)}pushBack(e){if(e.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${this.elementDtype}`);if(zr(e.shape,this.elementShape,\"TensorList shape mismatch: \"),this.maxNumElements===this.size())throw new Error(\"Trying to push element into a full list.\");_r(e),this.tensors.push(e)}resize(e){if(e<0)throw new Error(`TensorListResize expects size to be non-negative. Got: ${e}`);if(this.maxNumElements!==-1&&e>this.maxNumElements)throw new Error(`TensorListResize input size ${e} is greater maxNumElement ${this.maxNumElements}.`);let t=new Pa([],this.elementShape,this.elementDtype,this.maxNumElements);t.tensors.length=e;for(let o=0;othis.tensors.length)throw new Error(`Trying to access element ${e} in a list with ${this.tensors.length} elements.`);if(this.tensors[e]==null)throw new Error(`element at index ${e} is null.`);zr(this.tensors[e].shape,t,\"TensorList shape mismatch: \");let n=Gp(this.elementShape,this.tensors,t);return z(this.tensors[e],n)}setItem(e,t){if(t.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t.dtype}, but list elements ${this.elementDtype}`);if(e<0||this.maxNumElements!==-1&&e>=this.maxNumElements)throw new Error(`Trying to set element ${e} in a list with max ${this.maxNumElements} elements.`);zr(this.elementShape,t.shape,\"TensorList shape mismatch: \"),_r(t),this.tensors[e]!=null&&(this.tensors[e].kept=!1),this.tensors[e]=t}gather(e,t,o){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);zr(this.elementShape,o,\"TensorList shape mismatch: \"),e=e.slice(0,this.size());let n=Gp(this.elementShape,this.tensors,o);return e.length===0?nr([],[0].concat(n)):Ee(()=>{let s=e.map(a=>z(this.tensors[a],n));return Sr(s,0)})}concat(e,t){if(!!e&&e!==this.elementDtype)throw new Error(`TensorList dtype is ${this.elementDtype} but concat requested dtype ${e}`);zr(this.elementShape,t,\"TensorList shape mismatch: \");let o=Gp(this.elementShape,this.tensors,t);return this.size()===0?nr([],[0].concat(o)):Ee(()=>{let n=this.tensors.map(s=>z(s,o));return gt(n,0)})}};function AN(r,e,t){let o=r.dtype;if(r.shape.length<1)throw new Error(`Tensor must be at least a vector, but saw shape: ${r.shape}`);if(r.dtype!==t)throw new Error(`Invalid data types; op elements ${r.dtype}, but list elements ${t}`);let n=r.shape.slice(1);zr(n,e,\"TensorList shape mismatch: \");let s=so(r);return new Pa(s,e,o)}function RN(r,e,t,o){return new Pa([],r,e,o)}function FN(r,e,t,o){if(e.length!==r.shape[0])throw new Error(`Expected len(indices) == tensor.shape[0], but saw: ${e.length} vs. ${r.shape[0]}`);let n=Math.max(...e);if(o!=null&&o!==-1&&n>=o)throw new Error(`Max index must be < array size (${n} vs. ${o})`);let s=new Pa([],t,r.dtype,o),a=so(r,0);return e.forEach((i,p)=>{s.setItem(i,a[p])}),s}function DN(r,e,t){let o=0,n=e.map(c=>(o+=c,o));if(o!==r.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${o}, and tensor's shape is: ${r.shape}`);let s=r.shape.slice(1),a=of(s,t),i=o===0?0:r.size/o,p=Ee(()=>{let c=[];r=z(r,[1,o,i]);for(let l=0;l{switch(r.op){case\"If\":case\"StatelessIf\":{let o=I(\"thenBranch\",r,e,t),n=I(\"elseBranch\",r,e,t),s=I(\"cond\",r,e,t),a=I(\"args\",r,e,t);return(await s.data())[0]?t.functionMap[o].executeFunctionAsync(a,t.tensorArrayMap,t.tensorListMap):t.functionMap[n].executeFunctionAsync(a,t.tensorArrayMap,t.tensorListMap)}case\"While\":case\"StatelessWhile\":{let o=I(\"body\",r,e,t),n=I(\"cond\",r,e,t),s=I(\"args\",r,e,t),a=await t.functionMap[n].executeFunctionAsync(s,t.tensorArrayMap,t.tensorListMap),i=s.map(c=>c.id),p=await a[0].data();a.forEach(c=>{!c.kept&&i.indexOf(c.id)===-1&&c.dispose()});let u=s;for(;p[0];){let c=u;u=await t.functionMap[o].executeFunctionAsync(u,t.tensorArrayMap,t.tensorListMap);let l=u.map(d=>d.id);c.forEach(d=>{!d.kept&&i.indexOf(d.id)===-1&&l.indexOf(d.id)===-1&&d.dispose()});let m=await t.functionMap[n].executeFunctionAsync(u,t.tensorArrayMap,t.tensorListMap);p=await m[0].data(),m.forEach(d=>{!d.kept&&i.indexOf(d.id)===-1&&l.indexOf(d.id)===-1&&d.dispose()})}return u}case\"LoopCond\":{let o=I(\"pred\",r,e,t);return[as(o)]}case\"Switch\":{let o=I(\"pred\",r,e,t),n=I(\"data\",r,e,t);return n.kept||(n=as(n)),(await o.data())[0]?[void 0,n]:[n,void 0]}case\"Merge\":{let o=r.inputNames.find(n=>Gt(n,e,t)!==void 0);if(o){let n=Gt(o,e,t);return[as(n)]}return}case\"Enter\":{let o=I(\"frameName\",r,e,t),n=I(\"tensor\",r,e,t);return t.enterFrame(o),[as(n)]}case\"Exit\":{let o=I(\"tensor\",r,e,t);return t.exitFrame(),[as(o)]}case\"NextIteration\":{let o=I(\"tensor\",r,e,t);return t.nextIteration(),[as(o)]}case\"TensorArrayV3\":{let o=I(\"size\",r,e,t),n=I(\"dtype\",r,e,t),s=I(\"elementShape\",r,e,t),a=I(\"dynamicSize\",r,e,t),i=I(\"clearAfterRead\",r,e,t),p=I(\"identicalElementShapes\",r,e,t),u=I(\"name\",r,e,t),c=new nf(u,n,o,s,p,a,i);return t.addTensorArray(c),[c.idTensor,be(1)]}case\"TensorArrayWriteV3\":{let o=I(\"tensorArrayId\",r,e,t),n=I(\"index\",r,e,t),s=I(\"tensor\",r,e,t),a=t.getTensorArray(o.id);return a.write(n,s),[a.idTensor]}case\"TensorArrayReadV3\":{let o=I(\"tensorArrayId\",r,e,t),n=I(\"index\",r,e,t);return[t.getTensorArray(o.id).read(n)]}case\"TensorArrayGatherV3\":{let o=I(\"tensorArrayId\",r,e,t),n=I(\"indices\",r,e,t),s=I(\"dtype\",r,e,t);return[t.getTensorArray(o.id).gather(n,s)]}case\"TensorArrayScatterV3\":{let o=I(\"tensorArrayId\",r,e,t),n=I(\"indices\",r,e,t),s=I(\"tensor\",r,e,t),a=t.getTensorArray(o.id);return a.scatter(n,s),[a.idTensor]}case\"TensorArrayConcatV3\":{let o=I(\"tensorArrayId\",r,e,t),n=t.getTensorArray(o.id),s=I(\"dtype\",r,e,t);return[n.concat(s)]}case\"TensorArraySplitV3\":{let o=I(\"tensorArrayId\",r,e,t),n=I(\"tensor\",r,e,t),s=I(\"lengths\",r,e,t),a=t.getTensorArray(o.id);return a.split(s,n),[a.idTensor]}case\"TensorArraySizeV3\":{let o=I(\"tensorArrayId\",r,e,t),n=t.getTensorArray(o.id);return[be(n.size(),\"int32\")]}case\"TensorArrayCloseV3\":{let o=I(\"tensorArrayId\",r,e,t),n=t.getTensorArray(o.id);return n.clearAndClose(),[n.idTensor]}case\"TensorListSetItem\":{let o=I(\"tensorListId\",r,e,t),n=I(\"index\",r,e,t),s=I(\"tensor\",r,e,t),a=t.getTensorList(o.id);return a.setItem(n,s),[a.idTensor]}case\"TensorListGetItem\":{let o=I(\"tensorListId\",r,e,t),n=I(\"index\",r,e,t),s=I(\"elementShape\",r,e,t),a=I(\"elementDType\",r,e,t);return[t.getTensorList(o.id).getItem(n,s,a)]}case\"TensorListScatterV2\":case\"TensorListScatter\":{let o=I(\"indices\",r,e,t),n=I(\"tensor\",r,e,t),s=I(\"elementShape\",r,e,t),a=I(\"numElements\",r,e,t),i=FN(n,o,s,a);return t.addTensorList(i),[i.idTensor]}case\"TensorListReserve\":case\"EmptyTensorList\":{let o=I(\"elementShape\",r,e,t),n=I(\"elementDType\",r,e,t),s;r.op===\"TensorListReserve\"?s=\"numElements\":s=\"maxNumElements\";let a=I(s,r,e,t),i=r.op===\"TensorListReserve\"?-1:a,p=RN(o,n,a,i);return t.addTensorList(p),[p.idTensor]}case\"TensorListGather\":{let o=I(\"tensorListId\",r,e,t),n=I(\"indices\",r,e,t),s=I(\"elementShape\",r,e,t),a=I(\"elementDType\",r,e,t);return[t.getTensorList(o.id).gather(n,a,s)]}case\"TensorListStack\":{let o=I(\"tensorListId\",r,e,t),n=I(\"elementShape\",r,e,t),s=I(\"elementDType\",r,e,t),a=I(\"numElements\",r,e,t);return[t.getTensorList(o.id).stack(n,s,a)]}case\"TensorListFromTensor\":{let o=I(\"tensor\",r,e,t),n=I(\"elementShape\",r,e,t),s=I(\"elementDType\",r,e,t),a=AN(o,n,s);return t.addTensorList(a),[a.idTensor]}case\"TensorListConcat\":case\"TensorListConcatV2\":{let o=I(\"tensorListId\",r,e,t),n=t.getTensorList(o.id),s=I(\"dtype\",r,e,t),a=I(\"elementShape\",r,e,t);return[n.concat(s,a)]}case\"TensorListPushBack\":{let o=I(\"tensorListId\",r,e,t),n=I(\"tensor\",r,e,t),s=t.getTensorList(o.id);return s.pushBack(n),[s.idTensor]}case\"TensorListPopBack\":{let o=I(\"tensorListId\",r,e,t),n=I(\"elementShape\",r,e,t),s=I(\"elementDType\",r,e,t);return[t.getTensorList(o.id).popBack(n,s)]}case\"TensorListSplit\":{let o=I(\"tensor\",r,e,t),n=I(\"elementShape\",r,e,t),s=I(\"lengths\",r,e,t),a=DN(o,s,n);return t.addTensorList(a),[a.idTensor]}case\"TensorListLength\":{let o=I(\"tensorListId\",r,e,t),n=t.getTensorList(o.id);return[be(n.size(),\"int32\")]}case\"TensorListResize\":{let o=I(\"tensorListId\",r,e,t),n=I(\"size\",r,e,t),a=t.getTensorList(o.id).resize(n);return t.addTensorList(a),[a.idTensor]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};function PN(r,e,t){let[o,n]=I(\"fusedOps\",r,e,t),s=o===\"biasadd\",a=!s,i=n===\"prelu\",p=o===\"fusedbatchnorm\",u=I(\"numArgs\",r,e,t);if(s){if(i&&u!==2)throw new Error(\"FusedConv2d and DepthwiseConv2d with BiasAdd and Prelu must have two extra arguments: bias and alpha.\");if(!i&&s&&u!==1)throw new Error(\"FusedConv2d and DepthwiseConv2d with BiasAdd must have one extra argument: bias.\")}if(p)throw new Error(\"FusedConv2d and DepthwiseConv2d with FusedBatchNorm is not supported\");let c=I(\"strides\",r,e,t),l=ul(r,e,t),m=I(\"dataFormat\",r,e,t).toUpperCase(),d=I(\"dilations\",r,e,t),[f,h]=I(\"args\",r,e,t);a&&(h=f,f=void 0);let g=I(\"leakyreluAlpha\",r,e,t);return{stride:c,pad:l,dataFormat:m,dilations:d,biasArg:f,preluArg:h,activationFunc:n,leakyreluAlpha:g}}var MN=(r,e,t,o=Ye)=>{switch(r.op){case\"Conv1D\":{let n=I(\"stride\",r,e,t),s=I(\"pad\",r,e,t),a=I(\"dataFormat\",r,e,t).toUpperCase(),i=I(\"dilation\",r,e,t);return[o.conv1d(I(\"x\",r,e,t),I(\"filter\",r,e,t),n,s,a,i)]}case\"Conv2D\":{let n=I(\"strides\",r,e,t),s=ul(r,e,t),a=I(\"dataFormat\",r,e,t).toUpperCase(),i=I(\"dilations\",r,e,t);return[o.conv2d(I(\"x\",r,e,t),I(\"filter\",r,e,t),[n[1],n[2]],s,a,[i[1],i[2]])]}case\"_FusedConv2D\":{let{stride:n,pad:s,dataFormat:a,dilations:i,biasArg:p,preluArg:u,activationFunc:c,leakyreluAlpha:l}=PN(r,e,t);return[o.fused.conv2d({x:I(\"x\",r,e,t),filter:I(\"filter\",r,e,t),strides:[n[1],n[2]],pad:s,dataFormat:a,dilations:[i[1],i[2]],bias:p,activation:c,preluActivationWeights:u,leakyreluAlpha:l})]}case\"FusedDepthwiseConv2dNative\":{let{stride:n,pad:s,dataFormat:a,dilations:i,biasArg:p,preluArg:u,activationFunc:c,leakyreluAlpha:l}=PN(r,e,t);return[o.fused.depthwiseConv2d({x:I(\"x\",r,e,t),filter:I(\"filter\",r,e,t),strides:[n[1],n[2]],pad:s,dataFormat:a,dilations:[i[1],i[2]],bias:p,activation:c,preluActivationWeights:u,leakyreluAlpha:l})]}case\"Conv2DBackpropInput\":case\"Conv2dTranspose\":{let n=I(\"outputShape\",r,e,t),s=I(\"strides\",r,e,t),a=ul(r,e,t);return[o.conv2dTranspose(I(\"x\",r,e,t),I(\"filter\",r,e,t),n,[s[1],s[2]],a)]}case\"DepthwiseConv2dNative\":case\"DepthwiseConv2d\":{let n=I(\"strides\",r,e,t),s=ul(r,e,t),a=I(\"dilations\",r,e,t),i=I(\"dataFormat\",r,e,t).toUpperCase();return[o.depthwiseConv2d(I(\"input\",r,e,t),I(\"filter\",r,e,t),[n[1],n[2]],s,i,[a[1],a[2]])]}case\"Conv3D\":{let n=I(\"strides\",r,e,t),s=I(\"pad\",r,e,t),a=I(\"dataFormat\",r,e,t).toUpperCase(),i=I(\"dilations\",r,e,t);return[o.conv3d(I(\"x\",r,e,t),I(\"filter\",r,e,t),[n[1],n[2],n[3]],s,a,[i[1],i[2],i[3]])]}case\"AvgPool\":{let n=I(\"strides\",r,e,t),s=I(\"pad\",r,e,t),a=I(\"kernelSize\",r,e,t);return[o.avgPool(I(\"x\",r,e,t),[a[1],a[2]],[n[1],n[2]],s)]}case\"MaxPool\":{let n=I(\"strides\",r,e,t),s=I(\"pad\",r,e,t),a=I(\"kernelSize\",r,e,t);return[o.maxPool(I(\"x\",r,e,t),[a[1],a[2]],[n[1],n[2]],s)]}case\"MaxPoolWithArgmax\":{let n=I(\"strides\",r,e,t),s=I(\"pad\",r,e,t),a=I(\"kernelSize\",r,e,t),i=I(\"includeBatchInIndex\",r,e,t),{result:p,indexes:u}=o.maxPoolWithArgmax(I(\"x\",r,e,t),[a[1],a[2]],[n[1],n[2]],s,i);return[p,u]}case\"AvgPool3D\":{let n=I(\"strides\",r,e,t),s=I(\"pad\",r,e,t),a=I(\"kernelSize\",r,e,t);return[o.avgPool3d(I(\"x\",r,e,t),[a[1],a[2],a[3]],[n[1],n[2],n[3]],s)]}case\"MaxPool3D\":{let n=I(\"strides\",r,e,t),s=I(\"pad\",r,e,t),a=I(\"kernelSize\",r,e,t);return[o.maxPool3d(I(\"x\",r,e,t),[a[1],a[2],a[3]],[n[1],n[2],n[3]],s)]}case\"Dilation2D\":{let n=I(\"strides\",r,e,t),s=I(\"pad\",r,e,t),a=I(\"dilations\",r,e,t),i=n[1],p=n[2],u=a[1],c=a[2];return[o.dilation2d(I(\"x\",r,e,t),I(\"filter\",r,e,t),[i,p],s,[u,c],\"NHWC\")]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var LN=(r,e,t,o=Ye)=>{switch(r.op){case\"Fill\":{let n=I(\"shape\",r,e,t),s=I(\"dtype\",r,e,t),a=I(\"value\",r,e,t);return[o.fill(n,a,s)]}case\"LinSpace\":{let n=I(\"start\",r,e,t),s=I(\"stop\",r,e,t),a=I(\"num\",r,e,t);return[o.linspace(n,s,a)]}case\"Multinomial\":{let n=I(\"logits\",r,e,t),s=I(\"numSamples\",r,e,t),a=I(\"seed\",r,e,t);return[o.multinomial(n,s,a)]}case\"OneHot\":{let n=I(\"indices\",r,e,t),s=I(\"depth\",r,e,t),a=I(\"onValue\",r,e,t),i=I(\"offValue\",r,e,t),p=I(\"dtype\",r,e,t);return[o.oneHot(n,s,a,i,p)]}case\"Ones\":return[o.ones(I(\"shape\",r,e,t),I(\"dtype\",r,e,t))];case\"OnesLike\":return[o.onesLike(I(\"x\",r,e,t))];case\"RandomStandardNormal\":return[o.randomStandardNormal(I(\"shape\",r,e,t),I(\"dtype\",r,e,t),I(\"seed\",r,e,t))];case\"RandomUniform\":return[o.randomUniform(I(\"shape\",r,e,t),I(\"minval\",r,e,t),I(\"maxval\",r,e,t),I(\"dtype\",r,e,t))];case\"Range\":{let n=I(\"start\",r,e,t),s=I(\"stop\",r,e,t),a=I(\"step\",r,e,t);return[o.range(n,s,a,I(\"dtype\",r,e,t))]}case\"TruncatedNormal\":{let n=I(\"shape\",r,e,t),s=I(\"mean\",r,e,t),a=I(\"stdDev\",r,e,t),i=I(\"seed\",r,e,t);return[o.truncatedNormal(n,s,a,I(\"dtype\",r,e,t),i)]}case\"Zeros\":return[o.zeros(I(\"shape\",r,e,t),I(\"dtype\",r,e,t))];case\"ZerosLike\":return[o.zerosLike(I(\"x\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function HC(r,e,t){let o=I(\"boxes\",r,e,t),n=I(\"scores\",r,e,t),s=I(\"maxOutputSize\",r,e,t),a=I(\"iouThreshold\",r,e,t),i=I(\"scoreThreshold\",r,e,t),p=I(\"softNmsSigma\",r,e,t);return{boxes:o,scores:n,maxOutputSize:s,iouThreshold:a,scoreThreshold:i,softNmsSigma:p}}var BN=async(r,e,t,o,n=Ye)=>{switch(r.op){case\"NonMaxSuppressionV5\":{let{boxes:s,scores:a,maxOutputSize:i,iouThreshold:p,scoreThreshold:u,softNmsSigma:c}=HC(r,e,t),l=await n.image.nonMaxSuppressionWithScoreAsync(s,a,i,p,u,c);return[l.selectedIndices,l.selectedScores]}case\"NonMaxSuppressionV4\":{let{boxes:s,scores:a,maxOutputSize:i,iouThreshold:p,scoreThreshold:u}=HC(r,e,t),c=I(\"padToMaxOutputSize\",r,e,t),l=await n.image.nonMaxSuppressionPaddedAsync(s,a,i,p,u,c);return[l.selectedIndices,l.validOutputs]}case\"NonMaxSuppressionV3\":case\"NonMaxSuppressionV2\":{let{boxes:s,scores:a,maxOutputSize:i,iouThreshold:p,scoreThreshold:u}=HC(r,e,t);return[await n.image.nonMaxSuppressionAsync(s,a,i,p,u)]}case\"Where\":{let s=n.cast(I(\"condition\",r,e,t),\"bool\"),a=[await n.whereAsync(s)];return s.dispose(),a}case\"ListDiff\":return n.setdiff1dAsync(I(\"x\",r,e,t),I(\"y\",r,e,t));default:throw TypeError(`Node type ${r.op} is not implemented`)}};var VN=(r,e,t,o=Ye)=>{switch(r.op){case\"LowerBound\":{let n=I(\"sortedSequence\",r,e,t),s=I(\"values\",r,e,t);return[o.lowerBound(n,s)]}case\"TopKV2\":{let n=I(\"x\",r,e,t),s=I(\"k\",r,e,t),a=I(\"sorted\",r,e,t),i=o.topk(n,s,a);return[i.values,i.indices]}case\"UpperBound\":{let n=I(\"sortedSequence\",r,e,t),s=I(\"values\",r,e,t);return[o.upperBound(n,s)]}case\"Unique\":{let n=I(\"x\",r,e,t),s=o.unique(n);return[s.values,s.indices]}case\"UniqueV2\":{let n=I(\"x\",r,e,t),s=I(\"axis\",r,e,t),a=o.unique(n,s);return[a.values,a.indices]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var zN=(r,e,t,o=Ye)=>{switch(r.op){case\"Const\":return e[r.name];case\"PlaceholderWithDefault\":let n=I(\"default\",r,e,t);return[Gt(r.name,e,t)||n];case\"Placeholder\":return[Gt(r.name,e,t)];case\"Identity\":case\"StopGradient\":case\"FakeQuantWithMinMaxVars\":{let c=I(\"x\",r,e,t);return[as(c)]}case\"IdentityN\":return I(\"x\",r,e,t).map(c=>as(c));case\"Snapshot\":let s=I(\"x\",r,e,t);return[as(s)];case\"Shape\":return[o.tensor1d(I(\"x\",r,e,t).shape,\"int32\")];case\"ShapeN\":return I(\"x\",r,e,t).map(c=>o.tensor1d(c.shape));case\"Size\":return[o.scalar(I(\"x\",r,e,t).size,\"int32\")];case\"Rank\":return[o.scalar(I(\"x\",r,e,t).rank,\"int32\")];case\"NoOp\":return[o.scalar(1)];case\"Print\":let a=I(\"x\",r,e,t),i=I(\"data\",r,e,t),p=I(\"message\",r,e,t),u=I(\"summarize\",r,e,t);console.warn(\"The graph has a tf.print() operation,usually used for debugging, which slows down performance.\"),console.log(p);for(let c=0;ce.dispose()),this.tensorMap.clear(),this.handle.dispose()}size(){return this.tensorMap.size}tensorSize(){return be(this.size(),\"int32\")}async import(e,t){this.checkKeyAndValueTensor(e,t);let o=await e.data();return this.tensorMap.forEach(n=>n.dispose()),this.tensorMap.clear(),Ee(()=>{let n=so(t),s=o.length,a=n.length;y.assert(s===a,()=>`The number of elements doesn't match, keys has ${s} elements, the values has ${a} elements.`);for(let i=0;i{let n=[];for(let s=0;s{switch(r.op){case\"HashTable\":case\"HashTableV2\":{let n=o.getHashTableHandleByName(r.name);if(n!=null)return[n];{let s=I(\"keyDType\",r,e,t),a=I(\"valueDType\",r,e,t),i=new sf(s,a);return o.addHashTable(r.name,i),[i.handle]}}case\"InitializeTable\":case\"InitializeTableV2\":case\"LookupTableImport\":case\"LookupTableImportV2\":{let n=I(\"tableHandle\",r,e,t,o),s=I(\"keys\",r,e,t),a=I(\"values\",r,e,t);return[await o.getHashTableById(n.id).import(s,a)]}case\"LookupTableFind\":case\"LookupTableFindV2\":{let n=I(\"tableHandle\",r,e,t,o),s=I(\"keys\",r,e,t),a=I(\"defaultValue\",r,e,t);return[await o.getHashTableById(n.id).find(s,a)]}case\"LookupTableSize\":case\"LookupTableSizeV2\":{let n=I(\"tableHandle\",r,e,t,o);return[o.getHashTableById(n.id).tensorSize()]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var UN=(r,e,t,o=Ye)=>{switch(r.op){case\"ResizeBilinear\":{let n=I(\"images\",r,e,t),s=I(\"size\",r,e,t),a=I(\"alignCorners\",r,e,t),i=I(\"halfPixelCenters\",r,e,t);return[o.image.resizeBilinear(n,[s[0],s[1]],a,i)]}case\"ResizeNearestNeighbor\":{let n=I(\"images\",r,e,t),s=I(\"size\",r,e,t),a=I(\"alignCorners\",r,e,t),i=I(\"halfPixelCenters\",r,e,t);return[o.image.resizeNearestNeighbor(n,[s[0],s[1]],a,i)]}case\"CropAndResize\":{let n=I(\"image\",r,e,t),s=I(\"boxes\",r,e,t),a=I(\"boxInd\",r,e,t),i=I(\"cropSize\",r,e,t),p=I(\"method\",r,e,t),u=I(\"extrapolationValue\",r,e,t);return[o.image.cropAndResize(n,s,a,i,p,u)]}case\"ImageProjectiveTransformV3\":{let n=I(\"images\",r,e,t),s=I(\"transforms\",r,e,t),a=I(\"outputShape\",r,e,t),i=I(\"fillValue\",r,e,t),p=I(\"interpolation\",r,e,t),u=I(\"fillMode\",r,e,t);return[o.image.transform(n,s,p.toLowerCase(),u.toLowerCase(),i,a)]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var GN=(r,e,t,o=Ye)=>{switch(r.op){case\"Equal\":return[o.equal(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"NotEqual\":return[o.notEqual(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"Greater\":return[o.greater(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"GreaterEqual\":return[o.greaterEqual(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"Less\":return[o.less(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"LessEqual\":return[o.lessEqual(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"LogicalAnd\":return[o.logicalAnd(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"LogicalNot\":return[o.logicalNot(I(\"a\",r,e,t))];case\"LogicalOr\":return[o.logicalOr(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"Select\":case\"SelectV2\":return[o.where(I(\"condition\",r,e,t),I(\"a\",r,e,t),I(\"b\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var HN=(r,e,t,o=Ye)=>{switch(r.op){case\"BatchMatMul\":case\"BatchMatMulV2\":case\"MatMul\":return[o.matMul(I(\"a\",r,e,t),I(\"b\",r,e,t),I(\"transposeA\",r,e,t),I(\"transposeB\",r,e,t))];case\"Einsum\":return[o.einsum(I(\"equation\",r,e,t),...I(\"tensors\",r,e,t))];case\"Transpose\":return[o.transpose(I(\"x\",r,e,t),I(\"perm\",r,e,t))];case\"_FusedMatMul\":let[n,s]=I(\"fusedOps\",r,e,t),a=n===\"biasadd\",i=s===\"prelu\",p=I(\"numArgs\",r,e,t),u=I(\"leakyreluAlpha\",r,e,t);if(a){if(i&&p!==2)throw new Error(\"Fused MatMul with BiasAdd and Prelu must have two extra arguments: bias and alpha.\");if(!i&&p!==1)throw new Error(\"Fused MatMul with BiasAdd must have one extra argument: bias.\")}let[c,l]=I(\"args\",r,e,t);return[o.fused.matMul({a:I(\"a\",r,e,t),b:I(\"b\",r,e,t),transposeA:I(\"transposeA\",r,e,t),transposeB:I(\"transposeB\",r,e,t),bias:c,activation:s,preluActivationWeights:l,leakyreluAlpha:u})];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var qN=(r,e,t,o=Ye)=>{switch(r.op){case\"EuclideanNorm\":return[o.euclideanNorm(I(\"x\",r,e,t),I(\"axis\",r,e,t),I(\"keepDims\",r,e,t))];case\"FusedBatchNorm\":case\"FusedBatchNormV2\":return[o.batchNorm(I(\"x\",r,e,t),I(\"mean\",r,e,t),I(\"variance\",r,e,t),I(\"offset\",r,e,t),I(\"scale\",r,e,t),I(\"epsilon\",r,e,t))];case\"FusedBatchNormV3\":return[o.batchNorm(I(\"x\",r,e,t),I(\"mean\",r,e,t),I(\"variance\",r,e,t),I(\"offset\",r,e,t),I(\"scale\",r,e,t),I(\"epsilon\",r,e,t))];case\"LRN\":return[o.localResponseNormalization(I(\"x\",r,e,t),I(\"radius\",r,e,t),I(\"bias\",r,e,t),I(\"alpha\",r,e,t),I(\"beta\",r,e,t))];case\"Softmax\":return[o.softmax(I(\"x\",r,e,t))];case\"LogSoftmax\":return[o.logSoftmax(I(\"x\",r,e,t))];case\"SparseToDense\":return[o.sparseToDense(I(\"sparseIndices\",r,e,t),I(\"outputShape\",r,e,t),I(\"sparseValues\",r,e,t),I(\"defaultValue\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var KN=(r,e,t,o=Ye)=>{switch(r.op){case\"RaggedGather\":{let{outputNestedSplits:n,outputDenseValues:s}=o.raggedGather(I(\"paramsNestedSplits\",r,e,t),I(\"paramsDenseValues\",r,e,t),I(\"indices\",r,e,t),I(\"outputRaggedRank\",r,e,t));return n.concat(s)}case\"RaggedRange\":{let{rtNestedSplits:n,rtDenseValues:s}=o.raggedRange(I(\"starts\",r,e,t),I(\"limits\",r,e,t),I(\"splits\",r,e,t));return[n,s]}case\"RaggedTensorToTensor\":return[o.raggedTensorToTensor(I(\"shape\",r,e,t),I(\"values\",r,e,t),I(\"defaultValue\",r,e,t),I(\"rowPartitionTensors\",r,e,t),I(\"rowPartitionTypes\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var jN=(r,e,t,o=Ye)=>{switch(r.op){case\"Max\":{let i=I(\"axis\",r,e,t),p=I(\"keepDims\",r,e,t);return[o.max(I(\"x\",r,e,t),i,p)]}case\"Mean\":{let i=I(\"axis\",r,e,t),p=I(\"keepDims\",r,e,t);return[o.mean(I(\"x\",r,e,t),i,p)]}case\"Min\":{let i=I(\"axis\",r,e,t),p=I(\"keepDims\",r,e,t);return[o.min(I(\"x\",r,e,t),i,p)]}case\"Sum\":{let i=I(\"axis\",r,e,t),p=I(\"keepDims\",r,e,t);return[o.sum(I(\"x\",r,e,t),i,p)]}case\"All\":{let i=I(\"axis\",r,e,t),p=I(\"keepDims\",r,e,t);return[o.all(I(\"x\",r,e,t),i,p)]}case\"Any\":{let i=I(\"axis\",r,e,t),p=I(\"keepDims\",r,e,t);return[o.any(I(\"x\",r,e,t),i,p)]}case\"ArgMax\":{let i=I(\"axis\",r,e,t);return[o.argMax(I(\"x\",r,e,t),i)]}case\"ArgMin\":{let i=I(\"axis\",r,e,t);return[o.argMin(I(\"x\",r,e,t),i)]}case\"Prod\":{let i=I(\"axis\",r,e,t),p=I(\"keepDims\",r,e,t);return[o.prod(I(\"x\",r,e,t),i,p)]}case\"Cumprod\":{let i=I(\"axis\",r,e,t),p=I(\"exclusive\",r,e,t),u=I(\"reverse\",r,e,t);return[o.cumprod(I(\"x\",r,e,t),i,p,u)]}case\"Cumsum\":{let i=I(\"axis\",r,e,t),p=I(\"exclusive\",r,e,t),u=I(\"reverse\",r,e,t);return[o.cumsum(I(\"x\",r,e,t),i,p,u)]}case\"Bincount\":let n=I(\"x\",r,e,t),s=I(\"weights\",r,e,t),a=I(\"size\",r,e,t);return[o.bincount(n,s,a)];case\"DenseBincount\":{let i=I(\"x\",r,e,t),p=I(\"weights\",r,e,t),u=I(\"size\",r,e,t),c=I(\"binaryOutput\",r,e,t);return[o.denseBincount(i,p,u,c)]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var XN=(r,e,t,o=Ye)=>{switch(r.op){case\"ConcatV2\":case\"Concat\":{let n=I(\"n\",r,e,t),s=I(\"axis\",r,e,t),a=I(\"tensors\",r,e,t);return a=a.slice(0,n),[o.concat(a,s)]}case\"Gather\":{let n=I(\"x\",r,e,t),s=I(\"indices\",r,e,t);return[o.gather(n,o.cast(s,\"int32\"),0)]}case\"GatherV2\":{let n=I(\"axis\",r,e,t),s=I(\"batchDims\",r,e,t),a=I(\"x\",r,e,t),i=I(\"indices\",r,e,t);return[o.gather(a,o.cast(i,\"int32\"),n,s)]}case\"Reverse\":{let n=I(\"dims\",r,e,t),s=[];for(let i=0;i{let n=I(\"axis\",r,e,t),s=I(\"tensors\",r,e,t),a=s[0].shape,i=o.squeeze(s[0]).shape,p=s.map(u=>{let c=y.arraysEqual(u.shape,a);if(!c&&!y.arraysEqual(o.squeeze(u).shape,i))throw new Error(\"the input tensors shape does not match\");return c?u:o.reshape(u,a)});return[o.stack(p,n)]});case\"Unpack\":{let n=I(\"axis\",r,e,t),s=I(\"tensor\",r,e,t);return o.unstack(s,n)}case\"Tile\":{let n=I(\"reps\",r,e,t);return[o.tile(I(\"x\",r,e,t),n)]}case\"Split\":case\"SplitV\":{let n=I(\"axis\",r,e,t),s=I(\"numOrSizeSplits\",r,e,t),a=I(\"x\",r,e,t);return o.split(a,s,n)}case\"ScatterNd\":{let n=I(\"indices\",r,e,t),s=I(\"values\",r,e,t),a=I(\"shape\",r,e,t);return[o.scatterND(n,s,a)]}case\"GatherNd\":{let n=I(\"x\",r,e,t),s=I(\"indices\",r,e,t);return[o.gatherND(n,s)]}case\"SparseToDense\":{let n=I(\"sparseIndices\",r,e,t),s=I(\"outputShape\",r,e,t),a=I(\"sparseValues\",r,e,t),i=I(\"defaultValue\",r,e,t);return[o.sparseToDense(n,a,s,a.dtype===i.dtype?i:o.cast(i,a.dtype))]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var YN=(r,e,t,o=Ye)=>{switch(r.op){case\"SparseFillEmptyRows\":{let{outputIndices:n,outputValues:s,emptyRowIndicator:a,reverseIndexMap:i}=o.sparse.sparseFillEmptyRows(I(\"indices\",r,e,t),I(\"values\",r,e,t),I(\"denseShape\",r,e,t),I(\"defaultValue\",r,e,t));return[n,s,a,i]}case\"SparseReshape\":{let{outputIndices:n,outputShape:s}=o.sparse.sparseReshape(I(\"inputIndices\",r,e,t),I(\"inputShape\",r,e,t),I(\"newShape\",r,e,t));return[n,s]}case\"SparseSegmentMean\":return[o.sparse.sparseSegmentMean(I(\"data\",r,e,t),I(\"indices\",r,e,t),I(\"segmentIds\",r,e,t))];case\"SparseSegmentSum\":return[o.sparse.sparseSegmentSum(I(\"data\",r,e,t),I(\"indices\",r,e,t),I(\"segmentIds\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var QN=(r,e,t,o=Ye)=>{switch(r.op){case\"FFT\":return[o.fft(I(\"x\",r,e,t))];case\"IFFT\":return[o.ifft(I(\"x\",r,e,t))];case\"RFFT\":return[o.rfft(I(\"x\",r,e,t))];case\"IRFFT\":return[o.irfft(I(\"x\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var ZN=(r,e,t,o=Ye)=>{switch(r.op){case\"StringNGrams\":{let{nGrams:n,nGramsSplits:s}=o.string.stringNGrams(I(\"data\",r,e,t),I(\"dataSplits\",r,e,t),I(\"separator\",r,e,t),I(\"nGramWidths\",r,e,t),I(\"leftPad\",r,e,t),I(\"rightPad\",r,e,t),I(\"padWidth\",r,e,t),I(\"preserveShortSequences\",r,e,t));return[n,s]}case\"StringSplit\":{let{indices:n,values:s,shape:a}=o.string.stringSplit(I(\"input\",r,e,t),I(\"delimiter\",r,e,t),I(\"skipEmpty\",r,e,t));return[n,s,a]}case\"StringToHashBucketFast\":return[o.string.stringToHashBucketFast(I(\"input\",r,e,t),I(\"numBuckets\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var JN=(r,e,t,o=Ye)=>{switch(r.op){case\"Cast\":return[o.cast(I(\"x\",r,e,t),I(\"dtype\",r,e,t))];case\"ExpandDims\":{let n=I(\"axis\",r,e,t);return[o.expandDims(I(\"x\",r,e,t),n)]}case\"Squeeze\":{let n=I(\"axis\",r,e,t);return[o.squeeze(I(\"x\",r,e,t),n)]}case\"Reshape\":return[o.reshape(I(\"x\",r,e,t),I(\"shape\",r,e,t))];case\"MirrorPad\":return[o.mirrorPad(I(\"x\",r,e,t),I(\"padding\",r,e,t),I(\"mode\",r,e,t))];case\"PadV2\":case\"Pad\":return[o.pad(I(\"x\",r,e,t),I(\"padding\",r,e,t),I(\"constantValue\",r,e,t))];case\"SpaceToBatchND\":{let n=I(\"blockShape\",r,e,t),s=I(\"paddings\",r,e,t);return[o.spaceToBatchND(I(\"x\",r,e,t),n,s)]}case\"BatchToSpaceND\":{let n=I(\"blockShape\",r,e,t),s=I(\"crops\",r,e,t);return[o.batchToSpaceND(I(\"x\",r,e,t),n,s)]}case\"DepthToSpace\":{let n=I(\"blockSize\",r,e,t),s=I(\"dataFormat\",r,e,t).toUpperCase();return[o.depthToSpace(I(\"x\",r,e,t),n,s)]}case\"BroadcastTo\":return[o.broadcastTo(I(\"x\",r,e,t),I(\"shape\",r,e,t))];case\"BroadcastArgs\":return[o.broadcastArgs(I(\"s0\",r,e,t),I(\"s1\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function qC(r,e,t,o,n=Ee){let s=((a,i,p)=>{switch(a.category){case\"arithmetic\":return n(()=>_N(a,i,p));case\"basic_math\":return n(()=>EN(a,i,p));case\"control\":return ON(a,i,p);case\"convolution\":return n(()=>MN(a,i,p));case\"creation\":return n(()=>LN(a,i,p));case\"dynamic\":return BN(a,i,p);case\"evaluation\":return n(()=>VN(a,i,p));case\"image\":return n(()=>UN(a,i,p));case\"graph\":return n(()=>zN(a,i,p));case\"logical\":return n(()=>GN(a,i,p));case\"matrices\":return n(()=>HN(a,i,p));case\"normalization\":return n(()=>qN(a,i,p));case\"ragged\":return n(()=>KN(a,i,p));case\"reduction\":return n(()=>jN(a,i,p));case\"slice_join\":return n(()=>XN(a,i,p));case\"sparse\":return n(()=>YN(a,i,p));case\"spectral\":return n(()=>QN(a,i,p));case\"string\":return n(()=>ZN(a,i,p));case\"transformation\":return n(()=>JN(a,i,p));case\"hash_table\":return WN(a,i,p,o);case\"custom\":let u=Gd(a.op);if(u&&u.customExecutor)return u.customExecutor(new rf(a,i,p));throw TypeError(`Custom op ${a.op} is not registered.`);default:throw TypeError(`Unknown op '${a.op}'. File an issue at https://github.com/tensorflow/tfjs/issues so we can add it, or register a custom execution with tf.registerOp()`)}})(r,e,t);return y.isPromise(s)?s.then(a=>[].concat(a)):[].concat(s)}var cl=class{constructor(e={},t={},o={},n={}){this.weightMap=e,this.tensorArrayMap=t,this.tensorListMap=o,this.functionMap=n,this.rootContext={id:0,frameName:\"\",iterationId:0},this.contexts=[this.rootContext],this.lastId=0,this.generateCurrentContextIds()}newFrame(e,t){return{id:e,frameName:t,iterationId:0}}set currentContext(e){this.contexts!==e&&(this.contexts=e,this.generateCurrentContextIds())}get currentContext(){return this.contexts}get currentContextId(){return this._currentContextIds[0]}get currentContextIds(){return this._currentContextIds}generateCurrentContextIds(){let e=[];for(let t=0;tt.id===0&&t.iterationId===0?\"\":`${t.frameName}-${t.iterationId}`).join(\"/\"):\"\"}enterFrame(e){this.contexts&&(this.lastId++,this.contexts=this.contexts.slice(),this.contexts.push(this.newFrame(this.lastId,e)),this._currentContextIds.unshift(this.contextIdforContexts(this.contexts)))}exitFrame(){if(this.contexts&&this.contexts.length>1)this.contexts=this.contexts.slice(),this.contexts.splice(-1),this.currentContextIds.shift();else throw new Error(\"Cannot exit frame, the context is empty\")}nextIteration(){if(this.contexts&&this.contexts.length>0){this.contexts=this.contexts.slice(),this.lastId++;let e=Object.assign({},this.contexts[this.contexts.length-1]);e.iterationId+=1,e.id=this.lastId,this.contexts.splice(-1,1,e),this._currentContextIds.splice(0,1,this.contextIdforContexts(this.contexts))}else throw new Error(\"Cannot increase frame iteration, the context is empty\")}getWeight(e){return this.weightMap[e]}addTensorArray(e){this.tensorArrayMap[e.id]=e}getTensorArray(e){return this.tensorArrayMap[e]}addTensorList(e){this.tensorListMap[e.id]=e}getTensorList(e){return this.tensorListMap[e]}dispose(e){for(let t in this.tensorArrayMap)this.tensorArrayMap[t].clearAndClose(e);for(let t in this.tensorListMap)this.tensorListMap[t].clearAndClose(e)}};function KC(r,e,t,o){let n=new Set,s=[],a=null,i=null,p=new Set,u=Object.keys(r).map(m=>Ir(m)[0]),c=[];o!=null&&(c=o.map(m=>Ir(m.name)[0]));let l=[...e];for(;l.length>0;){let m=l.pop();if((jC(m)||i6(m)||u6(m))&&a==null&&(a=m,i=a.children.map(d=>d.name).filter(d=>n.has(d))),n.add(m.name),t[m.name]==null&&u.indexOf(m.name)===-1&&c.indexOf(m.name)===-1){if(m.inputs.length===0){s.push(m.name);continue}m.inputs.forEach(d=>{p.has(d.name)||(p.add(d.name),l.push(d))})}}return{inputs:r,outputs:e,usedNodes:n,missingInputs:s,dynamicNode:a,syncInputs:i}}function eT(r,e,t){let{usedNodes:o,inputs:n}=t,s=[],a=Object.keys(n).map(c=>Ir(c)[0]).map(c=>r.nodes[c]),i=r.initNodes;a.forEach(c=>{o.has(c.name)&&s.push(c)}),r.weights.forEach(c=>{o.has(c.name)&&s.push(c)}),i!=null&&i.forEach(c=>{o.has(c.name)&&s.push(c)});let p=new Set,u=[];for(;s.length>0;){let c=s.pop();p.add(c.name),e[c.name]||u.push(c),c.children.forEach(l=>{!p.has(l.name)&&o.has(l.name)&&l.inputs.every(m=>p.has(m.name))&&s.push(l)})}return u}var n6=[\"Switch\",\"Merge\",\"Enter\",\"Exit\",\"NextIteration\",\"StatelessIf\",\"StatelessWhile\",\"if\",\"While\"],s6=[\"NonMaxSuppressionV2\",\"NonMaxSuppressionV3\",\"NonMaxSuppressionV5\",\"Where\"],a6=[\"HashTable\",\"HashTableV2\",\"LookupTableImport\",\"LookupTableImportV2\",\"LookupTableFind\",\"LookupTableFindV2\",\"LookupTableSize\",\"LookupTableSizeV2\"];function jC(r){return n6.indexOf(r.op)>=0}function i6(r){return s6.indexOf(r.op)>=0}function u6(r){return a6.indexOf(r.op)>=0}var Cu=class{constructor(e,t){this.graph=e,this.parent=t,this.compiledMap=new Map,this._weightMap={},this.SEPERATOR=\",\",this._functions={},this._functionExecutorMap={},this.keepIntermediateTensors=!1,this._outputs=e.outputs,this._inputs=e.inputs,this._initNodes=e.initNodes,this._signature=e.signature,this._functions=e.functions,e.functions!=null&&Object.keys(e.functions).forEach(o=>{this._functionExecutorMap[o]=new Cu(e.functions[o],this)})}get weightIds(){return this.parent?this.parent.weightIds:this._weightIds}get functionExecutorMap(){return this.parent?this.parent.functionExecutorMap:this._functionExecutorMap}get weightMap(){return this.parent?this.parent.weightMap:this._weightMap}set weightMap(e){let t=Object.keys(e).map(o=>e[o].map(n=>n.id));this._weightIds=[].concat(...t),this._weightMap=e}set resourceManager(e){this._resourceManager=e}get inputs(){return this._inputs.map(e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0}))}get outputs(){return this._outputs.map(e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0}))}get inputNodes(){return this._inputs.map(e=>e.signatureKey||e.name)}get outputNodes(){return this._outputs.map(e=>{let t=e.signatureKey||e.name;return e.defaultOutput?`${t}:${e.defaultOutput}`:t})}get functions(){return Object.keys(this._functions).reduce((e,t)=>(e[t]=this._functions[t].signature,e),{})}getCompilationKey(e,t){let o=e.map(s=>s.name).sort(),n=t.map(s=>s.name).sort();return o.join(this.SEPERATOR)+\"--\"+n.join(this.SEPERATOR)}compile(e,t){let o=KC(e,t,this.weightMap,this._initNodes),{missingInputs:n,dynamicNode:s,syncInputs:a}=o;if(s!=null)throw new Error(`This execution contains the node '${s.name}', which has the dynamic op '${s.op}'. Please use model.executeAsync() instead. Alternatively, to avoid the dynamic ops, specify the inputs [${a}]`);if(n.length>0){let i=t.map(u=>u.name),p=Object.keys(e);throw new Error(`Cannot compute the outputs [${i}] from the provided inputs [${p}]. Missing the following inputs: [${n}]`)}return eT(this.graph,this.weightMap,o)}cloneAndKeepTensor(e){if(e==null)return null;let t=e.clone();return _r(t),t}cloneTensorList(e){return e?e.map(o=>this.cloneAndKeepTensor(o)):null}cloneTensorMap(e){return Object.fromEntries(Object.entries(e).map(([t,o])=>[t,this.cloneTensorList(o)]))}execute(e,t){this.disposeIntermediateTensors(),e=this.mapInputs(e);let o=Object.keys(e).sort();this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t);let n=o.map(l=>this.graph.nodes[Ir(l)[0]]),s=t.map(l=>Ir(l)[0]),a=s.map(l=>this.graph.nodes[l]);a.length===0&&(a=this._outputs);let i=this.getCompilationKey(n,a),p=this.compiledMap.get(i);p==null&&(p=this.compile(e,a),this.compiledMap.set(i,p));try{this.keepIntermediateTensors=O().getBool(\"KEEP_INTERMEDIATE_TENSORS\")}catch(l){this.keepIntermediateTensors=!1,console.warn(l.message)}let u={},c={};return Ee(()=>{let l=new cl(this.weightMap,u,c,this.functionExecutorMap),m=Object.assign({},this.weightMap);this.keepIntermediateTensors&&(this.clonedTensorsMap=this.cloneTensorMap(this.weightMap)),Object.keys(e).forEach(h=>{let[g,x]=Ir(h),b=[];b[x]=e[h],m[g]=b,this.keepIntermediateTensors&&(this.clonedTensorsMap[g]=this.cloneTensorList(b))});let d=this.getFrozenTensorIds(m),f={};for(let h=0;hGt(h,m,l))})}getFrozenTensorIds(e){let t=[].concat.apply([],Object.keys(e).map(o=>e[o]).map(o=>o.map(n=>n.id)));return new Set(t)}checkTensorForDisposal(e,t,o,n,s,a,i){t.category===\"control\"||a.indexOf(e)!==-1||(o[e].forEach(p=>{p!=null&&(i[p.id]=(i[p.id]||0)+t.children.length)}),t.inputs.forEach(p=>{if(p.category!==\"control\"){let u=vN(p.name,o,n);u!=null&&u.forEach(c=>{if(c&&!c.kept&&!s.has(c.id)){let l=i[c.id];l===1?(c.dispose(),delete i[c.id]):l!=null&&i[c.id]--}})}}))}async executeAsync(e,t){return this._executeAsync(e,t)}disposeIntermediateTensors(){!this.clonedTensorsMap||(Object.values(this.clonedTensorsMap).forEach(e=>{for(let t of e)t&&!t.isDisposed&&t.dispose()}),this.clonedTensorsMap=null)}getIntermediateTensors(){return this.clonedTensorsMap}async _executeAsync(e,t,o=!1,n={},s={}){this.disposeIntermediateTensors(),o||(e=this.mapInputs(e),this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t));try{this.keepIntermediateTensors=O().getBool(\"KEEP_INTERMEDIATE_TENSORS\")}catch(m){this.keepIntermediateTensors=!1,console.warn(m.message)}let a=new cl(this.weightMap,n,s,this.functionExecutorMap);this.keepIntermediateTensors&&(this.clonedTensorsMap=this.cloneTensorMap(this.weightMap));let i=await this.executeWithControlFlow(e,a,t,o),p=t.map(m=>Gt(m,i,a)),u=p.map(m=>m.id),c=Object.keys(e).map(m=>e[m].id),l=new Set([...u,...c,...this.weightIds]);return Object.values(i).forEach(m=>{m.forEach(d=>{d&&!d.isDisposed&&!l.has(d.id)&&d.dispose()})}),this.parent==null&&a.dispose(l),p}async executeFunctionAsync(e,t,o){let n=e.reduce((s,a,i)=>(s[this.inputs[i].name]=a,s),{});return this._executeAsync(n,this.outputNodes,!0,t,o)}async executeWithControlFlow(e,t,o,n){let s=Object.keys(e),a=s.map(C=>this.graph.nodes[Ir(C)[0]]),i=o.map(C=>Ir(C)[0]),p=i.map(C=>this.graph.nodes[C]);p.length===0&&(p=this._outputs);let{usedNodes:u,missingInputs:c,dynamicNode:l,syncInputs:m}=KC(e,p,this.weightMap,this._initNodes),d=[...a,...this.graph.weights,...this._initNodes||[]].map(C=>({node:C,contexts:t.currentContext})),f=Object.assign({},this.weightMap);Object.keys(e).forEach(C=>{let[w,k]=Ir(C),_=[];_[k]=e[C],f[w]=_});let h={},g=this.getFrozenTensorIds(f),x={};for(;d.length>0;){let C=this.processStack(a,d,t,f,x,g,i,h,u);await Promise.all(C)}l==null&&!n&&console.warn(\"This model execution did not contain any nodes with control flow or dynamic output shapes. You can use model.execute() instead.\");let b=p.filter(C=>!jC(C)&&!Gt(C.name,f,t)).map(C=>C.name);if(b.length>0){let C=\"\";throw l!=null&&(C=`Alternatively, to avoid the dynamic ops, use model.execute() and specify the inputs [${m}]`),new Error(`Cannot compute the outputs [${b}] from the provided inputs [${s}]. Consider providing the following inputs: [${c}]. ${C}`)}return f}processStack(e,t,o,n,s,a,i,p,u){let c=[];for(;t.length>0;){let l=t.pop();o.currentContext=l.contexts;let m=\"\";if(l.node.op===\"Enter\"&&I(\"isConstant\",l.node,n,o)&&([m]=ss(l.node.name,o)),n[l.node.name]==null){let d=qC(l.node,n,o,this._resourceManager);m||([m]=ss(l.node.name,o));let f=o.currentContext;y.isPromise(d)?c.push(d.then(h=>(n[m]=h,this.keepIntermediateTensors&&(this.clonedTensorsMap[m]=this.cloneTensorList(h)),o.currentContext=f,this.checkTensorForDisposal(m,l.node,n,o,a,i,p),this.processChildNodes(l.node,t,o,n,s,u),h))):(n[m]=d,this.keepIntermediateTensors&&(this.clonedTensorsMap[m]=this.cloneTensorList(d)),this.checkTensorForDisposal(m,l.node,n,o,a,i,p),this.processChildNodes(l.node,t,o,n,s,u))}else this.processChildNodes(l.node,t,o,n,s,u)}return c}processChildNodes(e,t,o,n,s,a){e.children.forEach(i=>{let[p]=ss(i.name,o);s[p]||!a.has(i.name)||(i.op===\"Merge\"?i.inputNames.some(u=>!!Gt(u,n,o))&&(s[p]=!0,t.push({contexts:o.currentContext,node:i})):i.inputNames.every(u=>!!Gt(u,n,o))&&(s[p]=!0,t.push({contexts:o.currentContext,node:i})))})}dispose(){Object.keys(this.weightMap).forEach(e=>this.weightMap[e].forEach(t=>t.dispose()))}checkInputShapeAndType(e){Object.keys(e).forEach(t=>{let o=e[t],[n]=Ir(t),s=this.graph.nodes[n];if(s.attrParams.shape&&s.attrParams.shape.value){let a=s.attrParams.shape.value,i=a.length===o.shape.length&&o.shape.every((p,u)=>a[u]===-1||a[u]===p);y.assert(i,()=>`The shape of dict['${s.name}'] provided in model.execute(dict) must be [${a}], but was [${o.shape}]`)}s.attrParams.dtype&&s.attrParams.dtype.value&&y.assert(o.dtype===s.attrParams.dtype.value,()=>`The dtype of dict['${s.name}'] provided in model.execute(dict) must be ${s.attrParams.dtype.value}, but was ${o.dtype}`)})}mapInputs(e){var t,o;let n={};for(let s in e){let a=(o=(t=this._signature)===null||t===void 0?void 0:t.inputs)===null||o===void 0?void 0:o[s];a!=null?n[a.name]=e[s]:n[s]=e[s]}return n}checkInputs(e){let t=Object.keys(e).filter(o=>{let[n]=Ir(o);return this.graph.nodes[n]==null});if(t.length>0)throw new Error(`The dict provided in model.execute(dict) has keys: [${t}] that are not part of graph`)}mapOutputs(e){return e.map(t=>{var o,n;let s=(n=(o=this._signature)===null||o===void 0?void 0:o.outputs)===null||n===void 0?void 0:n[t];return s!=null?s.name:t},{})}checkOutputs(e){e.forEach(t=>{let[o]=Ir(t);if(!this.graph.nodes[o])throw new Error(`The output '${t}' is not found in the graph`)})}};var af=class{constructor(e={},t={}){this.hashTableNameToHandle=e,this.hashTableMap=t}addHashTable(e,t){this.hashTableNameToHandle[e]=t.handle,this.hashTableMap[t.id]=t}getHashTableHandleByName(e){return this.hashTableNameToHandle[e]}getHashTableById(e){return this.hashTableMap[e]}dispose(){for(let e in this.hashTableMap)this.hashTableMap[e].clearAndClose(),delete this.hashTableMap[e];for(let e in this.hashTableNameToHandle)this.hashTableNameToHandle[e].dispose(),delete this.hashTableNameToHandle[e]}};var p6=\"?tfjs-format=file\",c6=\"model.json\",ll=class{constructor(e,t={},o=Ea){this.modelUrl=e,this.loadOptions=t,this.version=\"n/a\",this.io=o,t==null&&(this.loadOptions={}),this.resourceManager=new af}get modelVersion(){return this.version}get inputNodes(){return this.executor.inputNodes}get outputNodes(){return this.executor.outputNodes}get inputs(){return this.executor.inputs}get outputs(){return this.executor.outputs}get weights(){return this.executor.weightMap}get metadata(){return this.artifacts.userDefinedMetadata}get modelSignature(){return this.signature}get modelStructuredOutputKeys(){return this.structuredOutputKeys}findIOHandler(){let e=this.modelUrl;if(e.load!=null)this.handler=e;else if(this.loadOptions.requestInit!=null)this.handler=this.io.browserHTTPRequest(e,this.loadOptions);else{let t=this.io.getLoadHandlers(e,this.loadOptions);if(t.length===0)t.push(this.io.browserHTTPRequest(e,this.loadOptions));else if(t.length>1)throw new Error(`Found more than one (${t.length}) load handlers for URL '${[e]}'`);this.handler=t[0]}}load(){if(this.findIOHandler(),this.handler.load==null)throw new Error(\"Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.\");let e=this.handler.load();return y.isPromise(e)?e.then(t=>this.loadSync(t)):this.loadSync(e)}loadSync(e){this.artifacts=e;let t=this.artifacts.modelTopology,o=this.artifacts.signature;if(this.artifacts.userDefinedMetadata!=null){let s=this.artifacts.userDefinedMetadata;s.signature!=null&&(o=s.signature),s.structuredOutputKeys!=null&&(this.structuredOutputKeys=s.structuredOutputKeys)}this.signature=o,this.version=`${t.versions.producer}.${t.versions.minConsumer}`;let n=this.io.decodeWeights(this.artifacts.weightData,this.artifacts.weightSpecs);if(this.executor=new Cu(pl.Instance.transformGraph(t,this.signature)),this.executor.weightMap=this.convertTensorMapToTensorsMap(n),this.executor.resourceManager=this.resourceManager,e.modelInitializer!=null&&e.modelInitializer.node!=null){let s=pl.Instance.transformGraph(e.modelInitializer);this.initializer=new Cu(s),this.initializer.weightMap=this.executor.weightMap,this.initializer.resourceManager=this.resourceManager,this.initializerSignature=e.initializerSignature}return!0}async save(e,t){if(typeof e==\"string\"){let o=this.io.getSaveHandlers(e);if(o.length===0)throw new Error(`Cannot find any save handlers for URL '${e}'`);if(o.length>1)throw new Error(`Found more than one (${o.length}) save handlers for URL '${e}'`);e=o[0]}if(e.save==null)throw new Error(\"GraphModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.\");return e.save(this.artifacts)}addStructuredOutputNames(e){if(this.structuredOutputKeys){let t=e instanceof it?[e]:e,o={};return t.forEach((n,s)=>o[this.structuredOutputKeys[s]]=n),o}return e}predict(e,t){let o=this.execute(e,this.outputNodes);return this.addStructuredOutputNames(o)}async predictAsync(e,t){let o=await this.executeAsync(e,this.outputNodes);return this.addStructuredOutputNames(o)}normalizeInputs(e){var t;if(!(e instanceof it)&&!Array.isArray(e)){let s=(t=this.signature)===null||t===void 0?void 0:t.inputs;if(s!=null)for(let a in s){let i=s[a];i.resourceId!=null&&(e[a]=this.resourceIdToCapturedInput[i.resourceId])}return e}e=Array.isArray(e)?e:[e];let o=Object.keys(this.resourceIdToCapturedInput).length;if(e.length+o!==this.inputNodes.length)throw new Error(`Input tensor count mismatch, the graph model has ${this.inputNodes.length-o} non-resource placeholders, while there are ${e.length} input tensors provided.`);let n=0;return this.inputNodes.reduce((s,a)=>{var i,p,u;let c=(u=(p=(i=this.signature)===null||i===void 0?void 0:i.inputs)===null||p===void 0?void 0:p[a])===null||u===void 0?void 0:u.resourceId;return c!=null?s[a]=this.resourceIdToCapturedInput[c]:s[a]=e[n++],s},{})}normalizeOutputs(e){return e=e||this.outputNodes,Array.isArray(e)?e:[e]}executeInitializerGraph(){return this.initializer==null?[]:this.initializerSignature==null?this.initializer.execute({},[]):this.initializer.execute({},Object.keys(this.initializerSignature.outputs))}async executeInitializerGraphAsync(){return this.initializer==null?[]:this.initializerSignature==null?this.initializer.executeAsync({},[]):this.initializer.executeAsync({},Object.keys(this.initializerSignature.outputs))}setResourceIdToCapturedInput(e){if(this.resourceIdToCapturedInput={},this.initializerSignature){let t=this.initializerSignature.outputs,o=Object.keys(t);for(let n=0;n1?o:o[0]}async executeAsync(e,t){this.resourceIdToCapturedInput==null&&this.setResourceIdToCapturedInput(await this.executeInitializerGraphAsync()),e=this.normalizeInputs(e),t=this.normalizeOutputs(t);let o=await this.executor.executeAsync(e,t);return o.length>1?o:o[0]}getIntermediateTensors(){return this.executor.getIntermediateTensors()}disposeIntermediateTensors(){this.executor.disposeIntermediateTensors()}convertTensorMapToTensorsMap(e){return Object.keys(e).reduce((t,o)=>(t[o]=[e[o]],t),{})}dispose(){this.executor.dispose(),this.initializer&&(this.initializer.dispose(),this.resourceIdToCapturedInput&&Dt(this.resourceIdToCapturedInput)),this.resourceManager.dispose()}};async function l6(r,e={},t=Ea){if(r==null)throw new Error(\"modelUrl in loadGraphModel() cannot be null. Please provide a url or an IOHandler that loads the model\");e==null&&(e={}),e.fromTFHub&&typeof r==\"string\"&&(r=d6(r));let o=new ll(r,e,t);return await o.load(),o}function m6(r){if(r==null)throw new Error(\"modelUrl in loadGraphModelSync() cannot be null. Please provide model artifacts or an IOHandler that loads the model\");let e;if(r instanceof Array){let[o,n]=r;if(!o)throw new Error(\"modelJSON must be the first element of the array\");if(!n||!(n instanceof ArrayBuffer))throw new Error(\"An ArrayBuffer of weights must be the second element of the array\");if(!(\"modelTopology\"in o))throw new Error(\"Model JSON is missing 'modelTopology'\");if(!(\"weightsManifest\"in o))throw new Error(\"Model JSON is missing 'weightsManifest'\");let s=Ea.getWeightSpecs(o.weightsManifest),a=Ea.getModelArtifactsForJSONSync(o,s,n);e=Ea.fromMemorySync(a)}else if(\"load\"in r)e=r;else if(\"modelTopology\"in r&&\"weightSpecs\"in r&&\"weightData\"in r)e=Ea.fromMemorySync(r);else throw new Error(\"Unknown model format\");let t=new ll(e);return t.load(),t}function d6(r){return r.endsWith(\"/\")||(r=r+\"/\"),`${r}${c6}${p6}`}var f6=\"4.1.0\";function K(r,e){Array.isArray(r)||(r=[r]),r.forEach(t=>{t!=null&&y.assert(t.dtype!==\"complex64\",()=>`${e} does not support complex64 tensors in the CPU backend.`)})}var h6=Lt.whereImpl,Oi=class extends Zr{constructor(){super(),this.blockSize=48,this.firstUse=!0,this.data=new Do(this,cr())}nextDataId(){return Oi.nextDataId++}write(e,t,o){this.firstUse&&(this.firstUse=!1,O().get(\"IS_NODE\")&&S.warn(`\n============================\nHi, looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, visit https://github.com/tensorflow/tfjs-node for more details. \n============================`));let n={id:this.nextDataId()};return this.data.set(n,{values:e,dtype:o,refCount:1}),n}makeTensorInfo(e,t,o){let n;if(t===\"string\"&&o!=null&&o.length>0&&y.isString(o[0])){let s=o.map(a=>y.encodeString(a));n=this.write(s,e,t)}else n=this.write(o,e,t);return{dataId:n,shape:e,dtype:t}}refCount(e){return this.data.has(e)?this.data.get(e).refCount:0}incRef(e){let t=this.data.get(e);t.refCount++}decRef(e){if(this.data.has(e)){let t=this.data.get(e);t.refCount--}}move(e,t,o,n,s){this.data.set(e,{values:t,dtype:n,refCount:s})}numDataIds(){return this.data.numDataIds()}async read(e){return this.readSync(e)}readSync(e){let{dtype:t,complexTensorInfos:o}=this.data.get(e);if(t===\"complex64\"){let n=this.readSync(o.real.dataId),s=this.readSync(o.imag.dataId);return S.mergeRealAndImagArrays(n,s)}return this.data.get(e).values}bufferSync(e){let t=this.readSync(e.dataId);if(e.dtype===\"string\")try{let o=t.map(n=>y.decodeString(n));return le(e.shape,e.dtype,o)}catch(o){throw new Error(\"Failed to decode encoded string bytes into utf-8\")}return le(e.shape,e.dtype,t)}makeOutput(e,t,o){return cr().makeTensorFromTensorInfo(this.makeTensorInfo(t,o,e),this)}disposeData(e,t=!1){if(this.data.has(e)){if(this.data.get(e).refCount--,!t&&this.data.get(e).refCount>0)return!1;let{complexTensorInfos:o}=this.data.get(e);o!=null&&(this.disposeData(o.real.dataId,!0),this.disposeData(o.imag.dataId,!0)),this.data.delete(e)}return!0}disposeIntermediateTensorInfo(e){this.disposeData(e.dataId)}async time(e){let t=y.now();return e(),{kernelMs:y.now()-t}}memory(){return{unreliable:!0,reasons:[\"The reported memory is an upper bound. Due to automatic garbage collection, the true allocated memory may be less.\"]}}where(e){K([e],\"where\");let t=this.readSync(e.dataId);return h6(e.shape,t)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}};Oi.nextDataId=0;var Qp={};Ue(Qp,{addImpl:()=>QC,bincountImpl:()=>Kp,bincountReduceImpl:()=>uf,castImpl:()=>YC,ceilImpl:()=>ZC,concatImpl:()=>Su,equalImpl:()=>JC,expImpl:()=>tS,expm1Impl:()=>oS,floorImpl:()=>nS,gatherNdImpl:()=>pf,gatherV2Impl:()=>cf,greaterEqualImpl:()=>aS,greaterImpl:()=>sS,lessEqualImpl:()=>uS,lessImpl:()=>iS,linSpaceImpl:()=>lf,logImpl:()=>pS,maxImpl:()=>mf,maximumImpl:()=>cS,minimumImpl:()=>lS,multiplyImpl:()=>ml,negImpl:()=>mS,notEqualImpl:()=>dS,prodImpl:()=>fS,raggedGatherImpl:()=>df,raggedRangeImpl:()=>ff,raggedTensorToTensorImpl:()=>hf,rangeImpl:()=>Iu,rsqrtImpl:()=>hS,scatterImpl:()=>Ma,sigmoidImpl:()=>ET,simpleAbsImpl:()=>XC,sliceImpl:()=>vu,sparseFillEmptyRowsImpl:()=>gf,sparseReshapeImpl:()=>xf,sparseSegmentReductionImpl:()=>Yp,sqrtImpl:()=>RT,squaredDifferenceImpl:()=>xS,stridedSliceImpl:()=>yf,stringNGramsImpl:()=>ku,stringSplitImpl:()=>Nu,stringToHashBucketFastImpl:()=>Tu,subImpl:()=>bS,tileImpl:()=>bf,topKImpl:()=>Cf,transposeImpl:()=>jp,uniqueImpl:()=>Sf});function XC(r){let e=new Float32Array(r.length);for(let t=0;t{let{x:e}=r.inputs,t=r.backend;K(e,\"abs\");let o=new Float32Array(y.sizeFromShape(e.shape)),n=t.data.get(e.dataId).values;return o=XC(n),t.makeOutput(o,e.shape,e.dtype)},tT={kernelName:gs,backendName:\"cpu\",kernelFunc:g6};function Be(r){return(e,t,o,n,s)=>{let a=S.assertAndGetBroadcastShape(e,t),i=a.length,p=y.computeStrides(a),u=y.sizeFromShape(a),c=y.getTypedArrayFromDType(s,u),l=e.length,m=t.length,d=y.computeStrides(e),f=y.computeStrides(t),h=S.getBroadcastDims(e,a),g=S.getBroadcastDims(t,a);if(h.length+g.length===0)for(let x=0;xC[$]=0);let w=y.locToIndex(C,l,d),k=b.slice(-m);g.forEach($=>k[$]=0);let _=y.locToIndex(k,m,f);c[x]=r(o[w],n[_])}return[c,a]}}function Ht(r){let{inputs:e,backend:t}=r,{real:o,imag:n}=e,s=t.data.get(o.dataId).values,a=t.data.get(n.dataId).values,i=t.makeTensorInfo(o.shape,\"complex64\"),p=t.data.get(i.dataId);return p.complexTensorInfos={real:t.makeTensorInfo(o.shape,\"float32\",s),imag:t.makeTensorInfo(n.shape,\"float32\",a)},i}var rT={kernelName:ei,backendName:\"cpu\",kernelFunc:Ht};function Hp(r,e,t=\"float32\"){if(t===\"complex64\"){let n=Hp(r,e,\"float32\"),s=Hp(r,e,\"float32\");return Ht({inputs:{real:n,imag:s},backend:r})}let o=y.makeZerosTypedArray(y.sizeFromShape(e),t);return r.makeTensorInfo(e,t,o)}function ar(r){let{inputs:e,backend:t}=r,{x:o}=e;return t.incRef(o.dataId),{dataId:o.dataId,shape:o.shape,dtype:o.dtype}}var oT={kernelName:mo,backendName:\"cpu\",kernelFunc:ar};function wo(r){let{inputs:e,backend:t}=r,{input:o}=e,n=t.data.get(o.dataId).complexTensorInfos.real,s=t.data.get(n.dataId).values;return t.makeTensorInfo(n.shape,n.dtype,s)}var nT={kernelName:ai,backendName:\"cpu\",kernelFunc:wo};function YC(r,e,t,o){if(o===\"int32\"){let n=Int32Array.from(r);return[e,\"int32\",n]}if(o===\"bool\"){let n=y.toTypedArray([0],t),[s,a]=Be((i,p)=>i!==p?1:0)(e,[],r,n,\"bool\");return[a,\"bool\",s]}throw new Error(`Error in Cast: failed to cast ${t} to ${o}`)}function Io(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{dtype:s}=o;if(s===\"complex64\"){if(n.dtype===\"complex64\")return ar({inputs:{x:n},backend:t});let c=Hp(t,n.shape,n.dtype),l=Io({inputs:{x:n},backend:t,attrs:{dtype:\"float32\"}}),m=Ht({inputs:{real:l,imag:c},backend:t});return t.disposeIntermediateTensorInfo(c),t.disposeIntermediateTensorInfo(l),m}if(n.dtype===\"complex64\"){let c=wo({inputs:{input:n},backend:t}),l=Io({inputs:{x:c},backend:t,attrs:{dtype:s}});return t.disposeIntermediateTensorInfo(c),l}if(!y.hasEncodingLoss(n.dtype,s)){let c=ar({inputs:{x:n},backend:t});return{dataId:c.dataId,shape:c.shape,dtype:s}}let a=t.data.get(n.dataId).values,[i,p,u]=YC(a,n.shape,n.dtype,s);return t.makeTensorInfo(i,p,u)}var sT={kernelName:co,backendName:\"cpu\",kernelFunc:Io};function Qe(r,e,t,o){return t==null?({inputs:n,backend:s})=>{let{a,b:i}=n,p=s;K([a,i],r);let u=p.data.get(a.dataId).values,c=p.data.get(i.dataId).values,l=a.dtype===\"string\"?S.fromUint8ToStringArray(u):u,m=a.dtype===\"string\"?S.fromUint8ToStringArray(c):c,d=o||a.dtype,[f,h]=e(a.shape,i.shape,l,m,d);return p.makeTensorInfo(h,d,f)}:({inputs:n,backend:s})=>{let{a,b:i}=n,p=s;if(a.dtype===\"complex64\"||i.dtype===\"complex64\"){let u=Io({inputs:{x:a},backend:p,attrs:{dtype:\"complex64\"}}),c=p.data.get(u.dataId),l=c.complexTensorInfos.real,m=c.complexTensorInfos.imag,d=p.data.get(l.dataId).values,f=p.data.get(m.dataId).values,h=Io({inputs:{x:i},backend:p,attrs:{dtype:\"complex64\"}}),g=p.data.get(h.dataId),x=g.complexTensorInfos.real,b=g.complexTensorInfos.imag,C=p.data.get(x.dataId).values,w=p.data.get(b.dataId).values,[k,_,$]=t(a.shape,i.shape,d,f,C,w),A=p.makeTensorInfo($,\"float32\",k),R=p.makeTensorInfo($,\"float32\",_),D=Ht({inputs:{real:A,imag:R},backend:p});return p.disposeIntermediateTensorInfo(u),p.disposeIntermediateTensorInfo(h),p.disposeIntermediateTensorInfo(A),p.disposeIntermediateTensorInfo(R),D}else{let u=p.data.get(a.dataId).values,c=p.data.get(i.dataId).values,l=o||a.dtype,[m,d]=e(a.shape,i.shape,u,c,l);return p.makeTensorInfo(d,l,m)}}}function qp(r){return(e,t,o,n,s,a)=>{let i=S.assertAndGetBroadcastShape(e,t),p=y.sizeFromShape(i),u=i.length,c=y.computeStrides(i),l=y.getTypedArrayFromDType(\"float32\",p),m=y.getTypedArrayFromDType(\"float32\",p),d=S.getBroadcastDims(e,i),f=S.getBroadcastDims(t,i),h=S.mergeRealAndImagArrays(o,n),g=S.mergeRealAndImagArrays(s,a),x=e.length,b=y.computeStrides(e),C=t.length,w=y.computeStrides(t);if(d.length+f.length===0)for(let k=0;k$[M]=0);let A=y.locToIndex($,x,b),R=_.slice(-C);f.forEach(M=>R[M]=0);let D=y.locToIndex(R,C,w),P=r(h[A*2],h[A*2+1],g[D*2],g[D*2+1]);l[k]=P.real,m[k]=P.imag}return[l,m,i]}}var QC=Be((r,e)=>r+e),x6=qp((r,e,t,o)=>({real:r+t,imag:e+o})),js=Qe(eo,QC,x6),aT={kernelName:eo,backendName:\"cpu\",kernelFunc:js};function Kp(r,e,t,o,n){let s=y.sizeFromShape(o),a=y.makeZerosTypedArray(n,t);for(let i=0;i=n||(s>0?a[p]+=e[i]:a[p]+=1)}return a}function uf(r,e,t,o=!1){let n=r.shape[0],s=r.shape[1],a=le([n,t],e.dtype);for(let i=0;i=t||(o?a.set(1,i,u):e.size>0?a.set(a.get(i,u)+e.get(i,p),i,u):a.set(a.get(i,u)+1,i,u))}return a}function vr(r){return(e,t,o)=>{let n=y.getTypedArrayFromDType(t,e.length);for(let s=0;s{let{x:a}=o;if(K(a,r),a.dtype===\"string\"||t===\"string\")throw new Error(\"unaryKernelFunc does not support string input/output\");let i=s,p=i.data.get(a.dataId).values,u=y.sizeFromShape(a.shape),c=t||a.dtype,l=y.getArrayFromDType(c,u);for(let m=0;m{let{x:a}=o;if(K(a,r),a.dtype===\"string\"||t===\"string\")throw new Error(\"unaryKernelFunc does not support string input/output\");let i=s,p=i.data.get(a.dataId).values,u=t||a.dtype,c=e(p,u,n);return i.makeTensorInfo(a.shape,u,c)}}var ZC=vr(r=>Math.ceil(r)),y6=vo(Uo,ZC),iT={kernelName:Uo,backendName:\"cpu\",kernelFunc:y6};function Su(r,e,t,o){let n=y.getArrayFromDType(t,y.sizeFromShape(e));if(o&&t!==\"string\"){let s=0;r.forEach(a=>{let i=y.sizeFromShape(a.shape);n.set(a.vals,s),s+=i})}else{let s=0;r.forEach(a=>{let i=t===\"string\"?S.fromUint8ToStringArray(a.vals):a.vals,p=0;for(let u=0;ur===e?1:0),eS=Qe(tn,JC,null,\"bool\"),uT={kernelName:tn,backendName:\"cpu\",kernelFunc:eS};var tS=vr(r=>Math.exp(r)),rS=vo(rn,tS,\"float32\"),pT={kernelName:rn,backendName:\"cpu\",kernelFunc:rS};var oS=vr(r=>Math.expm1(r)),b6=vo(da,oS),cT={kernelName:da,backendName:\"cpu\",kernelFunc:b6};var nS=vr(r=>Math.floor(r)),C6=vo(nn,nS),lT={kernelName:nn,backendName:\"cpu\",kernelFunc:C6};function pf(r,e,t,o,n,s,a,i,p){let u=le([o,s],t);for(let c=0;c=p/s)throw new Error(`Invalid indices: ${l} does not index into ${i}`);for(let d=0;dr>e?1:0),S6=Qe(pn,sS,null,\"bool\"),mT={kernelName:pn,backendName:\"cpu\",kernelFunc:S6};var aS=Be((r,e)=>r>=e?1:0),w6=Qe(cn,aS,null,\"bool\"),dT={kernelName:cn,backendName:\"cpu\",kernelFunc:w6};var iS=Be((r,e)=>rr<=e?1:0),v6=Qe(fn,uS,null,\"bool\"),hT={kernelName:fn,backendName:\"cpu\",kernelFunc:v6};function lf(r,e,t){let o=(e-r)/(t-1),n=y.makeZerosTypedArray(t,\"float32\");n[0]=r;for(let s=1;sMath.log(r)),k6=vo(hn,pS),gT={kernelName:hn,backendName:\"cpu\",kernelFunc:k6};function mf(r,e,t,o){let n=y.getTypedArrayFromDType(o,y.sizeFromShape(t));for(let s=0;si)&&(i=u)}n[s]=i}return n}var cS=Be((r,e)=>Math.max(r,e)),N6=Qe(bn,cS),xT={kernelName:bn,backendName:\"cpu\",kernelFunc:N6};var lS=Be((r,e)=>Math.min(r,e)),T6=Qe(In,lS),yT={kernelName:In,backendName:\"cpu\",kernelFunc:T6};var ml=Be((r,e)=>r*e),_6=qp((r,e,t,o)=>({real:r*t-e*o,imag:r*o+e*t})),wu=Qe(kn,ml,_6),bT={kernelName:kn,backendName:\"cpu\",kernelFunc:wu};function mS(r,e,t){let o=y.createScalarValue(-1,t);return ml([],e,o,r,t)}function E6(r){let{inputs:e,backend:t}=r,{x:o}=e;K(o,\"neg\");let n=t.data.get(o.dataId).values,[s,a]=mS(n,o.shape,o.dtype);return t.makeTensorInfo(a,o.dtype,s)}var CT={kernelName:ws,backendName:\"cpu\",kernelFunc:E6};var dS=Be((r,e)=>r!==e?1:0),$6=Qe(Nn,dS,null,\"bool\"),ST={kernelName:Nn,backendName:\"cpu\",kernelFunc:$6};function jp(r,e,t,o,n){let s=e.length,a=y.sizeFromShape(e),i=y.computeStrides(e),p=y.computeStrides(n),u=y.getTypedArrayFromDType(t,y.sizeFromShape(n));for(let c=0;ct.disposeIntermediateTensorInfo(b)),t.makeTensorInfo(x,g,f)}var IT={kernelName:Fn,backendName:\"cpu\",kernelFunc:A6};function R6(r,e,t){r.forEach((o,n)=>{if(o<0||o>=t){let s=y.indexToLoc(n,e.length,y.computeStrides(e)).join(\",\");throw new Error(`indices[${s}] = ${o} is not in [0, ${t})`)}})}function F6(r,e){for(let t=0;tn)throw new Error(\"Ragged splits must not point past values\");for(let s=1;so[s])throw new Error(\"Ragged splits must be sorted in ascending order\")}}function D6(r,e,t,o){let n=[],s=0,a=e.length-1+t.length,i=new Array(a).fill(null).map(()=>[0]);F6(t,o);let p=1;for(let u=0;u=0){let h=i[f],g=h[h.length-1]-d[c];for(let x=c;xn[a]=s)}return e}function vT(r,e){let t=r.slice(0,e);for(;t.length1)throw new Error(\"starts must be a scalar or vector\");if(n.length>1)throw new Error(\"limits must be a scalar or vector\");if(a.length>1)throw new Error(\"deltas must be a scalar or vector\");let i=e.length===0,p=n.length===0,u=a.length===0,c=[];i||c.push(e[0]),p||c.push(n[0]),u||c.push(a[0]);for(let g=1;g0&&bx)w=0;else if(w=Math.ceil(Math.abs((b-x)/C)),w>kT)throw new Error(`Requires ((limit - start) / delta) <= ${kT}`);m[g+1]=m[g]+w}let d=m[l],f=y.getArrayFromDType(t,d),h=0;for(let g=0;go&&(o=s)}return o}static getMaxWidthValueRowID(e){let t=e.length;if(t===0)return 0;let o=0,n=e[0],s=0;for(let a=1;a\"Final length of result must be equal to firstDimension.\"),s}calculateOutputIndexRowSplit(e,t,o,n){let s=e.length,a=[];for(let i=0;i0&&a.length!==e[s-1])throw new Error(\"Invalid row split size.\");return a}calculateOutputIndexValueRowID(e,t,o,n){let s=e.length,a=[];if(s===0)return[];let i=0,p=e[0];if(p>=t.length)throw new Error(`Got currentValueRowId=${p}, which is not less than ${t.length}`);let u=t[p];a.push(u);for(let c=1;c=0&&(++i,i=t.length)throw new Error(`Got nextValueRowId=${l} which is not less than ${t.length}`);u=t[l]}a.push(u)}if(a.length!==e.length)throw new Error(\"Invalid row ids.\");return a}calculateOutputIndex(e,t,o,n){let s=this.getRowPartitionTensor(e),a=this.getRowPartitionTypeByDimension(e);switch(a){case ko.VALUE_ROWIDS:return this.calculateOutputIndexValueRowID(s,t,o,n);case ko.ROW_SPLITS:if(s.length-1>t.length)throw new Error(`Row partition size is greater than output size: ${s.length-1} > ${t.length}`);return this.calculateOutputIndexRowSplit(s,t,o,n);default:throw new Error(`Unsupported partition type: ${ko[a]}`)}}getFirstDimensionSize(){let e=this.rowPartitionValues[0];if(this.rowPartitionTypes.length===0)throw new Error(\"No row_partition_types given.\");let t=this.rowPartitionTypes[0];switch(t){case ko.FIRST_DIM_SIZE:return e[0];case ko.VALUE_ROWIDS:throw new Error(\"Cannot handle VALUE_ROWIDS in first dimension.\");case ko.ROW_SPLITS:return this.rowPartitionValuesShapes[0][0]-1;default:throw new Error(`Cannot handle type ${ko[t]}`)}}compute(){if(this.rowPartitionValues[0].length<=0)throw new Error(\"Invalid first partition input. Tensor requires at least one element.\");let t=this.getFirstDimensionSize(),o=this.calculateOutputSize(t),n=new Array(this.raggedRank+1);n[n.length-1]=1;for(let p=n.length-2;p>=0;--p)n[p]=n[p+1]*o[p+1];let s=TT(o,!1),a=y.getArrayFromDType(this.valuesDType,y.sizeFromShape(s));if(n[0]*o[0]>0){let p=this.calculateFirstParentOutputIndex(t,n[0],o[0]);for(let u=1;u<=this.raggedRank;++u)p=this.calculateOutputIndex(u-1,p,n[u],o[u]);this.setOutput(this.raggedRank,p,a,s)}return[s,a]}setOutput(e,t,o,n){if(o.length===0)return;let s=this.values,a=o,i=n.slice();i=i.slice(e+1);let p=y.sizeFromShape(i),u=t.length,c=this.defaultValue;if(c.length!==p&&c.length!==1){let f=this.defaultValueShape;Ee(()=>{let h=z(c,f);c=Ii(h,i).dataSync()})}let l=0,m=0,d=0;for(let f=0;f<=u;++f){let h=f=u){let g=o.length;h=Math.floor(g/p)}if(h>d)if(this.defaultValue.length===1)a.subarray(d*p,h*p).fill(this.defaultValue[0]),d=h;else for(;h>d;){let g=a.slice(d*p);NT(g,c,p),++d}h<0?(l=f+1,m=d):(l=f,m=d,d=m+1)}}};function NT(r,e,t){for(let o=0;o= 0`);if(o<-1)throw new Error(`Dimension ${o} must be >= -1`);o=-1}t.push(o)}return t}function hf(r,e,t,o,n,s,a,i,p,u){return new Xp(r,e,t,o,n,s,a,i,p,u).compute()}function Iu(r,e,t,o){let n=r===e,s=r1;if(n||s||a)return y.makeZerosTypedArray(0,o);let i=Math.abs(Math.ceil((e-r)/t)),p=y.makeZerosTypedArray(i,o);e1/Math.sqrt(r)),L6=vo(Vn,hS),_T={kernelName:Vn,backendName:\"cpu\",kernelFunc:L6};function Ma(r,e,t,o,n,s,a,i,p,u){let c=[o/n,n],l=r.values,m=e.values;if(o===0)return le(t,e.dtype);let d=le(c,e.dtype);typeof p==\"string\"||typeof p==\"number\"?d.values.fill(p):typeof p==\"boolean\"&&d.values.fill(+p);for(let f=0;f=o/n)throw new Error(`Invalid indices: ${h} does not index into ${t}`);for(let x=0;x1/(1+Math.exp(-r))),gS=Ie(Un,r=>1/(1+Math.exp(-r))),$T={kernelName:Un,backendName:\"cpu\",kernelFunc:gS};function vu(r,e,t,o,n){let s=ut.isSliceContinous(o,e,t),a=y.sizeFromShape(t),i=y.computeStrides(o);if(s){let l=ut.computeFlatOffset(e,i);return n===\"string\"?r.slice(l,l+a):r.subarray(l,l+a)}let p=n===\"string\"?S.fromUint8ToStringArray(r):r,u=le(o,n,p),c=le(t,n);for(let l=0;lf+e[h]);c.set(u.get(...d),...m)}return n===\"string\"?S.fromStringArrayToUint8(c.values):c.values}function No(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{begin:s,size:a}=o;K(n,\"slice\");let[i,p]=ut.parseSliceParams(n,s,a);ut.assertParamsValid(n,i,p);let u=t.data.get(n.dataId).values,c=vu(u,i,p,n.shape,n.dtype);return t.makeTensorInfo(p,n.dtype,c)}var AT={kernelName:_s,backendName:\"cpu\",kernelFunc:No};function gf(r,e,t,o,n,s,a){let i=e[0],p=s[0],u=new Array(p),c=new Array(i),l=e[1];if(p===0){if(i!==0)throw new Error(S.getSparseFillEmptyRowsIndicesDenseShapeMismatch(i));let g=y.getArrayFromDType(t,0),x=y.getArrayFromDType(n,0);return[g,[0,l],x,u,c]}let m=!0,d=0,f=new Array(p).fill(0);for(let g=0;g=p)throw new Error(S.getSparseFillEmptyRowsOutOfRangeIndexErrorMessage(g,x,p));++f[x],m=m&&x>=d,d=x}let h=!0;for(let g=0;g0&&(f[g]+=f[g-1])}if(h&&m){let g=r,x=o;for(let b=0;b0){d[m-1]=1;for(let g=m-2;g>=0;--g)d[g]=d[g+1]*o[g+1]}let f=[];if(i>0){f[i-1]=1;for(let g=i-2;g>=0;--g)f[g]=f[g+1]*p[g+1]}let h=y.getArrayFromDType(t,a*i);for(let g=0;g0?n[i-1]+1:0;if(l<0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let m=e.slice();m[0]=l;let d=m.reduce((C,w)=>C*w,1),f=y.getArrayFromDType(t,d);if(i===0)return l>0&&f.fill(a),[f,m];if(l<=0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let h=0,g=1,x=0,b=n[h];for(;;){let C=0;if(g=C)throw new Error(S.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage())}if(b<0||b>=l)throw new Error(S.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(b,l));b>x&&f.fill(a,x*u,b*u);for(let w=h;w=p[0])throw new Error(S.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(w,o[w],p[0]));for(let _=0;_i)break}return xMath.sqrt(r)),B6=Ie(Gn,r=>Math.sqrt(r)),FT={kernelName:Gn,backendName:\"cpu\",kernelFunc:B6};var xS=Be((r,e)=>{let t=r-e;return t*t}),V6=Qe(Kn,xS),DT={kernelName:Kn,backendName:\"cpu\",kernelFunc:V6};function yf(r,e,t,o){let n=le(r,e.dtype);for(let s=0;s0?0:i-p),d=0;d+=u*this.leftPad.length;for(let b=0;bb.forEach(C=>h[g++]=C);for(let b=0;b0){x(e[m+l-1]);for(let b=0;b0){let p=t[0];if(p!==0)throw new Error(`First split value must be 0, got ${p}`);for(let u=1;u=p;if(c=c&&t[u]<=o,!c)throw new Error(`Invalid split value ${t[u]}, must be in [${p}, ${o}]`);p=t[u]}if(p!==o)throw new Error(`Last split value must be data size. Expected ${o}, got ${p}`)}let s=n-1,a=y.getArrayFromDType(\"int32\",n);if(o===0||n===0){let p=new Array(o);for(let u=0;u<=s;++u)a[u]=0;return[p,a]}a[0]=0;for(let p=1;p<=s;++p){let u=t[p]-t[p-1],c=0;this.nGramWidths.forEach(l=>{c+=this.getNumNGrams(u,l)}),this.preserveShort&&u>0&&c===0&&(c=1),a[p]=a[p-1]+c}let i=new Array(a[s]);for(let p=0;p{let m=t[p+1]-t[p],d=this.getNumNGrams(m,l);this.createNGrams(e,u,i,c,d,l),c+=d}),this.preserveShort&&c===a[p]){let l=t[p+1]-t[p];if(l===0)continue;let m=l+2*this.padWidth,d=1;this.createNGrams(e,u,i,c,d,m)}}return[i,a]}};function ku(r,e,t,o,n,s,a,i){return new yS(t,o,n,s,a,i).compute(r,e)}function z6(r,e,t,o){if(!r.length)return;if(e.length===0){for(let s=0;sr-e),W6=qp((r,e,t,o)=>({real:r-t,imag:e-o})),dl=Qe(Xn,bS,W6),OT={kernelName:Xn,backendName:\"cpu\",kernelFunc:dl};function bf(r,e){let t=new Array(r.rank);for(let n=0;n{let t=e.value-r.value;return t===0?r.index-e.index:t};function PT(r,e,t=0,o=r.length-1){for(;o>t;){if(o-t>600){let i=o-t+1,p=e-t+1,u=Math.log(i),c=.5*Math.exp(2*u/3),l=.5*Math.sqrt(u*c*(i-c)/i)*Math.sign(p-i/2),m=Math.max(t,Math.floor(e-p*c/i+l)),d=Math.min(o,Math.floor(e+(i-p)*c/i+l));PT(r,e,m,d)}let n=r[e],s=t,a=o;for(y.swap(r,t,e),fl(r[o],n)>0&&y.swap(r,t,o);s0;)a=a-1}fl(r[t],n)===0?y.swap(r,t,a):(a=a+1,y.swap(r,a,o)),a<=e&&(t=a+1),e<=a&&(o=a-1)}}function Cf(r,e,t,o,n){let s=e[e.length-1],[a,i]=[r.length/s,s],p=y.getTypedArrayFromDType(t,a*o),u=y.getTypedArrayFromDType(\"int32\",a*o);for(let l=0;lf[C]={value:b,index:C}),o{for(let g=0;gnew Oi,1);var CS=Ie(en,r=>r>=0?r:Math.exp(r)-1),MT={kernelName:en,backendName:\"cpu\",kernelFunc:CS};function SS(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{alpha:s}=o;K([n],\"leakyRelu\");let a=y.sizeFromShape(n.shape),i=t.data.get(n.dataId).values,p=y.getTypedArrayFromDType(\"float32\",a);for(let u=0;ur<0?e*r:r);function wS(r){let{inputs:e,backend:t}=r,{x:o,alpha:n}=e;K([o,n],\"prelu\");let s=t.data.get(o.dataId).values,a=t.data.get(n.dataId).values,[i,p]=G6(o.shape,n.shape,s,a,\"float32\");return t.makeTensorInfo(p,\"float32\",i)}var BT={kernelName:Rn,backendName:\"cpu\",kernelFunc:wS};var IS=Ie(On,r=>Math.max(0,r)),VT={kernelName:On,backendName:\"cpu\",kernelFunc:IS};var vS=Ie(Ln,r=>Math.min(Math.max(0,r),6)),zT={kernelName:Ln,backendName:\"cpu\",kernelFunc:vS};function _u(r,e,t,o,n){if(t===\"linear\")return ar({inputs:{x:e},backend:r});if(t===\"relu\")return IS({inputs:{x:e},backend:r});if(t===\"elu\")return CS({inputs:{x:e},backend:r});if(t===\"relu6\")return vS({inputs:{x:e},backend:r});if(t===\"prelu\")return wS({inputs:{x:e,alpha:o},backend:r});if(t===\"leakyrelu\")return SS({inputs:{x:e},backend:r,attrs:{alpha:n}});if(t===\"sigmoid\")return gS({inputs:{x:e},backend:r});throw new Error(`Activation ${t} has not been implemented for the CPU backend.`)}function Me(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{shape:s}=o,a=y.sizeFromShape(n.shape),i=y.inferFromImplicitShape(s,a),p=y.sizeFromShape(i);y.assert(a===p,()=>`The new shape (${i}) has ${p} elements and the old shape (${n.shape}) has ${a} elements. The new shape and old shape must have the same number of elements.`),t.incRef(n.dataId);let u=t.data.get(n.dataId);if(u.complexTensorInfos!=null){let c=u.complexTensorInfos.real,l=u.complexTensorInfos.imag;c.shape=i,l.shape=i}return{dataId:n.dataId,shape:i,dtype:n.dtype}}var WT={kernelName:Ns,backendName:\"cpu\",kernelFunc:Me};function kS(r){let{inputs:e,backend:t,attrs:o}=r,{a:n,b:s}=e,{transposeA:a,transposeB:i}=o;K([n,s],\"matMul\");let p=n.shape.length,u=s.shape.length,c=a?n.shape[p-2]:n.shape[p-1],l=i?s.shape[u-1]:s.shape[u-2],m=a?n.shape[p-1]:n.shape[p-2],d=i?s.shape[u-2]:s.shape[u-1],f=n.shape.slice(0,-2),h=s.shape.slice(0,-2),g=y.sizeFromShape(f),x=y.sizeFromShape(h),C=br.assertAndGetBroadcastShape(n.shape.slice(0,-2),s.shape.slice(0,-2)).concat([m,d]);y.assert(c===l,()=>`Error in matMul: inner shapes (${c}) and (${l}) of Tensors with shapes ${n.shape} and ${s.shape} and transposeA=${a} and transposeB=${i} must match.`);let w=a?[g,c,m]:[g,m,c],k=i?[x,d,l]:[x,l,d],_=Me({inputs:{x:n},backend:t,attrs:{shape:w}}),$=Me({inputs:{x:s},backend:t,attrs:{shape:k}}),A=a?_.shape[1]:_.shape[2],R=a?_.shape[2]:_.shape[1],D=i?$.shape[1]:$.shape[2],P=Math.max(g,x),M=t.data.get(_.dataId).values,L=t.data.get($.dataId).values,W=y.computeStrides(_.shape),V=y.computeStrides($.shape),[U,q,H]=a?[W[0],1,W[1]]:[W[0],W[1],1],[j,X,Z]=i?[1,V[1],V[0]]:[V[1],1,V[0]],ee=R*D,Y=le([P,R,D],_.dtype),J=Y.values,ie=t.blockSize;for(let pe=0;peMath.acos(r)),HT={kernelName:sa,backendName:\"cpu\",kernelFunc:q6};var K6=Ie(aa,r=>Math.acosh(r)),qT={kernelName:aa,backendName:\"cpu\",kernelFunc:K6};function j6(r){let{inputs:e,backend:t}=r,o=e;K(e,\"addN\");let n=o.map(i=>t.data.get(i.dataId).values),s=le(o[0].shape,o[0].dtype),a=s.values;for(let i=0;ib&&(b=k,C=w)}d[g]=C}return u.forEach(g=>t.disposeIntermediateTensorInfo(g)),t.makeTensorInfo(c,\"int32\",d)}var YT={kernelName:Vo,backendName:\"cpu\",kernelFunc:Q6};function Z6(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s}=o;K(n,\"argMin\");let a=y.parseAxisParam(s,n.shape),i=S.getAxesPermutation(a,n.shape.length),p=n,u=[];i!=null&&(p=Ct({inputs:{x:n},backend:t,attrs:{perm:i}}),u.push(p),a=S.getInnerMostAxes(a.length,p.shape.length)),a=[a[0]],S.assertAxesAreInnerMostDims(\"argMin\",a,p.shape.length);let[c,l]=S.computeOutAndReduceShapes(p.shape,a),m=y.sizeFromShape(c),d=y.makeZerosTypedArray(m,\"int32\"),f=y.sizeFromShape(l),h=t.data.get(p.dataId).values;for(let g=0;gt.disposeIntermediateTensorInfo(g)),t.makeTensorInfo(c,\"int32\",d)}var QT={kernelName:Za,backendName:\"cpu\",kernelFunc:Z6};var J6=Ie(ia,r=>Math.asin(r)),ZT={kernelName:ia,backendName:\"cpu\",kernelFunc:J6};var ej=Ie(ua,r=>Math.asinh(r)),JT={kernelName:ua,backendName:\"cpu\",kernelFunc:ej};var tj=Ie(pa,r=>Math.atan(r)),e2={kernelName:pa,backendName:\"cpu\",kernelFunc:tj};var rj=Be((r,e)=>Math.atan2(r,e)),oj=Qe(la,rj),t2={kernelName:la,backendName:\"cpu\",kernelFunc:oj};var nj=Ie(ca,r=>Math.atanh(r)),r2={kernelName:ca,backendName:\"cpu\",kernelFunc:nj};function Zp(r,e,t,o,n,s){let a=n.strideHeight,i=n.strideWidth,p=n.dilationHeight,u=n.dilationWidth,c=n.effectiveFilterHeight,l=n.effectiveFilterWidth,m=n.padInfo.top,d=n.padInfo.left,f=s===\"max\"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,h=le(n.outShape,t),g=h.values,x=n.outShape[1]*n.outShape[2]*n.outShape[3],b=n.outShape[2]*n.outShape[3],C=n.outShape[3];for(let w=0;wq?q=ie:s===\"avg\"&&(H+=ie,j++)}if(isNaN(q))break}let X=M+L*C+$;g[X]=s===\"avg\"?H/j:q}}}return h}function wf(r,e,t,o,n=!1,s=!1){let a=le(o.outShape,\"int32\"),i=o.strideHeight,p=o.strideWidth,u=o.dilationHeight,c=o.dilationWidth,l=o.effectiveFilterHeight,m=o.effectiveFilterWidth,d=o.padInfo.top,f=o.padInfo.left,h=le(e,t,r);for(let g=0;gD&&(D=U,n?P=s?((g*o.inHeight+M)*o.inWidth+W)*o.inChannels+x:(M*o.inWidth+W)*o.inChannels+x:P=L*m+V)}}a.set(P,g,b,_,x)}}return a}function If(r,e,t,o,n,s){let a=n.strideDepth,i=n.strideHeight,p=n.strideWidth,u=n.dilationDepth,c=n.dilationHeight,l=n.dilationWidth,m=n.effectiveFilterDepth,d=n.effectiveFilterHeight,f=n.effectiveFilterWidth,h=n.padInfo.front,g=n.padInfo.top,x=n.padInfo.left,b=s===\"max\"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,C=le(n.outShape,t),w=C.values,k=n.outShape[1]*n.outShape[2]*n.outShape[3]*n.outShape[4],_=n.outShape[2]*n.outShape[3]*n.outShape[4],$=n.outShape[3]*n.outShape[4],A=n.outShape[4];for(let R=0;Rwe?we=wt:s===\"avg\"&&(ve+=wt,$e++),isNaN(we))break}if(isNaN(we))break}if(isNaN(we))break}let Le=he+M;w[Le]=s===\"avg\"?ve/$e:we}}}}return C}function o2(r,e){let t=le(e.outShape,\"int32\"),o=e.strideDepth,n=e.strideHeight,s=e.strideWidth,a=e.dilationDepth,i=e.dilationHeight,p=e.dilationWidth,u=e.effectiveFilterDepth,c=e.effectiveFilterHeight,l=e.effectiveFilterWidth,m=e.padInfo.front,d=e.padInfo.top,f=e.padInfo.left;for(let h=0;h=L&&(L=Z,W=U*c*l+H*c+X)}}}t.set(W,h,x,k,R,g)}}}return t}function sj(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e;K(n,\"avgPool\");let{filterSize:s,strides:a,pad:i,dimRoundingMode:p}=o,u=1;y.assert(S.eitherStridesOrDilationsAreOne(a,u),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${a} and dilations '${u}'`);let c=S.computePool2DInfo(n.shape,s,a,u,i,p),l;if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))l=ar({inputs:{x:n},backend:t});else{let m=t.data.get(n.dataId).values,d=y.computeStrides(n.shape),f=Zp(m,n.shape,n.dtype,d,c,\"avg\");l=t.makeTensorInfo(c.outShape,n.dtype,f.values)}return l}var n2={kernelName:zo,backendName:\"cpu\",kernelFunc:sj};function aj(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{filterSize:s,strides:a,pad:i,dimRoundingMode:p,dataFormat:u}=o;K(n,\"avgPool3d\");let c=S.computePool3DInfo(n.shape,s,a,1,i,p,u),l=t.data.get(n.dataId).values,m=If(l,n.shape,n.dtype,y.computeStrides(n.shape),c,\"avg\");return t.makeTensorInfo(m.shape,\"float32\",m.values)}var s2={kernelName:ip,backendName:\"cpu\",kernelFunc:aj};function ij(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,input:s}=e,{filterSize:a,strides:i,pad:p,dimRoundingMode:u}=o;K([n,s],\"avgPool3DGrad\");let c=S.computePool3DInfo(s.shape,a,i,1,p,u),l=c.strideDepth,m=c.strideHeight,d=c.strideWidth,f=c.filterDepth,h=c.filterHeight,g=c.filterWidth,x=c.dilationDepth,b=c.dilationHeight,C=c.dilationWidth,w=c.effectiveFilterDepth,k=c.effectiveFilterHeight,_=c.effectiveFilterWidth,$=w-1-c.padInfo.front,A=_-1-c.padInfo.left,R=k-1-c.padInfo.top,D=le(s.shape,\"float32\"),P=1/(f*h*g),M=t.bufferSync(n);for(let L=0;L=c.outDepth||Math.floor(Y)!==Y))for(let J=0;J=c.outHeight||Math.floor(ie)!==ie))for(let pe=0;pe<_;pe+=C){let he=(X+pe)/d;if(he<0||he>=c.outWidth||Math.floor(he)!==he)continue;let we=M.get(L,Y,ie,he,W);Z+=we}}}D.set(Z*P,L,V,U,q,W)}return t.makeTensorInfo(D.shape,D.dtype,D.values)}var a2={kernelName:Im,backendName:\"cpu\",kernelFunc:ij};function uj(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,input:s}=e,a=s;K([n,s],\"avgPoolGrad\");let{filterSize:i,strides:p,pad:u}=o,c=S.computePool2DInfo(a.shape,i,p,1,u),l=c.strideHeight,m=c.strideWidth,d=c.filterHeight,f=c.filterWidth,h=c.dilationHeight,g=c.dilationWidth,x=c.effectiveFilterHeight,b=c.effectiveFilterWidth,C=b-1-c.padInfo.left,w=x-1-c.padInfo.top,k=le(a.shape,\"float32\"),_=1/(d*f),$=t.data.get(n.dataId).values,A=le(n.shape,\"float32\",$);for(let R=0;R=c.outHeight||Math.floor(q)!==q))for(let H=0;H=c.outWidth||Math.floor(j)!==j)continue;let X=A.get(R,q,j,D);V+=X}}k.set(V*_,R,P,M,D)}return t.makeTensorInfo(k.shape,k.dtype,k.values)}var i2={kernelName:wm,backendName:\"cpu\",kernelFunc:uj};function pj(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,scale:s,offset:a,mean:i,variance:p}=e;y.assert(i.shape.length===p.shape.length,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),y.assert(a==null||i.shape.length===a.shape.length,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),y.assert(s==null||i.shape.length===s.shape.length,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\"),K([n,i,p,s,a],\"batchNorm\");let{varianceEpsilon:u}=o;u==null&&(u=.001);let c=t.data.get(n.dataId).values,l=t.data.get(i.dataId).values,m=t.data.get(p.dataId).values,d=s?t.data.get(s.dataId).values:new Float32Array([1]),f=a?t.data.get(a.dataId).values:new Float32Array([0]),h=new Float32Array(c.length),g=f.length,x=d.length,b=m.length,C=l.length,w=0,k=0,_=0,$=0;for(let A=0;A=g&&(w=0),k>=C&&(k=0),_>=x&&(_=0),$>=b&&($=0);return t.makeTensorInfo(n.shape,n.dtype,h)}var u2={kernelName:an,backendName:\"cpu\",kernelFunc:pj};function cj(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{blockShape:s,crops:a}=o;K([n],\"batchToSpaceND\");let i=s.reduce((x,b)=>x*b),p=S.getReshaped(n.shape,s,i),u=S.getPermuted(p.length,s.length),c=S.getReshapedPermuted(n.shape,s,i),l=S.getSliceBeginCoords(a,s.length),m=S.getSliceSize(c,a,s.length),d=Me({inputs:{x:n},backend:t,attrs:{shape:p}}),f=Ct({inputs:{x:d},backend:t,attrs:{perm:u}}),h=Me({inputs:{x:f},backend:t,attrs:{shape:c}}),g=No({inputs:{x:h},backend:t,attrs:{begin:l,size:m}});return t.disposeIntermediateTensorInfo(d),t.disposeIntermediateTensorInfo(f),t.disposeIntermediateTensorInfo(h),g}var p2={kernelName:xs,backendName:\"cpu\",kernelFunc:cj};function lj(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,weights:s}=e,{size:a}=o,i=t.data.get(n.dataId).values,p=t.data.get(s.dataId).values,u=Kp(i,p,s.dtype,s.shape,a);return t.makeTensorInfo([a],s.dtype,u)}var c2={kernelName:Ja,backendName:\"cpu\",kernelFunc:lj};function mj(r){let{inputs:e,backend:t}=r,{s0:o,s1:n}=e,s=t.data.get(o.dataId).values,a=t.data.get(n.dataId).values,i=S.assertAndGetBroadcastShape(Array.from(s),Array.from(a));return t.makeTensorInfo([i.length],\"int32\",Int32Array.from(i))}var l2={kernelName:up,backendName:\"cpu\",kernelFunc:mj};var dj=Ie(lo,(r,e)=>{let t=e;return r>t.clipValueMax?t.clipValueMax:r{let{x:e}=r.inputs,t=r.backend,o=new Float32Array(y.sizeFromShape(e.shape)),n=t.data.get(e.dataId),s=n.complexTensorInfos.real,a=n.complexTensorInfos.imag,i=t.data.get(s.dataId).values,p=t.data.get(a.dataId).values;for(let u=0;uh.shape);S.assertParamsConsistent(a,s);let i=S.computeOutShape(e.map(h=>h.shape),s);if(y.sizeFromShape(i)===0)return t.makeTensorInfo(i,e[0].dtype,[]);let p=e.filter(h=>y.sizeFromShape(h.shape)>0);if(p.length===1)return ar({inputs:{x:p[0]},backend:t});if(p[0].dtype===\"complex64\"){let h=p.map(w=>wo({inputs:{input:w},backend:t})),g=p.map(w=>Xs({inputs:{input:w},backend:t})),x=Pi({inputs:h,backend:t,attrs:{axis:s}}),b=Pi({inputs:g,backend:t,attrs:{axis:s}}),C=Ht({inputs:{real:x,imag:b},backend:t});return h.forEach(w=>t.disposeIntermediateTensorInfo(w)),g.forEach(w=>t.disposeIntermediateTensorInfo(w)),t.disposeIntermediateTensorInfo(x),t.disposeIntermediateTensorInfo(b),C}let u=p.map(h=>{let x=[-1,y.sizeFromShape(h.shape.slice(s))];return Me({inputs:{x:h},backend:t,attrs:{shape:x}})}),c=u.map(h=>({vals:t.data.get(h.dataId).values,shape:h.shape}));i=S.computeOutShape(u.map(h=>h.shape),1);let l=u[0].shape[0]===1,m=Su(c,i,e[0].dtype,l),d=S.computeOutShape(p.map(h=>h.shape),s),f=t.makeTensorInfo(d,e[0].dtype,m);return u.forEach(h=>t.disposeIntermediateTensorInfo(h)),f}var h2={kernelName:ys,backendName:\"cpu\",kernelFunc:Pi};function NS(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s}=e,{strides:a,pad:i,dataFormat:p,dilations:u,dimRoundingMode:c}=o;K([n,s],\"conv2d\");let l=S.convertConv2DDataFormat(p),m=S.computeConv2DInfo(n.shape,s.shape,a,u,i,c,!1,l),d=m.filterHeight,f=m.filterWidth,h=m.dilationHeight,g=m.dilationWidth,x=m.padInfo.left,b=m.padInfo.top,C=m.dataFormat===\"channelsLast\",w=new st(m.outShape,n.dtype),k=y.computeStrides(n.shape),_=y.computeStrides(s.shape),$=k[0],A=C?k[1]:k[2],R=C?k[2]:1,D=C?1:k[1],P=w.strides[0],M=C?w.strides[1]:w.strides[2],L=C?w.strides[2]:1,W=C?1:w.strides[1],V=t.data.get(n.dataId).values,U=t.data.get(s.dataId).values,q=w.values;for(let H=0;H=m.inHeight)continue;let pe=J*_[0],he=j+ie*A;for(let we=0;we=m.inWidth)continue;let pt=pe+Le*_[1],Oe=he+nt*R,mt=pt;for(let at=0;at=u.inDepth)continue;let H=U*R[0],j=P+q*A[1];for(let X=0;X=u.inHeight)continue;let ie=H+Y*R[1],pe=j+J*A[2];for(let he=0;he=u.inWidth)continue;let nt=ie+$e*R[2],pt=pe+Le*u.inChannels,Oe=nt;for(let mt=0;mtMath.cos(r)),w2={kernelName:qo,backendName:\"cpu\",kernelFunc:Cj};var Sj=Ie(Ko,r=>Math.cosh(r)),I2={kernelName:Ko,backendName:\"cpu\",kernelFunc:Sj};function wj(r){let{inputs:e,backend:t,attrs:o}=r,{image:n,boxes:s,boxInd:a}=e,{cropSize:i,method:p,extrapolationValue:u}=o,[c,l,m,d]=n.shape,f=s.shape[0],[h,g]=i,x=le([f,h,g,d],\"float32\"),b=t.data.get(s.dataId).values,C=t.data.get(a.dataId).values,w=t.data.get(n.dataId).values,k=y.computeStrides(n.shape),_=y.computeStrides(x.shape);for(let $=0;$=c)continue;let W=h>1?(P-R)*(l-1)/(h-1):0,V=g>1?(M-D)*(m-1)/(g-1):0;for(let U=0;U1?R*(l-1)+U*W:.5*(R+P)*(l-1);if(q<0||q>l-1){for(let H=0;H1?D*(m-1)+Z*V:.5*(D+M)*(m-1);if(ee<0||ee>m-1){for(let pe=0;pe1?D*(m-1)+H*V:.5*(D+M)*(m-1);if(j<0||j>m-1){for(let ee=0;eex+f-b-1:(x,b)=>x+b;for(let x=0;xx+f-b-1:(x,b)=>x+b;for(let x=0;x`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${a}`);let i=n.shape[0],p=n.shape[1],u=n.shape[2],c=n.shape[3],l=p*s,m=u*s,d=c/(s*s),f=t.data.get(n.dataId).values,h=new Float32Array(i*l*m*d),g=0;for(let x=0;x`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${a} and dilations '${m}'`);let d=S.computeConv2DInfo(n.shape,s.shape,a,m,i,u,!0),{filterHeight:f,filterWidth:h,dilationHeight:g,dilationWidth:x,padInfo:b}=d,C=b.left,w=b.top,k=d.outChannels/d.inChannels,_=new st(d.outShape,n.dtype),$=t.data.get(n.dataId).values,A=t.data.get(s.dataId).values,R=_.values;for(let D=0;D=d.inHeight)continue;let H=U*l[0],j=P+q*c[1];for(let X=0;X=d.inWidth)continue;let ie=H+Y*l[1],pe=j+J*d.inChannels,he=Z,we=ie;for(let ve=0;ve{let{x:o,filter:n}=r,{strides:s,pad:a,dilations:i}=t,p=e,u=p.data.get(o.dataId).values,c=o.shape.length,l=p.data.get(n.dataId).values,m=n.shape.length,{batchSize:d,inHeight:f,inWidth:h,inChannels:g,outHeight:x,outWidth:b,padInfo:C,strideHeight:w,strideWidth:k,filterHeight:_,filterWidth:$,dilationHeight:A,dilationWidth:R,outShape:D}=S.computeDilation2DInfo(o.shape,n.shape,s,a,\"NHWC\",i),P=y.sizeFromShape(D),M=D.length,L=y.getArrayFromDType(o.dtype,P);for(let V=0;V=0&&J=0&&peZ&&(Z=ve)}}}let ee=y.locToIndex([V,U,H,X],M,y.computeStrides(D));L[ee]=Z}}}return{dataId:p.write(y.toTypedArray(L,o.dtype),D,o.dtype),shape:D,dtype:o.dtype}}};var D2={kernelName:bb,backendName:\"cpu\",kernelFunc:({inputs:r,backend:e,attrs:t})=>{let{x:o,filter:n,dy:s}=r,{strides:a,pad:i,dilations:p}=t,u=e,c=y.toNestedArray(o.shape,u.data.get(o.dataId).values),l=y.toNestedArray(n.shape,u.data.get(n.dataId).values),{batchSize:m,inHeight:d,inWidth:f,inChannels:h,outHeight:g,outWidth:x,padInfo:b,strideHeight:C,strideWidth:w,filterHeight:k,filterWidth:_,dilationHeight:$,dilationWidth:A,outShape:R}=S.computeDilation2DInfo(o.shape,n.shape,a,i,\"NHWC\",p);y.assert(s.rank===R.length,()=>`Error in ${bb}, dy must have the same rank as output ${R.length}, but got ${s.rank}`);let D=y.toNestedArray(R,u.data.get(s.dataId).values),P=y.makeZerosNestedTypedArray(n.shape,n.dtype);for(let L=0;L=0&&Y=0&&iej&&(j=pe,X=ee,Z=J)}}}P[X][Z][H]+=D[L][W][U][H]}}}return{dataId:u.write(y.toTypedArray(P,o.dtype),n.shape,n.dtype),shape:n.shape,dtype:n.dtype}}};var O2={kernelName:yb,backendName:\"cpu\",kernelFunc:({inputs:r,backend:e,attrs:t})=>{let{x:o,filter:n,dy:s}=r,{strides:a,pad:i,dilations:p}=t,u=e,c=y.toNestedArray(o.shape,u.data.get(o.dataId).values),l=y.toNestedArray(n.shape,u.data.get(n.dataId).values),{batchSize:m,inHeight:d,inWidth:f,inChannels:h,outHeight:g,outWidth:x,padInfo:b,strideHeight:C,strideWidth:w,filterHeight:k,filterWidth:_,dilationHeight:$,dilationWidth:A,outShape:R}=S.computeDilation2DInfo(o.shape,n.shape,a,i,\"NHWC\",p);y.assert(s.rank===R.length,()=>`Error in ${yb}, dy must have the same rank as output ${R.length}, but got ${s.rank}`);let D=y.toNestedArray(R,u.data.get(s.dataId).values),P=y.makeZerosNestedTypedArray(o.shape,o.dtype);for(let L=0;L=0&&Y=0&&iej&&(j=pe,X=Y,Z=ie)}}}P[L][X][Z][H]+=D[L][W][U][H]}}}return{dataId:u.write(y.toTypedArray(P,o.dtype),o.shape,o.dtype),shape:o.shape,dtype:o.dtype}}};function La(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o;K(n,\"sum\");let i;n.dtype===\"bool\"?i=Io({inputs:{x:n},backend:t,attrs:{dtype:\"int32\"}}):i=ar({inputs:{x:n},backend:t});let p=i.shape.length,u=y.parseAxisParam(s,i.shape),c=S.getAxesPermutation(u,p),l=u,m=i;c!=null&&(m=Ct({inputs:{x:i},backend:t,attrs:{perm:c}}),l=S.getInnerMostAxes(l.length,p)),S.assertAxesAreInnerMostDims(\"sum\",l,m.shape.length);let[d,f]=S.computeOutAndReduceShapes(m.shape,l),h=S.upcastType(m.dtype,\"int32\"),g=Hp(t,d,h),x=y.sizeFromShape(f),b=t.data.get(g.dataId).values,C=t.data.get(m.dataId).values;for(let w=0;w=0&&(m=La({inputs:{x:m},backend:t,attrs:{axis:u[h]-(a.length-d),keepDims:!1}}),f.push(m)),d--)}for(let h of f)h!==m&&t.disposeIntermediateTensorInfo(h);return m}var M2={kernelName:ri,backendName:\"cpu\",kernelFunc:$j};function Aj(r){let{inputs:e,backend:t}=r,{dy:o,y:n}=e;K([o,n],\"eluGrad\");let s=new Float32Array(y.sizeFromShape(n.shape)),a=t.data.get(n.dataId).values,i=t.data.get(o.dataId).values;for(let p=0;p=1?s[p]=i[p]:s[p]=i[p]*(u+1)}return t.makeTensorInfo(n.shape,\"float32\",s)}var L2={kernelName:km,backendName:\"cpu\",kernelFunc:Aj};var Rj=S.ERF_P,Fj=S.ERF_A1,Dj=S.ERF_A2,Oj=S.ERF_A3,Pj=S.ERF_A4,Mj=S.ERF_A5,Lj=Ie(ma,r=>{let e=Math.sign(r),t=Math.abs(r),o=1/(1+Rj*t);return e*(1-((((Mj*o+Pj)*o+Oj)*o+Dj)*o+Fj)*o*Math.exp(-t*t))}),B2={kernelName:ma,backendName:\"cpu\",kernelFunc:Lj};function Jp(r){let{inputs:e,backend:t,attrs:o}=r,{input:n}=e,{dim:s}=o,a=n.shape.length,i=n.shape.slice(),p=s;return s<0&&(y.assert(-(a+1)<=s,()=>`Axis must be in the interval [${-(a+1)}, ${a}]`),p=a+s+1),i.splice(p,0,1),Me({inputs:{x:n},backend:t,attrs:{shape:i}})}var V2={kernelName:bs,backendName:\"cpu\",kernelFunc:Jp};var Bj=Be((r,e)=>r/e),hl=Qe(Jo,Bj),gl={kernelName:Jo,backendName:\"cpu\",kernelFunc:hl};function vf(r,e,t){let o=r.shape,n=o[0],s=o[1],a=t.data.get(r.dataId),i=a.complexTensorInfos.real,p=a.complexTensorInfos.imag,u=[n,s],c=y.sizeFromShape(u),l=y.getTypedArrayFromDType(\"float32\",c),m=y.getTypedArrayFromDType(\"float32\",c);for(let g=0;g{let{image:o}=r,n=t,s=y.getTypedArrayFromDType(o.dtype,y.sizeFromShape(o.shape)),[a,i,p,u]=o.shape,c=n.data.get(o.dataId).values;for(let m=0;m=0&&CMath.floor(r/e)),qj=Qe(sn,Hj,null,\"int32\"),G2={kernelName:sn,backendName:\"cpu\",kernelFunc:qj};function Kj(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s,bias:a,preluActivationWeights:i}=e,{strides:p,pad:u,dataFormat:c,dilations:l,dimRoundingMode:m,activation:d,leakyreluAlpha:f}=o,h=NS({inputs:{x:n,filter:s},backend:t,attrs:{strides:p,pad:u,dataFormat:c,dilations:l,dimRoundingMode:m}});if(a){let g=h;if(c===\"NCHW\"&&a.shape.length===1&&a.shape[0]!==1){let x=Me({inputs:{x:a},backend:t,attrs:{shape:[a.shape[0],1,1]}});h=js({inputs:{a:h,b:x},backend:t}),t.disposeIntermediateTensorInfo(x)}else h=js({inputs:{a:h,b:a},backend:t});t.disposeIntermediateTensorInfo(g)}if(d){let g=h;if(c===\"NCHW\"&&d===\"prelu\"&&i.shape.length===1&&i.shape[0]!==1){let x=Me({inputs:{x:i},backend:t,attrs:{shape:[i.shape[0],1,1]}});h=_u(t,h,d,x,f),t.disposeIntermediateTensorInfo(x)}else h=_u(t,h,d,i,f);t.disposeIntermediateTensorInfo(g)}return h}var H2={kernelName:ho,backendName:\"cpu\",kernelFunc:Kj};function jj(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s,bias:a,preluActivationWeights:i}=e,{strides:p,pad:u,dataFormat:c,dilations:l,dimRoundingMode:m,activation:d,leakyreluAlpha:f}=o,h=TS({inputs:{x:n,filter:s},backend:t,attrs:{strides:p,pad:u,dataFormat:c,dilations:l,dimRoundingMode:m}});if(a){let g=h;h=js({inputs:{a:h,b:a},backend:t}),t.disposeIntermediateTensorInfo(g)}if(d){let g=h;h=_u(t,h,d,i,f),t.disposeIntermediateTensorInfo(g)}return h}var q2={kernelName:go,backendName:\"cpu\",kernelFunc:jj};function Xj(r){let{inputs:e,backend:t}=r,{params:o,indices:n}=e,s=y.sizeFromShape(o.shape),a=n.shape,i=a[a.length-1],[p,u,c,l]=S.prepareAndValidate(o,n);if(u===0)return t.makeTensorInfo(p,o.dtype,[]);let m=t.data.get(n.dataId).values,d=t.bufferSync(o),f=pf(m,d,o.dtype,u,i,c,l,o.shape,s);return t.makeTensorInfo(p,o.dtype,f.values)}var K2={kernelName:un,backendName:\"cpu\",kernelFunc:Xj};function Yj(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,indices:s}=e,{axis:a,batchDims:i}=o;K([n,s],\"gatherV2\");let p=y.parseAxisParam(a,n.shape)[0],u=t.data.get(s.dataId).values,c=n.shape[p];for(let w=0;w=0,()=>`GatherV2: the index value ${k} is not in [0, ${c-1}]`)}let l=i;i==null&&(l=0);let m=y.sizeFromShape(s.shape),d=S.segment_util.collectGatherOpShapeInfo(n,s,p,l),f=Me({inputs:{x:n},backend:t,attrs:{shape:[d.batchSize,d.outerSize,d.dimSize,d.sliceSize]}}),h=Me({inputs:{x:s},backend:t,attrs:{shape:[d.batchSize,m/d.batchSize]}}),g=[d.batchSize,d.outerSize,m/d.batchSize,d.sliceSize],x=t.bufferSync(h),b=t.bufferSync(f),C=cf(b,x,g);return t.disposeIntermediateTensorInfo(f),t.disposeIntermediateTensorInfo(h),t.makeTensorInfo(d.outputShape,C.dtype,C.values)}var j2={kernelName:Ss,backendName:\"cpu\",kernelFunc:Yj};function Qj(r){let{inputs:e,backend:t}=r,{input:o}=e,n=y.sizeFromShape(o.shape),s=o.shape[o.shape.length-1],a=n/s,i=Me({inputs:{x:o},backend:t,attrs:{shape:[a,s]}}),p=vf(i,!0,t),u=Me({inputs:{x:p},backend:t,attrs:{shape:o.shape}});return t.disposeIntermediateTensorInfo(i),t.disposeIntermediateTensorInfo(p),u}var X2={kernelName:ni,backendName:\"cpu\",kernelFunc:Qj};var Zj=Ie(fa,r=>Number.isFinite(r)?1:0,\"bool\"),Y2={kernelName:fa,backendName:\"cpu\",kernelFunc:Zj};var Jj=Ie(ha,r=>Math.abs(r)===1/0?1:0,\"bool\"),Q2={kernelName:ha,backendName:\"cpu\",kernelFunc:Jj};var eX=Ie(ln,r=>Number.isNaN(r)?1:0,\"bool\"),Z2={kernelName:ln,backendName:\"cpu\",kernelFunc:eX};function tX(r){let{backend:e,attrs:t}=r,{start:o,stop:n,num:s}=t,a=lf(o,n,s);return e.makeTensorInfo([a.length],\"float32\",a)}var J2={kernelName:xp,backendName:\"cpu\",kernelFunc:tX};var rX=Ie(ga,r=>Math.log1p(r)),e_={kernelName:ga,backendName:\"cpu\",kernelFunc:rX};var oX=Be((r,e)=>r&&e),nX=Qe(gn,oX,null,\"bool\"),t_={kernelName:gn,backendName:\"cpu\",kernelFunc:nX};var sX=Ie(xn,r=>r?0:1,\"bool\"),r_={kernelName:xn,backendName:\"cpu\",kernelFunc:sX};var aX=Be((r,e)=>r||e),iX=Qe(xa,aX,null,\"bool\"),o_={kernelName:xa,backendName:\"cpu\",kernelFunc:iX};function uX(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{depthRadius:s,bias:a,alpha:i,beta:p}=o;K(n,\"LRN\");let u=n.shape[3],c=u-1,l=t.data.get(n.dataId).values,m=y.sizeFromShape(n.shape),d=new Float32Array(m);function f(h){let g=h%u,x=h-g+Math.max(0,g-s),b=h-g+Math.min(g+s,c),C=0;for(;x<=b;x++){let w=l[x];C+=w*w}return C}for(let h=0;h`Error in maxPool: Either strides or dilations must be 1. Got strides ${a} and dilations '${u}'`);let c=S.computePool2DInfo(n.shape,s,a,u,i,p),l;if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))l=ar({inputs:{x:n},backend:t});else{let m=t.data.get(n.dataId).values,d=y.computeStrides(n.shape),f=Zp(m,n.shape,n.dtype,d,c,\"max\");l=t.makeTensorInfo(c.outShape,n.dtype,f.values)}return l}var i_={kernelName:Cn,backendName:\"cpu\",kernelFunc:cX};function lX(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{filterSize:s,strides:a,pad:i,dimRoundingMode:p,dataFormat:u}=o;K(n,\"maxPool3d\");let c=S.computePool3DInfo(n.shape,s,a,1,i,p,u),l=t.data.get(n.dataId).values,m=If(l,n.shape,n.dtype,y.computeStrides(n.shape),c,\"max\");return t.makeTensorInfo(m.shape,\"float32\",m.values)}var u_={kernelName:bp,backendName:\"cpu\",kernelFunc:lX};function mX(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,input:s}=e,{filterSize:a,strides:i,pad:p,dimRoundingMode:u}=o;K([n,s],\"maxPool3DGrad\");let c=S.computePool3DInfo(s.shape,a,i,1,p,u),l=t.bufferSync(s),m=o2(l,c),d=c.strideDepth,f=c.strideHeight,h=c.strideWidth,g=c.dilationDepth,x=c.dilationHeight,b=c.dilationWidth,C=c.effectiveFilterDepth,w=c.effectiveFilterHeight,k=c.effectiveFilterWidth,_=C-1-c.padInfo.front,$=k-1-c.padInfo.left,A=w-1-c.padInfo.top,R=le(s.shape,\"float32\"),D=t.bufferSync(n);for(let P=0;P=c.outDepth||Math.floor(Z)!==Z))for(let ee=0;ee=c.outHeight||Math.floor(Y)!==Y))for(let J=0;J=c.outWidth||Math.floor(ie)!==ie)continue;let pe=C*w*k-1-m.get(P,Z,Y,ie,M),he=X*w*k+ee*k+J,we=pe===he?1:0;if(we===0)continue;let ve=D.get(P,Z,Y,ie,M);j+=ve*we}}}R.set(j,P,L,W,V,M)}return t.makeTensorInfo(R.shape,R.dtype,R.values)}var p_={kernelName:_m,backendName:\"cpu\",kernelFunc:mX};function dX(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,input:s,output:a}=e,i=s;K([s,a],\"maxPoolGrad\");let{filterSize:p,strides:u,pad:c,dimRoundingMode:l}=o,m=S.computePool2DInfo(i.shape,p,u,1,c,l),d=t.data.get(i.dataId).values,f=le(m.outShape,i.dtype,wf(d,i.shape,i.dtype,m).values),h=m.strideHeight,g=m.strideWidth,x=m.dilationHeight,b=m.dilationWidth,C=m.effectiveFilterHeight,w=m.effectiveFilterWidth,k=w-1-m.padInfo.left,_=C-1-m.padInfo.top,$=le(i.shape,\"float32\"),A=t.data.get(n.dataId).values,R=le(n.shape,\"float32\",A);for(let D=0;D=m.outHeight||Math.floor(H)!==H))for(let j=0;j=m.outWidth||Math.floor(X)!==X)continue;let Z=C*w-1-f.get(D,H,X,P),ee=q*w+j,Y=Z===ee?1:0;if(Y===0)continue;let J=R.get(D,H,X,P);U+=J*Y}}$.set(U,D,M,L,P)}return t.makeTensorInfo($.shape,$.dtype,$.values)}var c_={kernelName:Tm,backendName:\"cpu\",kernelFunc:dX};function l_(r,e,t,o,n){let s=y.computeStrides(e),a=Zp(r,e,t,s,n,\"max\"),i=wf(r,e,t,n,!0,o);return[a.values,i.values]}var m_={kernelName:Cp,backendName:\"cpu\",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{x:o}=r,{filterSize:n,strides:s,pad:a,includeBatchInIndex:i}=e,p=t;K(o,\"MaxPoolWithArgmax\");let u=p.data.get(o.dataId).values,c=S.computePool2DInfo(o.shape,n,s,[1,1],a),[l,m]=l_(u,o.shape,o.dtype,i,c),d=p.write(l,c.outShape,o.dtype),f=p.write(m,c.outShape,o.dtype);return[{dataId:d,shape:c.outShape,dtype:o.dtype},{dataId:f,shape:c.outShape,dtype:\"int32\"}]}};function fX(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o,i=y.parseAxisParam(s,n.shape),u=S.computeOutAndReduceShapes(n.shape,i)[1],c=y.sizeFromShape(u),l=[],m=t.makeTensorInfo([],\"float32\",new Float32Array([c]));l.push(m);let d=Io({inputs:{x:n},backend:t,attrs:{dtype:\"float32\"}});l.push(d);let f=hl({inputs:{a:d,b:m},backend:t});l.push(f);let h=La({inputs:{x:f},backend:t,attrs:{axis:s,keepDims:a}});return l.forEach(g=>t.disposeIntermediateTensorInfo(g)),h}var d_={kernelName:Sn,backendName:\"cpu\",kernelFunc:fX};function hX(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o;K(n,\"min\");let i=y.parseAxisParam(s,n.shape),p=i,u=S.getAxesPermutation(p,n.shape.length),c=n;u!=null&&(c=Ct({inputs:{x:n},backend:t,attrs:{perm:u}}),p=S.getInnerMostAxes(p.length,n.shape.length)),S.assertAxesAreInnerMostDims(\"min\",p,c.shape.length);let[l,m]=S.computeOutAndReduceShapes(c.shape,p),d=y.sizeFromShape(m),f=y.makeZerosTypedArray(y.sizeFromShape(l),c.dtype),h=t.data.get(c.dataId).values;for(let x=0;xC[0]+n.shape[w]+C[1]),p=s.map(C=>C[0]),u=s.map((C,w)=>C[0]+n.shape[w]),c=a===\"reflect\"?0:1,l=t.data.get(n.dataId).values,m=n.shape.length,d=y.computeStrides(n.shape),f=y.sizeFromShape(i),h=i.length,g=y.computeStrides(i),x=y.getTypedArrayFromDType(n.dtype,f);for(let C=0;C=u[_]&&(w[_]=(u[_]-1)*2-w[_]+c);w=w.map((_,$)=>_-p[$]);let k=y.locToIndex(w,m,d);x[C]=l[k]}return{dataId:t.write(x,i,n.dtype),shape:i,dtype:n.dtype}}var h_={kernelName:vn,backendName:\"cpu\",kernelFunc:gX};var xX=Be((r,e)=>{let t=r%e;return r<0&&e<0||r>=0&&e>=0?t:(t+e)%e}),yX=Qe(ya,xX),g_={kernelName:ya,backendName:\"cpu\",kernelFunc:yX};var y_=rp(gC());function $S(r){let{inputs:e,backend:t,attrs:o}=r,{logits:n}=e,{dim:s}=o,a=n.shape.length,i=s;if(i===-1&&(i=a-1),i!==a-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${a} and dim was ${i}`);let p=y.parseAxisParam([i],n.shape),u=ES({inputs:{x:n},backend:t,attrs:{reductionIndices:p,keepDims:!1}}),c=S.expandShapeToKeepDim(u.shape,p),l=Me({inputs:{x:u},backend:t,attrs:{shape:c}}),m=dl({inputs:{a:n,b:l},backend:t}),d=rS({inputs:{x:m},backend:t}),f=La({inputs:{x:d},backend:t,attrs:{axis:p,keepDims:!1}}),h=Me({inputs:{x:f},backend:t,attrs:{shape:c}}),g=hl({inputs:{a:d,b:h},backend:t});return t.disposeIntermediateTensorInfo(u),t.disposeIntermediateTensorInfo(l),t.disposeIntermediateTensorInfo(m),t.disposeIntermediateTensorInfo(d),t.disposeIntermediateTensorInfo(f),t.disposeIntermediateTensorInfo(h),g}var x_={kernelName:qn,backendName:\"cpu\",kernelFunc:$S};function bX(r){let{inputs:e,backend:t,attrs:o}=r,{logits:n}=e,{numSamples:s,seed:a,normalized:i}=o;K(n,\"multinomial\");let p=i?n:$S({inputs:{logits:n},backend:t,attrs:{dim:-1}}),u=p.shape[0],c=p.shape[1],l=t.data.get(p.dataId).values,m=[u,s],d=y.makeZerosTypedArray(y.sizeFromShape(m),\"int32\");for(let f=0;f=0&&l[m]{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(a===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let i=[],p=e.map(c=>{let l=Jp({inputs:{input:c},backend:t,attrs:{dim:n}});return i.push(l),l}),u=Pi({inputs:p,backend:t,attrs:{axis:n}});return i.forEach(c=>t.disposeIntermediateTensorInfo(c)),u}var T_={kernelName:vs,backendName:\"cpu\",kernelFunc:AS};function TX(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{paddings:s,constantValue:a}=o;K(n,\"pad\");let i=s.map((b,C)=>b[0]+n.shape[C]+b[1]),p=s.map(b=>b[0]),u=t.data.get(n.dataId).values,c=y.sizeFromShape(n.shape),l=n.shape.length,m=y.computeStrides(n.shape),d=y.sizeFromShape(i),f=i.length,h=y.computeStrides(i),g=y.getTypedArrayFromDType(n.dtype,d);a!==0&&g.fill(a);for(let b=0;b_+p[$]),k=y.locToIndex(w,f,h);g[k]=u[b]}return{dataId:t.write(g,i,n.dtype),shape:i,dtype:n.dtype}}var kf={kernelName:$n,backendName:\"cpu\",kernelFunc:TX};var _X=Be((r,e)=>Math.pow(r,e)),EX=Qe(An,_X),__={kernelName:An,backendName:\"cpu\",kernelFunc:EX};function $X(r){let{inputs:e,backend:t,attrs:o}=r,{paramsNestedSplits:n,paramsDenseValues:s,indices:a}=e,{outputRaggedRank:i}=o,p=n.map(x=>t.data.get(x.dataId).values),u=n.map(x=>x.shape),c=t.data.get(s.dataId).values,l=t.data.get(a.dataId).values,[m,d,f]=df(p,u,c,s.shape,s.dtype,l,a.shape,i),h=m.map(x=>t.makeTensorInfo([x.length],\"int32\",x)),g=t.makeTensorInfo(f,s.dtype,d);return h.concat([g])}var E_={kernelName:wp,backendName:\"cpu\",kernelFunc:$X};function AX(r){let{inputs:e,backend:t}=r,{starts:o,limits:n,deltas:s}=e,a=t.data.get(o.dataId).values,i=t.data.get(n.dataId).values,p=t.data.get(s.dataId).values,[u,c]=ff(a,o.shape,o.dtype,i,n.shape,p,s.shape),l=t.makeTensorInfo([u.length],\"int32\",u),m=t.makeTensorInfo([c.length],o.dtype,c);return[l,m]}var $_={kernelName:Ip,backendName:\"cpu\",kernelFunc:AX};function RX(r){let{inputs:e,backend:t,attrs:o}=r,{shape:n,values:s,defaultValue:a,rowPartitionTensors:i}=e,{rowPartitionTypes:p}=o,u=t.data.get(n.dataId).values,c=t.data.get(s.dataId).values,l=t.data.get(a.dataId).values,m=i.map(g=>t.data.get(g.dataId).values),d=i.map(g=>g.shape),[f,h]=hf(u,n.shape,c,s.shape,s.dtype,l,a.shape,m,d,p);return t.makeTensorInfo(f,s.dtype,h)}var A_={kernelName:vp,backendName:\"cpu\",kernelFunc:RX};function FX(r){let{backend:e,attrs:t}=r,{start:o,stop:n,dtype:s,step:a}=t,i=Iu(o,n,a,s);return e.makeTensorInfo([i.length],s,i)}var R_={kernelName:ks,backendName:\"cpu\",kernelFunc:FX};var DX=Ie(Dn,r=>1/r),F_={kernelName:Dn,backendName:\"cpu\",kernelFunc:DX};function OX(r){let{inputs:e,backend:t,attrs:o}=r,{images:n}=e,{alignCorners:s,halfPixelCenters:a,size:i}=o;K(n,\"resizeBilinear\");let p=y.computeStrides(n.shape),[u,c]=i,[l,m,d,f]=n.shape,h=t.data.get(n.dataId).values,g=new Float32Array(y.sizeFromShape([l,u,c,f])),x=[s&&u>1?m-1:m,s&&c>1?d-1:d],b=[s&&u>1?u-1:u,s&&c>1?c-1:c],C=0,w=x[0]/b[0],k=x[1]/b[1];for(let _=0;_1?u-1:u,a&&d>1?c-1:c],g=[a&&m>1?m-1:m,a&&d>1?d-1:d],x=h[0]/g[0],b=h[1]/g[1],C=t.data.get(s.dataId).values,w=0;for(let k=0;k1?m-1:m,s&&c>1?d-1:d],b=[s&&u>1?u-1:u,s&&c>1?c-1:c],C=x[0]/b[0],w=x[1]/b[1],k=0;for(let _=0;_1?c-1:c,a&&f>1?l-1:l],b=[a&&d>1?d-1:d,a&&f>1?f-1:f],C=x[0]/b[0],w=x[1]/b[1],k=1/C,_=1/w,$=Math.ceil(k)*2+2,A=Math.ceil(_)*2+2;for(let R=0;R=d)continue;let Y=D+ee*p[1],J=ee*C,ie=Math.min(c-1,a?Math.round(J):Math.floor(J));if(P===ie)for(let pe=0;pe=f)continue;let we=Y+he*p[2],ve=he*w,$e=Math.min(l-1,a?Math.round(ve):Math.floor(ve));V===$e&&(X+=g[we+j])}}h[U+j]=X}}}}return t.makeTensorInfo(n.shape,n.dtype,h)}var M_={kernelName:Em,backendName:\"cpu\",kernelFunc:LX};function BX(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{dims:s}=o;K(n,\"reverse\");let a=n.shape.length,i=y.parseAxisParam(s,n.shape);if(a===0)return ar({inputs:{x:n},backend:t});let p=new st(n.shape,n.dtype),u=t.bufferSync(n);for(let c=0;cm[d]=n.shape[d]-1-m[d]),p.set(u.get(...m),...l)}return t.makeTensorInfo(p.shape,p.dtype,p.values)}var L_={kernelName:Bn,backendName:\"cpu\",kernelFunc:BX};var B_={kernelName:es,backendName:\"cpu\",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{image:o}=r,{radians:n,fillValue:s,center:a}=e,i=t,p=y.getTypedArrayFromDType(o.dtype,y.sizeFromShape(o.shape)),[u,c,l,m]=o.shape,[d,f]=S.getImageCenter(a,c,l),h=255,g=Math.sin(n),x=Math.cos(n),b=i.data.get(o.dataId).values;for(let w=0;w=0&&W=0&&V{let e=Math.floor(r);return r-e<.5?Math.floor(r):r-e>.5?Math.ceil(r):e%2===0?e:e+1}),V_={kernelName:Ca,backendName:\"cpu\",kernelFunc:VX};function zX(r){let{inputs:e,backend:t,attrs:o}=r,{indices:n,updates:s}=e,{shape:a}=o,{sliceRank:i,numUpdates:p,sliceSize:u,strides:c,outputSize:l}=S.calculateShapes(s,n,a),m=!0,d=t.bufferSync(n),f=t.bufferSync(s),h=Ma(d,f,a,l,u,p,i,c,0,m);return t.makeTensorInfo(a,h.dtype,h.values)}var z_={kernelName:zn,backendName:\"cpu\",kernelFunc:zX};function WX(r,e){let t=0,o=r.length,n=0;for(;t1||n.shape.length===1?1:y.sizeFromShape(n.shape.slice(1));for(let f=0;fr>=0?KX*r:qX*(Math.exp(r)-1)),H_={kernelName:Xi,backendName:\"cpu\",kernelFunc:jX};var XX=Ie(Yi,r=>r<0?-1:r>0?1:0),q_={kernelName:Yi,backendName:\"cpu\",kernelFunc:XX};var YX=Ie(Wn,r=>Math.sin(r)),K_={kernelName:Wn,backendName:\"cpu\",kernelFunc:YX};var QX=Ie(Sa,r=>Math.sinh(r)),j_={kernelName:Sa,backendName:\"cpu\",kernelFunc:QX};var ZX=11920928955078125e-23,X_=Math.log(ZX)+2,JX=Ie(Qi,r=>{let e=r>-X_,t=rNumber(g)))),t.makeTensorInfo([h.length],o.dtype,new Int32Array(h))]}var Z_={kernelName:ui,backendName:\"cpu\",kernelFunc:t5};function r5(r){let{inputs:e,backend:t}=r,{inputIndices:o,inputShape:n,newShape:s}=e;if(o.shape.length!==2)throw new Error(`Input indices should be a matrix but received shape\n ${o.shape}`);if(n.shape.length!==1)throw new Error(`Input shape should be a vector but received shape\n ${n.shape}`);if(s.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);let a=Array.from(t.data.get(n.dataId).values),i=t.data.get(o.dataId).values,p=Array.from(t.data.get(s.dataId).values),[u,c,l]=xf(i,o.shape,o.dtype,a,p);return[t.makeTensorInfo(c,o.dtype,u),t.makeTensorInfo([l.length],s.dtype,new Int32Array(l))]}var J_={kernelName:wa,backendName:\"cpu\",kernelFunc:r5};function o5(r){let{inputs:e,backend:t}=r,{data:o,indices:n,segmentIds:s}=e;if(o.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(n.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${n.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(n.shape[0]!==s.shape[0])throw new Error(\"segmentIds and indices should have same size.\");let a=t.data.get(o.dataId).values,i=t.data.get(n.dataId).values,p=t.data.get(s.dataId).values,[u,c]=Yp(a,o.shape,o.dtype,i,p,!0);return t.makeTensorInfo(c,o.dtype,u)}var eE={kernelName:pi,backendName:\"cpu\",kernelFunc:o5};function n5(r){let{inputs:e,backend:t}=r,{data:o,indices:n,segmentIds:s}=e;if(o.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(n.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${n.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(n.shape[0]!==s.shape[0])throw new Error(\"segmentIds and indices should have same size.\");let a=t.data.get(o.dataId).values,i=t.data.get(n.dataId).values,p=t.data.get(s.dataId).values,[u,c]=Yp(a,o.shape,o.dtype,i,p);return t.makeTensorInfo(c,o.dtype,u)}var tE={kernelName:ci,backendName:\"cpu\",kernelFunc:n5};function s5(r){let{inputs:e,backend:t,attrs:o}=r,{sparseIndices:n,sparseValues:s,defaultValue:a}=e,{outputShape:i}=o,{sliceRank:p,numUpdates:u,sliceSize:c,strides:l,outputSize:m}=S.calculateShapes(s,n,i),d=!1,f=t.bufferSync(n),h;switch(s.dtype){case\"bool\":{let g=t.bufferSync(s),x=Boolean(t.data.get(a.dataId).values[0]);h=Ma(f,g,i,m,c,u,p,l,x,d);break}case\"float32\":{let g=t.bufferSync(s),x=t.data.get(a.dataId).values[0];h=Ma(f,g,i,m,c,u,p,l,x,d);break}case\"int32\":{let g=t.bufferSync(s),x=t.data.get(a.dataId).values[0];h=Ma(f,g,i,m,c,u,p,l,x,d);break}case\"string\":{let g=t.bufferSync(s),x=y.decodeString(t.data.get(a.dataId).values[0]);h=Ma(f,g,i,m,c,u,p,l,x,d);break}default:throw new Error(`Unsupported type ${s.dtype}`)}return t.makeTensorInfo(i,h.dtype,h.values)}var rE={kernelName:li,backendName:\"cpu\",kernelFunc:s5};function a5(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{numOrSizeSplits:s,axis:a}=o,i=y.parseAxisParam(a,n.shape)[0],p=S.prepareSplitSize(n,s,i),u=new Array(n.shape.length).fill(0),c=n.shape.slice();return p.map(l=>{let m=[...c];m[i]=l;let d=No({inputs:{x:n},backend:t,attrs:{begin:u,size:m}});return u[i]+=l,d})}var oE={kernelName:$s,backendName:\"cpu\",kernelFunc:a5};var nE={kernelName:mi,backendName:\"cpu\",kernelFunc:({inputs:r,backend:e})=>{let{x:t}=r,o=e;K(t,\"square\");let n=o.data.get(t.dataId).values,s=new Float32Array(n.length);for(let i=0;i{let t=e;return isNaN(r)?NaN:r>0?1:t.alpha}),sE={kernelName:Ds,backendName:\"cpu\",kernelFunc:i5};function u5(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{begin:s,end:a,strides:i,beginMask:p,endMask:u,ellipsisMask:c,newAxisMask:l,shrinkAxisMask:m}=o;K(n,\"stridedSlice\");let{finalShapeSparse:d,finalShape:f,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:C,strides:w}=ut.sliceInfo(n.shape,s,a,i,p,u,c,l,m),k;if(h)k=Me({inputs:{x:n},backend:t,attrs:{shape:f}});else if(g||x){y.assert(n.shape.length>=1,()=>`Input must have rank at least 1, got: ${n.shape.length}`);let _=ut.computeOutShape(b,C,w),$=No({inputs:{x:n},backend:t,attrs:{begin:b,size:_}});k=Me({inputs:{x:$},backend:t,attrs:{shape:f}}),t.disposeIntermediateTensorInfo($)}else{let _=t.bufferSync(n),$=yf(d,_,w,b);k=t.makeTensorInfo(f,$.dtype,$.values)}return k}var aE={kernelName:jn,backendName:\"cpu\",kernelFunc:u5};function p5(r){let{inputs:e,backend:t,attrs:o}=r,{separator:n,nGramWidths:s,leftPad:a,rightPad:i,padWidth:p,preserveShortSequences:u}=o,{data:c,dataSplits:l}=e,m=t.data.get(c.dataId).values,d=t.data.get(l.dataId).values,[f,h]=ku(m,d,n,s,a,i,p,u);return[t.makeTensorInfo([f.length],\"string\",f),t.makeTensorInfo(l.shape,\"int32\",h)]}var iE={kernelName:As,backendName:\"cpu\",kernelFunc:p5};function c5(r){let{inputs:e,backend:t,attrs:o}=r,{skipEmpty:n}=o,{input:s,delimiter:a}=e;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(s.shape.length!==1)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(a.shape.length!==0)throw new Error(`Delimiter must be a scalar, got shape: ${a.shape}`);let i=t.data.get(s.dataId).values,p=t.data.get(a.dataId).values[0],[u,c,l]=Nu(i,p,n),m=c.length;return[t.makeTensorInfo([m,2],\"int32\",u),t.makeTensorInfo([m],\"string\",c),t.makeTensorInfo([2],\"int32\",new Int32Array(l))]}var uE={kernelName:di,backendName:\"cpu\",kernelFunc:c5};function l5(r){let{inputs:e,backend:t,attrs:o}=r,{numBuckets:n}=o,{input:s}=e;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(n<=0)throw new Error(\"Number of buckets must be at least 1\");let a=t.data.get(s.dataId).values,i=Tu(a,n);return t.makeTensorInfo(s.shape,\"int32\",i)}var pE={kernelName:fi,backendName:\"cpu\",kernelFunc:l5};var m5=Ie(Yn,r=>Math.tan(r)),cE={kernelName:Yn,backendName:\"cpu\",kernelFunc:m5};var d5=Ie(Qn,r=>Math.tanh(r)),lE={kernelName:Qn,backendName:\"cpu\",kernelFunc:d5};function f5(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{reps:s}=o;K(n,\"tile\");let a=bf(t.bufferSync(n),s);return t.makeTensorInfo(a.shape,a.dtype,a.values)}var mE={kernelName:to,backendName:\"cpu\",kernelFunc:f5};function h5(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{k:s,sorted:a}=o;K(n,\"topk\");let i=t.data.get(n.dataId).values,[p,u]=Cf(i,n.shape,n.dtype,s,a);return[t.makeTensorInfo(p.shape,p.dtype,p.values),t.makeTensorInfo(u.shape,u.dtype,u.values)]}var dE={kernelName:Zn,backendName:\"cpu\",kernelFunc:h5};function g5(r){let{inputs:e,attrs:t,backend:o}=r,{image:n,transforms:s}=e,{interpolation:a,fillMode:i,fillValue:p,outputShape:u}=t,[c,l,m,d]=n.shape,[f,h]=u!=null?u:[l,m],g=[c,f,h,d],x=y.computeStrides(n.shape),b=x[0],C=x[1],w=x[2],k=y.computeStrides(g),_=k[0],$=k[1],A=k[2],R=y.getTypedArrayFromDType(n.dtype,y.sizeFromShape(g));R.fill(p);let D=o.data.get(n.dataId).values,P=o.data.get(s.dataId).values;for(let L=0;Le-1)if(e<=1)t=0;else{let o=2*e;t-=o*Math.trunc(t/o),t>=e&&(t=o-t-1)}return y.clamp(0,t,e-1)}function y5(r,e){let t=r;if(t<0)if(e<=1)t=0;else{let o=e-1;t+=e*(Math.trunc(-t/o)+1)}else if(t>e-1)if(e<=1)t=0;else{let o=e-1;t-=e*Math.trunc(t/o)}return y.clamp(0,t,e-1)}function b5(r,e){return r}function C5(r,e){return y.clamp(0,r,e-1)}function bl(r,e,t,o,n,s,a,i,p,u,c){let l=a*o+i*n+p*s+u;return 0<=i&&it.disposeIntermediateTensorInfo(f)),d}var yE={kernelName:Np,backendName:\"cpu\",kernelFunc:k5};var N5=[GT,tT,HT,qT,aT,KT,jT,XT,YT,QT,ZT,JT,e2,t2,r2,n2,s2,a2,i2,UT,u2,p2,c2,l2,sT,iT,m2,rT,d2,h2,g2,x2,y2,b2,C2,S2,w2,I2,v2,k2,N2,T2,_2,E2,$2,A2,R2,F2,D2,O2,M2,MT,L2,uT,B2,pT,V2,cT,z2,W2,U2,lT,G2,H2,q2,K2,j2,mT,dT,oT,X2,f2,Y2,Q2,Z2,LT,fT,hT,J2,gT,e_,t_,r_,o_,n_,s_,a_,xT,i_,u_,p_,c_,m_,d_,f_,yT,h_,g_,b_,bT,CT,C_,S_,w_,ST,I_,N_,T_,kf,__,BT,IT,E_,$_,A_,R_,nT,gl,F_,VT,zT,WT,D_,O_,P_,M_,L_,B_,V_,_T,z_,U_,G_,H_,$T,q_,K_,j_,AT,x_,Y_,Q_,Z_,J_,eE,tE,rE,oE,FT,nE,DT,sE,aE,iE,uE,pE,OT,P2,cE,lE,mE,dE,hE,wT,gE,xE,yE,v_];for(let r of N5)Ia(r);var oc={};Ue(oc,{assertNotComplex:()=>is,bindCanvasToFramebuffer:()=>O5,bindColorTextureToFramebuffer:()=>Il,bindTextureToProgramUniformSampler:()=>KS,bindTextureUnit:()=>wE,bindVertexBufferToProgramAttribute:()=>Af,callAndCheck:()=>ce,canBeRepresented:()=>OS,createFragmentShader:()=>MS,createFramebuffer:()=>GS,createProgram:()=>LS,createStaticIndexBuffer:()=>zS,createStaticVertexBuffer:()=>VS,createTexture:()=>WS,createVertexShader:()=>PS,getBatchDim:()=>Va,getExtensionOrThrow:()=>ec,getFramebufferErrorMessage:()=>IE,getMaxTexturesInShader:()=>YS,getNumChannels:()=>F5,getProgramUniformLocation:()=>qS,getProgramUniformLocationOrThrow:()=>HS,getRowsCols:()=>za,getShapeAs3D:()=>rc,getTextureShapeFromLogicalShape:()=>jS,getWebGLDisjointQueryTimerVersion:()=>QS,getWebGLErrorMessage:()=>SE,getWebGLMaxTextureSize:()=>XS,hasExtension:()=>Ur,isCapableOfRenderingToFloatTexture:()=>ZS,isDownloadFloatTextureEnabled:()=>JS,isReshapeFree:()=>Li,isWebGLFenceEnabled:()=>ew,isWebGLVersionEnabled:()=>Ff,linkProgram:()=>BS,logShaderSourceAndInfoLog:()=>$f,resetMaxTextureSize:()=>P5,resetMaxTexturesInShader:()=>M5,unbindColorTextureFromFramebuffer:()=>Rf,unbindTextureUnit:()=>D5,validateFramebuffer:()=>tc,validateProgram:()=>wl,validateTextureSize:()=>US});var Eu={},Nf={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function RS(r,e){Eu[r]=e}function Wr(r,e){if(!(r in Eu)||e!=null){let o=_5(r,e);if(o!==null)Eu[r]=o;else return console.log(\"Could not get context for WebGL version\",r),null}let t=Eu[r];return t==null||t.isContextLost()?(delete Eu[r],Wr(r)):(t.disable(t.DEPTH_TEST),t.disable(t.STENCIL_TEST),t.disable(t.BLEND),t.disable(t.DITHER),t.disable(t.POLYGON_OFFSET_FILL),t.disable(t.SAMPLE_COVERAGE),t.enable(t.SCISSOR_TEST),t.enable(t.CULL_FACE),t.cullFace(t.BACK),Eu[r])}function T5(r){if(typeof OffscreenCanvas!=\"undefined\"&&r===2)return new OffscreenCanvas(300,150);if(typeof document!=\"undefined\")return document.createElement(\"canvas\");throw new Error(\"Cannot create a canvas in this context\")}function _5(r,e){if(r!==1&&r!==2)throw new Error(\"Cannot get WebGL rendering context, WebGL is disabled.\");let t=e==null?T5(r):e;return t.addEventListener(\"webglcontextlost\",o=>{o.preventDefault(),delete Eu[r]},!1),O().getBool(\"SOFTWARE_WEBGL_ENABLED\")&&(Nf.failIfMajorPerformanceCaveat=!1),r===1?t.getContext(\"webgl\",Nf)||t.getContext(\"experimental-webgl\",Nf):t.getContext(\"webgl2\",Nf)}var Mi;(function(r){r[r.DENSE=0]=\"DENSE\",r[r.SHARED_BATCH=1]=\"SHARED_BATCH\"})(Mi||(Mi={}));var ir;(function(r){r[r.RENDER=0]=\"RENDER\",r[r.UPLOAD=1]=\"UPLOAD\",r[r.PIXELS=2]=\"PIXELS\",r[r.DOWNLOAD=3]=\"DOWNLOAD\"})(ir||(ir={}));var Zt;(function(r){r[r.UNPACKED_FLOAT16=0]=\"UNPACKED_FLOAT16\",r[r.UNPACKED_FLOAT32=1]=\"UNPACKED_FLOAT32\",r[r.PACKED_4X1_UNSIGNED_BYTE=2]=\"PACKED_4X1_UNSIGNED_BYTE\",r[r.PACKED_2X2_FLOAT32=3]=\"PACKED_2X2_FLOAT32\",r[r.PACKED_2X2_FLOAT16=4]=\"PACKED_2X2_FLOAT16\"})(Zt||(Zt={}));function $u(r,e){return[e,r]}function bE(r,e){return r*e}function Cl(r){let e=y.sizeFromShape(r),t=Math.ceil(e/4);return y.sizeToSquarishShape(t)}function Ys(r,e){return[Math.max(1,Math.ceil(e/2)),Math.max(1,Math.ceil(r/2))]}function CE(r,e){let[t,o]=Ys(r,e);return t*o*4}function Sl(r,e){let t=r,o,n,s,a,i,p,u,c,l,m;return O().getNumber(\"WEBGL_VERSION\")===2?(o=t.R32F,n=t.R16F,s=t.RGBA16F,a=t.RGBA32F,i=t.RED,u=4,c=1,l=t.HALF_FLOAT,m=t.FLOAT,p=t.RGBA8):(o=r.RGBA,n=r.RGBA,s=r.RGBA,a=t.RGBA,i=r.RGBA,u=4,c=4,l=e!=null?e.HALF_FLOAT_OES:null,m=r.FLOAT,p=r.RGBA),{internalFormatFloat:o,internalFormatHalfFloat:n,internalFormatPackedHalfFloat:s,internalFormatPackedFloat:a,textureFormatFloat:i,downloadTextureFormat:p,downloadUnpackNumChannels:u,defaultNumChannels:c,textureTypeHalfFloat:l,textureTypeFloat:m}}function ce(r,e){let t=e();return O().getBool(\"DEBUG\")&&E5(r),t}function E5(r){let e=r.getError();if(e!==r.NO_ERROR)throw new Error(\"WebGL Error: \"+SE(r,e))}var $5=596e-10,A5=65504;function OS(r){return!!(O().getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")||r===0||$5r.getExtension(e),'Extension \"'+e+'\" not supported on this browser.')}function PS(r,e){let t=Ba(r,()=>r.createShader(r.VERTEX_SHADER),\"Unable to create vertex WebGLShader.\");if(ce(r,()=>r.shaderSource(t,e)),ce(r,()=>r.compileShader(t)),r.getShaderParameter(t,r.COMPILE_STATUS)===!1)throw console.log(r.getShaderInfoLog(t)),new Error(\"Failed to compile vertex shader.\");return t}function MS(r,e){let t=Ba(r,()=>r.createShader(r.FRAGMENT_SHADER),\"Unable to create fragment WebGLShader.\");if(ce(r,()=>r.shaderSource(t,e)),ce(r,()=>r.compileShader(t)),O().get(\"ENGINE_COMPILE_ONLY\"))return t;if(r.getShaderParameter(t,r.COMPILE_STATUS)===!1)throw $f(e,r.getShaderInfoLog(t)),new Error(\"Failed to compile fragment shader.\");return t}var R5=/ERROR: [0-9]+:([0-9]+):/g;function $f(r,e){let t=R5.exec(e);if(t==null){console.log(`Couldn't parse line number in error: ${e}`),console.log(r);return}let o=+t[1],n=r.split(`\n`),s=n.length.toString().length+2,a=n.map((l,m)=>y.rightPad((m+1).toString(),s)+l),i=0;for(let l=0;lr.createProgram(),\"Unable to create WebGLProgram.\")}function BS(r,e){if(ce(r,()=>r.linkProgram(e)),!O().get(\"ENGINE_COMPILE_ONLY\")&&r.getProgramParameter(e,r.LINK_STATUS)===!1)throw console.log(r.getProgramInfoLog(e)),new Error(\"Failed to link vertex and fragment shaders.\")}function wl(r,e){if(ce(r,()=>r.validateProgram(e)),r.getProgramParameter(e,r.VALIDATE_STATUS)===!1)throw console.log(r.getProgramInfoLog(e)),new Error(\"Shader program validation failed.\")}function VS(r,e){let t=Ba(r,()=>r.createBuffer(),\"Unable to create WebGLBuffer\");return ce(r,()=>r.bindBuffer(r.ARRAY_BUFFER,t)),ce(r,()=>r.bufferData(r.ARRAY_BUFFER,e,r.STATIC_DRAW)),t}function zS(r,e){let t=Ba(r,()=>r.createBuffer(),\"Unable to create WebGLBuffer\");return ce(r,()=>r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,t)),ce(r,()=>r.bufferData(r.ELEMENT_ARRAY_BUFFER,e,r.STATIC_DRAW)),t}function F5(){return O().getNumber(\"WEBGL_VERSION\")===2?1:4}function WS(r){return Ba(r,()=>r.createTexture(),\"Unable to create WebGLTexture.\")}function US(r,e){let t=O().getNumber(\"WEBGL_MAX_TEXTURE_SIZE\");if(r<=0||e<=0){let o=`[${r}x${e}]`;throw new Error(\"Requested texture size \"+o+\" is invalid.\")}if(r>t||e>t){let o=`[${r}x${e}]`,n=`[${t}x${t}]`;throw new Error(\"Requested texture size \"+o+\" greater than WebGL maximum on this browser / GPU \"+n+\".\")}}function GS(r){return Ba(r,()=>r.createFramebuffer(),\"Unable to create WebGLFramebuffer.\")}function Af(r,e,t,o,n,s,a){let i=r.getAttribLocation(e,t);return i===-1?!1:(ce(r,()=>r.bindBuffer(r.ARRAY_BUFFER,o)),ce(r,()=>r.vertexAttribPointer(i,n,r.FLOAT,!1,s,a)),ce(r,()=>r.enableVertexAttribArray(i)),!0)}function wE(r,e,t){vE(r,t),ce(r,()=>r.activeTexture(r.TEXTURE0+t)),ce(r,()=>r.bindTexture(r.TEXTURE_2D,e))}function D5(r,e){vE(r,e),ce(r,()=>r.activeTexture(r.TEXTURE0+e)),ce(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function HS(r,e,t){return Ba(r,()=>r.getUniformLocation(e,t),'uniform \"'+t+'\" not present in program.')}function qS(r,e,t){return r.getUniformLocation(e,t)}function KS(r,e,t,o){ce(r,()=>wE(r,e,o)),ce(r,()=>r.uniform1i(t,o))}function O5(r){ce(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,null)),ce(r,()=>r.viewport(0,0,r.canvas.width,r.canvas.height)),ce(r,()=>r.scissor(0,0,r.canvas.width,r.canvas.height))}function Il(r,e,t){ce(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,t)),ce(r,()=>r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,e,0))}function Rf(r,e){ce(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,e)),ce(r,()=>r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,null,0))}function tc(r){let e=r.checkFramebufferStatus(r.FRAMEBUFFER);if(e!==r.FRAMEBUFFER_COMPLETE)throw new Error(\"Error binding framebuffer: \"+IE(r,e))}function IE(r,e){switch(e){case r.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\";case r.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\";case r.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\";case r.FRAMEBUFFER_UNSUPPORTED:return\"FRAMEBUFFER_UNSUPPORTED\";default:return`unknown error ${e}`}}function Ba(r,e,t){let o=ce(r,()=>e());if(o==null)throw new Error(t);return o}function vE(r,e){let t=r.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,o=e+r.TEXTURE0;if(ot){let n=`[gl.TEXTURE0, gl.TEXTURE${t}]`;throw new Error(`textureUnit must be in ${n}.`)}}function Va(r,e=2){return y.sizeFromShape(r.slice(0,r.length-e))}function za(r){if(r.length===0)throw Error(\"Cannot get rows and columns of an empty shape array.\");return[r.length>1?r[r.length-2]:1,r[r.length-1]]}function rc(r){let e=[1,1,1];return r.length===0||r.length===1&&r[0]===1||(e=[Va(r),...za(r)]),e}function jS(r,e=!1){let t=O().getNumber(\"WEBGL_MAX_TEXTURE_SIZE\"),o=O().getNumber(\"WEBGL_MAX_SIZE_FOR_NARROW_TEXTURE\");o===1/0&&O().getBool(\"WEBGL_AUTO_SQUARIFY_NARROW_TEXTURE_SHAPE\")&&(o=t/2),e&&(t=t*2,o=o*2,r=r.map((i,p)=>p>=r.length-2?y.nearestLargerEven(r[p]):r[p]),r.length===1&&(r=[2,r[0]])),r.length!==2&&(r=y.squeezeShape(r).newShape);let n=y.sizeFromShape(r),s=null;r.length<=1&&n<=t?s=[1,n]:r.length===2&&r[0]<=t&&r[1]<=t?s=r:r.length===3&&r[0]*r[1]<=t&&r[2]<=t?s=[r[0]*r[1],r[2]]:r.length===3&&r[0]<=t&&r[1]*r[2]<=t?s=[r[0],r[1]*r[2]]:r.length===4&&r[0]*r[1]*r[2]<=t&&r[3]<=t?s=[r[0]*r[1]*r[2],r[3]]:r.length===4&&r[0]<=t&&r[1]*r[2]*r[3]<=t&&(s=[r[0],r[1]*r[2]*r[3]]);let a=s!=null&&Math.max(...s)>o&&Math.min(...s)<=(e?2:1)&&Math.min(...s)>0;if(s==null||a)if(e){let i=Va(r),p=2,u=2;r.length&&([p,u]=za(r)),n=i*(p/2)*(u/2),s=y.sizeToSquarishShape(n).map(c=>c*2)}else s=y.sizeToSquarishShape(n);return s}function Tf(r){return r%2===0}function Li(r,e){if(r=r.slice(-2),e=e.slice(-2),y.arraysEqual(r,e)||!r.length||!e.length||r[0]===0||r[1]===0||e[0]===0||e[1]===0)return!0;if(r.length!==e.length){let t=r.slice(-1)[0],o=e.slice(-1)[0];if(t===o||Tf(t)&&Tf(o)&&(r[0]===1||e[0]===1))return!0}return r[1]===e[1]&&Tf(r[0])&&Tf(e[0])}var _f,Ef;function XS(r){if(_f==null){let e=Wr(r);_f=e.getParameter(e.MAX_TEXTURE_SIZE)}return _f}function P5(){_f=null}function M5(){Ef=null}function YS(r){if(Ef==null){let e=Wr(r);Ef=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS)}return Math.min(16,Ef)}function QS(r){if(r===0)return 0;let e,t=Wr(r);return Ur(t,\"EXT_disjoint_timer_query_webgl2\")&&r===2?e=2:Ur(t,\"EXT_disjoint_timer_query\")?e=1:e=0,e}function Ur(r,e){return r.getExtension(e)!=null}function Ff(r){try{if(Wr(r)!=null)return!0}catch(e){return console.log(\"Error when getting WebGL context: \",e),!1}return!1}function ZS(r){if(r===0)return!1;let e=Wr(r);if(r===1){if(!Ur(e,\"OES_texture_float\"))return!1}else if(!Ur(e,\"EXT_color_buffer_float\"))return!1;return DS(e)}function JS(r){if(r===0)return!1;let e=Wr(r);if(r===1){if(!Ur(e,\"OES_texture_float\")||!Ur(e,\"WEBGL_color_buffer_float\"))return!1}else{if(Ur(e,\"EXT_color_buffer_float\"))return DS(e);let o=\"EXT_color_buffer_half_float\";if(Ur(e,o)){let n=e.getExtension(o);return L5(e,n)}return!1}return DS(e)}function DS(r){let e=Sl(r),t=r.createTexture();r.bindTexture(r.TEXTURE_2D,t);let o=1,n=1;r.texImage2D(r.TEXTURE_2D,0,e.internalFormatFloat,o,n,0,e.textureFormatFloat,e.textureTypeFloat,null);let s=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,s),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,t,0);let a=r.checkFramebufferStatus(r.FRAMEBUFFER)===r.FRAMEBUFFER_COMPLETE;return r.bindTexture(r.TEXTURE_2D,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteTexture(t),r.deleteFramebuffer(s),a}function L5(r,e){let t=Sl(r,e),o=r.createTexture();r.bindTexture(r.TEXTURE_2D,o);let n=1,s=1;r.texImage2D(r.TEXTURE_2D,0,t.internalFormatHalfFloat,n,s,0,t.textureFormatFloat,t.textureTypeHalfFloat,null);let a=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,a),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,o,0);let i=r.checkFramebufferStatus(r.FRAMEBUFFER)===r.FRAMEBUFFER_COMPLETE;return r.bindTexture(r.TEXTURE_2D,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteTexture(o),r.deleteFramebuffer(a),i}function ew(r){return r!==2?!1:Wr(r).fenceSync!=null}function is(r,e){Array.isArray(r)||(r=[r]),r.forEach(t=>{t!=null&&y.assert(t.dtype!==\"complex64\",()=>`${e} does not support complex64 tensors in the WebGL backend.`)})}var Ce=O();Ce.registerFlag(\"HAS_WEBGL\",()=>Ce.getNumber(\"WEBGL_VERSION\")>0);Ce.registerFlag(\"WEBGL_VERSION\",()=>Ff(2)?2:Ff(1)?1:0);Ce.registerFlag(\"WEBGL_CHECK_NUMERICAL_PROBLEMS\",()=>!1);Ce.registerFlag(\"WEBGL_BUFFER_SUPPORTED\",()=>Ce.get(\"WEBGL_VERSION\")===2);Ce.registerFlag(\"WEBGL_CPU_FORWARD\",()=>!0);Ce.registerFlag(\"WEBGL_FORCE_F16_TEXTURES\",()=>!1);Ce.registerFlag(\"WEBGL_PACK\",()=>Ce.getBool(\"HAS_WEBGL\"));Ce.registerFlag(\"WEBGL_PACK_NORMALIZATION\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_PACK_CLIP\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_PACK_DEPTHWISECONV\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_PACK_BINARY_OPERATIONS\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_PACK_UNARY_OPERATIONS\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_PACK_ARRAY_OPERATIONS\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_PACK_IMAGE_OPERATIONS\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_PACK_REDUCE\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_LAZILY_UNPACK\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_CONV_IM2COL\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_MAX_TEXTURE_SIZE\",()=>XS(Ce.getNumber(\"WEBGL_VERSION\")));Ce.registerFlag(\"WEBGL_MAX_TEXTURES_IN_SHADER\",()=>YS(Ce.getNumber(\"WEBGL_VERSION\")));Ce.registerFlag(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\",()=>{let r=Ce.getNumber(\"WEBGL_VERSION\");return r===0?0:QS(r)});Ce.registerFlag(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\",()=>Ce.getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")>0&&!yi.isMobile());Ce.registerFlag(\"WEBGL_RENDER_FLOAT32_CAPABLE\",()=>ZS(Ce.getNumber(\"WEBGL_VERSION\")));Ce.registerFlag(\"WEBGL_RENDER_FLOAT32_ENABLED\",()=>Ce.getBool(\"WEBGL_FORCE_F16_TEXTURES\")?!1:Ce.getBool(\"WEBGL_RENDER_FLOAT32_CAPABLE\"));Ce.registerFlag(\"WEBGL_DOWNLOAD_FLOAT_ENABLED\",()=>JS(Ce.getNumber(\"WEBGL_VERSION\")));Ce.registerFlag(\"WEBGL_FENCE_API_ENABLED\",()=>ew(Ce.getNumber(\"WEBGL_VERSION\")));Ce.registerFlag(\"WEBGL_SIZE_UPLOAD_UNIFORM\",()=>Ce.getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")?4:0);Ce.registerFlag(\"WEBGL_DELETE_TEXTURE_THRESHOLD\",()=>-1,r=>{if(r<0&&r!==-1)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be -1 (indicating never delete) or at least 0, but got ${r}.`)});Ce.registerFlag(\"WEBGL_FLUSH_THRESHOLD\",()=>yi.isMobile()?1:-1,r=>{if(r<0&&r!==-1)throw new Error(`WEBGL_FLUSH_THRESHOLD must be -1 (indicating never manual flush) or at least 0, but got ${r}.`)});Ce.registerFlag(\"CPU_HANDOFF_SIZE_THRESHOLD\",()=>128);Ce.registerFlag(\"WEBGL_USE_SHAPES_UNIFORMS\",()=>!1);Ce.registerFlag(\"TOPK_LAST_DIM_CPU_HANDOFF_SIZE_THRESHOLD\",()=>1e5);Ce.registerFlag(\"TOPK_K_CPU_HANDOFF_THRESHOLD\",()=>128);Ce.registerFlag(\"WEBGL_EXP_CONV\",()=>!1);Ce.registerFlag(\"SOFTWARE_WEBGL_ENABLED\",()=>Ce.getBool(\"IS_TEST\"));Ce.registerFlag(\"WEBGL_MAX_SIZE_FOR_NARROW_TEXTURE\",()=>1/0);Ce.registerFlag(\"WEBGL_AUTO_SQUARIFY_NARROW_TEXTURE_SHAPE\",()=>!1);Ce.registerFlag(\"WEBGL2_ISNAN_CUSTOM\",()=>!1);Ce.registerFlag(\"ENGINE_COMPILE_ONLY\",()=>!1);function St(){let r,e,t,o,n,s,a,i,p,u;return O().getNumber(\"WEBGL_VERSION\")===2?(r=\"#version 300 es\",e=\"in\",t=\"out\",o=\"in\",n=\"texture\",s=\"outputColor\",a=\"out vec4 outputColor;\",i=O().getBool(\"WEBGL2_ISNAN_CUSTOM\")?`\n bool isnan_custom(float val) {\n uint floatToUint = floatBitsToUint(val);\n return (floatToUint & 0x7fffffffu) > 0x7f800000u;\n }\n\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan_custom(val.x),\n isnan_custom(val.y), isnan_custom(val.z), isnan_custom(val.w));\n }\n\n #define isnan(value) isnan_custom(value)\n `:\"\",p=\"\",u=`\n #define round(value) newRound(value)\n int newRound(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 newRound(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n `):(r=\"\",e=\"attribute\",t=\"varying\",o=\"varying\",n=\"texture2D\",s=\"gl_FragColor\",a=\"\",i=`\n #define isnan(value) isnan_custom(value)\n bool isnan_custom(float val) {\n return (val > 0. || val < 1. || val == 0.) ? false : true;\n }\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan(val.x), isnan(val.y), isnan(val.z), isnan(val.w));\n }\n `,p=`\n uniform float INFINITY;\n\n bool isinf(float val) {\n return abs(val) == INFINITY;\n }\n bvec4 isinf(vec4 val) {\n return equal(abs(val), vec4(INFINITY));\n }\n `,u=`\n int round(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 round(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n `),{version:r,attribute:e,varyingVs:t,varyingFs:o,texture2D:n,output:s,defineOutput:a,defineSpecialNaN:i,defineSpecialInf:p,defineRound:u}}function us(r,e,t=\"index\"){let o=y.computeStrides(e);return o.map((n,s)=>{let a=`int ${r[s]} = ${t} / ${n}`,i=s===o.length-1?`int ${r[s+1]} = ${t} - ${r[s]} * ${n}`:`index -= ${r[s]} * ${n}`;return`${a}; ${i};`}).join(\"\")}function Au(r,e,t=\"index\"){let o=y.computeStrides(e);return o.map((n,s)=>{let a=`int ${r[s]} = ${t} / outShapeStrides[${s}]`,i=s===o.length-1?`int ${r[s+1]} = ${t} - ${r[s]} * outShapeStrides[${s}]`:`index -= ${r[s]} * outShapeStrides[${s}]`;return`${a}; ${i};`}).join(\"\")}function B5(r,e){let t=r.length,o=r.map(s=>`${e}[${s}]`),n=new Array(t-1);n[t-2]=o[t-1];for(let s=t-3;s>=0;--s)n[s]=`(${n[s+1]} * ${o[s+1]})`;return n}function kE(r,e,t=\"index\"){let o=r.map((s,a)=>a),n=B5(o,e);return n.map((s,a)=>{let i=`int ${r[a]} = ${t} / ${n[a]}`,p=a===n.length-1?`int ${r[a+1]} = ${t} - ${r[a]} * ${n[a]}`:`index -= ${r[a]} * ${n[a]}`;return`${i}; ${p};`}).join(\"\")}function nc(r){let e=y.computeStrides(r).map(t=>t.toString());return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * ${e[0]} + coords.y * ${e[1]} + coords.z;\n }\n`}function sc(){return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n`}var Df=`\n const float FLOAT_MAX = 1.70141184e38;\n const float FLOAT_MIN = 1.17549435e-38;\n\n lowp vec4 encode_float(highp float v) {\n if (isnan(v)) {\n return vec4(255, 255, 255, 255);\n }\n\n highp float av = abs(v);\n\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 255.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n highp float e = floor(log2(av));\n highp float m = exp2(fract(log2(av))) - 1.0;\n\n c[2] = floor(128.0 * m);\n m -= c[2] / 128.0;\n c[1] = floor(32768.0 * m);\n m -= c[1] / 32768.0;\n c[0] = floor(8388608.0 * m);\n\n highp float ebias = e + 127.0;\n c[3] = floor(ebias / 2.0);\n ebias -= c[3] * 2.0;\n c[2] += floor(ebias) * 128.0;\n\n c[3] += 128.0 * step(0.0, -v);\n\n return c / 255.0;\n }\n`;var{getBroadcastDims:NE}=S;function TE(r,e,t){let o=[];if(r.forEach(d=>{let f=y.sizeFromShape(d.shapeInfo.logicalShape);if(d.shapeInfo.isUniform?o.push(`uniform float ${d.name}${f>1?`[${f}]`:\"\"};`):(o.push(`uniform sampler2D ${d.name};`),o.push(`uniform int offset${d.name};`)),t.enableShapeUniforms){let{uniformShape:h}=Of(t.packedInputs,d.shapeInfo.logicalShape,d.shapeInfo.texShape);switch(h.length){case 1:o.push(`uniform int ${d.name}Shape;`);break;case 2:o.push(`uniform ivec2 ${d.name}Shape;`);break;case 3:o.push(`uniform ivec3 ${d.name}Shape;`);break;case 4:o.push(`uniform ivec4 ${d.name}Shape;`);break;default:break}o.push(`uniform ivec2 ${d.name}TexShape;`)}}),t.enableShapeUniforms){switch(e.logicalShape.length){case 1:o.push(\"uniform int outShape;\");break;case 2:o.push(\"uniform ivec2 outShape;\"),o.push(\"uniform int outShapeStrides;\");break;case 3:o.push(\"uniform ivec3 outShape;\"),o.push(\"uniform ivec2 outShapeStrides;\");break;case 4:o.push(\"uniform ivec4 outShape;\"),o.push(\"uniform ivec3 outShapeStrides;\");break;default:break}o.push(\"uniform ivec2 outTexShape;\")}t.customUniforms&&t.customUniforms.forEach(d=>{o.push(`uniform ${d.type} ${d.name}${d.arrayIndex?`[${d.arrayIndex}]`:\"\"};`)});let n=o.join(`\n`),s=r.map(d=>V5(d,e,t.packedInputs,t.enableShapeUniforms)).join(`\n`),a=e.texShape,i=St(),p=U5(i),u,c,l=q5(i);return e.isPacked?(u=z5(e.logicalShape,a,t.enableShapeUniforms),c=H5(i)):(u=W5(e.logicalShape,a,t.enableShapeUniforms),c=G5(i)),t.packedInputs&&(l+=Y5),[l,p,c,n,u,s,t.userCode].join(`\n`)}function ic(r,e=!1){let t=r.shapeInfo.logicalShape;switch(t.length){case 0:return u8(r,e);case 1:return c8(r,e);case 2:return m8(r,e);case 3:return f8(r,e);case 4:return g8(r,e);case 5:return x8(r);case 6:return y8(r);default:throw new Error(`${t.length}-D input sampling is not yet supported`)}}function _E(r,e){switch(r.shapeInfo.logicalShape.length){case 0:return i8(r);case 1:return p8(r,e);case 2:return l8(r,e);case 3:return d8(r,e);default:return h8(r,e)}}function V5(r,e,t=!1,o){let n=\"\";t?n+=_E(r,o):n+=ic(r,o);let s=r.shapeInfo.logicalShape,a=e.logicalShape;return s.length<=a.length&&(t?n+=b8(r,e):n+=C8(r,e)),n}function z5(r,e,t){switch(r.length){case 0:return EE();case 1:return Q5(r,e,t);case 2:return s8(r,e,t);case 3:return J5(r,e,t);default:return t8(r,e,t)}}function W5(r,e,t){switch(r.length){case 0:return EE();case 1:return Z5(r,e,t);case 2:return a8(r,e,t);case 3:return e8(r,e,t);case 4:return r8(r,e,t);case 5:return o8(r,e);case 6:return n8(r,e);default:throw new Error(`${r.length}-D output sampling is not yet supported`)}}function U5(r){return`\n float sampleTexture(sampler2D textureSampler, vec2 uv) {\n return ${r.texture2D}(textureSampler, uv).r;\n }\n `}function G5(r){return`\n void setOutput(float val) {\n ${r.output} = vec4(val, 0, 0, 0);\n }\n `}function H5(r){return`\n void setOutput(vec4 val) {\n ${r.output} = val;\n }\n `}function q5(r){return`${r.version}\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n ${r.varyingFs} vec2 resultUV;\n ${r.defineOutput}\n const vec2 halfCR = vec2(0.5, 0.5);\n\n struct ivec5\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n };\n\n struct ivec6\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n int v;\n };\n\n uniform float NAN;\n ${r.defineSpecialNaN}\n ${r.defineSpecialInf}\n ${r.defineRound}\n\n int imod(int x, int y) {\n return x - y * (x / y);\n }\n\n int idiv(int a, int b, float sign) {\n int res = a / b;\n int mod = imod(a, b);\n if (sign < 0. && mod != 0) {\n res -= 1;\n }\n return res;\n }\n\n //Based on the work of Dave Hoskins\n //https://www.shadertoy.com/view/4djSRW\n #define HASHSCALE1 443.8975\n float random(float seed){\n vec2 p = resultUV * seed;\n vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1);\n p3 += dot(p3, p3.yzx + 19.19);\n return fract((p3.x + p3.y) * p3.z);\n }\n\n ${K5}\n ${j5}\n ${X5}\n `}var K5=`\nvec2 uvFromFlat(int texNumR, int texNumC, int index) {\n int texR = index / texNumC;\n int texC = index - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\nvec2 packedUVfrom1D(int texNumR, int texNumC, int index) {\n int texelIndex = index / 2;\n int texR = texelIndex / texNumC;\n int texC = texelIndex - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,j5=`\nvec2 packedUVfrom2D(int texelsInLogicalRow, int texNumR,\n int texNumC, int row, int col) {\n int texelIndex = (row / 2) * texelsInLogicalRow + (col / 2);\n int texR = texelIndex / texNumC;\n int texC = texelIndex - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,X5=`\nvec2 packedUVfrom3D(int texNumR, int texNumC,\n int texelsInBatch, int texelsInLogicalRow, int b,\n int row, int col) {\n int index = b * texelsInBatch + (row / 2) * texelsInLogicalRow + (col / 2);\n int texR = index / texNumC;\n int texC = index - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,Y5=`\n float getChannel(vec4 frag, vec2 innerDims) {\n vec2 modCoord = mod(innerDims, 2.);\n return modCoord.x == 0. ?\n (modCoord.y == 0. ? frag.r : frag.g) :\n (modCoord.y == 0. ? frag.b : frag.a);\n }\n float getChannel(vec4 frag, int dim) {\n float modCoord = mod(float(dim), 2.);\n return modCoord == 0. ? frag.r : frag.g;\n }\n`;function EE(){return`\n int getOutputCoords() {\n return 0;\n }\n `}function Q5(r,e,t){let o=[Math.ceil(e[0]/2),Math.ceil(e[1]/2)];return o[0]===1?t?`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ceil(float(outTexShape[1]) / 2.0));\n }\n `:`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ${o[1]}.0);\n }\n `:o[1]===1?t?`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ceil(float(outTexShape[0]) / 2.0));\n }\n `:`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ${o[0]}.0);\n }\n `:t?`\n int getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n return 2 * (resTexRC.x * packedTexShape[1] + resTexRC.y);\n }\n `:`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${o[0]}, ${o[1]}));\n return 2 * (resTexRC.x * ${o[1]} + resTexRC.y);\n }\n `}function Z5(r,e,t){return e[0]===1?t?`\n int getOutputCoords() {\n return int(resultUV.x * float(outTexShape[1]));\n }\n `:`\n int getOutputCoords() {\n return int(resultUV.x * ${e[1]}.0);\n }\n `:e[1]===1?t?`\n int getOutputCoords() {\n return int(resultUV.y * float(outTexShape[0]));\n }\n `:`\n int getOutputCoords() {\n return int(resultUV.y * ${e[0]}.0);\n }\n `:t?`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(outTexShape[0], outTexShape[1]));\n return resTexRC.x * outTexShape[1] + resTexRC.y;\n }\n `:`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${e[0]}, ${e[1]}));\n return resTexRC.x * ${e[1]} + resTexRC.y;\n }\n `}function J5(r,e,t){if(t)return`\n ivec3 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec3(b, r, c);\n }\n `;let o=[Math.ceil(e[0]/2),Math.ceil(e[1]/2)],n=Math.ceil(r[2]/2),s=n*Math.ceil(r[1]/2);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${o[0]}, ${o[1]}));\n int index = resTexRC.x * ${o[1]} + resTexRC.y;\n\n int b = index / ${s};\n index -= b * ${s};\n\n int r = 2 * (index / ${n});\n int c = imod(index, ${n}) * 2;\n\n return ivec3(b, r, c);\n }\n `}function e8(r,e,t){if(t)return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(outTexShape[0], outTexShape[1]));\n int index = resTexRC.x * outTexShape[1] + resTexRC.y;\n ${Au([\"r\",\"c\",\"d\"],r)}\n return ivec3(r, c, d);\n }\n`;let o=us([\"r\",\"c\",\"d\"],r);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${e[0]}, ${e[1]}));\n int index = resTexRC.x * ${e[1]} + resTexRC.y;\n ${o}\n return ivec3(r, c, d);\n }\n `}function t8(r,e,t){if(t)return`\n ivec4 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int texelsInLogicalRow = int(ceil(float(outShape[3]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatchN = texelsInBatch * outShape[1];\n\n int b2 = index / texelsInBatchN;\n index -= b2 * texelsInBatchN;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec4(b2, b, r, c);\n }\n `;let o=[Math.ceil(e[0]/2),Math.ceil(e[1]/2)],n=Math.ceil(r[r.length-1]/2),s=n*Math.ceil(r[r.length-2]/2),a=s,i=\"\",p=\"b, r, c\";for(let u=2;u=1?c=\"coords = 0;\":c=i.map(b=>`coords.${l[b+u]} = 0;`).join(`\n`);let m=\"\";a<2&&s>0?m=\"coords\":m=r.shapeInfo.logicalShape.map((b,C)=>`coords.${l[C+u]}`).join(\", \");let d=\"return outputValue;\",h=y.sizeFromShape(r.shapeInfo.logicalShape)===1,x=y.sizeFromShape(e.logicalShape)===1;if(s===1&&!h&&!x)d=`\n return vec4(outputValue.xy, outputValue.xy);\n `;else if(h&&!x)a===1?d=`\n return vec4(outputValue.x, outputValue.x, 0., 0.);\n `:d=`\n return vec4(outputValue.x);\n `;else if(i.length){let b=s-2,C=s-1;i.indexOf(b)>-1&&i.indexOf(C)>-1?d=\"return vec4(outputValue.x);\":i.indexOf(b)>-1?d=\"return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);\":i.indexOf(C)>-1&&(d=\"return vec4(outputValue.xx, outputValue.zz);\")}return`\n vec4 ${n}() {\n ${p} coords = getOutputCoords();\n ${c}\n vec4 outputValue = get${o}(${m});\n ${d}\n }\n `}function C8(r,e){let t=r.name,o=t.charAt(0).toUpperCase()+t.slice(1),n=\"get\"+o+\"AtOutCoords\",s=e.texShape,a=r.shapeInfo.texShape,i=r.shapeInfo.logicalShape.length,p=e.logicalShape.length;if(!r.shapeInfo.isUniform&&i===p&&r.shapeInfo.flatOffset==null&&y.arraysEqual(a,s))return`\n float ${n}() {\n return sampleTexture(${t}, resultUV);\n }\n `;let u=_e(p),c=NE(r.shapeInfo.logicalShape,e.logicalShape),l=p-i,m,d=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"];i===0?m=\"\":p<2&&c.length>=1?m=\"coords = 0;\":m=c.map(h=>`coords.${d[h+l]} = 0;`).join(`\n`);let f=\"\";return p<2&&i>0?f=\"coords\":f=r.shapeInfo.logicalShape.map((h,g)=>`coords.${d[g+l]}`).join(\", \"),`\n float ${n}() {\n ${u} coords = getOutputCoords();\n ${m}\n return get${o}(${f});\n }\n `}function _e(r){if(r<=1)return\"int\";if(r===2)return\"ivec2\";if(r===3)return\"ivec3\";if(r===4)return\"ivec4\";if(r===5)return\"ivec5\";if(r===6)return\"ivec6\";throw Error(`GPU for rank ${r} is not yet supported`)}function Of(r,e,t){let{newShape:o,keptDims:n}=y.squeezeShape(e),s=e.length,a=r&&s===3&&e[0]===1,i=a?e.slice(1):o,p=!r&&s>1&&!y.arraysEqual(e,t)&&o.lengthr[t]).join(\", \")}function AE(r,e,t,o){let n=t.map((c,l)=>{let m={logicalShape:c.shape,texShape:c.isUniform?null:c.texData.texShape,isUniform:c.isUniform,isPacked:c.isUniform?!1:c.texData.isPacked,flatOffset:null};return c.texData!=null&&c.texData.slice!=null&&c.texData.slice.flatOffset>0&&(m.flatOffset=c.texData.slice.flatOffset),{name:e.variableNames[l],shapeInfo:m}}),s=n.map(c=>c.shapeInfo),a={logicalShape:o.shape,texShape:o.texData.texShape,isUniform:!1,isPacked:o.texData.isPacked,flatOffset:null},i=TE(n,a,e),p=MS(r.gl,i),u=r.createProgram(p);return O().get(\"ENGINE_COMPILE_ONLY\")?{program:e,fragmentShader:p,source:i,webGLProgram:u,inShapeInfos:s,outShapeInfo:a,uniformLocations:null,customUniformLocations:null,infLoc:null,nanLoc:null,inShapesLocations:null,inTexShapesLocations:null,outShapeLocation:null,outShapeStridesLocation:null,outTexShapeLocation:null}:Object.assign({program:e,fragmentShader:p,source:i,webGLProgram:u,inShapeInfos:s,outShapeInfo:a},tw(r,e,u))}function tw(r,e,t){let o={},n={},s={},a=[],i,p,u,c=null,l=null;l=r.getUniformLocation(t,\"NAN\",!1),O().getNumber(\"WEBGL_VERSION\")===1&&(c=r.getUniformLocation(t,\"INFINITY\",!1));let m=!1;for(let d=0;d{a[f]=r.getUniformLocation(t,d.name,m)}),{uniformLocations:o,customUniformLocations:a,infLoc:c,nanLoc:l,inShapesLocations:n,inTexShapesLocations:s,outShapeLocation:i,outShapeStridesLocation:u,outTexShapeLocation:p}}function $E(r,e){if(r.length!==e.length)throw Error(`Binary was compiled with ${r.length} inputs, but was executed with ${e.length} inputs`);r.forEach((t,o)=>{let n=t.logicalShape,s=e[o],a=s.shape;if(!y.arraysEqual(n,a))throw Error(`Binary was compiled with different shapes than the current args. Shapes ${n} and ${a} must match`);if(t.isUniform&&s.isUniform)return;let i=t.texShape,p=s.isUniform?null:s.texData.texShape;if(!y.arraysEqual(i,p))throw Error(`Binary was compiled with different texture shapes than the current args. Shape ${i} and ${p} must match`)})}function RE(r,e,t,o,n){e.program.enableShapeUniforms||($E(e.inShapeInfos,t),$E([e.outShapeInfo],[o]));let s=o.texData.texture,a=o.texData.texShape;o.texData.isPacked?r.setOutputPackedMatrixTexture(s.texture,a[0],a[1]):r.setOutputMatrixTexture(s.texture,a[0],a[1]),r.setProgram(e.webGLProgram),O().getNumber(\"WEBGL_VERSION\")===1&&e.infLoc!==null&&r.gl.uniform1f(e.infLoc,1/0),e.nanLoc!==null&&r.gl.uniform1f(e.nanLoc,NaN),t.forEach((p,u)=>{let c=e.program.variableNames[u],l=e.uniformLocations[c],m=e.uniformLocations[`offset${c}`],d=e.inShapesLocations[`${c}Shape`],f=e.inTexShapesLocations[`${c}TexShape`];if(d){let{uniformShape:h}=Of(e.program.packedInputs,p.shape,p.texData.texShape);switch(h.length){case 1:r.gl.uniform1iv(d,new Int32Array(h));break;case 2:r.gl.uniform2iv(d,new Int32Array(h));break;case 3:r.gl.uniform3iv(d,new Int32Array(h));break;case 4:r.gl.uniform4iv(d,new Int32Array(h));break;default:break}}if(f&&r.gl.uniform2i(f,p.texData.texShape[0],p.texData.texShape[1]),l!=null){if(p.isUniform){if(y.sizeFromShape(p.shape)<2)r.gl.uniform1f(l,p.uniformValues[0]);else{let h=p.uniformValues;h instanceof Float32Array||(h=new Float32Array(h)),r.gl.uniform1fv(l,h)}return}p.texData.slice!=null&&m!=null&&r.gl.uniform1i(m,p.texData.slice.flatOffset),r.setInputMatrixTexture(p.texData.texture.texture,l,u)}});let i=e.outShapeLocation;if(i)switch(o.shape.length){case 1:r.gl.uniform1iv(i,new Int32Array(o.shape));break;case 2:r.gl.uniform2iv(i,new Int32Array(o.shape));break;case 3:r.gl.uniform3iv(i,new Int32Array(o.shape));break;case 4:r.gl.uniform4iv(i,new Int32Array(o.shape));break;default:break}if(e.outShapeStridesLocation){let p=y.computeStrides(o.shape);switch(o.shape.length){case 2:r.gl.uniform1iv(e.outShapeStridesLocation,new Int32Array(p));break;case 3:r.gl.uniform2iv(e.outShapeStridesLocation,new Int32Array(p));break;case 4:r.gl.uniform3iv(e.outShapeStridesLocation,new Int32Array(p));break;default:break}}e.outTexShapeLocation&&r.gl.uniform2i(e.outTexShapeLocation,o.texData.texShape[0],o.texData.texShape[1]),e.program.customUniforms&&n&&e.program.customUniforms.forEach((p,u)=>{let c=e.customUniformLocations[u],l=n[u];if(p.type===\"float\")r.gl.uniform1fv(c,l);else if(p.type===\"vec2\")r.gl.uniform2fv(c,l);else if(p.type===\"vec3\")r.gl.uniform3fv(c,l);else if(p.type===\"vec4\")r.gl.uniform4fv(c,l);else if(p.type===\"int\")r.gl.uniform1iv(c,l);else if(p.type===\"ivec2\")r.gl.uniform2iv(c,l);else if(p.type===\"ivec3\")r.gl.uniform3iv(c,l);else if(p.type===\"ivec4\")r.gl.uniform4iv(c,l);else throw Error(`uniform type ${p.type} is not supported yet.`)}),r.executeProgram()}function FE(r,e,t){let o=\"\";e.concat(t).forEach(a=>{let i=a.texData!=null&&a.texData.slice!=null&&a.texData.slice.flatOffset>0;if(r.enableShapeUniforms&&!a.isUniform){let p=a.texData.texShape,{useSqueezeShape:u,uniformShape:c,keptDims:l}=Of(r.packedInputs,a.shape,p),m=\"\",d=\"\",f=\"\";if(c.length===1&&r.packedInputs){let k=[Math.ceil(p[0]/2),Math.ceil(p[1]/2)];m=`${k[0]>1}_${k[1]>1}`}else if(c.length===2&&!r.packedInputs)d=`${c[0]>1}_${c[1]>1}`;else if(c.length>2&&!r.packedInputs){let k=y.computeStrides(c);f=`${k[0]===p[1]}_${k[k.length-1]===p[1]}`}let h=a.shape.length,g=c.length===2&&y.arraysEqual(a.shape,p),x=y.sizeFromShape(a.shape)===1,b=S.getBroadcastDims(a.shape,t.shape),C=!r.packedInputs&&h===t.shape.length&&y.arraysEqual(p,t.texData.texShape),w=r.packedInputs||c.length>2?\"\":`${p[0]>1}_${p[1]>1}`;o+=`${h}_${C}_${u?l:\"\"}_${c.length}_${x}_${b}_${g}_${m}_${d}_${f}_${w}_${i}`}else{let p=a.isUniform?\"uniform\":a.texData.texShape;o+=`${a.shape}_${p}_${i}`}});let n=r.userCode,s=r.constructor.name;return s+=\"_\"+o+\"_\"+n+`${O().getNumber(\"WEBGL_VERSION\")}`,s}function ct(r){return O().getBool(\"WEBGL_USE_SHAPES_UNIFORMS\")&&r<=4}var Pf=class{constructor(e){this.variableNames=[\"A\"],this.packedInputs=!1,this.packedOutput=!0,this.outPackingScheme=Mi.DENSE,this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let t=St();this.outputShape=e,this.enableShapeUniforms=ct(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?Au([\"r\",\"c\",\"d\"],e):us([\"r\",\"c\",\"d\"],e)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getA(rc.x, rc.y, rc.z);\n }\n\n ${t.output} = result;\n }\n `}};var Mf=class{constructor(e){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outPackingScheme=Mi.DENSE,this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let t=St();this.outputShape=e,this.enableShapeUniforms=ct(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?Au([\"r\",\"c\",\"d\"],e):us([\"r\",\"c\",\"d\"],e)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getChannel(getA(rc.x, rc.y, rc.z), vec2(rc.y, rc.z));\n }\n\n ${t.output} = result;\n }\n `}};var Lf=class{constructor(e){this.variableNames=[\"A\"],this.outTexUsage=ir.DOWNLOAD;let t=St();this.outputShape=e,this.userCode=`\n ${Df}\n\n void main() {\n float x = getAAtOutCoords();\n ${t.output} = encode_float(x);\n }\n `}};var Bf=class{constructor(e){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!1,this.outTexUsage=ir.DOWNLOAD;let t=St();this.outputShape=e,this.userCode=`\n ${Df}\n\n void main() {\n ivec3 coords = getOutputCoords();\n float x = getChannel(getAAtOutCoords(), vec2(coords.y, coords.z));\n ${t.output} = encode_float(x);\n }\n `}};var I8={R:0,G:1,B:2,A:3},vl=class{constructor(e,t=!1,o=\"RGBA\"){this.variableNames=[\"A\"],this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let n=St();this.outputShape=e,this.enableShapeUniforms=ct(this.outputShape.length);let s=\"result\";t&&(s=\"floor(result * 255. + 0.5)\");let a=\"\";for(let i=0;icw,createBufferFromOutputTexture:()=>dw,createFloat16MatrixTexture:()=>aw,createFloat16PackedMatrixTexture:()=>pw,createFloat32MatrixTexture:()=>sw,createIndexBuffer:()=>nw,createPackedMatrixTexture:()=>uw,createUnsignedBytesMatrixTexture:()=>iw,createVertexBuffer:()=>ow,createVertexShader:()=>rw,downloadByteEncodedFloatMatrixFromOutputTexture:()=>hw,downloadFloat32MatrixFromBuffer:()=>fw,downloadMatrixFromPackedOutputTexture:()=>xw,downloadPackedMatrixFromBuffer:()=>gw,getInternalFormatForFloat16MatrixTexture:()=>Wf,getInternalFormatForFloat16PackedMatrixTexture:()=>Hf,getInternalFormatForFloat32MatrixTexture:()=>zf,getInternalFormatForPackedMatrixTexture:()=>Gf,getInternalFormatForUnsignedBytesMatrixTexture:()=>Uf,uploadDenseMatrixToTexture:()=>lw,uploadPixelDataToTexture:()=>mw});function rw(r){let e=St(),t=`${e.version}\n precision highp float;\n ${e.attribute} vec3 clipSpacePos;\n ${e.attribute} vec2 uv;\n ${e.varyingVs} vec2 resultUV;\n\n void main() {\n gl_Position = vec4(clipSpacePos, 1);\n resultUV = uv;\n }`;return PS(r,t)}function ow(r){let e=new Float32Array([-1,1,0,0,1,-1,-1,0,0,0,1,1,0,1,1,1,-1,0,1,0]);return VS(r,e)}function nw(r){let e=new Uint16Array([0,1,2,2,1,3]);return zS(r,e)}function kl(r,e,t,o,n,s){US(e,t);let a=WS(r),i=r.TEXTURE_2D;return ce(r,()=>r.bindTexture(i,a)),ce(r,()=>r.texParameteri(i,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE)),ce(r,()=>r.texParameteri(i,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE)),ce(r,()=>r.texParameteri(i,r.TEXTURE_MIN_FILTER,r.NEAREST)),ce(r,()=>r.texParameteri(i,r.TEXTURE_MAG_FILTER,r.NEAREST)),O().getNumber(\"WEBGL_VERSION\")===1?ce(r,()=>r.texImage2D(i,0,o,e,t,0,n,s,null)):ce(r,()=>r.texStorage2D(i,1,o,e,t)),ce(r,()=>r.bindTexture(r.TEXTURE_2D,null)),{texture:a,texShape:[t,e]}}function zf(r){return r.internalFormatFloat}function sw(r,e,t,o){let[n,s]=$u(e,t);return kl(r,n,s,zf(o),o.textureFormatFloat,r.FLOAT)}function Wf(r){return r.internalFormatHalfFloat}function aw(r,e,t,o){let[n,s]=$u(e,t);return kl(r,n,s,Wf(o),o.textureFormatFloat,o.textureTypeHalfFloat)}function Uf(r){return r.downloadTextureFormat}function iw(r,e,t,o){let[n,s]=$u(e,t);return kl(r,n,s,Uf(o),r.RGBA,r.UNSIGNED_BYTE)}function Gf(r){return r.internalFormatPackedFloat}function uw(r,e,t,o){let[n,s]=Ys(e,t);return kl(r,n,s,Gf(o),r.RGBA,r.FLOAT)}function Hf(r){return r.internalFormatPackedHalfFloat}function pw(r,e,t,o){let[n,s]=Ys(e,t);return kl(r,n,s,Hf(o),r.RGBA,o.textureTypeHalfFloat)}function cw(r,e,t){return ce(r,()=>r.bindBuffer(r.ARRAY_BUFFER,t)),Af(r,e,\"clipSpacePos\",t,3,20,0)&&Af(r,e,\"uv\",t,2,20,12)}function lw(r,e,t,o,n,s){ce(r,()=>r.bindTexture(r.TEXTURE_2D,e));let a,i,p;n instanceof Uint8Array?(a=new Uint8Array(t*o*4),i=r.UNSIGNED_BYTE,p=r.RGBA):(a=new Float32Array(t*o*4),i=r.FLOAT,p=s.internalFormatPackedFloat),a.set(n),O().getNumber(\"WEBGL_VERSION\")===2?ce(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,t,o,r.RGBA,i,a)):ce(r,()=>r.texImage2D(r.TEXTURE_2D,0,p,t,o,0,r.RGBA,i,a)),ce(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function mw(r,e,t){ce(r,()=>r.bindTexture(r.TEXTURE_2D,e)),t.data instanceof Uint8Array?O().getNumber(\"WEBGL_VERSION\")===2?ce(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,t.width,t.height,r.RGBA,r.UNSIGNED_BYTE,t.data)):ce(r,()=>r.texImage2D(r.TEXTURE_2D,0,r.RGBA,t.width,t.height,0,r.RGBA,r.UNSIGNED_BYTE,t.data)):O().getNumber(\"WEBGL_VERSION\")===2?ce(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,t)):ce(r,()=>r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,t)),ce(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function dw(r,e,t,o){let n=r.createBuffer();ce(r,()=>r.bindBuffer(r.PIXEL_PACK_BUFFER,n));let i=4*4*e*t;return ce(r,()=>r.bufferData(r.PIXEL_PACK_BUFFER,i,r.STREAM_READ)),ce(r,()=>r.readPixels(0,0,t,e,r.RGBA,r.FLOAT,0)),ce(r,()=>r.bindBuffer(r.PIXEL_PACK_BUFFER,null)),n}function fw(r,e,t){let o=r,n=new Float32Array(t);return o.bindBuffer(o.PIXEL_PACK_BUFFER,e),o.getBufferSubData(o.PIXEL_PACK_BUFFER,0,n),o.bindBuffer(o.PIXEL_PACK_BUFFER,null),n}function hw(r,e,t,o){let[n,s]=$u(e,t),a=4,i=new Uint8Array(bE(e*t,a));return ce(r,()=>r.readPixels(0,0,n,s,o.downloadTextureFormat,r.UNSIGNED_BYTE,i)),new Float32Array(i.buffer)}function gw(r,e,t,o,n,s,a,i){let p=r,u=new Float32Array(CE(s,a));return p.bindBuffer(p.PIXEL_PACK_BUFFER,e),p.getBufferSubData(p.PIXEL_PACK_BUFFER,0,u),p.bindBuffer(p.PIXEL_PACK_BUFFER,null),u}function xw(r,e,t){let o=new Float32Array(e*t*4);return ce(r,()=>r.readPixels(0,0,t,e,r.RGBA,r.FLOAT,o)),o}var Fu=class{constructor(e){this.outputTexture=null,this.program=null,this.disposed=!1,this.itemsToPoll=[];let t=O().getNumber(\"WEBGL_VERSION\");if(e!=null?(this.gl=e,RS(t,e)):this.gl=Wr(t),e=this.gl,O().getNumber(\"WEBGL_VERSION\")===2){let s=e;this.createVertexArray=()=>ce(s,()=>s.createVertexArray()),this.bindVertexArray=a=>ce(s,()=>s.bindVertexArray(a)),this.deleteVertexArray=a=>ce(s,()=>s.deleteVertexArray(a)),this.getVertexArray=()=>ce(s,()=>s.getParameter(s.VERTEX_ARRAY_BINDING))}else if(e!=null){let s=e.getExtension(\"OES_vertex_array_object\");if(s==null)throw new Error(\"All WebGL1 implementations are expected to offer OES_vertex_array_object.\");this.createVertexArray=()=>ce(e,()=>s.createVertexArrayOES()),this.bindVertexArray=a=>ce(e,()=>s.bindVertexArrayOES(a)),this.deleteVertexArray=a=>ce(e,()=>s.deleteVertexArrayOES(a)),this.getVertexArray=()=>ce(e,()=>e.getParameter(s.VERTEX_ARRAY_BINDING_OES))}let o=\"WEBGL_color_buffer_float\",n=\"EXT_color_buffer_half_float\";if(this.parallelCompilationExtension=this.gl.getExtension(\"KHR_parallel_shader_compile\"),O().getNumber(\"WEBGL_VERSION\")===1){let s=\"OES_texture_float\",a=\"OES_texture_half_float\";if(this.textureFloatExtension=ec(this.gl,s),Ur(this.gl,a))this.textureHalfFloatExtension=ec(this.gl,a);else if(O().get(\"WEBGL_FORCE_F16_TEXTURES\"))throw new Error(\"GL context does not support half float textures, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.\");if(this.colorBufferFloatExtension=this.gl.getExtension(o),Ur(this.gl,n))this.colorBufferHalfFloatExtension=ec(this.gl,n);else if(O().get(\"WEBGL_FORCE_F16_TEXTURES\"))throw new Error(\"GL context does not support color renderable half floats, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.\")}else if(o=\"EXT_color_buffer_float\",Ur(this.gl,o))this.colorBufferFloatExtension=this.gl.getExtension(o);else if(Ur(this.gl,n))this.colorBufferHalfFloatExtension=this.gl.getExtension(n);else throw new Error(\"GL context does not support color renderable floats\");this.vertexBuffer=ow(this.gl),this.indexBuffer=nw(this.gl),this.framebuffer=GS(this.gl),this.textureConfig=Sl(this.gl,this.textureHalfFloatExtension)}get debug(){return O().getBool(\"DEBUG\")}dispose(){if(this.disposed)return;this.program!=null&&console.warn(\"Disposing a GPGPUContext that still has a bound WebGLProgram. This is probably a resource leak, delete the program with GPGPUContext.deleteProgram before disposing.\"),this.outputTexture!=null&&console.warn(\"Disposing a GPGPUContext that still has a bound output matrix texture. This is probably a resource leak, delete the output matrix texture with GPGPUContext.deleteMatrixTexture before disposing.\");let e=this.gl;ce(e,()=>e.finish()),ce(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,null)),ce(e,()=>e.deleteFramebuffer(this.framebuffer)),ce(e,()=>e.bindBuffer(e.ARRAY_BUFFER,null)),ce(e,()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null)),ce(e,()=>e.deleteBuffer(this.indexBuffer)),this.disposed=!0}createFloat32MatrixTexture(e,t){return this.throwIfDisposed(),sw(this.gl,e,t,this.textureConfig)}createFloat16MatrixTexture(e,t){return this.throwIfDisposed(),aw(this.gl,e,t,this.textureConfig)}createUnsignedBytesMatrixTexture(e,t){return this.throwIfDisposed(),iw(this.gl,e,t,this.textureConfig)}uploadPixelDataToTexture(e,t){this.throwIfDisposed(),mw(this.gl,e,t)}uploadDenseMatrixToTexture(e,t,o,n){this.throwIfDisposed(),lw(this.gl,e,t,o,n,this.textureConfig)}createFloat16PackedMatrixTexture(e,t){return this.throwIfDisposed(),pw(this.gl,e,t,this.textureConfig)}createPackedMatrixTexture(e,t){return this.throwIfDisposed(),uw(this.gl,e,t,this.textureConfig)}deleteMatrixTexture(e){this.throwIfDisposed(),this.outputTexture===e&&(Rf(this.gl,this.framebuffer),this.outputTexture=null),ce(this.gl,()=>this.gl.deleteTexture(e))}downloadByteEncodedFloatMatrixFromOutputTexture(e,t,o){return this.downloadMatrixDriver(e,()=>hw(this.gl,t,o,this.textureConfig))}downloadPackedMatrixFromBuffer(e,t,o,n,s,a){return gw(this.gl,e,t,o,n,s,a,this.textureConfig)}downloadFloat32MatrixFromBuffer(e,t){return fw(this.gl,e,t)}createBufferFromTexture(e,t,o){this.bindTextureToFrameBuffer(e);let n=dw(this.gl,t,o,this.textureConfig);return this.unbindTextureToFrameBuffer(),n}createAndWaitForFence(){let e=this.createFence(this.gl);return this.pollFence(e)}createFence(e){let t,o;if(O().getBool(\"WEBGL_FENCE_API_ENABLED\")){let n=e,s=n.fenceSync(n.SYNC_GPU_COMMANDS_COMPLETE,0);e.flush(),o=()=>{let a=n.clientWaitSync(s,0,0);return a===n.ALREADY_SIGNALED||a===n.CONDITION_SATISFIED},t=s}else O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")>0?(t=this.beginQuery(),this.endQuery(),o=()=>this.isQueryAvailable(t,O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))):o=()=>!0;return{query:t,isFencePassed:o}}downloadMatrixFromPackedTexture(e,t,o){return this.downloadMatrixDriver(e,()=>xw(this.gl,t,o))}createProgram(e){this.throwIfDisposed();let t=this.gl;this.vertexShader==null&&(this.vertexShader=rw(t));let o=LS(t);ce(t,()=>t.attachShader(o,this.vertexShader)),ce(t,()=>t.attachShader(o,e)),BS(t,o);let n;return n=Object.assign(o,{vao:this.createVertexArray()}),this.bindVertexArray(n.vao),ce(t,()=>t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer)),console.assert(cw(t,n,this.vertexBuffer),\"gpgpu_util.bindVertexProgramAttributeStreams not fully successful.\"),this.debug&&wl(t,n),this.setProgram(n),n}deleteProgram(e){this.throwIfDisposed(),e===this.program&&(this.program=null),e!=null&&(ce(this.gl,()=>this.gl.deleteProgram(e)),this.deleteVertexArray(e.vao))}setProgram(e){this.throwIfDisposed(),this.program=e,this.program!=null&&(this.bindVertexArray(this.program.vao),this.debug&&wl(this.gl,this.program)),ce(this.gl,()=>this.gl.useProgram(e))}getUniformLocation(e,t,o=!0){return this.throwIfDisposed(),o?HS(this.gl,e,t):qS(this.gl,e,t)}getAttributeLocation(e,t){return this.throwIfDisposed(),ce(this.gl,()=>this.gl.getAttribLocation(e,t))}getUniformLocationNoThrow(e,t){return this.throwIfDisposed(),this.gl.getUniformLocation(e,t)}setInputMatrixTexture(e,t,o){this.throwIfDisposed(),this.throwIfNoProgram(),KS(this.gl,e,t,o)}setOutputMatrixTexture(e,t,o){this.setOutputMatrixTextureDriver(e,o,t)}setOutputPackedMatrixTexture(e,t,o){this.throwIfDisposed();let[n,s]=Ys(t,o);this.setOutputMatrixTextureDriver(e,n,s)}setOutputMatrixWriteRegion(e,t,o,n){this.setOutputMatrixWriteRegionDriver(o,e,n,t)}setOutputPackedMatrixWriteRegion(e,t,o,n){throw new Error(\"setOutputPackedMatrixWriteRegion not implemented.\")}debugValidate(){this.program!=null&&wl(this.gl,this.program),tc(this.gl)}executeProgram(){this.throwIfDisposed(),this.throwIfNoProgram();let e=this.gl;if(this.debug){let t=this.getVertexArray();console.assert(t===this.program.vao,\"VAO changed between setProgram and executeProgram!\"),this.debugValidate()}ce(e,()=>e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0))}blockUntilAllProgramsCompleted(){this.throwIfDisposed(),ce(this.gl,()=>this.gl.finish())}getQueryTimerExtension(){return this.disjointQueryTimerExtension==null&&(this.disjointQueryTimerExtension=ec(this.gl,O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")===2?\"EXT_disjoint_timer_query_webgl2\":\"EXT_disjoint_timer_query\")),this.disjointQueryTimerExtension}getQueryTimerExtensionWebGL2(){return this.getQueryTimerExtension()}getQueryTimerExtensionWebGL1(){return this.getQueryTimerExtension()}beginQuery(){if(O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")===2){let o=this.gl,n=this.getQueryTimerExtensionWebGL2(),s=o.createQuery();return o.beginQuery(n.TIME_ELAPSED_EXT,s),s}let e=this.getQueryTimerExtensionWebGL1(),t=e.createQueryEXT();return e.beginQueryEXT(e.TIME_ELAPSED_EXT,t),t}endQuery(){if(O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")===2){let t=this.gl,o=this.getQueryTimerExtensionWebGL2();t.endQuery(o.TIME_ELAPSED_EXT);return}let e=this.getQueryTimerExtensionWebGL1();e.endQueryEXT(e.TIME_ELAPSED_EXT)}async waitForQueryAndGetTime(e){return await y.repeatedTry(()=>this.disposed||this.isQueryAvailable(e,O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))),this.getQueryTime(e,O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))}getQueryTime(e,t){if(t===0)return null;if(t===2){let o=this.gl;return o.getQueryParameter(e,o.QUERY_RESULT)/1e6}else{let o=this.getQueryTimerExtensionWebGL1();return o.getQueryObjectEXT(e,o.QUERY_RESULT_EXT)/1e6}}isQueryAvailable(e,t){if(t===0)return!0;if(t===2){let o=this.gl,n=this.getQueryTimerExtensionWebGL2(),s=o.getQueryParameter(e,o.QUERY_RESULT_AVAILABLE);return this.disjoint==null&&(this.disjoint=this.gl.getParameter(n.GPU_DISJOINT_EXT)),s&&!this.disjoint}else{let o=this.getQueryTimerExtensionWebGL1(),n=o.getQueryObjectEXT(e,o.QUERY_RESULT_AVAILABLE_EXT);return this.disjoint==null&&(this.disjoint=this.gl.getParameter(o.GPU_DISJOINT_EXT)),n&&!this.disjoint}}pollFence(e){return new Promise(t=>{this.addItemToPoll(()=>e.isFencePassed(),()=>t())})}pollItems(){let e=v8(this.itemsToPoll.map(t=>t.isDoneFn));for(let t=0;t<=e;++t){let{resolveFn:o}=this.itemsToPoll[t];o()}this.itemsToPoll=this.itemsToPoll.slice(e+1)}addItemToPoll(e,t){if(this.itemsToPoll.push({isDoneFn:e,resolveFn:t}),this.itemsToPoll.length>1)return;let o;\"setTimeoutCustom\"in O().platform&&(o=O().platform.setTimeoutCustom.bind(O().platform)),y.repeatedTry(()=>(this.pollItems(),this.itemsToPoll.length===0),()=>0,null,o)}bindTextureToFrameBuffer(e){this.throwIfDisposed(),Il(this.gl,e,this.framebuffer),this.debug&&tc(this.gl)}unbindTextureToFrameBuffer(){this.outputTexture!=null?(Il(this.gl,this.outputTexture,this.framebuffer),this.debug&&tc(this.gl)):Rf(this.gl,this.framebuffer)}downloadMatrixDriver(e,t){this.bindTextureToFrameBuffer(e);let o=t();return this.unbindTextureToFrameBuffer(),o}setOutputMatrixTextureDriver(e,t,o){this.throwIfDisposed();let n=this.gl;Il(n,e,this.framebuffer),this.debug&&tc(n),this.outputTexture=e,ce(n,()=>n.viewport(0,0,t,o)),ce(n,()=>n.scissor(0,0,t,o))}setOutputMatrixWriteRegionDriver(e,t,o,n){this.throwIfDisposed(),ce(this.gl,()=>this.gl.scissor(e,t,o,n))}throwIfDisposed(){if(this.disposed)throw new Error(\"Attempted to use disposed GPGPUContext.\")}throwIfNoProgram(){if(this.program==null)throw new Error(\"No GPU program is currently set.\")}};function v8(r){let e=0;for(;e`${r}.${t}`)}function $t(r,e){return e===1?[r]:bw(r,e)}function I$(r,e){if(r===1)return\"rc\";let t=\"\";for(let o=0;o ${this.enableShapeUniforms?\"outShape\":this.outputShape[0]}`;let t=\"\";for(let o=this.rank-2;o= ${this.enableShapeUniforms?`outShape[${o}]`:this.outputShape[o]}`,o= ${o};\n bool rEdge = rp1 >= ${n};\n `}getOutput(e){let t=this.getSourceCoordsArr(e);return this.rank===1?`getA(rc), (rc + 1 >= ${this.enableShapeUniforms?\"outShape\":this.outputShape[0]} ? 0. : getA(rc + 1)), 0, 0`:`getA(${t[0]}),\n cEdge ? 0. : getA(${t[1]}),\n rEdge ? 0. : getA(${t[2]}),\n rEdge || cEdge ? 0. : getA(${t[3]})`}};var lc=class{constructor(e,t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"inputShape\",type:\"ivec3\"}],this.outputShape=e,this.enableShapeUniforms=ct(this.outputShape.length);let o=\"\";for(let n=0;n<4;n++){let s=\"thisRC = rc;\";n%2===1&&(s+=\"thisRC.z += 1;\"),n>1&&(s+=\"thisRC.y += 1;\"),o+=`\n ${s}\n ${n>0?\"if(thisRC.y < rows && thisRC.z < cols){\":\"\"}\n int flatIndex = getFlatIndex(thisRC);\n\n ivec3 inputRC = inputCoordsFromReshapedOutCoords(flatIndex);\n vec2 inputRCInnerDims = vec2(float(inputRC.y),float(inputRC.z));\n\n result[${n}] =\n getChannel(getA(inputRC.x, inputRC.y, inputRC.z), inputRCInnerDims);\n ${n>0?\"}\":\"\"}\n `}this.userCode=`\n ${k8(t,this.enableShapeUniforms)}\n ${this.enableShapeUniforms?sc():nc(e)}\n\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0.);\n\n ivec3 thisRC;\n int rows = ${this.enableShapeUniforms?\"outShape[1]\":e[1]};\n int cols = ${this.enableShapeUniforms?\"outShape[2]\":e[2]};\n\n ${o}\n\n setOutput(result);\n }\n `}};function k8(r,e){return`\n ivec3 inputCoordsFromReshapedOutCoords(int index) {\n ${e?kE([\"r\",\"c\",\"d\"],\"inputShape\"):us([\"r\",\"c\",\"d\"],r)}\n return ivec3(r, c, d);\n }\n `}var Yf=class{constructor(e){this.gpgpu=e,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0,this.freeTextures={},this.logEnabled=!1,this.usedTextures={}}acquireTexture(e,t,o){let n=k$(t,o),s=N$(e,n,o);s in this.freeTextures||(this.freeTextures[s]=[]),s in this.usedTextures||(this.usedTextures[s]=[]);let a=v$(e,n,this.gpgpu.gl,this.gpgpu.textureConfig,o);if(this.freeTextures[s].length>0){this.numFreeTextures--,this.numUsedTextures++,this._numBytesFree-=a,this.log();let p=this.freeTextures[s].shift();return this.usedTextures[s].push(p),p}let i;return n===Zt.PACKED_2X2_FLOAT32?i=this.gpgpu.createPackedMatrixTexture(e[0],e[1]):n===Zt.PACKED_2X2_FLOAT16?i=this.gpgpu.createFloat16PackedMatrixTexture(e[0],e[1]):n===Zt.UNPACKED_FLOAT32?i=this.gpgpu.createFloat32MatrixTexture(e[0],e[1]):n===Zt.UNPACKED_FLOAT16?i=this.gpgpu.createFloat16MatrixTexture(e[0],e[1]):n===Zt.PACKED_4X1_UNSIGNED_BYTE&&(i=this.gpgpu.createUnsignedBytesMatrixTexture(e[0],e[1])),this.usedTextures[s].push(i),this.numUsedTextures++,this._numBytesAllocated+=a,this.log(),i}releaseTexture(e,t,o,n){if(this.freeTextures==null)return;let s=k$(o,n),a=N$(t,s,n);a in this.freeTextures||(this.freeTextures[a]=[]);let i=v$(t,s,this.gpgpu.gl,this.gpgpu.textureConfig,n),p=O().get(\"WEBGL_DELETE_TEXTURE_THRESHOLD\");p!==-1&&this._numBytesAllocated>p?(this.gpgpu.deleteMatrixTexture(e.texture),this._numBytesAllocated-=i):(this.freeTextures[a].push(e),this.numFreeTextures++,this._numBytesFree+=i),this.numUsedTextures--;let u=this.usedTextures[a],c=u.indexOf(e);if(c<0)throw new Error(\"Cannot release a texture that was never provided by this texture manager\");u.splice(c,1),this.log()}log(){if(!this.logEnabled)return;let e=this.numFreeTextures+this.numUsedTextures;console.log(\"Free/Used\",`${this.numFreeTextures} / ${this.numUsedTextures}`,`(${e})`);let t=this._numBytesFree/this._numBytesAllocated;console.log(`Bytes allocated: ${this._numBytesAllocated}`),console.log(`Bytes unused: ${this._numBytesFree} (${Math.round(100*t)}%)`)}get numBytesAllocated(){return this._numBytesAllocated}get numBytesFree(){return this._numBytesFree}getNumUsedTextures(){return this.numUsedTextures}getNumFreeTextures(){return this.numFreeTextures}dispose(){if(this.freeTextures!=null){for(let e in this.freeTextures)this.freeTextures[e].forEach(t=>{this.gpgpu.deleteMatrixTexture(t.texture)});for(let e in this.usedTextures)this.usedTextures[e].forEach(t=>{this.gpgpu.deleteMatrixTexture(t.texture)});this.freeTextures=null,this.usedTextures=null,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0}}};function N8(r,e){let t=r;if(e===t.R32F)return 4;if(e===t.R16F)return 2;if(e===t.RGBA32F)return 16;if(e===r.RGBA)return 16;if(e===t.RGBA16F)return 8;if(e===t.RGBA8)return 4;throw new Error(`Unknown internal format ${e}`)}function v$(r,e,t,o,n){let s=T8(e,o),a;if(n){let[p,u]=Ys(r[0],r[1]);a=p*u}else{let[p,u]=$u(r[0],r[1]);a=p*u}let i=N8(t,s);return a*i}function T8(r,e){switch(r){case Zt.PACKED_2X2_FLOAT32:return Gf(e);case Zt.PACKED_2X2_FLOAT16:return Hf(e);case Zt.UNPACKED_FLOAT32:return zf(e);case Zt.UNPACKED_FLOAT16:return Wf(e);case Zt.PACKED_4X1_UNSIGNED_BYTE:return Uf(e);default:throw new Error(`Unknown physical texture type ${r}`)}}function _8(r){return O().getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")?r?Zt.PACKED_2X2_FLOAT32:Zt.UNPACKED_FLOAT32:r?Zt.PACKED_2X2_FLOAT16:Zt.UNPACKED_FLOAT16}function k$(r,e){if(r===ir.UPLOAD)return Zt.PACKED_2X2_FLOAT32;if(r===ir.RENDER||r==null)return _8(e);if(r===ir.DOWNLOAD||r===ir.PIXELS)return Zt.PACKED_4X1_UNSIGNED_BYTE;throw new Error(`Unknown logical texture type ${r}`)}function N$(r,e,t){return`${r[0]}_${r[1]}_${e}_${t}`}var Jt=class{constructor(e,t){this.variableNames=[\"A\"],this.outputShape=e,this.enableShapeUniforms=ct(this.outputShape.length),this.userCode=`\n float unaryOperation(float x) {\n ${t}\n }\n\n void main() {\n float x = getAAtOutCoords();\n float y = unaryOperation(x);\n\n setOutput(y);\n }\n `}},Bt=\"if (isnan(x)) return x;\",T$=\"return x;\",Cw=\"return abs(x);\";var _$=\"return (x >= 0.0) ? x : (exp(x) - 1.0);\",E$=Bt+`\n return (x < 0.0) ? 0.0 : x;\n`,$$=Bt+`\n return (x < 0.0) ? 0.0 : min(6.0, x);\n`,Qs=\"return x;\",A$=\"return 1.0 / (1.0 + exp(-1.0 * x));\";var F$=\"return x;\",D$=`\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n`,O$=`\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,P$=`\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,M$=\"return 1.0 / (1.0 + exp(-1.0 * x));\",Ar=class{constructor(e,t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.enableShapeUniforms=ct(this.outputShape.length),this.userCode=`\n vec4 unaryOperation(vec4 x) {\n ${t}\n }\n\n void main() {\n vec4 x = getAAtOutCoords();\n vec4 y = unaryOperation(x);\n\n setOutput(y);\n }\n `}};var Qf=class{constructor(e){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!1,this.outputShape=e,this.enableShapeUniforms=ct(this.outputShape.length);let t=e.length,o=$t(\"rc\",t),n=_e(t),s=I$(t,o),a=o.slice(-2),i=t<=1?\"rc\":`vec2(${a.join(\",\")})`;this.userCode=`\n void main() {\n ${n} rc = getOutputCoords();\n vec4 packedInput = getA(${s});\n\n setOutput(getChannel(packedInput, ${i}));\n }\n `}};var $8=Lt.whereImpl,A8=1e-7,R8=1e-4,Zf={};function F8(r){return r in Zf||(Zf[r]={}),Zf[r]}var D8=O().getNumber(\"CPU_HANDOFF_SIZE_THRESHOLD\"),O8=600;function P8(){return O().global.screen==null?1024:O().global.screen.height*O().global.screen.width*window.devicePixelRatio*O8/1024/1024}var Bi=class extends Zr{constructor(e){if(super(),this.pendingRead=new WeakMap,this.pendingDisposal=new WeakSet,this.dataRefCount=new WeakMap,this.numBytesInGPU=0,this.uploadWaitMs=0,this.downloadWaitMs=0,this.lastGlFlushTime=0,this.warnedAboutMemory=!1,this.pendingDeletes=0,this.disposed=!1,!O().getBool(\"HAS_WEBGL\"))throw new Error(\"WebGL is not supported on this device\");let t;if(e!=null){if(e instanceof Fu)t=e;else{let o=Wr(O().getNumber(\"WEBGL_VERSION\"),e);t=new Fu(o)}this.binaryCache={},this.gpgpuCreatedLocally=!1}else{let o=Wr(O().getNumber(\"WEBGL_VERSION\"));t=new Fu(o),this.binaryCache=F8(O().getNumber(\"WEBGL_VERSION\")),this.gpgpuCreatedLocally=!0}this.gpgpu=t,this.canvas=this.gpgpu.gl.canvas,this.textureManager=new Yf(this.gpgpu),this.numMBBeforeWarning=P8(),this.texData=new Do(this,cr())}nextDataId(){return Bi.nextDataId++}numDataIds(){return this.texData.numDataIds()-this.pendingDeletes}writeTexture(e,t,o,n,s,a){let i=this.makeTensorInfo(t,o),p=this.texData.get(i.dataId);p.isPacked=!1,p.texture={texture:e,texShape:[n,s]},p.texShape=[n,s];let u=rc(t),c=new vl(u,!1,a),l=this.runWebGLProgram(c,[i],o,[[n,s]]);return l.shape=t,p.texture=null,this.disposeIntermediateTensorInfo(i),l.dataId}write(e,t,o){if((O().getBool(\"WEBGL_CHECK_NUMERICAL_PROBLEMS\")||O().getBool(\"DEBUG\"))&&this.checkNumericalProblems(e),o===\"complex64\"&&e!=null)throw new Error(\"Cannot write to a complex64 dtype. Please use tf.complex(real, imag).\");let n={id:this.nextDataId()};return this.texData.set(n,{shape:t,dtype:o,values:e,usage:ir.UPLOAD,refCount:1}),n}refCount(e){return this.texData.has(e)?this.texData.get(e).refCount:0}incRef(e){let t=this.texData.get(e);t.refCount++}decRef(e){if(this.texData.has(e)){let t=this.texData.get(e);t.refCount--}}move(e,t,o,n,s){if(O().getBool(\"DEBUG\")&&this.checkNumericalProblems(t),n===\"complex64\")throw new Error(\"Cannot write to a complex64 dtype. Please use tf.complex(real, imag).\");this.texData.set(e,{shape:o,dtype:n,values:t,usage:ir.UPLOAD,refCount:s})}disposeIntermediateTensorInfo(e){this.disposeData(e.dataId)}readSync(e){let t=this.texData.get(e),{values:o,dtype:n,complexTensorInfos:s,slice:a,shape:i,isPacked:p}=t;if(a!=null){let m;p?m=new Ar(i,Qs):m=new Jt(i,Qs);let d=this.runWebGLProgram(m,[{dataId:e,shape:i,dtype:n}],n),f=this.readSync(d.dataId);return this.disposeIntermediateTensorInfo(d),f}if(o!=null)return this.convertAndCacheOnCPU(e);if(n===\"string\")return o;let u=this.activeTimers!=null,c;u&&(c=y.now());let l;if(n===\"complex64\"){let m=this.readSync(s.real.dataId),d=this.readSync(s.imag.dataId);l=S.mergeRealAndImagArrays(m,d)}else l=this.getValuesFromTexture(e);return u&&(this.downloadWaitMs+=y.now()-c),this.convertAndCacheOnCPU(e,l)}async read(e){if(this.pendingRead.has(e)){let f=this.pendingRead.get(e);return new Promise(h=>f.push(h))}let t=this.texData.get(e),{values:o,shape:n,slice:s,dtype:a,complexTensorInfos:i,isPacked:p}=t;if(s!=null){let f;p?f=new Ar(n,Qs):f=new Jt(n,Qs);let h=this.runWebGLProgram(f,[{dataId:e,shape:n,dtype:a}],a),g=this.read(h.dataId);return this.disposeIntermediateTensorInfo(h),g}if(o!=null)return this.convertAndCacheOnCPU(e);if(O().getBool(\"DEBUG\")&&!O().getBool(\"WEBGL_DOWNLOAD_FLOAT_ENABLED\")&&O().getNumber(\"WEBGL_VERSION\")===2)throw new Error(\"tensor.data() with WEBGL_DOWNLOAD_FLOAT_ENABLED=false and WEBGL_VERSION=2 not yet supported.\");let u=null,c;if(a!==\"complex64\"&&O().get(\"WEBGL_BUFFER_SUPPORTED\")){c=this.decode(e);let f=this.texData.get(c.dataId);u=this.gpgpu.createBufferFromTexture(f.texture.texture,...Cl(n))}this.pendingRead.set(e,[]),a!==\"complex64\"&&await this.gpgpu.createAndWaitForFence();let l;if(a===\"complex64\"){let f=await Promise.all([this.read(i.real.dataId),this.read(i.imag.dataId)]),h=f[0],g=f[1];l=S.mergeRealAndImagArrays(h,g)}else if(u==null)l=this.getValuesFromTexture(e);else{let f=y.sizeFromShape(n);l=this.gpgpu.downloadFloat32MatrixFromBuffer(u,f)}if(c!=null&&this.disposeIntermediateTensorInfo(c),u!=null){let f=this.gpgpu.gl;ce(f,()=>f.deleteBuffer(u))}let m=this.convertAndCacheOnCPU(e,l),d=this.pendingRead.get(e);return this.pendingRead.delete(e),d.forEach(f=>f(m)),this.pendingDisposal.has(e)&&(this.pendingDisposal.delete(e),this.disposeData(e)&&cr().removeDataId(e,this),this.pendingDeletes--),m}readToGPU(e,t={}){let o=this.texData.get(e),{values:n,shape:s,slice:a,dtype:i,isPacked:p,texture:u}=o;if(i===\"complex64\")throw new Error(\"Does not support reading texture for complex64 dtype.\");if(a!=null){let d;p?d=new Ar(s,Qs):d=new Jt(s,Qs);let f=this.runWebGLProgram(d,[{dataId:e,shape:s,dtype:i}],i),h=this.readToGPU(f,t);return this.disposeIntermediateTensorInfo(f),h}if(u==null)throw n!=null?new Error(\"Data is not on GPU but on CPU.\"):new Error(\"There is no data on GPU or CPU.\");let c=this.decode(e,t.customTexShape),l=cr().makeTensorFromTensorInfo(c),m=this.texData.get(c.dataId);return Object.assign({tensorRef:l},m.texture)}bufferSync(e){let t=this.readSync(e.dataId);if(e.dtype===\"string\")try{let o=t.map(n=>y.decodeString(n));return le(e.shape,e.dtype,o)}catch(o){throw new Error(\"Failed to decode encoded string bytes into utf-8\")}return le(e.shape,e.dtype,t)}checkNumericalProblems(e){if(e!=null)for(let t=0;t0}time(e){let t=this.activeTimers,o=[],n=!1;this.programTimersStack==null?(this.programTimersStack=o,n=!0):this.activeTimers.push(o),this.activeTimers=o,e();let s=y.flatten(this.activeTimers.map(p=>p.query)).filter(p=>p!=null),a=y.flatten(this.activeTimers.map(p=>p.name)).filter(p=>p!=null);this.activeTimers=t,n&&(this.programTimersStack=null);let i={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:null,wallMs:null};return(async()=>{if(O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0){let p=await Promise.all(s);i.kernelMs=y.sum(p),i.getExtraProfileInfo=()=>p.map((u,c)=>({name:a[c],ms:u})).map(u=>`${u.name}: ${u.ms}`).join(\", \")}else i.kernelMs={error:\"WebGL query timers are not supported in this environment.\"};return this.uploadWaitMs=0,this.downloadWaitMs=0,i})()}memory(){return{unreliable:!1,numBytesInGPU:this.numBytesInGPU,numBytesInGPUAllocated:this.textureManager.numBytesAllocated,numBytesInGPUFree:this.textureManager.numBytesFree}}startTimer(){return O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0?this.gpgpu.beginQuery():{startMs:y.now(),endMs:null}}endTimer(e){return O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0?(this.gpgpu.endQuery(),e):(e.endMs=y.now(),e)}async getQueryTime(e){if(O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0)return this.gpgpu.waitForQueryAndGetTime(e);let t=e;return t.endMs-t.startMs}disposeData(e,t=!1){if(this.pendingDisposal.has(e))return!1;if(!this.texData.has(e))return!0;if(t?this.texData.get(e).refCount=0:this.texData.get(e).refCount--,!t&&this.texData.get(e).refCount>0)return!1;if(this.pendingRead.has(e))return this.pendingDisposal.add(e),this.pendingDeletes++,!1;this.releaseGPUData(e);let{complexTensorInfos:o}=this.texData.get(e);return o!=null&&(this.disposeData(o.real.dataId,t),this.disposeData(o.imag.dataId,t)),this.texData.delete(e),!0}releaseGPUData(e){let{texture:t,dtype:o,texShape:n,usage:s,isPacked:a,slice:i}=this.texData.get(e),p=i&&i.origDataId||e,u=this.dataRefCount.get(p);u>1?this.dataRefCount.set(p,u-1):(this.dataRefCount.delete(p),t!=null&&(this.numBytesInGPU-=this.computeBytes(n,o),this.textureManager.releaseTexture(t,n,s,a)));let c=this.texData.get(e);c.texture=null,c.texShape=null,c.isPacked=!1,c.slice=null}getTexture(e){return this.uploadToGPU(e),this.texData.get(e).texture.texture}getDataInfo(e){return this.texData.get(e)}shouldExecuteOnCPU(e,t=D8){return O().getBool(\"WEBGL_CPU_FORWARD\")&&e.every(o=>this.texData.get(o.dataId).texture==null&&y.sizeFromShape(o.shape)0&&y.isString(o[0])){let s=o.map(a=>y.encodeString(a));n=this.write(s,e,t)}else n=this.write(o,e,t);return this.texData.get(n).usage=null,{dataId:n,shape:e,dtype:t}}makeOutput(e,t,o){return cr().makeTensorFromTensorInfo(this.makeTensorInfo(e,t,o),this)}unpackTensor(e){let t=new Qf(e.shape);return this.runWebGLProgram(t,[e],e.dtype)}packTensor(e){let t=new Xf(e.shape),o=!0;return this.runWebGLProgram(t,[e],e.dtype,null,o)}packedReshape(e,t){let o=[Va(e.shape),...za(e.shape)],n={dtype:e.dtype,shape:o,dataId:e.dataId},s=[Va(t),...za(t)],a=new lc(s,o),i=!0,p=[o],u=this.runWebGLProgram(a,[n],e.dtype,p,i);return{dataId:u.dataId,shape:t,dtype:u.dtype}}decode(e,t){let o=this.texData.get(e),{isPacked:n,shape:s,dtype:a}=o;if(t!=null){let m=y.sizeFromShape(s),d=t[0]*t[1]*4;y.assert(m<=d,()=>\"customTexShape is too small. Row * Column * 4 should be equal or larger than the size of the tensor data.\")}let i=rc(s),p;n?p=new Mf(i):p=new Pf(i);let u=!0,c=[t!=null?t:Cl(i)],l=this.runWebGLProgram(p,[{shape:i,dtype:a,dataId:e}],a,c,u,t);return{dtype:a,shape:s,dataId:l.dataId}}runWebGLProgram(e,t,o,n,s=!1,a){let i=this.makeTensorInfo(e.outputShape,o),p=this.texData.get(i.dataId);if(e.packedOutput&&(p.isPacked=!0),e.outPackingScheme===Mi.DENSE){let x=a!=null?a:Cl(e.outputShape);p.texShape=x.map(b=>b*2)}if(e.outTexUsage!=null&&(p.usage=e.outTexUsage),y.sizeFromShape(i.shape)===0)return p.values=y.getTypedArrayFromDType(i.dtype,0),i;let u=[],c=t.map(x=>{if(x.dtype===\"complex64\")throw new Error(\"GPGPUProgram does not support complex64 input. For complex64 dtypes, please separate the program into real and imaginary parts.\");let b=this.texData.get(x.dataId);if(b.texture==null){if(!e.packedInputs&&y.sizeFromShape(x.shape)<=O().getNumber(\"WEBGL_SIZE_UPLOAD_UNIFORM\"))return{shape:x.shape,texData:null,isUniform:!0,uniformValues:b.values};e.packedInputs&&(b.isPacked=!0,b.shape=x.shape)}if(this.uploadToGPU(x.dataId),!!b.isPacked!=!!e.packedInputs)x=b.isPacked?this.unpackTensor(x):this.packTensor(x),u.push(x),b=this.texData.get(x.dataId);else if(b.isPacked&&!Li(b.shape,x.shape)){let C=x,w=x.shape;x.shape=b.shape,x=this.packedReshape(x,w),u.push(x),b=this.texData.get(x.dataId),C.shape=w}return{shape:x.shape,texData:b,isUniform:!1}});this.uploadToGPU(i.dataId);let l={shape:i.shape,texData:p,isUniform:!1},m=FE(e,c,l),d=this.getAndSaveBinary(m,()=>AE(this.gpgpu,e,c,l)),f=this.activeTimers!=null,h;f&&(h=this.startTimer()),O().get(\"ENGINE_COMPILE_ONLY\")||RE(this.gpgpu,d,c,l,n),u.forEach(x=>this.disposeIntermediateTensorInfo(x)),f&&(h=this.endTimer(h),this.activeTimers.push({name:e.constructor.name,query:this.getQueryTime(h)}));let g=O().get(\"WEBGL_FLUSH_THRESHOLD\");if(g>0){let x=y.now();x-this.lastGlFlushTime>g&&(this.gpgpu.gl.flush(),this.lastGlFlushTime=x)}if(!O().getBool(\"WEBGL_LAZILY_UNPACK\")&&p.isPacked&&s===!1){let x=this.unpackTensor(i);return this.disposeIntermediateTensorInfo(i),x}return i}compileAndRun(e,t,o,n,s=!1){return o=o||t[0].dtype,this.runWebGLProgram(e,t,o,n,s)}getAndSaveBinary(e,t){return e in this.binaryCache||(this.binaryCache[e]=t()),this.binaryCache[e]}getTextureManager(){return this.textureManager}dispose(){this.disposed||(O().getBool(\"IS_TEST\")||Object.keys(this.binaryCache).forEach(t=>{this.gpgpu.deleteProgram(this.binaryCache[t].webGLProgram),delete this.binaryCache[t]}),this.textureManager.dispose(),this.canvas!=null&&typeof HTMLCanvasElement!=\"undefined\"&&this.canvas instanceof HTMLCanvasElement?this.canvas.remove():this.canvas=null,this.gpgpuCreatedLocally&&(this.gpgpu.program=null,this.gpgpu.dispose()),this.disposed=!0)}floatPrecision(){return this.floatPrecisionValue==null&&(this.floatPrecisionValue=Ee(()=>{if(!O().get(\"WEBGL_RENDER_FLOAT32_ENABLED\")){let e=O().getBool(\"DEBUG\");O().set(\"DEBUG\",!1);let t=this.abs(be(1e-8)).dataSync()[0];if(O().set(\"DEBUG\",e),t>0)return 32}return 16})),this.floatPrecisionValue}epsilon(){return this.floatPrecision()===32?A8:R8}uploadToGPU(e){let t=this.texData.get(e),{shape:o,dtype:n,values:s,texture:a,usage:i,isPacked:p}=t;if(a!=null)return;let u=this.activeTimers!=null,c;u&&(c=y.now());let l=t.texShape;if(l==null&&(l=jS(o,p),t.texShape=l),s!=null){let m=rc(o),d,f=l[1],h=l[0],g=s instanceof Uint8Array||s instanceof Uint8ClampedArray;(p||!g)&&([f,h]=Ys(l[0],l[1])),p?d=new Vf(m,g):d=new vl(m,g);let x=g?[h,f]:l,b=this.makeTensorInfo(x,n),C=this.texData.get(b.dataId);g?C.usage=ir.PIXELS:C.usage=ir.UPLOAD,C.texShape=x,this.gpgpu.uploadDenseMatrixToTexture(this.getTexture(b.dataId),f,h,s);let w=[[h,f]],k=!0,_=this.runWebGLProgram(d,[b],n,w,k),$=this.texData.get(_.dataId);t.texShape=$.texShape,t.isPacked=$.isPacked,t.usage=$.usage,O().get(\"ENGINE_COMPILE_ONLY\")?this.disposeData(_.dataId):(t.texture=$.texture,t.values=null,this.texData.delete(_.dataId)),this.disposeIntermediateTensorInfo(b),u&&(this.uploadWaitMs+=y.now()-c)}else{let m=this.acquireTexture(l,i,n,p);t.texture=m}}convertAndCacheOnCPU(e,t){let o=this.texData.get(e),{dtype:n}=o;return t!=null&&(o.values=M8(t,n)),o.values}acquireTexture(e,t,o,n){if(this.numBytesInGPU+=this.computeBytes(e,o),!this.warnedAboutMemory&&this.numBytesInGPU>this.numMBBeforeWarning*1024*1024){let s=(this.numBytesInGPU/1024/1024).toFixed(2);this.warnedAboutMemory=!0,console.warn(`High memory usage in GPU: ${s} MB, most likely due to a memory leak`)}return this.textureManager.acquireTexture(e,t,n)}computeBytes(e,t){return e[0]*e[1]*y.bytesPerElement(t)}checkCompileCompletion(){for(let[,e]of Object.entries(this.binaryCache))this.checkCompletion_(e)}async checkCompileCompletionAsync(){let e=[];if(this.gpgpu.parallelCompilationExtension){for(let[,t]of Object.entries(this.binaryCache))e.push(this.checkCompletionAsync_(t));return Promise.all(e)}else{for(let[,t]of Object.entries(this.binaryCache)){let o=new Promise(n=>{try{this.checkCompletion_(t),n(!0)}catch(s){throw s}});e.push(o)}return Promise.all(e)}}async checkCompletionAsync_(e){return this.gpgpu.gl.getProgramParameter(e.webGLProgram,this.gpgpu.parallelCompilationExtension.COMPLETION_STATUS_KHR)?this.checkCompletion_(e):(await CC(),this.checkCompletionAsync_(e))}checkCompletion_(e){if(this.gpgpu.gl.getProgramParameter(e.webGLProgram,this.gpgpu.gl.LINK_STATUS)===!1)throw console.log(this.gpgpu.gl.getProgramInfoLog(e.webGLProgram)),this.gpgpu.gl.getShaderParameter(e.fragmentShader,this.gpgpu.gl.COMPILE_STATUS)===!1?($f(e.source,this.gpgpu.gl.getShaderInfoLog(e.fragmentShader)),new Error(\"Failed to compile fragment shader.\")):new Error(\"Failed to link vertex and fragment shaders.\");return!0}getUniformLocations(){for(let[,e]of Object.entries(this.binaryCache)){let{uniformLocations:t,customUniformLocations:o,infLoc:n,nanLoc:s,inShapesLocations:a,inTexShapesLocations:i,outShapeLocation:p,outShapeStridesLocation:u,outTexShapeLocation:c}=tw(this.gpgpu,e.program,e.webGLProgram);e.uniformLocations=t,e.customUniformLocations=o,e.infLoc=n,e.nanLoc=s,e.inShapesLocations=a,e.inTexShapesLocations=i,e.outShapeLocation=p,e.outShapeStridesLocation=u,e.outTexShapeLocation=c}}createTensorFromTexture(e,t,o){let{texture:n,height:s,width:a,channels:i}=e,p=cr().backend;if(!p.gpgpu.gl.isTexture(n))throw new Error(\"The texture is invalid. Also, please make sure the texture and the TFJS WebGL backend are using the same canvas. If you want to use your own custom canvas, you have to create and use the custom TFJS WebGL backend created from the canvas through 'new tf.MathBackendWebGL(customCanvas)'.\");let u=p.writeTexture(n,t,o,s,a,i);return cr().makeTensorFromDataId(u,t,o,p)}};Bi.nextDataId=0;function M8(r,e){if(e===\"float32\"||e===\"complex64\")return r;if(e===\"int32\"||e===\"bool\"){let t=e===\"int32\"?new Int32Array(r.length):new Uint8Array(r.length);for(let o=0;onew Bi,2);var L9e={forceHalfFloat:L$};var mc=`\n if (isnan(a)) return a;\n if (isnan(b)) return b;\n`;var io=class{constructor(e,t,o){this.variableNames=[\"A\",\"B\"],this.outputShape=S.assertAndGetBroadcastShape(t,o),this.enableShapeUniforms=ct(this.outputShape.length),this.userCode=`\n float binaryOperation(float a, float b) {\n ${e}\n }\n\n void main() {\n float a = getAAtOutCoords();\n float b = getBAtOutCoords();\n setOutput(binaryOperation(a, b));\n }\n `}};var Zs=`\n result.r = isNaN.r ? NAN : result.r;\n result.g = isNaN.g ? NAN : result.g;\n result.b = isNaN.b ? NAN : result.b;\n result.a = isNaN.a ? NAN : result.a;\n`;var To=class{constructor(e,t,o,n=!1){this.variableNames=[\"A\",\"B\"],this.supportsBroadcasting=!0,this.packedInputs=!0,this.packedOutput=!0,this.outputShape=S.assertAndGetBroadcastShape(t,o);let s=this.outputShape.length;this.enableShapeUniforms=ct(s);let a=\"\";if(n)if(s===0||y.sizeFromShape(this.outputShape)===1)a=`\n result.y = 0.;\n result.z = 0.;\n result.w = 0.;\n `;else if(a=`\n ${_e(s)} coords = getOutputCoords();\n `,s===1)this.enableShapeUniforms?a+=`\n result.y = (coords + 1) >= outShape ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `:a+=`\n result.y = (coords + 1) >= ${this.outputShape[0]} ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `;else{let p=$t(\"coords\",s);this.enableShapeUniforms?a+=`\n bool nextRowOutOfBounds =\n (${p[s-2]} + 1) >= outShape[${s} - 2];\n bool nextColOutOfBounds =\n (${p[s-1]} + 1) >= outShape[${s} - 1];\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `:a+=`\n bool nextRowOutOfBounds =\n (${p[s-2]} + 1) >= ${this.outputShape[s-2]};\n bool nextColOutOfBounds =\n (${p[s-1]} + 1) >= ${this.outputShape[s-1]};\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `}this.userCode=`\n vec4 binaryOperation(vec4 a, vec4 b) {\n ${e}\n }\n\n void main() {\n vec4 a = getAAtOutCoords();\n vec4 b = getBAtOutCoords();\n\n vec4 result = binaryOperation(a, b);\n ${a}\n\n setOutput(result);\n }\n `}};function At(r){let{inputs:e,backend:t}=r,{x:o}=e;return t.incRef(o.dataId),{dataId:o.dataId,shape:o.shape,dtype:o.dtype}}var B$={kernelName:mo,backendName:\"webgl\",kernelFunc:At};function Rr(r){let{inputs:e,backend:t}=r,{real:o,imag:n}=e,s=t.makeTensorInfo(o.shape,\"complex64\"),a=t.texData.get(s.dataId),i=At({inputs:{x:o},backend:t}),p=At({inputs:{x:n},backend:t});return a.complexTensorInfos={real:i,imag:p},s}var V$={kernelName:ei,backendName:\"webgl\",kernelFunc:Rr};var Sw=\"return (a < 0.) ? b * a : a;\",ww=`\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n`;function B8(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{alpha:s}=o,a=t.makeTensorInfo([],\"float32\",y.createScalarValue(s,\"float32\")),i=O().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new To(ww,n.shape,a.shape):new io(Sw,n.shape,a.shape),p=t.runWebGLProgram(i,[n,a],\"float32\");return t.disposeIntermediateTensorInfo(a),p}var z$={kernelName:mn,backendName:\"webgl\",kernelFunc:B8};var Iw=\"return (a < 0.) ? b * a : a;\",vw=`\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n`;function V8(r){let{inputs:e,backend:t}=r,{x:o,alpha:n}=e,s=O().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new To(vw,o.shape,n.shape):new io(Iw,o.shape,n.shape);return t.runWebGLProgram(s,[o,n],\"float32\")}var W$={kernelName:Rn,backendName:\"webgl\",kernelFunc:V8};var _o=\"if (isnan(x)) return x;\";function ge({opSnippet:r,packedOpSnippet:e,cpuKernelImpl:t,dtype:o}){return({inputs:n,backend:s})=>{let{x:a}=n,i=s,p=o||a.dtype;if(i.shouldExecuteOnCPU([a])&&t!=null){let l=i.texData.get(a.dataId),m=t(l.values,p);return i.makeTensorInfo(a.shape,p,m)}let u=O().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")&&e!=null,c;return u?c=new Ar(a.shape,e):c=new Jt(a.shape,r),i.runWebGLProgram(c,[a],p)}}function tt({opSnippet:r,packedOpSnippet:e,checkOutOfBounds:t=!1,supportsComplex:o=!1,cpuKernelImpl:n,dtype:s}){return({inputs:a,backend:i})=>{let{a:p,b:u}=a,c=i;if(o&&p.dtype===\"complex64\"){let f=c.texData.get(p.dataId),h=c.texData.get(u.dataId),[g,x]=[[f.complexTensorInfos.real,h.complexTensorInfos.real],[f.complexTensorInfos.imag,h.complexTensorInfos.imag]].map(C=>{let[w,k]=C,_={dataId:w.dataId,dtype:w.dtype,shape:p.shape},$={dataId:k.dataId,dtype:k.dtype,shape:u.shape},A=new io(r,p.shape,u.shape);return c.runWebGLProgram(A,[_,$],dt(w.dtype,k.dtype))}),b=Rr({inputs:{real:g,imag:x},backend:c});return c.disposeIntermediateTensorInfo(g),c.disposeIntermediateTensorInfo(x),b}let l=s||dt(p.dtype,u.dtype);if((p.dtype===\"string\"||u.dtype===\"string\"||c.shouldExecuteOnCPU([p,u]))&&n!=null){let f=c.texData.get(p.dataId).values,h=c.texData.get(u.dataId).values,g=p.dtype===\"string\"?S.fromUint8ToStringArray(f):f,x=p.dtype===\"string\"?S.fromUint8ToStringArray(h):h,[b,C]=n(p.shape,u.shape,g,x,l),w=c.makeTensorInfo(C,l),k=c.texData.get(w.dataId);return k.values=b,w}let m=O().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")&&e!=null,d;return m?d=new To(e,p.shape,u.shape,t):d=new io(r,p.shape,u.shape),c.runWebGLProgram(d,[p,u],l)}}function Wa(r,e=!1){if(r===\"linear\")return e?F$:T$;if(r===\"relu\")return e?O$:E$;if(r===\"elu\")return e?D$:_$;if(r===\"relu6\")return e?P$:$$;if(r===\"prelu\")return e?vw:Iw;if(r===\"leakyrelu\")return e?ww:Sw;if(r===\"sigmoid\")return e?M$:A$;throw new Error(`Activation ${r} has not been implemented for the WebGL backend.`)}var dc=class{constructor(e,t,o,n=!1,s=!1,a=!1,i=null,p=!1,u=!1){this.variableNames=[\"matrixA\",\"matrixB\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=o,this.enableShapeUniforms=ct(this.outputShape.length);let c=n?e[1]:e[2],l=Math.ceil(c/2),m=n?\"i * 2, rc.y\":\"rc.y, i * 2\",d=s?\"rc.z, i * 2\":\"i * 2, rc.z\",f=n?[\"a.xxyy\",\"a.zzww\"]:[\"a.xxzz\",\"a.yyww\"],h=s?[\"b.xzxz\",\"b.ywyw\"]:[\"b.xyxy\",\"b.zwzw\"],g=\"\",x=\"\";i&&(p?g=`vec4 activation(vec4 a) {\n vec4 b = getPreluActivationWeightsAtOutCoords();\n ${i}\n }`:u?g=`vec4 activation(vec4 a) {\n vec4 b = getLeakyreluAlphaAtOutCoords();\n ${i}\n }`:g=`vec4 activation(vec4 x) {\n ${i}\n }`,x=\"result = activation(result);\");let b=a?\"result += getBiasAtOutCoords();\":\"\";a&&this.variableNames.push(\"bias\"),p&&this.variableNames.push(\"preluActivationWeights\"),u&&this.variableNames.push(\"leakyreluAlpha\");let C=\"rc.x\",w=\"rc.x\";e[0]`The new shape (${p}) has ${u} elements and the old shape (${n.shape}) has ${i} elements. The new shape and old shape must have the same number of elements.`);let c=a.texData.get(n.dataId);return c.isPacked&&!Li(n.shape,p)&&!(c.texture!==null&&Li(c.shape,p))?H$(n,p,a):(a.incRef(n.dataId),{dataId:n.dataId,shape:p,dtype:n.dtype})}var q$={kernelName:Ns,backendName:\"webgl\",kernelFunc:te};var _l=class{constructor(e,t){this.variableNames=[\"x\"];let{windowSize:o,batchSize:n,inSize:s,outSize:a}=e;this.outputShape=[n,a];let i=Math.floor(o/4)*4,p=o%4,u=\"sumValue += dot(values, ones);\";if(t!=null){let l=1/t;u=`sumValue += dot(values * ${y.isInt(l)?l.toPrecision(2):l}, ones);`}let c=\"\";s%o>0&&(c=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return 0.0;\n }\n `),this.userCode=`\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${c}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${o};\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${i}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${u}\n }\n\n int inIdx = inOffset + ${i};\n if (${p===1}) {\n vec4 values = vec4(getValue(batch, inIdx), 0.0, 0.0, 0.0);\n\n ${u}\n } else if (${p===2}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1), 0.0, 0.0);\n\n ${u}\n } else if (${p===3}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2), 0.0);\n\n ${u}\n }\n setOutput(sumValue);\n }\n `}};var Jf=class{constructor(e,t){this.variableNames=[\"x\"];let{windowSize:o,batchSize:n,inSize:s,outSize:a}=e;this.outputShape=[n,a];let i=\"0.0\",p=\"\";t===\"prod\"?i=\"1.0\":t===\"min\"?(i=\"1.0 / 1e-20\",p=\"min\"):t===\"max\"&&(i=\"-1.0 / 1e-20\",p=\"max\");let u=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;t===\"sum\"?u=\"sumValue\":t===\"prod\"?u=\"prodValue\":t===\"all\"?u=\"allValue\":t===\"any\"&&(u=\"anyValue\");let c=Math.floor(o/4)*4,l=o%4,m=`\n if (${t===\"sum\"}) {\n sumValue += dot(values, ones);\n } else if (${t===\"prod\"}) {\n vec2 tmp = vec2(values[0], values[1]) * vec2(values[2], values[3]);\n prodValue *= tmp[0] * tmp[1];\n } else {\n minMaxValue = ${p}(values, minMaxValue);\n if (${t===\"min\"} || ${t===\"max\"}) {\n minMaxValue = ${p}(values, minMaxValue);\n bvec4 isNaN = isnan(values);\n if (isNaN.r || isNaN.g || isNaN.b || isNaN.a) {\n minMaxValue = vec4(NAN);\n }\n }\n }\n `,d=\"vec4\";t===\"all\"?(i=\"1.0\",m=`\n bool reducedAllValue = all(values);\n float floatedReducedAllValue = float(reducedAllValue);\n allValue = float(allValue >= 1.0 && floatedReducedAllValue >= 1.0);\n `,d=\"bvec4\"):t===\"any\"&&(i=\"0.0\",m=`\n bool reducedAnyValue = any(values);\n float floatedReducedAnyValue = float(reducedAnyValue);\n anyValue = float(anyValue >= 1.0 || floatedReducedAnyValue >= 1.0);\n `,d=\"bvec4\");let f=\"\";s%o>0&&(f=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `),this.userCode=`\n const float initializationValue = ${i};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${f}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${o};\n\n vec4 minMaxValue = vec4(${i});\n float prodValue = 1.0;\n float sumValue = 0.0;\n float allValue = 1.0;\n float anyValue = 0.0;\n\n for (int i = 0; i < ${c}; i += 4) {\n int inIdx = inOffset + i;\n ${d} values = ${d}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${m}\n }\n\n int inIdx = inOffset + ${c};\n if (${l===1}) {\n ${d} values = ${d}(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${m}\n } else if (${l===2}) {\n ${d} values = ${d}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n ${m}\n } else if (${l===3}) {\n ${d} values = ${d}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n ${m}\n }\n setOutput(${u});\n }\n `}};function W8(r){let e=[];for(;e.length===0||e[e.length-1].outSize!==1;){let t=e.length?e[e.length-1].outSize:r[1],o=S.computeOptimalWindowSize(t);e.push({inSize:t,windowSize:o,outSize:Math.ceil(t/o)})}return e}function Gr(r,e,t,o){let n=W8(r.shape),s=r;for(let a=0;a6)throw Error(`Transpose for rank ${e} is not yet supported`);let t=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\",\"resRC.u\",\"resRC.v\"],o=new Array(e);for(let n=0;n6)throw Error(`Packed transpose for rank ${this.rank} is not yet supported.`);let n=_e(this.rank),s=bw(\"rc\",this.rank),a=new Array(this.rank);for(let c=0;c`Error in matMul: inner shapes (${l}) and (${m}) of Tensors with shapes ${r.shape} and ${e.shape} and transposeA=${t} and transposeB=${o} must match.`);let k=t?[x,l,d]:[x,d,l],_=o?[b,f,m]:[b,m,f],$=te({inputs:{x:r},backend:n,attrs:{shape:k}}),A=te({inputs:{x:e},backend:n,attrs:{shape:_}}),R=[$,A],D=Math.max(x,b),P=t?$.shape[1]:$.shape[2],M=s!=null,L=a!=null,W=p===\"leakyrelu\",V=p!=null?Wa(p,!0):null,U=M||L||W||V!=null,q;if((d===1||f===1)&&P>Nw&&U===!1){let j=$,X=A;t&&(j=xt({inputs:{x:$},backend:n,attrs:{perm:[0,2,1]}}),R.push(j)),o&&(X=xt({inputs:{x:A},backend:n,attrs:{perm:[0,2,1]}}),R.push(X));let Z=f!==1,ee=f===1,Y=j;Z&&(Y=te({inputs:{x:j},backend:n,attrs:{shape:[D,P,1]}}),R.push(Y));let J=f===1?2:1,ie=X;ee&&(ie=te({inputs:{x:X},backend:n,attrs:{shape:[D,1,P]}}),R.push(ie));let pe=Tl({inputs:{a:Y,b:ie},backend:n});q=Ou({inputs:{x:pe},backend:n,attrs:{axis:J,keepDims:!0}}),R.push(pe)}else{let j=dt(r.dtype,e.dtype),X=new dc(k,_,[D,d,f],t,o,M,V,L,W),Z=[$,A];if(s!=null&&Z.push(s),L&&Z.push(a),W){let ee=n.makeTensorInfo([],\"float32\",y.createScalarValue(i,\"float32\"));Z.push(ee),R.push(ee)}q=n.runWebGLProgram(X,Z,j)}let H=te({inputs:{x:q},backend:n,attrs:{shape:w}});R.push(q);for(let j of R)n.disposeIntermediateTensorInfo(j);return H}function G8(r){let{inputs:e,backend:t,attrs:o}=r,{a:n,b:s,bias:a,preluActivationWeights:i}=e,{transposeA:p,transposeB:u,activation:c,leakyreluAlpha:l}=o;return Pu({a:n,b:s,transposeA:p,transposeB:u,backend:t,bias:a,preluActivationWeights:i,leakyreluAlpha:l,activation:c})}var Y$={kernelName:fo,backendName:\"webgl\",kernelFunc:G8};var Q$=\"return abs(x);\";function H8(r){let{inputs:e,backend:t}=r,{x:o}=e;if(t.shouldExecuteOnCPU([o])&&o.dtype!==\"complex64\"){let s=t.texData.get(o.dataId),a=Kf(s.values);return t.makeTensorInfo(o.shape,o.dtype,a)}let n;return O().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")?n=new Ar(o.shape,Q$):n=new Jt(o.shape,Q$),t.runWebGLProgram(n,[o],o.dtype)}var Z$={kernelName:gs,backendName:\"webgl\",kernelFunc:H8};var q8=Bt+`\n if (abs(x) > 1.) {\n return NAN;\n }\n return acos(x);\n`,K8=ge({opSnippet:q8}),J$={kernelName:sa,backendName:\"webgl\",kernelFunc:K8};var j8=Bt+`\n if (x < 1.0) return NAN;\nreturn log(x + sqrt(x * x - 1.0));`,X8=ge({opSnippet:j8}),eA={kernelName:aa,backendName:\"webgl\",kernelFunc:X8};var tA=\"return a + b;\",Y8=tt({opSnippet:tA,packedOpSnippet:tA,supportsComplex:!0,cpuKernelImpl:DE}),rA={kernelName:eo,backendName:\"webgl\",kernelFunc:Y8};var rh=class{constructor(e,t){this.outputShape=[],this.outputShape=e,this.variableNames=t.map((s,a)=>`T${a}`);let o=[];this.variableNames.forEach(s=>{o.push(`float v${s} = get${s}AtOutCoords();`)});let n=this.variableNames.map(s=>`v${s}`).join(\" + \");this.userCode=`\n void main() {\n ${o.join(`\n `)}\n\n float result = ${n};\n setOutput(result);\n }\n `}};var oh=class{constructor(e,t){this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.variableNames=t.map((s,a)=>`T${a}`);let o=[];this.variableNames.forEach(s=>{o.push(`vec4 v${s} = get${s}AtOutCoords();`)});let n=this.variableNames.map(s=>`v${s}`).join(\" + \");this.userCode=`\n void main() {\n ${o.join(`\n `)}\n\n vec4 result = ${n};\n setOutput(result);\n }\n `}};function nh(r){let{inputs:e,backend:t}=r,o=e;if(o.length===1)return At({inputs:{x:o[0]},backend:t});if(o.length>O().get(\"WEBGL_MAX_TEXTURES_IN_SHADER\")){let p=Math.floor(o.length/2),u=nh({inputs:o.slice(0,p),backend:t}),c=nh({inputs:o.slice(p),backend:t});return nh({inputs:[u,c],backend:t})}let n=o.map(p=>p.dtype).reduce((p,u)=>dt(p,u)),s=o.map(p=>p.shape),i=O().getBool(\"WEBGL_PACK\")?new oh(o[0].shape,s):new rh(o[0].shape,s);return t.runWebGLProgram(i,o,n)}var oA={kernelName:Mo,backendName:\"webgl\",kernelFunc:nh};function Q8(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o,i=n.shape.length,p=y.parseAxisParam(s,n.shape),u=p,c=S.getAxesPermutation(u,i),l=n;c!=null&&(l=xt({inputs:{x:n},backend:t,attrs:{perm:c}}),u=S.getInnerMostAxes(u.length,i)),S.assertAxesAreInnerMostDims(\"all\",u,i);let[m,d]=S.computeOutAndReduceShapes(l.shape,u),f=y.sizeFromShape(d),h=te({inputs:{x:l},backend:t,attrs:{shape:[-1,f]}}),g=Gr(h,h.dtype,\"all\",t),x;if(a){let b=S.expandShapeToKeepDim(m,p);x=te({inputs:{x:g},backend:t,attrs:{shape:b}})}else x=te({inputs:{x:g},backend:t,attrs:{shape:m}});return t.disposeIntermediateTensorInfo(h),t.disposeIntermediateTensorInfo(g),c!=null&&t.disposeIntermediateTensorInfo(l),x}var nA={kernelName:Lo,backendName:\"webgl\",kernelFunc:Q8};function Z8(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o,i=n.shape.length,p=y.parseAxisParam(s,n.shape),u=p,c=S.getAxesPermutation(u,i),l=n;c!=null&&(l=xt({inputs:{x:n},backend:t,attrs:{perm:c}}),u=S.getInnerMostAxes(u.length,i)),S.assertAxesAreInnerMostDims(\"any\",u,i);let[m,d]=S.computeOutAndReduceShapes(l.shape,u),f=y.sizeFromShape(d),h=te({inputs:{x:l},backend:t,attrs:{shape:[-1,f]}}),g=Gr(h,h.dtype,\"any\",t),x;if(a){let b=S.expandShapeToKeepDim(m,p);x=te({inputs:{x:g},backend:t,attrs:{shape:b}})}else x=te({inputs:{x:g},backend:t,attrs:{shape:m}});return t.disposeIntermediateTensorInfo(h),t.disposeIntermediateTensorInfo(g),c!=null&&t.disposeIntermediateTensorInfo(l),x}var sA={kernelName:Bo,backendName:\"webgl\",kernelFunc:Z8};var sh=class{constructor(e,t,o){this.variableNames=[\"A\"];let{windowSize:n,batchSize:s,outSize:a}=e;o||this.variableNames.push(\"bestIndicesA\"),this.outputShape=[s,a];let i=t===\"max\"?\">\":\"<\",p=o?\"inOffset + i;\":\"round(getBestIndicesA(batch, inOffset + i));\";this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n int bestIndex = inOffset;\n float bestValue = getA(batch, bestIndex);\n\n for (int i = 0; i < ${n}; i++) {\n int inIdx = ${p};\n float candidate = getA(batch, inIdx);\n if (candidate ${i} bestValue) {\n bestValue = candidate;\n bestIndex = inIdx;\n }\n }\n setOutput(float(bestIndex));\n }\n `}};var ah=class{constructor(e,t,o,n){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,y.assert(e.length>2,()=>`Packed arg${o.charAt(0).toUpperCase()+o.slice(1)} supports only inputs with rank above 2.`);let s=e[e.length-1],a=Math.ceil(s/t);this.outputShape=e.slice(0,-1),a>1&&this.outputShape.push(a),n||this.variableNames.push(\"bestIndicesA\");let i=this.outputShape,p=i.length,u=_e(p),c=$t(\"coords\",p),l,m;if(a===1){m=p+1;let A=_e(m);l=`\n ${A} sourceLocR = ${A}(${c.join()}, 0);\n ++${c[p-1]};\n ${A} sourceLocG = ${A}(${c.join()}, 0);\n ++${c[p-2]};\n ${A} sourceLocA = ${A}(${c.join()}, 0);\n --${c[p-1]};\n ${A} sourceLocB = ${A}(${c.join()}, 0);\n --${c[p-2]};`}else m=p,l=`\n ${u} sourceLocR = coords;\n ++${c[p-1]};\n ${u} sourceLocG = coords;\n ++${c[p-2]};\n ${u} sourceLocA = coords;\n --${c[p-1]};\n ${u} sourceLocB = coords;\n --${c[p-2]};`;let d=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"].slice(0,m),f=\".\"+d[m-1],h=d.map(A=>\"int \"+A),g=$t(\"sourceLocR\",m-1).concat(\"inIdx.r\"),x=$t(\"sourceLocG\",m-1).concat(\"inIdx.g\"),b=$t(\"sourceLocB\",m-1).concat(\"inIdx.b\"),C=$t(\"sourceLocA\",m-1).concat(\"inIdx.a\"),w=o===\"max\"?\"greaterThan\":\"lessThan\",k=n?\"\":`\n inIdx = round(vec4(getBestIndicesAChannel(${g.join()}),\n getBestIndicesAChannel(${x.join()}),\n getBestIndicesAChannel(${b.join()}),\n getBestIndicesAChannel(${C.join()})));`,_=`vec4(\n getAChannel(${g.join()}),\n hasNextCol ? getAChannel(${x.join()}) : 0.,\n hasNextRow ? getAChannel(${b.join()}) : 0.,\n hasNextRow && hasNextCol ? getAChannel(${C.join()}) : 0.)`,$=n?\"\":`\n float getBestIndicesAChannel(${h.join()}) {\n return getChannel(getBestIndicesA(${d.join()}),\n vec2(${d.slice(-2).join()}));\n }`;this.userCode=`\n float getAChannel(${h.join()}) {\n return getChannel(getA(${d.join()}),\n vec2(${d.slice(-2).join()}));\n }\n ${$}\n void main() {\n ${u} coords = getOutputCoords();\n bool hasNextCol = ${c[p-1]} < ${i[p-1]-1};\n bool hasNextRow = ${c[p-2]} < ${i[p-2]-1};\n ${l}\n ivec4 srcIdx = ivec4(sourceLocR${f}, sourceLocG${f},\n sourceLocB${f}, sourceLocA${f}) * ${t};\n ivec4 inIdx = srcIdx;\n vec4 bestIndex = vec4(inIdx);\n vec4 bestValue = ${_};\n\n for (int i = 0; i < ${t}; i++) {\n inIdx = srcIdx;\n ${k}\n vec4 candidate = ${_};\n bvec4 nan = isnan(candidate);\n bvec4 replace = bvec4(\n vec4(${w}(candidate, bestValue)) * (vec4(1.0) - vec4(nan)));\n\n bestValue = vec4(replace.x ? candidate.x : bestValue.x,\n replace.y ? candidate.y : bestValue.y,\n replace.z ? candidate.z : bestValue.z,\n replace.w ? candidate.w : bestValue.w);\n bestIndex = mix(bestIndex, vec4(inIdx), vec4(replace));\n srcIdx++;\n }\n setOutput(bestIndex);\n }\n `}};function aA(r,e,t,o=null){let n=e.shape[0],s=e.shape[1];o!=null&&(n=o.shape[0],s=o.shape[1]);let a=S.computeOptimalWindowSize(s),i={windowSize:a,inSize:s,batchSize:n,outSize:Math.ceil(s/a)},p=new sh(i,t,o==null),u=[e];o!=null&&u.push(o);let c=r.runWebGLProgram(p,u,\"int32\");if(c.shape[1]===1)return c;let l=aA(r,e,t,c);return r.disposeIntermediateTensorInfo(c),l}function iA(r,e,t,o=null){let n=o!=null?o.shape:e.shape,s=n[n.length-1],a=S.computeOptimalWindowSize(s),i=new ah(n,a,t,o==null),p=o==null?[e]:[e,o],u=r.runWebGLProgram(i,p,\"int32\");if(u.shape.length===e.shape.length){let c=iA(r,e,t,u);return r.disposeIntermediateTensorInfo(u),c}return u}function ih(r,e,t,o){let n=[t];if(S.assertAxesAreInnerMostDims(\"arg\"+o.charAt(0).toUpperCase()+o.slice(1),n,e.shape.length),!O().getBool(\"WEBGL_PACK_REDUCE\")||e.shape.length<=2){let s=[],a=r.texData.get(e.dataId),i=a!==null&&a.isPacked,p=e;i&&(p=r.unpackTensor(e),s.push(p));let[u,c]=S.computeOutAndReduceShapes(p.shape,n),l=y.sizeFromShape(c),m=te({inputs:{x:p},backend:r,attrs:{shape:[-1,l]}});s.push(m);let d=aA(r,m,o);s.push(d);let f=te({inputs:{x:d},backend:r,attrs:{shape:u}});return s.forEach(h=>r.disposeIntermediateTensorInfo(h)),f}return iA(r,e,o)}function J8(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s}=o,a=y.parseAxisParam(s,n.shape),i=S.getAxesPermutation(a,n.shape.length),p=n,u=[];i!=null&&(p=xt({inputs:{x:n},backend:t,attrs:{perm:i}}),u.push(p),a=S.getInnerMostAxes(a.length,p.shape.length)),S.assertAxesAreInnerMostDims(\"argMax\",[a[0]],p.shape.length);let c=ih(t,p,a[0],\"max\");return u.forEach(l=>t.disposeIntermediateTensorInfo(l)),c}var uA={kernelName:Vo,backendName:\"webgl\",kernelFunc:J8};function eY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s}=o,a=y.parseAxisParam(s,n.shape),i=S.getAxesPermutation(a,n.shape.length),p=n,u=[];i!=null&&(p=xt({inputs:{x:n},backend:t,attrs:{perm:i}}),u.push(p),a=S.getInnerMostAxes(a.length,p.shape.length)),S.assertAxesAreInnerMostDims(\"argMin\",[a[0]],p.shape.length);let c=ih(t,p,a[0],\"min\");return u.forEach(l=>t.disposeIntermediateTensorInfo(l)),c}var pA={kernelName:Za,backendName:\"webgl\",kernelFunc:eY};var tY=Bt+`\n if (abs(x) > 1.) {\n return NAN;\n }\n return asin(x);\n`,rY=ge({opSnippet:tY}),cA={kernelName:ia,backendName:\"webgl\",kernelFunc:rY};var oY=Bt+\"return log(x + sqrt(x * x + 1.0));\",nY=ge({opSnippet:oY}),lA={kernelName:ua,backendName:\"webgl\",kernelFunc:nY};var sY=Bt+`\n return atan(x);\n`,aY=ge({opSnippet:sY}),mA={kernelName:pa,backendName:\"webgl\",kernelFunc:aY};var iY=mc+`\n return atan(a, b);\n`,uY=`\n vec4 result = atan(a, b);\n bvec4 isNaNA = isnan(a);\n bvec4 isNaNB = isnan(b);\n bvec4 isNaN = bvec4(isNaNA.x || isNaNB.x, isNaNA.y || isNaNB.y, isNaNA.z || isNaNB.z, isNaNA.w || isNaNB.w);\n `+Zs+`\n return result;\n`,pY=tt({opSnippet:iY,packedOpSnippet:uY}),dA={kernelName:la,backendName:\"webgl\",kernelFunc:pY};var cY=Bt+`\n if ((x < -1.0) || (x > 1.0)) return NAN;\nreturn (log(1.0 + x) - log(1.0 - x)) / 2.0;`,lY=ge({opSnippet:cY}),fA={kernelName:ca,backendName:\"webgl\",kernelFunc:lY};var ps=class{constructor(e,t,o,n=!1,s=!1){if(this.variableNames=[\"x\"],t===\"avg\"&&o)throw new Error(\"Cannot compute positions for average pool.\");let a=e.filterWidth,i=e.strideHeight,p=e.strideWidth,u=e.dilationHeight,c=e.dilationWidth,l=e.effectiveFilterHeight,m=e.effectiveFilterWidth,d=e.padInfo.top,f=e.padInfo.left;this.outputShape=e.outShape;let h=t===\"avg\",g=`((batch * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + d`,x=`(xR * ${e.inWidth} + xC) * ${e.inChannels} + d`,b=\"0.0\";if(h||(b=\"-1.0 / 1e-20\"),o){let A=\">=\";this.userCode=`\n const ivec2 strides = ivec2(${i}, ${p});\n const ivec2 pads = ivec2(${d}, ${f});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n float avgValue = 0.0;\n\n for (int wR = 0; wR < ${l};\n wR += ${u}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${m};\n wC += ${c}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xR, xC, d);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${A} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${n?s?g:x:`wR * ${m} + wC`};\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `;return}let C=\"max\",w=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;t===\"avg\"&&(w=\"avgValue / count\");let k=Math.floor(a/4)*4,_=a%4,$=`\n if (${h}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = ${C}(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec2 strides = ivec2(${i}, ${p});\n const ivec2 pads = ivec2(${d}, ${f});\n const float initializationValue = ${b};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xR, int xC, int d) {\n if (xC < 0 || xC >= ${e.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xR, xC, d);\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n vec4 minMaxValue = vec4(${b});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wR = 0; wR < ${l};\n wR += ${u}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${k}; wC += 4) {\n int xC = xCCorner + wC * ${c};\n\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n getValue(batch, xR, xC + 2 * ${c}, d),\n getValue(batch, xR, xC + 3 * ${c}, d)\n );\n\n ${$}\n }\n\n int xC = xCCorner + ${k};\n if (${_===1}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${$}\n } else if (${_===2}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n initializationValue,\n initializationValue\n );\n\n ${$}\n } else if (${_===3}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n getValue(batch, xR, xC + 2 * ${c}, d),\n initializationValue\n );\n\n ${$}\n }\n }\n setOutput(${w});\n }\n `}},zi=class{constructor(e,t,o,n=!1,s=!1){if(this.variableNames=[\"x\"],t===\"avg\"&&o)throw new Error(\"Cannot compute positions for average pool.\");let a=e.filterWidth,i=e.strideDepth,p=e.strideHeight,u=e.strideWidth,c=e.dilationDepth,l=e.dilationHeight,m=e.dilationWidth,d=e.effectiveFilterDepth,f=e.effectiveFilterHeight,h=e.effectiveFilterWidth,g=e.padInfo.front,x=e.padInfo.top,b=e.padInfo.left;this.outputShape=e.outShape;let C=t===\"avg\",w=\"0.0\";if(C||(w=\"-1.0 / 1e-20\"),o){let D=\">=\";this.userCode=`\n const ivec3 strides =\n ivec3(${i}, ${p}, ${u});\n const ivec3 pads = ivec3(${g}, ${x}, ${b});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, ch) to get y(yD, yR, yC, ch).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n\n for (int wD = 0; wD < ${d};\n wD += ${c}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${f};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h};\n wC += ${m}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xD, xR, xC, ch);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${D} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${n?s?`(((batch * ${e.inDepth} + xD) * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`((xD * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`wD * ${f} * ${h} +\n wR * ${h} + wC`};\n }\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `;return}let k=\"max\",_=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;t===\"avg\"&&(_=\"avgValue / count\");let $=Math.floor(a/4)*4,A=a%4,R=`\n if (${C}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = ${k}(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec3 strides =\n ivec3(${i}, ${p}, ${u});\n const ivec3 pads = ivec3(${g}, ${x}, ${b});\n const float initializationValue = ${w};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xD, int xR, int xC, int ch) {\n if (xC < 0 || xC >= ${e.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xD, xR, xC, ch);\n }\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, d) to get y(yD, yR, yC, ch).\n // ? = to be determined\n vec4 minMaxValue = vec4(${w});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wD = 0; wD < ${d};\n wD += ${c}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${f};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${$}; wC += 4) {\n int xC = xCCorner + wC * ${m};\n\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n getValue(batch, xD, xR, xC + 2 * ${m}, ch),\n getValue(batch, xD, xR, xC + 3 * ${m}, ch)\n );\n\n ${R}\n }\n\n int xC = xCCorner + ${$};\n if (${A===1}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${R}\n } else if (${A===2}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n initializationValue,\n initializationValue\n );\n\n ${R}\n } else if (${A===3}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n getValue(batch, xD, xR, xC + 2 * ${m}, ch),\n initializationValue\n );\n\n ${R}\n }\n }\n setOutput(${_});\n }\n }\n `}};function mY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e;is(n,\"avgPool\");let{filterSize:s,strides:a,pad:i,dimRoundingMode:p}=o,u=1;y.assert(S.eitherStridesOrDilationsAreOne(a,u),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${a} and dilations '${u}'`);let c=S.computePool2DInfo(n.shape,s,a,u,i,p);if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))return At({inputs:{x:n},backend:t});let l=new ps(c,\"avg\",!1);return t.runWebGLProgram(l,[n],\"float32\")}var hA={kernelName:zo,backendName:\"webgl\",kernelFunc:mY};function dY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{filterSize:s,strides:a,pad:i,dimRoundingMode:p,dataFormat:u}=o,c=[1,1,1],l=S.computePool3DInfo(n.shape,s,a,c,i,p,u),m=new zi(l,\"avg\",!1);return t.runWebGLProgram(m,[n],\"float32\")}var gA={kernelName:ip,backendName:\"webgl\",kernelFunc:dY};var uh=class{constructor(e){this.variableNames=[\"dy\"],this.outputShape=e.inShape;let t=e.filterHeight,o=e.filterWidth,n=e.strideHeight,s=e.strideWidth,a=e.dilationHeight,i=e.dilationWidth,p=e.effectiveFilterHeight,u=e.effectiveFilterWidth,c=p-1-e.padInfo.top,l=u-1-e.padInfo.left,m=1/(t*o);this.userCode=`\n const ivec2 pads = ivec2(${c}, ${l});\n const float avgMultiplier = float(${m});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${p};\n wR += ${a}) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${u};\n wC+= ${i}) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n setOutput(dotProd);\n }\n `}},ph=class{constructor(e){this.variableNames=[\"dy\"],this.outputShape=e.inShape;let t=e.filterDepth,o=e.filterHeight,n=e.filterWidth,s=e.strideDepth,a=e.strideHeight,i=e.strideWidth,p=e.dilationDepth,u=e.dilationHeight,c=e.dilationWidth,l=e.effectiveFilterDepth,m=e.effectiveFilterHeight,d=e.effectiveFilterWidth,f=l-1-e.padInfo.front,h=m-1-e.padInfo.top,g=d-1-e.padInfo.left,x=1/(t*o*n);this.userCode=`\n const ivec3 pads = ivec3(${f}, ${h}, ${g});\n const float avgMultiplier = float(${x});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, d) with pos mask(:, :, :, ch) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${l};\n wD += ${p}) {\n float dyD = float(dyDCorner + wD) / ${s}.0;\n\n if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${m};\n wR += ${u}) {\n float dyR = float(dyRCorner + wR) / ${a}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${d};\n wC += ${c}) {\n float dyC = float(dyCCorner + wC) / ${i}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function fY(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,input:s}=e,a=s,{filterSize:i,strides:p,pad:u,dimRoundingMode:c}=o,l=[1,1,1],m=S.computePool3DInfo(a.shape,i,p,l,u,c),d=new ph(m);return t.runWebGLProgram(d,[n],a.dtype)}var xA={kernelName:Im,backendName:\"webgl\",kernelFunc:fY};function hY(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,input:s}=e,a=s;is([n,s],\"avgPoolGrad\");let{filterSize:i,strides:p,pad:u}=o,c=S.computePool2DInfo(a.shape,i,p,1,u),l=new uh(c);return t.runWebGLProgram(l,[n],a.dtype)}var yA={kernelName:wm,backendName:\"webgl\",kernelFunc:hY};function gY(r){let{inputs:e,backend:t,attrs:o}=r,{a:n,b:s}=e,{transposeA:a,transposeB:i}=o;return Pu({a:n,b:s,transposeA:a,transposeB:i,backend:t})}var bA={kernelName:Wo,backendName:\"webgl\",kernelFunc:gY};var ch=class{constructor(e,t,o,n,s,a){this.outputShape=[],this.variableNames=[\"x\",\"mean\",\"variance\"],S.assertAndGetBroadcastShape(e,t),S.assertAndGetBroadcastShape(e,o);let i=\"0.0\";n!=null&&(S.assertAndGetBroadcastShape(e,n),this.variableNames.push(\"offset\"),i=\"getOffsetAtOutCoords()\");let p=\"1.0\";s!=null&&(S.assertAndGetBroadcastShape(e,s),this.variableNames.push(\"scale\"),p=\"getScaleAtOutCoords()\"),this.outputShape=e,this.userCode=`\n void main() {\n float x = getXAtOutCoords();\n float mean = getMeanAtOutCoords();\n float variance = getVarianceAtOutCoords();\n float offset = ${i};\n float scale = ${p};\n float inv = scale * inversesqrt(variance + float(${a}));\n setOutput(dot(vec3(x, -mean, offset), vec3(inv, inv, 1)));\n }\n `}};var lh=class{constructor(e,t,o,n,s,a){this.packedInputs=!0,this.packedOutput=!0,this.variableNames=[\"x\",\"mean\",\"variance\"],S.assertAndGetBroadcastShape(e,t),S.assertAndGetBroadcastShape(e,o);let i=\"vec4(0.0)\";n!=null&&(S.assertAndGetBroadcastShape(e,n),this.variableNames.push(\"offset\"),i=\"getOffsetAtOutCoords()\");let p=\"vec4(1.0)\";s!=null&&(S.assertAndGetBroadcastShape(e,s),this.variableNames.push(\"scale\"),p=\"getScaleAtOutCoords()\"),this.outputShape=e,this.userCode=`\n void main() {\n vec4 offset = ${i};\n vec4 scale = ${p};\n\n vec4 x = getXAtOutCoords();\n vec4 mean = getMeanAtOutCoords();\n vec4 variance = getVarianceAtOutCoords();\n\n vec4 inv = scale * inversesqrt(variance + vec4(${a}));\n\n setOutput((x - mean) * inv + offset);\n }\n `}};var xY=({inputs:r,backend:e,attrs:t})=>{let{x:o,mean:n,variance:s,offset:a,scale:i}=r;y.assert(n.shape.length===s.shape.length,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),y.assert(a==null||n.shape.length===a.shape.length,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),y.assert(i==null||n.shape.length===i.shape.length,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\");let{varianceEpsilon:p}=t;p==null&&(p=.001);let u=[o,n,s],c=null;a!=null&&(c=a.shape,u.push(a));let l=null;i!=null&&(l=i.shape,u.push(i));let m=O().getBool(\"WEBGL_PACK_NORMALIZATION\")?new lh(o.shape,n.shape,s.shape,c,l,p):new ch(o.shape,n.shape,s.shape,c,l,p);return e.runWebGLProgram(m,u,u[0].dtype)},CA={kernelName:an,backendName:\"webgl\",kernelFunc:xY};var mh=class{constructor(e){this.variableNames=[\"source\"],this.outputShape=e,this.rank=e.length;let t=_e(this.rank);this.customUniforms=[{name:\"start\",arrayIndex:this.rank,type:\"int\"}];let o=yY(this.rank),n,s=e.map((a,i)=>`sourceLoc.${Tw[i]} = start[${i}] + coords.${Tw[i]};`);n=`\n ${t} sourceLoc;\n ${t} coords = getOutputCoords();\n ${s.join(`\n`)}\n `,this.userCode=`\n void main() {\n ${n}\n setOutput(getSource(${o}));\n }\n `}},Tw=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"];function yY(r){if(r===1)return\"sourceLoc\";if(r<=6)return Tw.slice(0,r).map(e=>\"sourceLoc.\"+e).join(\",\");throw Error(`Slicing for rank ${r} is not yet supported`)}var dh=class{constructor(e){this.variableNames=[\"source\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.rank=e.length,this.customUniforms=[{name:\"start\",arrayIndex:this.rank,type:\"int\"}];let t=_e(this.rank),o=$t(\"coords\",this.rank),n=$t(\"sourceLoc\",this.rank),s=this.rank===1?\"sourceLoc\":`vec2(${n.slice(-2).join()})`,a=`getChannel(getSource(${n.join()}), ${s})`,i=`\n result.x = ${a};\n if (++${o[this.rank-1]} < ${e[this.rank-1]}) {\n ++${n[this.rank-1]};\n result.y = ${a};\n --${n[this.rank-1]};\n }\n `,p=this.rank===1?\"\":`\n --${o[this.rank-1]};\n if (++${o[this.rank-2]} < ${e[this.rank-2]}) {\n ++${n[this.rank-2]};\n result.z = ${a};\n if (++${o[this.rank-1]} < ${e[this.rank-1]}) {\n ++${n[this.rank-1]};\n result.w = ${a};\n }\n }\n `,u=this.rank<=4?`sourceLoc = coords +\n ${t}(${e.map((c,l)=>`start[${l}]`).join()});`:e.map((c,l)=>`${n[l]} = ${o[l]} + start[${l}];`).join(`\n`);this.userCode=`\n void main() {\n ${t} coords = getOutputCoords();\n ${t} sourceLoc;\n ${u}\n vec4 result = vec4(0.);\n ${i}\n ${p}\n setOutput(result);\n }\n `}};function bY(r,e,t,o){let n=o.texData.get(r.dataId),s=o.makeTensorInfo(t,r.dtype),a=o.texData.get(s.dataId);Object.assign(a,n),a.refCount=1,a.shape=t,a.dtype=r.dtype;let i=ut.computeFlatOffset(e,y.computeStrides(r.shape));n.slice&&(i+=n.slice.flatOffset),a.slice={flatOffset:i,origDataId:n.slice&&n.slice.origDataId||r.dataId};let p=o.dataRefCount.get(a.slice.origDataId)||1;return o.dataRefCount.set(a.slice.origDataId,p+1),s}function cs(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{begin:s,size:a}=o,[i,p]=ut.parseSliceParams(n,s,a);if(ut.assertParamsValid(n,i,p),y.sizeFromShape(p)===0)return t.makeTensorInfo(p,n.dtype,[]);if(t.shouldExecuteOnCPU([n])||n.dtype===\"string\"){let l=t.texData.get(n.dataId),m=l$(l.values,i,p,n.shape,n.dtype);return t.makeTensorInfo(p,n.dtype,m)}let{isPacked:u}=t.texData.get(n.dataId),c=ut.isSliceContinous(n.shape,i,p);if(u||!c){let l=O().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new dh(p):new mh(p),m=[i];return t.runWebGLProgram(l,[n],n.dtype,m)}return t.uploadToGPU(n.dataId),bY(n,i,p,t)}var SA={kernelName:_s,backendName:\"webgl\",kernelFunc:cs};var CY=r=>{let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{blockShape:s,crops:a}=o;y.assert(n.shape.length<=4,()=>\"batchToSpaceND for rank > 4 with a WebGL backend not implemented yet\");let i=s.reduce((b,C)=>b*C),p=S.getReshaped(n.shape,s,i),u=S.getPermuted(p.length,s.length),c=S.getReshapedPermuted(n.shape,s,i),l=S.getSliceBeginCoords(a,s.length),m=S.getSliceSize(c,a,s.length),d=[],f=te({inputs:{x:n},backend:t,attrs:{shape:p}}),h=xt({inputs:{x:f},backend:t,attrs:{perm:u}}),g=te({inputs:{x:h},backend:t,attrs:{shape:c}}),x=cs({inputs:{x:g},backend:t,attrs:{begin:l,size:m}});return d.push(f),d.push(h),d.push(g),d.forEach(b=>t.disposeIntermediateTensorInfo(b)),x},wA={kernelName:xs,backendName:\"webgl\",kernelFunc:CY};function SY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,weights:s}=e,{size:a}=o,i=t.readSync(n.dataId),p=t.readSync(s.dataId),u=qf(i,p,s.dtype,s.shape,a);return t.makeTensorInfo([a],s.dtype,u)}var IA={kernelName:Ja,backendName:\"webgl\",kernelFunc:SY};function wY(r){let{inputs:e,backend:t}=r,{s0:o,s1:n}=e,s=t.readSync(o.dataId),a=t.readSync(n.dataId),i=S.assertAndGetBroadcastShape(Array.from(s),Array.from(a));return t.makeTensorInfo([i.length],\"int32\",Int32Array.from(i))}var vA={kernelName:up,backendName:\"webgl\",kernelFunc:wY};var IY=\"return float(a != b);\",_w=tt({opSnippet:IY,cpuKernelImpl:r$,dtype:\"bool\"}),kA={kernelName:Nn,backendName:\"webgl\",kernelFunc:_w};function Ua(r){let{inputs:e,backend:t}=r,{input:o}=e,n=t.texData.get(o.dataId);return At({inputs:{x:n.complexTensorInfos.real},backend:t})}var NA={kernelName:ai,backendName:\"webgl\",kernelFunc:Ua};var vY=\"return float(int(x));\";function TA(r,e){let t=new Jt(r.shape,vY),o=e.runWebGLProgram(t,[r],\"int32\");return{dataId:o.dataId,shape:o.shape,dtype:o.dtype}}function Ew(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{dtype:s}=o;if(s===\"complex64\"){if(n.dtype===\"complex64\")return At({inputs:{x:n},backend:t});let a=Vr(n.shape),i=Ew({inputs:{x:n},backend:t,attrs:{dtype:\"float32\"}}),p=Rr({inputs:{real:i,imag:a},backend:t});return a.dispose(),t.disposeIntermediateTensorInfo(i),p}if(n.dtype===\"complex64\"){let a=Ua({inputs:{input:n},backend:t}),i=Ew({inputs:{x:a},backend:t,attrs:{dtype:s}});return t.disposeIntermediateTensorInfo(a),i}if(!y.hasEncodingLoss(n.dtype,s)){let a=At({inputs:{x:n},backend:t});return{dataId:a.dataId,shape:a.shape,dtype:s}}if(t.shouldExecuteOnCPU([n])){let a=t.texData.get(n.dataId).values,[i,p,u]=PE(a,n.shape,n.dtype,s);return t.makeTensorInfo(i,p,u)}if(s===\"int32\")return TA(n,t);if(s===\"bool\"){let a=t.makeTensorInfo([],\"bool\",y.getTypedArrayFromDType(\"bool\",1)),p=_w({inputs:{a:n,b:a},backend:t});return t.disposeIntermediateTensorInfo(a),p}throw new Error(`Error in Cast: failed to cast ${n.dtype} to ${s}`)}var _A={kernelName:co,backendName:\"webgl\",kernelFunc:Ew};var EA=\"return ceil(x);\",kY=ge({opSnippet:EA,packedOpSnippet:EA,cpuKernelImpl:ME}),$A={kernelName:Uo,backendName:\"webgl\",kernelFunc:kY};var fh=class{constructor(e){this.variableNames=[\"A\"],this.customUniforms=[{name:\"minVal\",type:\"float\"},{name:\"maxVal\",type:\"float\"}],this.outputShape=e,this.userCode=`\n\n void main() {\n float value = getAAtOutCoords();\n if (isnan(value)) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, minVal, maxVal));\n }\n `}};var hh=class{constructor(e){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"minVal\",type:\"float\"},{name:\"maxVal\",type:\"float\"}],this.outputShape=e,this.userCode=`\n void main() {\n vec4 value = getAAtOutCoords();\n\n if (any(isnan(value))) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, vec4(minVal), vec4(maxVal)));\n }\n `}};function NY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{clipValueMin:s,clipValueMax:a}=o,i;O().getBool(\"WEBGL_PACK_CLIP\")?i=new hh(n.shape):i=new fh(n.shape);let p=[[s],[a]];return t.runWebGLProgram(i,[n],n.dtype,p)}var AA={kernelName:lo,backendName:\"webgl\",kernelFunc:NY};var gh=class{constructor(e){this.variableNames=[\"real\",\"imag\"],this.outputShape=e,this.userCode=`\n void main() {\n float re = abs(getRealAtOutCoords());\n float im = abs(getImagAtOutCoords());\n float mx = max(re, im);\n\n // sadly the length function in glsl is not underflow-safe\n // (at least not on Intel GPUs). So the safe solution is\n // to ensure underflow-safety in all cases.\n setOutput(\n mx == 0.0 ? 0.0 : mx * length(vec2(1, min(re, im)/mx))\n );\n }\n `}};function RA(r,e){return{dataId:e.dataId,dtype:e.dtype,shape:r.shape}}function TY(r){let{inputs:e,backend:t}=r,{x:o}=e,n=t.texData.get(o.dataId),s=new gh(o.shape),a=[RA(o,n.complexTensorInfos.real),RA(o,n.complexTensorInfos.imag)];return t.runWebGLProgram(s,a,a[0].dtype)}var FA={kernelName:pp,backendName:\"webgl\",kernelFunc:TY};var xh=class{constructor(e){this.outputShape=[],this.outputShape=S.computeOutShape(e,1),this.variableNames=e.map((a,i)=>`T${i}`);let t=new Array(e.length-1);t[0]=e[0][1];for(let a=1;a`T${g}`);let p=new Array(e.length-1);p[0]=e[0][t];for(let h=1;h= ${p[h-1]}) {\n return getChannel(\n getT${h}(${yh(i,u,g)}),\n vec2(${yh(c,u,g)}));\n }`}let d=p.length,f=p[p.length-1];m+=`\n return getChannel(\n getT${d}(${yh(i,u,f)}),\n vec2(${yh(c,u,f)}));`,this.userCode=`\n float getValue(${i.map(h=>\"int \"+h)}) {\n ${m}\n }\n\n void main() {\n ${s} coords = getOutputCoords();\n vec4 result = vec4(getValue(${a}), 0., 0., 0.);\n\n ${a[n-1]} = ${a[n-1]} + 1;\n if (${a[n-1]} < ${o[n-1]}) {\n result.g = getValue(${a});\n }\n\n ${a[n-2]} = ${a[n-2]} + 1;\n if (${a[n-2]} < ${o[n-2]}) {\n result.a = getValue(${a});\n }\n\n ${a[n-1]} = ${a[n-1]} - 1;\n if (${a[n-2]} < ${o[n-2]} &&\n ${a[n-1]} < ${o[n-1]}) {\n result.b = getValue(${a});\n }\n setOutput(result);\n }\n `}};function yh(r,e,t){let o=r.indexOf(e);return r.map((s,a)=>a===o?`${s} - ${t}`:s).join()}function Mu(r){let{inputs:e,backend:t}=r,{input:o}=e,n=t.texData.get(o.dataId);return At({inputs:{x:n.complexTensorInfos.imag},backend:t})}var DA={kernelName:si,backendName:\"webgl\",kernelFunc:Mu};function fc(r,e,t){let o=r[0].dtype;if(o===\"complex64\"){let d=r.map(b=>Ua({inputs:{input:b},backend:t})),f=r.map(b=>Mu({inputs:{input:b},backend:t})),h=fc(d,e,t),g=fc(f,e,t),x=Rr({inputs:{real:h,imag:g},backend:t});return d.forEach(b=>t.disposeIntermediateTensorInfo(b)),f.forEach(b=>t.disposeIntermediateTensorInfo(b)),t.disposeIntermediateTensorInfo(h),t.disposeIntermediateTensorInfo(g),x}let n=t.shouldExecuteOnCPU(r);if(o===\"string\"&&(n=!0),n){let d=r.map(w=>{let _=[-1,y.sizeFromShape(w.shape.slice(e))];return te({inputs:{x:w},backend:t,attrs:{shape:_}})}),f=d.map(w=>({vals:t.readSync(w.dataId),shape:w.shape})),h=S.computeOutShape(d.map(w=>w.shape),1),g=d[0].shape[0]===1,x=LE(f,h,o,g),b=S.computeOutShape(r.map(w=>w.shape),e),C=t.makeTensorInfo(b,o,x);return d.forEach(w=>t.disposeIntermediateTensorInfo(w)),C}let s=r.filter(d=>y.sizeFromShape(d.shape)>0),a=O().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")&&s[0].shape.length>1;if(s.length===1){let d=a?new Jt(r[0].shape,Qs):new Ar(r[0].shape,Qs);return t.runWebGLProgram(d,r,o)}let i=O().getNumber(\"WEBGL_MAX_TEXTURES_IN_SHADER\");if(s.length>i){let d=[];for(let h=0;hf.shape),e);return t.runWebGLProgram(d,s,o)}let{tensors2D:p,outShape:u}=_Y(s,e,t),c=new xh(p.map(d=>d.shape)),l=t.runWebGLProgram(c,p,o);p.forEach(d=>t.disposeIntermediateTensorInfo(d));let m=te({inputs:{x:l},attrs:{shape:u},backend:t});return t.disposeIntermediateTensorInfo(l),m}function _Y(r,e,t){let o=S.computeOutShape(r.map(s=>s.shape),e);return{tensors2D:r.map(s=>te({inputs:{x:s},attrs:{shape:[-1,y.sizeFromShape(s.shape.slice(e))]},backend:t})),outShape:o}}function $w(r){let{inputs:e,backend:t,attrs:o}=r,{axis:n}=o,s=y.parseAxisParam(n,e[0].shape)[0],a=e.map(u=>u.shape);S.assertParamsConsistent(a,s);let i=S.computeOutShape(e.map(u=>u.shape),s);if(y.sizeFromShape(i)===0)return t.makeTensorInfo(i,e[0].dtype,[]);let p=e.filter(u=>y.sizeFromShape(u.shape)>0);return p.length===1?At({inputs:{x:p[0]},backend:t}):fc(p,s,t)}var OA={kernelName:ys,backendName:\"webgl\",kernelFunc:$w};var hc=class{constructor(e,t=!1,o=null,n=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.outputShape=e.outShape;let a=e.padInfo.top,i=e.padInfo.left,p=e.strideHeight,u=e.strideWidth,c=e.dilationHeight,l=e.dilationWidth,m=e.filterHeight,d=e.filterWidth,f=Math.floor(e.inChannels/4)*4,h=e.inChannels%4,g=e.dataFormat===\"channelsLast\",x=g?1:2,b=g?2:3,C=g?3:1,w=\"\",k=\"\";o&&(n?w=`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${o}\n }`:s?w=`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${o}\n }`:w=`\n float activation(float x) {\n ${o}\n }\n `,k=\"result = activation(result);\");let _=t?\"result += getBiasAtOutCoords();\":\"\";t&&this.variableNames.push(\"bias\"),n&&this.variableNames.push(\"preluActivationWeights\"),s&&this.variableNames.push(\"leakyreluAlpha\"),this.userCode=`\n ${w}\n\n const ivec2 strides = ivec2(${p}, ${u});\n const ivec2 pads = ivec2(${a}, ${i});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d2 = coords[${C}];\n\n ivec2 xRCCorner =\n ivec2(coords[${x}], coords[${b}]) * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, d2) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${m}; wR++) {\n int xR = xRCorner + wR * ${c};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${d}; wC++) {\n int xC = xCCorner + wC * ${l};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${f}; d1 += 4) {\n vec4 wValues = vec4(\n getW(wR, wC, d1, d2),\n getW(wR, wC, d1 + 1, d2),\n getW(wR, wC, d1 + 2, d2),\n getW(wR, wC, d1 + 3, d2)\n );\n\n if (${g}) {\n vec4 xValues = vec4(\n getX(batch, xR, xC, d1),\n getX(batch, xR, xC, d1 + 1),\n getX(batch, xR, xC, d1 + 2),\n getX(batch, xR, xC, d1 + 3)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec4 xValues = vec4(\n getX(batch, d1, xR, xC),\n getX(batch, d1 + 1, xR, xC),\n getX(batch, d1 + 2, xR, xC),\n getX(batch, d1 + 3, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n\n if (${h===1}) {\n\n if (${g}) {\n dotProd +=\n getX(batch, xR, xC, ${f}) *\n getW(wR, wC, ${f}, d2);\n } else {\n dotProd +=\n getX(batch, ${f}, xR, xC) *\n getW(wR, wC, ${f}, d2);\n }\n\n } else if (${h===2}) {\n vec2 wValues = vec2(\n getW(wR, wC, ${f}, d2),\n getW(wR, wC, ${f} + 1, d2)\n );\n\n if (${g}) {\n vec2 xValues = vec2(\n getX(batch, xR, xC, ${f}),\n getX(batch, xR, xC, ${f} + 1)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec2 xValues = vec2(\n getX(batch, ${f}, xR, xC),\n getX(batch, ${f} + 1, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n } else if (${h===3}) {\n vec3 wValues = vec3(\n getW(wR, wC, ${f}, d2),\n getW(wR, wC, ${f} + 1, d2),\n getW(wR, wC, ${f} + 2, d2)\n );\n\n if (${g}) {\n vec3 xValues = vec3(\n getX(batch, xR, xC, ${f}),\n getX(batch, xR, xC, ${f} + 1),\n getX(batch, xR, xC, ${f} + 2)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec3 xValues = vec3(\n getX(batch, ${f}, xR, xC),\n getX(batch, ${f} + 1, xR, xC),\n getX(batch, ${f} + 2, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n }\n }\n }\n\n float result = dotProd;\n ${_}\n ${k}\n setOutput(result);\n }\n `}},Ch=class{constructor(e){this.variableNames=[\"x\",\"W\"],this.outputShape=e.outShape;let t=e.padInfo.front,o=e.padInfo.top,n=e.padInfo.left,s=e.strideDepth,a=e.strideHeight,i=e.strideWidth,p=e.dilationDepth,u=e.dilationHeight,c=e.dilationWidth,l=e.filterDepth,m=e.filterHeight,d=e.filterWidth,f=Math.floor(e.inChannels/4)*4,h=e.inChannels%4;this.userCode=`\n const ivec3 strides = ivec3(${s}, ${a}, ${i});\n const ivec3 pads = ivec3(${t}, ${o}, ${n});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d2 = coords.u;\n\n ivec3 xFRCCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xFCorner = xFRCCorner.x;\n int xRCorner = xFRCCorner.y;\n int xCCorner = xFRCCorner.z;\n\n // Convolve x(?, ?, ?, d1) with w(:, :, :, d1, d2) to get\n // y(yF, yR, yC, d2). ? = to be determined. : = across all\n // values in that axis.\n float dotProd = 0.0;\n for (int wF = 0; wF < ${l}; wF++) {\n int xF = xFCorner + wF * ${p};\n\n if (xF < 0 || xF >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${m}; wR++) {\n int xR = xRCorner + wR * ${u};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${d}; wC++) {\n int xC = xCCorner + wC * ${c};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${f}; d1 += 4) {\n vec4 xValues = vec4(\n getX(batch, xF, xR, xC, d1),\n getX(batch, xF, xR, xC, d1 + 1),\n getX(batch, xF, xR, xC, d1 + 2),\n getX(batch, xF, xR, xC, d1 + 3)\n );\n vec4 wValues = vec4(\n getW(wF, wR, wC, d1, d2),\n getW(wF, wR, wC, d1 + 1, d2),\n getW(wF, wR, wC, d1 + 2, d2),\n getW(wF, wR, wC, d1 + 3, d2)\n );\n\n dotProd += dot(xValues, wValues);\n }\n\n if (${h===1}) {\n dotProd +=\n getX(batch, xF, xR, xC, ${f}) *\n getW(wF, wR, wC, ${f}, d2);\n } else if (${h===2}) {\n vec2 xValues = vec2(\n getX(batch, xF, xR, xC, ${f}),\n getX(batch, xF, xR, xC, ${f} + 1)\n );\n vec2 wValues = vec2(\n getW(wF, wR, wC, ${f}, d2),\n getW(wF, wR, wC, ${f} + 1, d2)\n );\n dotProd += dot(xValues, wValues);\n } else if (${h===3}) {\n vec3 xValues = vec3(\n getX(batch, xF, xR, xC, ${f}),\n getX(batch, xF, xR, xC, ${f} + 1),\n getX(batch, xF, xR, xC, ${f} + 2)\n );\n vec3 wValues = vec3(\n getW(wF, wR, wC, ${f}, d2),\n getW(wF, wR, wC, ${f} + 1, d2),\n getW(wF, wR, wC, ${f} + 2, d2)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}};var gc=class{constructor(e,t=!1,o=null,n=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=e.outShape,this.enableShapeUniforms=ct(this.outputShape.length);let a=e.padInfo.left,i=e.strideWidth,p=e.dilationWidth,u=e.filterHeight,c=e.filterWidth,l=c,m=`\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;`;for(let g=0;g=0 && xR < inDims[0]) {\n `;for(let g=0;g<(l+1)/2;g++){let x=g*2;if(m+=`\n xC = xCCorner + ${x*p};\n `,i===1){if(x= 0 && xCOffset < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n `,p===1&&x>0?m+=`\n xC${x} = vec4(xTexelC${x-2}.zw, xTexelC${x}.xy);\n `:m+=`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${x} = vec4(previous.zw, xTexelC${x}.xy);\n } else {\n xC${x} = vec4(0.0, 0.0, xTexelC${x}.xy);\n }\n `):m+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n xC${x} = xTexelC${x};\n `,x+1= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n `,p>1?m+=`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${x+1} = vec4(previous.zw, xTexelC${x+1}.xy);\n } else {\n xC${x+1} = vec4(0.0, 0.0, xTexelC${x+1}.xy);\n }\n `:m+=`\n xC${x+1} = vec4(xTexelC${x}.zw, xTexelC${x+1}.xy);\n `):b===1?m+=`\n xC${x+1} = xTexelC${x};\n `:m+=`\n xCOffset = xC + ${b};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x+1} = xTexelC${x+1};\n `}}else x= 0 && xCOffset < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x} = vec4(xTexelC${x}.zw, xTexelC${x+1}.zw);\n `,x+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${x+1} = vec4(xTexelC${x+1}.xy, final.xy);\n `)):(m+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x} = vec4(\n xTexelC${x}.xy, xTexelC${x+1}.xy);\n `,x+1= 0) {\n // Use custom imod instead mod. On Intel GPU, mod may generate\n // unexpected value.\n // https://github.com/tensorflow/tfjs/issues/5447\n offsetX = imod(blockIndex, outWidth) * stride[1] - pad[1];\n d1 = offsetX + dilation[1] * (imod(pos, itemsPerBlockRow) /\n inChannels);\n\n if(d1 < inputShape[${i}] && d1 >= 0) {\n\n ch = imod(pos, inChannels);\n\n if (${s}) {\n innerDims = vec2(d1, ch);\n result[${c*2+l}] = getChannel(\n getA(rc.x, d0, int(innerDims.x),\n int(innerDims.y)), innerDims);\n } else {\n innerDims = vec2(d0, d1);\n result[${c*2+l}] = getChannel(\n getA(rc.x, ch, int(innerDims.x),\n int(innerDims.y)), innerDims);\n }\n }\n }\n }\n `;this.userCode=`\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0);\n\n int blockIndex, pos, offsetY, d0, offsetX, d1, ch;\n vec2 innerDims;\n\n ${u}\n\n ${n.output} = result;\n }\n `}};function wh(r,e){let t=r.length;return t>=3?e?[...r.slice(0,-3),r[t-3]*r[t-2],r[t-1]]:[...r.slice(0,-3),r[t-3],r[t-2]*r[t-1]]:!e&&t===1&&r[0]>1?[r[0],1]:null}function Ih({x:r,filter:e,convInfo:t,backend:o,bias:n=null,preluActivationWeights:s=null,leakyreluAlpha:a=0,activation:i=null}){let p=r.shape,u=o.texData.get(r.dataId),c=t.inChannels,l=p[0]*p[1]*p[2],m=t.outChannels,d=t.dataFormat===\"channelsLast\",f=!1,h=!1,g,x=[];if(s!=null){let w=wh(s.shape,d);w!=null&&(s=te({inputs:{x:s},backend:o,attrs:{shape:w}}),x.push(s))}if(n!=null){let w=wh(n.shape,d);w!=null&&(n=te({inputs:{x:n},backend:o,attrs:{shape:w}}),x.push(n))}if(!((l===1||m===1)&&c>Nw)&&u.isPacked&&d&&u.texture!=null&&p[2]%2!==0&&y.arraysEqual(u.shape.slice(-3),p.slice(-3))){let w=p[0]*p[1]*(p[2]+1),k={dataId:r.dataId,shape:[1,w,t.inChannels],dtype:r.dtype},_=u.shape;u.shape=u.shape.slice(),u.shape[u.shape.length-2]++,y.assert(Li(u.shape,k.shape),()=>`packed reshape ${u.shape} to ${k.shape} isn't free`);let $=te({inputs:{x:e},backend:o,attrs:{shape:[1,t.inChannels,t.outChannels]}});x.push($);let A=Pu({a:k,b:$,backend:o,transposeA:f,transposeB:h,bias:n,activation:i,preluActivationWeights:s,leakyreluAlpha:a}),R=o.texData.get(A.dataId);y.assert(R.isPacked,()=>\"batchMatMul result is expected to be packed\"),u.shape=_,R.shape=t.outShape,g=At({inputs:{x:A},backend:o}),g.shape=t.outShape,x.push(A)}else{let w=t.outHeight*t.outWidth,k=te({inputs:{x:r},backend:o,attrs:{shape:d?[t.batchSize,w,t.inChannels]:[t.batchSize,t.inChannels,w]}}),_=te({inputs:{x:e},backend:o,attrs:{shape:[1,t.inChannels,t.outChannels]}}),$=Pu({a:d?k:_,b:d?_:k,transposeA:!d,transposeB:h,backend:o,bias:n,activation:i,preluActivationWeights:s,leakyreluAlpha:a});g=te({inputs:{x:$},backend:o,attrs:{shape:t.outShape}}),x.push(k),x.push(_),x.push($)}for(let w of x)o.disposeIntermediateTensorInfo(w);return g}function vh({x:r,filter:e,convInfo:t,backend:o,bias:n=null,preluActivationWeights:s=null,leakyreluAlpha:a=0,activation:i=null}){let{filterWidth:p,filterHeight:u,inChannels:c,outWidth:l,outHeight:m,dataFormat:d}=t,f=d===\"channelsLast\",h=p*u*c,g=m*l,x=[t.batchSize,h,g],b=!0,C=!1,w=[];if(s!=null){let H=wh(s.shape,f);H!=null&&(s=te({inputs:{x:s},backend:o,attrs:{shape:H}}),w.push(s))}if(n!=null){let H=wh(n.shape,f);H!=null&&(n=te({inputs:{x:n},backend:o,attrs:{shape:H}}),w.push(n))}let k=te({inputs:{x:e},backend:o,attrs:{shape:[1,h,y.sizeFromShape(e.shape)/h]}});w.push(k);let _=new Sh(x,t),$=[r.shape,[t.padInfo.top,t.padInfo.left],[t.strideHeight,t.strideWidth],[t.dilationHeight,t.dilationWidth],[t.inChannels],[t.filterWidth*t.inChannels],[t.outWidth]],A=o.runWebGLProgram(_,[r],\"float32\",$),R=te({inputs:{x:A},backend:o,attrs:{shape:x}});w.push(A),w.push(R);let D=n!=null,P=s!=null,M=i===\"leakyrelu\",L=i?Wa(i,!0):null,W=new dc(f?R.shape:k.shape,f?k.shape:R.shape,f?[t.batchSize,g,t.outChannels]:[t.batchSize,t.outChannels,g],b,C,D,L,P,M),V=f?[R,k]:[k,R];if(n&&V.push(n),P&&V.push(s),M){let H=o.makeTensorInfo([],\"float32\",y.createScalarValue(a,\"float32\"));V.push(H),w.push(H)}let U=o.runWebGLProgram(W,V,\"float32\"),q=te({inputs:{x:U},backend:o,attrs:{shape:t.outShape}});w.push(U);for(let H of w)o.disposeIntermediateTensorInfo(H);return q}function EY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s}=e,{strides:a,pad:i,dataFormat:p,dilations:u,dimRoundingMode:c}=o,l=S.convertConv2DDataFormat(p),m=S.computeConv2DInfo(n.shape,s.shape,a,u,i,c,!1,l),d;if(m.filterHeight===1&&m.filterWidth===1&&m.dilationHeight===1&&m.dilationWidth===1&&m.strideHeight===1&&m.strideWidth===1&&(m.padInfo.type===\"SAME\"||m.padInfo.type===\"VALID\"))d=Ih({x:n,filter:s,convInfo:m,backend:t});else if(m.strideWidth<=2&&l===\"channelsLast\"&&O().getBool(\"WEBGL_EXP_CONV\")){let h=new gc(m),g=[[m.padInfo.top,m.padInfo.left],[m.strideHeight,m.strideWidth],[m.dilationHeight,m.dilationWidth],[m.inHeight,m.inWidth]];d=t.runWebGLProgram(h,[n,s],\"float32\",g)}else if(O().getBool(\"WEBGL_CONV_IM2COL\"))d=vh({x:n,filter:s,convInfo:m,backend:t});else{let h=new hc(m);d=t.runWebGLProgram(h,[n,s],\"float32\")}let f=te({inputs:{x:d},backend:t,attrs:{shape:m.outShape}});return t.disposeIntermediateTensorInfo(d),f}var PA={kernelName:Go,backendName:\"webgl\",kernelFunc:EY};var kh=class{constructor(e){this.variableNames=[\"x\",\"dy\"],this.outputShape=e.filterShape;let t=e.strideHeight,o=e.strideWidth,n=e.padInfo.top,s=e.padInfo.left,a=e.dataFormat===\"channelsLast\";this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int d2 = coords.w;\n\n // Convolve x(?, ?, d1) with dy(:, :, d2) to get dw(wR, wC, d1, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${t} - ${n};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${o} - ${s};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n if (${a}) {\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n } else {\n float dyValue = getDy(b, d2, yR, yC);\n float xValue = getX(b, d1, xR, xC);\n dotProd += (xValue * dyValue);\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}},Nh=class{constructor(e){this.variableNames=[\"dy\",\"W\"],this.outputShape=e.inShape;let t=e.filterHeight,o=e.filterWidth,n=e.strideHeight,s=e.strideWidth,a=e.dataFormat===\"channelsLast\",i=t-1-e.padInfo.top,p=o-1-e.padInfo.left,u=a?1:2,c=a?2:3,l=a?3:1;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${p});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[${l}];\n\n ivec2 dyCorner = ivec2(coords[${u}], coords[${c}]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${o}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${o} - 1 - wC;\n\n for (int d2 = 0; d2 < ${e.outChannels}; d2++) {\n\n if (${a}) {\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n } else {\n float xValue = getDy(batch, d2, idyR, idyC);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}},Th=class{constructor(e){this.variableNames=[\"x\",\"dy\"],this.outputShape=e.filterShape;let t=e.strideDepth,o=e.strideHeight,n=e.strideWidth,s=e.padInfo.front,a=e.padInfo.top,i=e.padInfo.left;this.userCode=`\n void main() {\n ivec5 coords = getOutputCoords();\n int wF = coords.x;\n int wR = coords.y;\n int wC = coords.z;\n int d1 = coords.w;\n int d2 = coords.u;\n\n float dotProd = 0.0;\n\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yF = 0; yF < ${e.outDepth}; yF++) {\n int xF = wF + yF * ${t} - ${s};\n\n if (xF < 0 || xF >= ${e.inDepth}) {\n continue;\n }\n\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${o} - ${a};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${i};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yF, yR, yC, d2);\n float xValue = getX(b, xF, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}},_h=class{constructor(e){this.variableNames=[\"dy\",\"W\"],this.outputShape=e.inShape;let t=e.filterDepth,o=e.filterHeight,n=e.filterWidth,s=e.strideDepth,a=e.strideHeight,i=e.strideWidth,p=t-1-e.padInfo.front,u=o-1-e.padInfo.top,c=n-1-e.padInfo.left;this.userCode=`\n const ivec3 pads = ivec3(${p}, ${u}, ${c});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.u;\n\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyFCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n float dotProd = 0.0;\n for (int wF = 0; wF < ${t}; wF++) {\n float dyF = float(dyFCorner + wF) / ${s}.0;\n\n if (dyF < 0.0 || dyF >= ${e.outDepth}.0 || fract(dyF) > 0.0) {\n continue;\n }\n int idyF = int(dyF);\n\n int wFPerm = ${t} - 1 - wF;\n\n for (int wR = 0; wR < ${o}; wR++) {\n float dyR = float(dyRCorner + wR) / ${a}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${o} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${i}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n for (int d2 = 0; d2 < ${e.outChannels}; d2++) {\n float xValue = getDy(batch, idyF, idyR, idyC, d2);\n float wValue = getW(wFPerm, wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function $Y(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,dy:s}=e,{strides:a,pad:i,dataFormat:p,dimRoundingMode:u,filterShape:c}=o,l=S.convertConv2DDataFormat(p),m=S.computeConv2DInfo(n.shape,c,a,1,i,u,!1,l),d=new kh(m);return t.runWebGLProgram(d,[n,s],\"float32\")}var MA={kernelName:cp,backendName:\"webgl\",kernelFunc:$Y};function AY(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,filter:s}=e,{inputShape:a,strides:i,pad:p,dataFormat:u,dimRoundingMode:c}=o,l=S.convertConv2DDataFormat(u),m=S.computeConv2DInfo(a,s.shape,i,1,p,c,!1,l),d=new Nh(m);return t.runWebGLProgram(d,[n,s],\"float32\")}var LA={kernelName:Ho,backendName:\"webgl\",kernelFunc:AY};function RY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s}=e,{strides:a,pad:i,dilations:p}=o,u=S.computeConv3DInfo(n.shape,s.shape,a,p,i),c=new Ch(u);return t.runWebGLProgram(c,[n,s],\"float32\")}var BA={kernelName:lp,backendName:\"webgl\",kernelFunc:RY};function FY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,dy:s}=e,{strides:a,pad:i,filterShape:p}=o,u=S.computeConv3DInfo(n.shape,p,a,1,i),c=new Th(u);return t.runWebGLProgram(c,[n,s],\"float32\")}var VA={kernelName:vm,backendName:\"webgl\",kernelFunc:FY};function DY(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,filter:s}=e,{pad:a,strides:i,inputShape:p}=o,u=S.computeConv3DInfo(p,s.shape,i,1,a),c=new _h(u);return t.runWebGLProgram(c,[n,s],\"float32\")}var zA={kernelName:mp,backendName:\"webgl\",kernelFunc:DY};var OY=_o+`\n return cos(x);\n`,PY=ge({opSnippet:OY}),WA={kernelName:qo,backendName:\"webgl\",kernelFunc:PY};var MY=`\n float e2x = exp(-x);\n return (e2x + 1.0 / e2x) / 2.0;\n`,LY=ge({opSnippet:MY}),UA={kernelName:Ko,backendName:\"webgl\",kernelFunc:LY};var Eh=class{constructor(e,t,o,n,s){this.variableNames=[\"Image\",\"Boxes\",\"BoxInd\"],this.outputShape=[];let[a,i,p,u]=e,[c]=t,[l,m]=o;this.outputShape=[c,l,m,u];let d=n===\"bilinear\"?1:0,[f,h]=[`${i-1}.0`,`${p-1}.0`],[g,x,b]=l>1?[`${(i-1)/(l-1)}`,\"(y2-y1) * height_ratio\",`y1*${f} + float(y)*(height_scale)`]:[\"0.0\",\"0.0\",`0.5 * (y1+y2) * ${f}`],[C,w,k]=m>1?[`${(p-1)/(m-1)}`,\"(x2-x1) * width_ratio\",`x1*${h} + float(x)*(width_scale)`]:[\"0.0\",\"0.0\",`0.5 * (x1+x2) * ${h}`];this.userCode=`\n const float height_ratio = float(${g});\n const float width_ratio = float(${C});\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int y = coords[1];\n int x = coords[2];\n int d = coords[3];\n\n // get box vals\n float y1 = getBoxes(b,0);\n float x1 = getBoxes(b,1);\n float y2 = getBoxes(b,2);\n float x2 = getBoxes(b,3);\n\n // get image in batch index\n int bInd = round(getBoxInd(b));\n if(bInd < 0 || bInd >= ${a}) {\n return;\n }\n\n float height_scale = ${x};\n float width_scale = ${w};\n\n float in_y = ${b};\n if( in_y < 0.0 || in_y > ${f} ) {\n setOutput(float(${s}));\n return;\n }\n float in_x = ${k};\n if( in_x < 0.0 || in_x > ${h} ) {\n setOutput(float(${s}));\n return;\n }\n\n vec2 sourceFracIndexCR = vec2(in_x,in_y);\n if(${d} == 1) {\n // Compute the four integer indices.\n ivec2 sourceFloorCR = ivec2(sourceFracIndexCR);\n ivec2 sourceCeilCR = ivec2(ceil(sourceFracIndexCR));\n\n float topLeft = getImage(b, sourceFloorCR.y, sourceFloorCR.x, d);\n float bottomLeft = getImage(b, sourceCeilCR.y, sourceFloorCR.x, d);\n float topRight = getImage(b, sourceFloorCR.y, sourceCeilCR.x, d);\n float bottomRight = getImage(b, sourceCeilCR.y, sourceCeilCR.x, d);\n\n vec2 fracCR = sourceFracIndexCR - vec2(sourceFloorCR);\n\n float top = topLeft + (topRight - topLeft) * fracCR.x;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracCR.x;\n float newValue = top + (bottom - top) * fracCR.y;\n setOutput(newValue);\n } else {\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestCR = ivec2(floor(\n sourceFracIndexCR + vec2(0.5,0.5)));\n float newValue = getImage(b, sourceNearestCR.y, sourceNearestCR.x, d);\n setOutput(newValue);\n }\n }\n `}};var BY=r=>{let{inputs:e,backend:t,attrs:o}=r,{image:n,boxes:s,boxInd:a}=e,{cropSize:i,method:p,extrapolationValue:u}=o,c=new Eh(n.shape,s.shape,i,p,u);return t.runWebGLProgram(c,[n,s,a],\"float32\")},GA={kernelName:Yo,backendName:\"webgl\",kernelFunc:BY};var Lu;(function(r){r.Prod=\"*\",r.Sum=\"+\"})(Lu||(Lu={}));var El=class{constructor(e,t,o,n){this.op=e,this.outputShape=t,this.variableNames=[\"x\"],this.customUniforms=[{name:\"index\",type:\"float\"}];let s=this.outputShape.length,a=this.op===Lu.Prod?\"1.0\":\"0.0\",i=o?a:`getX(${HA(s,\"coords\",this.op)})`,p=this.outputShape[this.outputShape.length-1],u=\"\",c=\"\";o?(u=n?`end != ${p-1}`:\"end != 0\",c=n?\"end + 1\":\"end - 1\"):(u=n?`end + pow2 < ${p}`:\"end >= pow2\",c=n?\"end + pow2\":\"end - pow2\"),this.userCode=`\n void main() {\n ${_e(s)} coords = getOutputCoords();\n int end = ${qA(s,\"coords\",this.op)};\n float val = ${i};\n int pow2 = int(pow(2.0, index));\n if (${u}) {\n int idx = ${c};\n ${qA(s,\"coords\",this.op)} = idx;\n val ${this.op}= getX(${HA(s,\"coords\",this.op)});\n }\n setOutput(val);\n }\n `}};function HA(r,e,t){if(r===1)return`${e}`;if(r===2)return`${e}.x, ${e}.y`;if(r===3)return`${e}.x, ${e}.y, ${e}.z`;if(r===4)return`${e}.x, ${e}.y, ${e}.z, ${e}.w`;throw new Error(`Cumulative ${t} for rank ${r} is not yet supported`)}function qA(r,e,t){if(r===1)return`${e}`;if(r===2)return`${e}.y`;if(r===3)return`${e}.z`;if(r===4)return`${e}.w`;throw new Error(`Cumulative ${t} for rank ${r} is not yet supported`)}function $h(r,e,t,o,n,s){let a=e.shape.length,i=S.getAxesPermutation([o],a),p=e;i!=null&&(p=xt({inputs:{x:e},backend:t,attrs:{perm:i}}));let u=S.getInnerMostAxes(1,a)[0];if(u!==a-1)throw new Error(`WebGL cumprod shader expects an inner-most axis=${e.shape.length-1} but got axis=${o}`);let c=p.shape[u],l=At({inputs:{x:p},backend:t});for(let m=0;m<=Math.ceil(Math.log2(c))-1;m++){let d=new El(r,p.shape,!1,s),f=[[m]],h=l;l=t.runWebGLProgram(d,[l],l.dtype,f),t.disposeIntermediateTensorInfo(h)}if(n){let m=new El(r,p.shape,n,s),d=l;l=t.runWebGLProgram(m,[l],l.dtype),t.disposeIntermediateTensorInfo(d)}if(i!=null){let m=S.getUndoAxesPermutation(i),d=xt({inputs:{x:l},backend:t,attrs:{perm:m}});return t.disposeIntermediateTensorInfo(l),t.disposeIntermediateTensorInfo(p),d}return l}function VY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,exclusive:a,reverse:i}=o;return $h(Lu.Prod,n,t,s,a,i)}var KA={kernelName:jo,backendName:\"webgl\",kernelFunc:VY};function zY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,exclusive:a,reverse:i}=o;return $h(Lu.Sum,n,t,s,a,i)}var jA={kernelName:Xo,backendName:\"webgl\",kernelFunc:zY};function WY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,weights:s}=e,{size:a,binaryOutput:i}=o;if(n.shape.length===1){let p=t.readSync(n.dataId),u=t.readSync(s.dataId),c=qf(p,u,s.dtype,s.shape,a);return t.makeTensorInfo([a],s.dtype,c)}else if(n.shape.length===2){let p=t.bufferSync(n),u=t.bufferSync(s),c=OE(p,u,a,i);return t.makeTensorInfo(c.shape,s.dtype,c.values)}throw new Error(`Error in denseBincount: input must be at most rank 2, but got rank${n.shape.length}.`)}var XA={kernelName:ti,backendName:\"webgl\",kernelFunc:WY};var Ah=class{constructor(e,t,o){this.variableNames=[\"x\"],this.outputShape=[],this.outputShape=e,this.blockSize=t,this.dataFormat=o,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int h = ${this.getHeightCoordString()};\n int w = ${this.getWidthCoordString()};\n int d = ${this.getDepthCoordString()};\n\n int in_h = h / ${t};\n int offset_h = imod(h, ${t});\n int in_w = w / ${t};\n int offset_w = imod(w, ${t});\n int offset_d = (offset_h * ${t} + offset_w) *\n ${this.getOutputDepthSize()};\n int in_d = d + offset_d;\n\n float result = ${this.getInputSamplingString()};\n setOutput(result);\n }\n `}getHeightCoordString(){return this.dataFormat===\"NHWC\"?\"coords[1]\":\"coords[2]\"}getWidthCoordString(){return this.dataFormat===\"NHWC\"?\"coords[2]\":\"coords[3]\"}getDepthCoordString(){return this.dataFormat===\"NHWC\"?\"coords[3]\":\"coords[1]\"}getOutputDepthSize(){return this.dataFormat===\"NHWC\"?this.outputShape[3]:this.outputShape[1]}getInputSamplingString(){return this.dataFormat===\"NHWC\"?\"getX(b, in_h, in_w, in_d)\":\"getX(b, in_d, in_h, in_w)\"}};function UY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{blockSize:s,dataFormat:a}=o,i=n.shape[0],p=a===\"NHWC\"?n.shape[1]:n.shape[2],u=a===\"NHWC\"?n.shape[2]:n.shape[3],c=a===\"NHWC\"?n.shape[3]:n.shape[1],l=p*s,m=u*s,d=c/(s*s),f=a===\"NHWC\"?[i,l,m,d]:[i,d,l,m],h=new Ah(f,s,a);return t.runWebGLProgram(h,[n],n.dtype)}var YA={kernelName:Qo,backendName:\"webgl\",kernelFunc:UY};var xc=class{constructor(e,t=!1,o=null,n=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=e.outShape,this.enableShapeUniforms=ct(this.outputShape.length);let a=e.filterHeight,i=e.filterWidth,p=e.outChannels/e.inChannels,u=\"\",c=\"\";o&&(n?u=`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${o}\n }`:s?u=`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${o}\n }`:u=`\n float activation(float x) {\n ${o}\n }\n `,c=\"result = activation(result);\");let l=t?\"result += getBiasAtOutCoords();\":\"\";t&&this.variableNames.push(\"bias\"),n&&this.variableNames.push(\"preluActivationWeights\"),s&&this.variableNames.push(\"leakyreluAlpha\"),this.userCode=`\n ${u}\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n ivec2 xRCCorner = coords.yz * strides - pads;\n int d2 = coords.w;\n int d1 = d2 / ${p};\n int q = d2 - d1 * ${p};\n\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, q) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n // TO DO(dsmilkov): Flatten the two for loops and vec4 the operations.\n for (int wR = 0; wR < ${a}; wR++) {\n int xR = xRCorner + wR * dilations[0];\n\n if (xR < 0 || xR >= inDims[0]) {\n continue;\n }\n\n for (int wC = 0; wC < ${i}; wC++) {\n int xC = xCCorner + wC * dilations[1];\n\n if (xC < 0 || xC >= inDims[1]) {\n continue;\n }\n\n float xVal = getX(batch, xR, xC, d1);\n float wVal = getW(wR, wC, d1, q);\n dotProd += xVal * wVal;\n }\n }\n\n float result = dotProd;\n ${l}\n ${c}\n setOutput(result);\n }\n `}};var yc=class{constructor(e,t=!1,o=null,n=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=e.outShape,this.enableShapeUniforms=ct(this.outputShape.length);let a=e.outChannels/e.inChannels,i=e.padInfo.left,p=e.strideWidth,u=e.dilationWidth,c=e.filterHeight,l=e.filterWidth,m=l,d=`\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;`;for(let x=0;x=0 && xR < inDims[0]) {\n `;for(let x=0;x<(m+1)/2;x++){let b=x*2;if(d+=`\n xC = xCCorner + ${b*u};\n `,p===1){if(b= 0 && xCOffset < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n `,u===1&&b>0?d+=`\n xC${b} = vec4(xTexelC${b-2}.zw, xTexelC${b}.xy);\n `:d+=`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${b} = vec4(previous.zw, xTexelC${b}.xy);\n } else {\n xC${b} = vec4(0.0, 0.0, xTexelC${b}.xy);\n }\n `):d+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n xC${b} = xTexelC${b};\n `,b+1= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n `,u>1?d+=`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${b+1} = vec4(previous.zw, xTexelC${b+1}.xy);\n } else {\n xC${b+1} = vec4(0.0, 0.0, xTexelC${b+1}.xy);\n }\n `:d+=`\n xC${b+1} = vec4(xTexelC${b}.zw, xTexelC${b+1}.xy);\n `):C===1?d+=`\n xC${b+1} = xTexelC${b};\n `:d+=`\n xCOffset = xC + ${C};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b+1} = xTexelC${b+1};\n `}}else b= 0 && xCOffset < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b} = vec4(xTexelC${b}.zw, xTexelC${b+1}.zw);\n `,b+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${b+1} = vec4(xTexelC${b+1}.xy, final.xy);\n `)):(d+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b} = vec4(\n xTexelC${b}.xy, xTexelC${b+1}.xy);\n `,b+1`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${a} and dilations '${c}'`);let l=S.computeConv2DInfo(n.shape,s.shape,a,c,i,u,!0),m;O().getBool(\"WEBGL_PACK_DEPTHWISECONV\")&&l.strideWidth<=2&&l.outChannels/l.inChannels===1?m=new yc(l):m=new xc(l);let d=[[l.padInfo.top,l.padInfo.left],[l.strideHeight,l.strideWidth],[l.dilationHeight,l.dilationWidth],[l.inHeight,l.inWidth]];return t.runWebGLProgram(m,[n,s],\"float32\",d)}var QA={kernelName:Zo,backendName:\"webgl\",kernelFunc:GY};var Rh=class{constructor(e){this.variableNames=[\"x\",\"dy\"],this.outputShape=e.filterShape;let t=e.strideHeight,o=e.strideWidth,n=e.padInfo.top,s=e.padInfo.left,a=e.outChannels/e.inChannels;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int dm = coords.w;\n int d2 = d1 * ${a} + dm;\n\n float dotProd = 0.0;\n\n // TO DO: Vec4 over the batch size\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${t} - ${n};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${o} - ${s};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n setOutput(dotProd);\n }\n `}},Fh=class{constructor(e){this.variableNames=[\"dy\",\"W\"],this.outputShape=e.inShape;let t=e.filterHeight,o=e.filterWidth,n=e.strideHeight,s=e.strideWidth,a=t-1-e.padInfo.top,i=o-1-e.padInfo.left,p=e.outChannels/e.inChannels;this.userCode=`\n const ivec2 pads = ivec2(${a}, ${i});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n ivec2 dyCorner = coords.yz - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n float dotProd = 0.0;\n\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${o}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${o} - 1 - wC;\n\n // TO DO: Vec4 over the channelMul\n for (int dm = 0; dm < ${p}; dm++) {\n int d2 = d1 * ${p} + dm;\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, dm);\n dotProd += xValue * wValue;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function HY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,dy:s}=e,{strides:a,dilations:i,pad:p,dimRoundingMode:u,filterShape:c}=o,l=S.computeConv2DInfo(n.shape,c,a,i,p,u,!0),m=new Rh(l);return t.runWebGLProgram(m,[n,s],\"float32\")}var ZA={kernelName:dp,backendName:\"webgl\",kernelFunc:HY};function qY(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,filter:s}=e,{strides:a,dilations:i,pad:p,dimRoundingMode:u,inputShape:c}=o,l=S.computeConv2DInfo(c,s.shape,a,i,p,u,!0),m=new Fh(l);return t.runWebGLProgram(m,[n,s],\"float32\")}var JA={kernelName:fp,backendName:\"webgl\",kernelFunc:qY};var Dh=class{constructor(e){this.variableNames=[\"X\"],this.outputShape=[e,e],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n float val = coords[0] == coords[1] ? getX(coords[0]) : 0.0;\n setOutput(val);\n }\n `}};function KY(r){let{inputs:e,backend:t}=r,{x:o}=e,n=[...o.shape,...o.shape],s=y.sizeFromShape(o.shape),a=te({inputs:{x:o},backend:t,attrs:{shape:[s]}}),i=new Dh(s),p=t.runWebGLProgram(i,[a],a.dtype),u=te({inputs:{x:p},backend:t,attrs:{shape:n}});return t.disposeIntermediateTensorInfo(a),t.disposeIntermediateTensorInfo(p),u}var eR={kernelName:hp,backendName:\"webgl\",kernelFunc:KY};var Oh=class{constructor(e){this.variableNames=[\"x\",\"W\"],this.outputShape=e.outShape;let{inHeight:t,inWidth:o,padInfo:n,strideHeight:s,strideWidth:a,filterHeight:i,filterWidth:p,dilationHeight:u,dilationWidth:c}=e,{top:l,left:m}=n;this.userCode=`\n const ivec2 strides = ivec2(${s}, ${a});\n const ivec2 pads = ivec2(${l}, ${m});\n const float neg_infinity = -3.4e38;\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.w;\n ivec2 outTopLeftCorner =\n coords.yz * strides - pads;\n int hBeg = outTopLeftCorner.x;\n int wBeg = outTopLeftCorner.y;\n\n float curVal = neg_infinity;\n for (int h = 0; h < ${i}; h++) {\n int hIn = hBeg + h * ${u};\n\n if (hIn >= 0 && hIn < ${t}) {\n for (int w = 0; w < ${p}; w++) {\n int wIn = wBeg + w * ${c};\n\n if (wIn >= 0 && wIn < ${o}) {\n float xVal = getX(batch, hIn, wIn, d1);\n float wVal = getW(h, w, d1);\n\n float val = xVal + wVal;\n if (val > curVal) {\n curVal = val;\n }\n }\n }\n }\n }\n\n float result = curVal;\n setOutput(result);\n }\n `}};function jY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s}=e,{strides:a,pad:i,dilations:p}=o,u=S.computeDilation2DInfo(n.shape,s.shape,a,i,\"NHWC\",p),c,l=new Oh(u);c=t.runWebGLProgram(l,[n,s],\"float32\");let m=te({inputs:{x:c},backend:t,attrs:{shape:u.outShape}});return t.disposeIntermediateTensorInfo(c),m}var tR={kernelName:gp,backendName:\"webgl\",kernelFunc:jY};function XY(r){let{inputs:e,backend:t,attrs:o}=r,{equation:n}=o,s=e,{allDims:a,summedDims:i,idDims:p}=S.decodeEinsumEquation(n,s.length);S.checkEinsumDimSizes(a.length,p,s);let{path:u,steps:c}=S.getEinsumComputePath(i,p),l=c.length,m=null,d=a.length,f=[];for(let h=0;h=0&&(m=Ou({inputs:{x:m},backend:t,attrs:{axis:u[h]-(a.length-d),keepDims:!1}}),f.push(m)),d--)}for(let h of f)h!==m&&t.disposeIntermediateTensorInfo(h);return m}var rR={kernelName:ri,backendName:\"webgl\",kernelFunc:XY};var YY=\"return (x >= 0.0) ? x : (exp(x) - 1.0);\",QY=`\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n`,ZY=ge({opSnippet:YY,packedOpSnippet:QY}),oR={kernelName:en,backendName:\"webgl\",kernelFunc:ZY};var JY=\"return (b >= 1.0) ? a : a * (b + 1.0);\",eQ=`\n vec4 bGTEZero = vec4(greaterThanEqual(b, vec4(0.)));\n return (bGTEZero * a) + ((vec4(1.0) - bGTEZero) * (a * (b + vec4(1.0))));\n`,tQ=r=>{let{inputs:e,backend:t}=r,{dy:o,y:n}=e,s=O().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new To(eQ,o.shape,n.shape):new io(JY,o.shape,n.shape);return t.runWebGLProgram(s,[o,n],o.dtype)},nR={kernelName:km,backendName:\"webgl\",kernelFunc:tQ};var rQ=`\n return vec4(equal(a, b));\n`,oQ=\"return float(a == b);\",nQ=tt({opSnippet:oQ,packedOpSnippet:rQ,dtype:\"bool\",cpuKernelImpl:BE}),sR={kernelName:tn,backendName:\"webgl\",kernelFunc:nQ};var sQ=`\n // Error function is calculated approximately with elementary function.\n // See \"Handbook of Mathematical Functions with Formulas,\n // Graphs, and Mathematical Tables\", Abramowitz and Stegun.\n float p = ${S.ERF_P};\n float a1 = ${S.ERF_A1};\n float a2 = ${S.ERF_A2};\n float a3 = ${S.ERF_A3};\n float a4 = ${S.ERF_A4};\n float a5 = ${S.ERF_A5};\n\n float sign = sign(x);\n x = abs(x);\n float t = 1.0 / (1.0 + p * x);\n return sign * (1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*exp(-x*x));\n`,aQ=ge({opSnippet:sQ}),aR={kernelName:ma,backendName:\"webgl\",kernelFunc:aQ};var iQ=_o+`\n return exp(x);\n`,uQ=`\n vec4 result = exp(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,Aw=ge({opSnippet:iQ,packedOpSnippet:uQ,cpuKernelImpl:VE,dtype:\"float32\"}),iR={kernelName:rn,backendName:\"webgl\",kernelFunc:Aw};function Ph(r){let{inputs:e,attrs:t,backend:o}=r,{dim:n}=t,{input:s}=e,a=s.shape.length,i=s.shape.slice(),p=n;return n<0&&(y.assert(-(a+1)<=n,()=>`Axis must be in the interval [${-(a+1)}, ${a}]`),p=a+n+1),i.splice(p,0,1),te({inputs:{x:s},backend:o,attrs:{shape:i}})}var uR={kernelName:bs,backendName:\"webgl\",kernelFunc:Ph};var pR=\"return exp(x) - 1.0;\",pQ=ge({opSnippet:pR,packedOpSnippet:pR,cpuKernelImpl:zE}),cR={kernelName:da,backendName:\"webgl\",kernelFunc:pQ};var $l=class{constructor(e,t,o){this.variableNames=[\"real\",\"imag\"];let n=t[1];this.outputShape=t;let s=o?`2.0 * ${Math.PI}`:`-2.0 * ${Math.PI}`,a=o?`${n}.0`:\"1.0\",i;if(e===\"real\")i=\"return real * expR - imag * expI;\";else if(e===\"imag\")i=\"return real * expI + imag * expR;\";else throw new Error(`FFT component must be either \"real\" or \"imag\", got ${e}.`);this.userCode=`\n const float exponentMultiplier = ${s};\n\n float unaryOpComplex(float real, float expR, float imag, float expI) {\n ${i}\n }\n\n float mulMatDFT(int batch, int index) {\n float indexRatio = float(index) / float(${n});\n float exponentMultiplierTimesIndexRatio =\n exponentMultiplier * indexRatio;\n\n float result = 0.0;\n\n for (int i = 0; i < ${n}; i++) {\n // x = (-2|2 * PI / N) * index * i;\n float x = exponentMultiplierTimesIndexRatio * float(i);\n float expR = cos(x);\n float expI = sin(x);\n float real = getReal(batch, i);\n float imag = getImag(batch, i);\n\n result +=\n unaryOpComplex(real, expR, imag, expI) / ${a};\n }\n\n return result;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n setOutput(mulMatDFT(coords[0], coords[1]));\n }\n `}};function Mh(r,e,t){let o=t.texData.get(r.dataId),n=y.sizeFromShape(r.shape),s=r.shape[r.shape.length-1],a=n/s,i=te({inputs:{x:r},backend:t,attrs:{shape:[a,s]}}),p=i.shape,u=new $l(\"real\",p,e),c=new $l(\"imag\",p,e),l=[{dataId:o.complexTensorInfos.real.dataId,dtype:o.complexTensorInfos.real.dtype,shape:p},{dataId:o.complexTensorInfos.imag.dataId,dtype:o.complexTensorInfos.imag.dtype,shape:p}],m=t.runWebGLProgram(u,l,\"float32\"),d=t.runWebGLProgram(c,l,\"float32\"),f=Rr({inputs:{real:m,imag:d},backend:t});t.disposeIntermediateTensorInfo(m),t.disposeIntermediateTensorInfo(d);let h=te({inputs:{x:f},backend:t,attrs:{shape:r.shape}});return t.disposeIntermediateTensorInfo(i),t.disposeIntermediateTensorInfo(f),h}function cQ(r){let{inputs:e,backend:t}=r,{input:o}=e;return Mh(o,!1,t)}var lR={kernelName:oi,backendName:\"webgl\",kernelFunc:cQ};var Lh=class{constructor(e,t){this.outputShape=[],this.customUniforms=[{name:\"value\",type:\"float\"}],this.variableNames=[\"x\"],this.outputShape=e,this.userCode=`\n void main() {\n // Input can be obtained from uniform value.\n setOutput(value);\n }\n `}};function Ga(r){let{backend:e,attrs:t}=r,{shape:o,value:n}=t,{dtype:s}=t;if(s=s||y.inferDtype(n),s===\"string\"){let a=y.getArrayFromDType(s,y.sizeFromShape(o));return a.fill(n),e.makeTensorInfo(o,s,a)}else{let a=new Lh(o,n),i=[[n]];return e.runWebGLProgram(a,[],s,i)}}var mR={kernelName:Cs,backendName:\"webgl\",kernelFunc:Ga};var Bh=class{constructor(e){this.variableNames=[\"Image\"],this.outputShape=[];let t=e[2];this.outputShape=e,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n\n int coordX = ${t} - x - 1;\n float outputValue;\n if(coordX >= 0 && coordX < ${t}) {\n outputValue = getImage(coords[0], coords[1], coordX, coords[3]);\n } else {\n outputValue = getImage(coords[0], coords[1], coords[2], coords[3]);\n }\n setOutput(outputValue);\n }\n `}};var dR={kernelName:on,backendName:\"webgl\",kernelFunc:({inputs:r,backend:e})=>{let{image:t}=r,o=e,n=new Bh(t.shape);return o.runWebGLProgram(n,[t],t.dtype)}};var fR=\"return floor(x);\",lQ=ge({opSnippet:fR,packedOpSnippet:fR,cpuKernelImpl:WE}),hR={kernelName:nn,backendName:\"webgl\",kernelFunc:lQ};var mQ=`\n float s = sign(a) * sign(b);\n int ia = round(a);\n int ib = round(b);\n if (ib != 0) {\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n return float(idiv(ia, ib, s));\n } else {\n return NAN;\n }\n`,dQ=`\n ivec4 ia = round(a);\n ivec4 ib = round(b);\n bvec4 cond = notEqual(ib, ivec4(0));\n ivec4 result = ivec4(0);\n vec4 s = sign(a) * sign(b);\n\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n if (cond[0]) {\n result[0] = idiv(ia[0], ib[0], s[0]);\n }\n if (cond[1]) {\n result[1] = idiv(ia[1], ib[1], s[1]);\n }\n if (cond[2]) {\n result[2] = idiv(ia[2], ib[2], s[2]);\n }\n if (cond[3]) {\n result[3] = idiv(ia[3], ib[3], s[3]);\n }\n return vec4(result);\n`,fQ=tt({opSnippet:mQ,packedOpSnippet:dQ,dtype:\"int32\"}),gR={kernelName:sn,backendName:\"webgl\",kernelFunc:fQ};var Vh=class{constructor(e){this.variableNames=[\"A\"];let t=St(),[o,n]=e;this.outputShape=e,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${n}.0, ${o}.0);\n\n vec4 values = ${t.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n setOutput(floor(value * 255.0 + 0.5));\n }\n `}};var zh=class{constructor(e){this.variableNames=[\"A\"],this.packedInputs=!1,this.packedOutput=!0;let t=St(),[o,n]=e;this.outputShape=e,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n\n vec4 result = vec4(0.);\n\n for(int row=0; row<=1; row++) {\n for(int col=0; col<=1; col++) {\n texC = coords[1] + row;\n depth = coords[2] + col;\n\n vec2 uv = (vec2(texC, texR) + halfCR) /\n vec2(${n}.0, ${o}.0);\n vec4 values = ${t.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n result[row * 2 + col] = floor(value * 255.0 + 0.5);\n }\n }\n\n ${t.output} = result;\n }\n `}};var xR={kernelName:Zi,backendName:\"webgl\",kernelFunc:hQ},bc,Rw=O().getBool(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\");function hQ(r){let{inputs:e,backend:t,attrs:o}=r,{pixels:n}=e,{numChannels:s}=o,a=typeof HTMLVideoElement!=\"undefined\"&&n instanceof HTMLVideoElement,i=typeof HTMLImageElement!=\"undefined\"&&n instanceof HTMLImageElement,[p,u]=a?[n.videoWidth,n.videoHeight]:[n.width,n.height],c=[u,p],l=[u,p,s];if(i||a){let h=O().getBool(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\");(bc==null||h!==Rw)&&(Rw=h,bc=document.createElement(\"canvas\").getContext(\"2d\",{willReadFrequently:Rw})),bc.canvas.width=p,bc.canvas.height=u,bc.drawImage(n,0,0,p,u),n=bc.canvas}let m=t.makeTensorInfo(c,\"int32\");t.texData.get(m.dataId).usage=ir.PIXELS,t.gpgpu.uploadPixelDataToTexture(t.getTexture(m.dataId),n);let d=O().getBool(\"WEBGL_PACK\")?new zh(l):new Vh(l),f=t.runWebGLProgram(d,[m],\"int32\");return t.disposeData(m.dataId),f}function gQ(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s,bias:a,preluActivationWeights:i}=e,{strides:p,pad:u,dataFormat:c,dilations:l,dimRoundingMode:m,activation:d,leakyreluAlpha:f}=o,h=S.convertConv2DDataFormat(c),g=S.computeConv2DInfo(n.shape,s.shape,p,l,u,m,!1,h),x,b=[],C=a!=null,w=i!=null,k=d===\"leakyrelu\",_=()=>{let A=[n,s],R=(D,P)=>{if(P===\"NCHW\"&&D.shape.length===1&&D.shape[0]!==1){let M=te({inputs:{x:D},backend:t,attrs:{shape:[D.shape[0],1,1]}});return b.push(M),M}return D};if(C&&A.push(R(a,c)),w&&A.push(R(i,c)),k){let D=t.makeTensorInfo([],\"float32\",y.createScalarValue(f,\"float32\"));A.push(D),b.push(D)}return A};if(g.filterHeight===1&&g.filterWidth===1&&g.dilationHeight===1&&g.dilationWidth===1&&g.strideHeight===1&&g.strideWidth===1&&(g.padInfo.type===\"SAME\"||g.padInfo.type===\"VALID\"))x=Ih({x:n,filter:s,convInfo:g,backend:t,bias:a,activation:d,preluActivationWeights:i,leakyreluAlpha:f});else if(g.strideWidth<=2&&h===\"channelsLast\"&&O().getBool(\"WEBGL_EXP_CONV\")){let A=d?Wa(d,!0):null,R=new gc(g,C,A,w,k),D=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],P=_();x=t.runWebGLProgram(R,P,\"float32\",D)}else if(O().getBool(\"WEBGL_CONV_IM2COL\"))x=vh({x:n,filter:s,convInfo:g,backend:t,bias:a,activation:d,preluActivationWeights:i,leakyreluAlpha:f});else{let A=d?Wa(d,!1):null,R=new hc(g,C,A,w,k),D=_();x=t.runWebGLProgram(R,D,\"float32\")}let $=te({inputs:{x},backend:t,attrs:{shape:g.outShape}});return b.push(x),b.forEach(A=>t.disposeIntermediateTensorInfo(A)),$}var yR={kernelName:ho,backendName:\"webgl\",kernelFunc:gQ};function xQ(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s,bias:a,preluActivationWeights:i}=e,{strides:p,pad:u,dilations:c,dimRoundingMode:l,activation:m,leakyreluAlpha:d}=o,f=[],h=c;h==null&&(h=[1,1]),y.assert(S.eitherStridesOrDilationsAreOne(p,h),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${p} and dilations '${h}'`);let g=S.computeConv2DInfo(n.shape,s.shape,p,h,u,l,!0),x=O().getBool(\"WEBGL_PACK_DEPTHWISECONV\")&&g.strideWidth<=2&&g.outChannels/g.inChannels===1,b=m?Wa(m,x):null,C=[n,s],w=a!=null,k=i!=null,_=m===\"leakyrelu\";if(w&&C.push(a),k&&C.push(i),_){let D=t.makeTensorInfo([],\"float32\",y.createScalarValue(d,\"float32\"));C.push(D),f.push(D)}let $;x?$=new yc(g,w,b,k,_):$=new xc(g,w,b,k,_);let A=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],R=t.runWebGLProgram($,C,\"float32\",A);return f.forEach(D=>t.disposeIntermediateTensorInfo(D)),R}var bR={kernelName:go,backendName:\"webgl\",kernelFunc:xQ};var Wh=class{constructor(e,t,o,n){this.sliceDim=e,this.strides=t,this.paramsShape=n,this.variableNames=[\"x\",\"indices\"],this.outputShape=o;let s=_e(o.length),a=`\n int index;`;for(let i=0;i= ${this.paramsShape[i]};\n flattenIndex += index * ${this.strides[i]};`;this.userCode=`\n void main() {\n ${s} coords = getOutputCoords();\n int flattenIndex = 0;\n bool out_of_bounds = false;\n\n ${a}\n\n setOutput(out_of_bounds ? 0.0 : getX(flattenIndex, coords[1]));\n }\n `}};function yQ(r){let{inputs:e,backend:t}=r,{params:o,indices:n}=e,s=n.shape,a=s[s.length-1],i=y.sizeFromShape(o.shape),[p,u,c,l]=S.prepareAndValidate(o,n),m=te({inputs:{x:n},backend:t,attrs:{shape:[u,a]}}),d=te({inputs:{x:o},backend:t,attrs:{shape:[y.sizeFromShape(o.shape)/c,c]}});if(t.shouldExecuteOnCPU([o,n])||o.dtype===\"string\"){let x=t.readSync(n.dataId),b=t.bufferSync(o),C=UE(x,b,o.dtype,u,a,c,l,o.shape,i);return t.makeTensorInfo(p,o.dtype,C.values)}let f=new Wh(a,l,[u,c],o.shape),h=t.runWebGLProgram(f,[d,m],d.dtype),g=te({inputs:{x:h},backend:t,attrs:{shape:p}});return t.disposeIntermediateTensorInfo(m),t.disposeIntermediateTensorInfo(d),t.disposeIntermediateTensorInfo(h),g}var CR={kernelName:un,backendName:\"webgl\",kernelFunc:yQ};var Uh=class{constructor(e,t){this.variableNames=[\"A\",\"indices\"],this.outputShape=t,this.rank=t.length;let o=_e(this.rank),n=bQ(e,2);this.userCode=`\n void main() {\n ${o} resRC = getOutputCoords();\n int index = int(getIndices(resRC.x, resRC.z));\n float inBounds = (index >= 0) && (index < ${e[2]}) ? 1.0 : 0.0;\n setOutput(inBounds * getA(${n}));\n }\n `}};function bQ(r,e){let t=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],o=[];for(let n=0;n=0,()=>`GatherV2: the index value ${k} is not in [0, ${C-1}]`)}}let u=S.segment_util.collectGatherOpShapeInfo(n,s,p,i),c=y.sizeFromShape(s.shape),l=[],m=te({inputs:{x:n},backend:t,attrs:{shape:[u.batchSize,u.outerSize,u.dimSize,u.sliceSize]}}),d=te({inputs:{x:s},backend:t,attrs:{shape:[u.batchSize,c/u.batchSize]}});l.push(m),l.push(d);let f=[u.batchSize,u.outerSize,c/u.batchSize,u.sliceSize];if(t.shouldExecuteOnCPU([n,s])||n.dtype===\"string\"){let b=t.bufferSync(d),C=t.bufferSync(m),w=GE(C,b,f);return l.forEach(k=>t.disposeIntermediateTensorInfo(k)),t.makeTensorInfo(u.outputShape,w.dtype,w.values)}let h=new Uh(m.shape,f),g=t.runWebGLProgram(h,[m,d],m.dtype);l.push(g);let x=te({inputs:{x:g},backend:t,attrs:{shape:u.outputShape}});return l.forEach(b=>t.disposeIntermediateTensorInfo(b)),x}var SR={kernelName:Ss,backendName:\"webgl\",kernelFunc:Fw};var CQ=\"return float(a > b);\",SQ=`\n return vec4(greaterThan(a, b));\n`,wQ=tt({opSnippet:CQ,packedOpSnippet:SQ,cpuKernelImpl:HE,dtype:\"bool\"}),wR={kernelName:pn,backendName:\"webgl\",kernelFunc:wQ};var IQ=\"return float(a >= b);\",vQ=`\n return vec4(greaterThanEqual(a, b));\n`,kQ=tt({opSnippet:IQ,packedOpSnippet:vQ,dtype:\"bool\",cpuKernelImpl:qE}),IR={kernelName:cn,backendName:\"webgl\",kernelFunc:kQ};function NQ(r){let{inputs:e,backend:t}=r,{input:o}=e;return Mh(o,!0,t)}var vR={kernelName:ni,backendName:\"webgl\",kernelFunc:NQ};var TQ=\"return float(!isnan(x) && !isinf(x));\",_Q=ge({opSnippet:TQ,dtype:\"bool\"}),kR={kernelName:fa,backendName:\"webgl\",kernelFunc:_Q};var EQ=\"return float(isinf(x));\",$Q=ge({opSnippet:EQ,dtype:\"bool\"}),NR={kernelName:ha,backendName:\"webgl\",kernelFunc:$Q};var AQ=\"return float(isnan(x));\",RQ=ge({opSnippet:AQ,dtype:\"bool\"}),TR={kernelName:ln,backendName:\"webgl\",kernelFunc:RQ};var FQ=\"return float(a < b);\",DQ=`\n return vec4(lessThan(a, b));\n`,OQ=tt({opSnippet:FQ,packedOpSnippet:DQ,cpuKernelImpl:KE,dtype:\"bool\"}),_R={kernelName:dn,backendName:\"webgl\",kernelFunc:OQ};var PQ=\"return float(a <= b);\",MQ=`\n return vec4(lessThanEqual(a, b));\n`,LQ=tt({opSnippet:PQ,packedOpSnippet:MQ,cpuKernelImpl:jE,dtype:\"bool\"}),ER={kernelName:fn,backendName:\"webgl\",kernelFunc:LQ};function BQ(r){let{backend:e,attrs:t}=r,{start:o,stop:n,num:s}=t,a=XE(o,n,s);return e.makeTensorInfo([a.length],\"float32\",a)}var $R={kernelName:xp,backendName:\"webgl\",kernelFunc:BQ};var VQ=_o+`\n return x < 0.0 ? 0./0. : log(x);\n`,zQ=`\n vec4 result = log(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : (x.r < 0.0 ? 0./0. : result.r);\n result.g = isNaN.g ? x.g : (x.g < 0.0 ? 0./0. : result.g);\n result.b = isNaN.b ? x.b : (x.b < 0.0 ? 0./0. : result.b);\n result.a = isNaN.a ? x.a : (x.a < 0.0 ? 0./0. : result.a);\n return result;\n`,WQ=ge({opSnippet:VQ,packedOpSnippet:zQ,cpuKernelImpl:YE}),AR={kernelName:hn,backendName:\"webgl\",kernelFunc:WQ};var UQ=_o+`\n return log(1.0 + x);\n`,GQ=ge({opSnippet:UQ}),RR={kernelName:ga,backendName:\"webgl\",kernelFunc:GQ};var HQ=\"return float(a >= 1.0 && b >= 1.0);\",qQ=`\n return vec4(\n vec4(greaterThanEqual(a, vec4(1.0))) *\n vec4(greaterThanEqual(b, vec4(1.0))));\n`,KQ=tt({opSnippet:HQ,packedOpSnippet:qQ,dtype:\"bool\"}),FR={kernelName:gn,backendName:\"webgl\",kernelFunc:KQ};var jQ=\"return float(!(x >= 1.0));\",XQ=ge({opSnippet:jQ}),DR={kernelName:xn,backendName:\"webgl\",kernelFunc:XQ};var YQ=\"return float(a >= 1.0 || b >= 1.0);\",QQ=`\n return min(\n vec4(greaterThanEqual(a, vec4(1.0))) +\n vec4(greaterThanEqual(b, vec4(1.0))),\n vec4(1.0));\n`,ZQ=tt({opSnippet:YQ,packedOpSnippet:QQ,dtype:\"bool\"}),OR={kernelName:xa,backendName:\"webgl\",kernelFunc:ZQ};var Gh=class{constructor(e,t,o,n,s){this.variableNames=[\"x\"],this.outputShape=[];let a=t,i=e[3]-1;this.outputShape=e;let p,u=`float(${o}) + float(${n}) * sum`;s===.5?p=`inversesqrt(${u})`:s===1?p=`1.0/(${u})`:p=`exp(log(${u}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n int d = coords[3];\n float x = getX(b, r, c, d);\n float sum = 0.0;\n for (int j = -${a}; j <= ${a}; j++) {\n int idx = d + j;\n if (idx >= 0 && idx <= ${i}) {\n float z = getX(b, r, c, idx);\n sum += z * z;\n }\n }\n float val = x * ${p};\n setOutput(val);\n }\n `}};var Hh=class{constructor(e,t,o,n,s){this.variableNames=[\"x\"],this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0;let a=t,i=e[3]-1;this.outputShape=e;let p,u=`float(${o}) + float(${n}) * sum`;s===.5?p=`inversesqrt(${u})`:s===1?p=`1.0/(${u})`:p=`exp(log(${u}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords.x;\n int r = coords.y;\n int c = coords.z;\n int d = coords.w;\n\n bool hasNextCol = d < ${this.outputShape[3]};\n bool hasNextRow = c < ${this.outputShape[2]};\n\n vec4 sum = vec4(0.);\n vec4 xFragAtOutputCoords = getX(b, r, c, d);\n\n vec4 xAtOutputCoords = vec4(\n getChannel(xFragAtOutputCoords, vec2(c, d)),\n hasNextCol ?\n getChannel(xFragAtOutputCoords, vec2(c, d + 1)) : 0.0,\n hasNextRow ?\n getChannel(xFragAtOutputCoords , vec2(c + 1, d)) : 0.0,\n (hasNextRow && hasNextCol) ?\n getChannel(xFragAtOutputCoords, vec2(c + 1, d + 1)) : 0.0\n );\n\n int firstChannel = d - ${a};\n vec2 cache = vec2(0.);\n if(firstChannel >= 0){\n vec4 firstChannelFrag = getX(b, r, c, firstChannel);\n cache.x = getChannel(firstChannelFrag, vec2(c, firstChannel));\n if(hasNextRow){\n cache.y = getChannel(firstChannelFrag, vec2(c + 1, firstChannel));\n }\n }\n\n ivec2 depth = ivec2(d, d + 1);\n for (int j = - ${a}; j <= ${a}; j++) {\n ivec2 idx = depth + j;\n bvec2 aboveLowerBound = greaterThanEqual(idx, ivec2(0));\n bvec2 belowUpperBound = lessThanEqual(idx, ivec2(${i}));\n\n bool depthInRange = aboveLowerBound.x && belowUpperBound.x;\n bool depthPlusOneInRange = aboveLowerBound.y && belowUpperBound.y;\n\n if(depthInRange || depthPlusOneInRange){\n vec4 z = vec4(0.);\n vec4 xFragAtCurrentDepth;\n z.xz = cache.xy;\n if(depthPlusOneInRange && hasNextCol){\n xFragAtCurrentDepth = idx.y != d ?\n getX(b, r, c, idx.y) : xFragAtOutputCoords;\n z.y = getChannel(xFragAtCurrentDepth, vec2(c, idx.y));\n if(hasNextRow){\n z.w = getChannel(xFragAtCurrentDepth, vec2(c + 1, idx.y));\n }\n }\n cache.xy = z.yw;\n sum += z * z;\n }\n }\n vec4 result = xAtOutputCoords * ${p};\n setOutput(result);\n }\n `}};var JQ=r=>{let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{depthRadius:s,bias:a,alpha:i,beta:p}=o,u=O().getBool(\"WEBGL_PACK_NORMALIZATION\")?new Hh(n.shape,s,a,i,p):new Gh(n.shape,s,a,i,p);return t.runWebGLProgram(u,[n],n.dtype)},PR={kernelName:yp,backendName:\"webgl\",kernelFunc:JQ};var qh=class{constructor(e,t,o,n,s){this.variableNames=[\"inputImage\",\"outputImage\",\"dy\"],this.outputShape=[],this.outputShape=e,this.depth=e[3],this.depthRadius=t,this.bias=o,this.alpha=n,this.beta=s,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n\n float result = 0.0;\n for (int d = 0; d < ${this.depth}; ++d) {\n int depthBegin = int(max(0.0, float(d - ${t})));\n int depthEnd = int(min(float(${this.depth}),\n float(d + ${t} + 1)));\n\n const int MIN_DEPTH_BEGIN = 0;\n const int MAX_DEPTH_END = ${this.depth};\n\n float norm = 0.0;\n for (int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k) {\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd) {\n norm += getInputImage(b, r, c, k) * getInputImage(b, r, c, k);\n }\n else {\n break;\n }\n }\n\n norm = float(${n}) * norm + float(${o});\n\n for(int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k){\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd){\n float dyi = -2.0 * float(${n})\n * float(${s})\n * getInputImage(b ,r ,c, k) * getOutputImage(b, r, c, d)\n / norm;\n if (k == d) {\n dyi += pow(norm, -1.0 * ${s});\n }\n if (k == coords[3]) {\n dyi *= getDy(b, r, c, d);\n result += dyi;\n }\n }\n else {\n break;\n }\n }\n }\n setOutput(result);\n }\n `}};var e7=r=>{let{inputs:e,backend:t,attrs:o}=r,{x:n,y:s,dy:a}=e,{depthRadius:i,bias:p,alpha:u,beta:c}=o,l=new qh(n.shape,i,p,u,c);return t.runWebGLProgram(l,[n,s,a],n.dtype)},MR={kernelName:Nm,backendName:\"webgl\",kernelFunc:e7};function LR(r,e,t,o){let n=y.sizeFromShape(e),a=y.sizeFromShape(r.shape)/n,i=te({inputs:{x:r},attrs:{shape:[a,n]},backend:o}),p=Gr(i,r.dtype,\"max\",o),u=te({inputs:{x:p},attrs:{shape:t},backend:o});return o.disposeIntermediateTensorInfo(i),o.disposeIntermediateTensorInfo(p),u}function Dw(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{reductionIndices:s,keepDims:a}=o,i=n.shape.length,p=y.parseAxisParam(s,n.shape),u=p,c=S.getAxesPermutation(u,i),l=c!=null,m=t.shouldExecuteOnCPU([n]),d=n;if(l){if(m){let C=t.texData.get(d.dataId).values,w=new Array(i);for(let $=0;$`Error in maxPool: Either strides or dilations must be 1. Got strides ${a} and dilations '${u}'`);let c=S.computePool2DInfo(n.shape,s,a,u,i,p);if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))return At({inputs:{x:n},backend:t});let l=new ps(c,\"max\",!1);return t.runWebGLProgram(l,[n],n.dtype)}var zR={kernelName:Cn,backendName:\"webgl\",kernelFunc:n7};function s7(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{filterSize:s,strides:a,pad:i,dataFormat:p,dimRoundingMode:u}=o,c=[1,1,1],l=S.computePool3DInfo(n.shape,s,a,c,i,u,p),m=new zi(l,\"max\",!1);return t.runWebGLProgram(m,[n],n.dtype)}var WR={kernelName:bp,backendName:\"webgl\",kernelFunc:s7};var Kh=class{constructor(e){this.variableNames=[\"dy\",\"maxPos\"],this.outputShape=e.inShape;let t=e.strideHeight,o=e.strideWidth,n=e.dilationHeight,s=e.effectiveFilterHeight,a=e.effectiveFilterWidth,i=s-1-e.padInfo.top,p=a-1-e.padInfo.left,u=s*a-1;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${p});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${s};\n wR += ${n}) {\n float dyR = float(dyRCorner + wR) / ${t}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${a}; wC++) {\n float dyC = float(dyCCorner + wC) / ${o}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n int maxPosValue = ${u} - int(getMaxPos(b, idyR, idyC, d));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue = wR * ${a} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n setOutput(dotProd);\n }\n `}},jh=class{constructor(e){this.variableNames=[\"dy\",\"maxPos\"],this.outputShape=e.inShape;let t=e.strideDepth,o=e.strideHeight,n=e.strideWidth,s=e.dilationDepth,a=e.dilationHeight,i=e.dilationWidth,p=e.effectiveFilterDepth,u=e.effectiveFilterHeight,c=e.effectiveFilterWidth,l=p-1-e.padInfo.front,m=u-1-e.padInfo.top,d=c-1-e.padInfo.left,f=p*u*c-1;this.userCode=`\n const ivec3 pads = ivec3(${l}, ${m}, ${d});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, ch) with pos mask(:, :, :, d) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${p};\n wD += ${s}) {\n float dyD = float(dyDCorner + wD) / ${t}.0;\n\n if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${u};\n wR += ${a}) {\n float dyR = float(dyRCorner + wR) / ${o}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${c};\n wC += ${i}) {\n float dyC = float(dyCCorner + wC) / ${n}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n int maxPosValue = ${f} -\n int(getMaxPos(batch, idyD, idyR, idyC, ch));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue =\n wD * ${u} * ${c} +\n wR * ${c} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function a7(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,input:s}=e,a=s,{filterSize:i,strides:p,pad:u,dimRoundingMode:c}=o,l=[1,1,1],m=S.computePool3DInfo(a.shape,i,p,l,u,c),d=new zi(m,\"max\",!0),f=t.runWebGLProgram(d,[a],a.dtype),h=new jh(m),g=t.runWebGLProgram(h,[n,f],a.dtype);return t.disposeIntermediateTensorInfo(f),g}var UR={kernelName:_m,backendName:\"webgl\",kernelFunc:a7};function i7(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,input:s,output:a}=e,i=s;is([s,a],\"maxPoolGrad\");let{filterSize:p,strides:u,pad:c,dimRoundingMode:l}=o,m=S.computePool2DInfo(i.shape,p,u,1,c,l),d=!0,f=new ps(m,\"max\",d),h=t.runWebGLProgram(f,[i],i.dtype),g=new Kh(m),x=t.runWebGLProgram(g,[n,h],i.dtype);return t.disposeIntermediateTensorInfo(h),x}var GR={kernelName:Tm,backendName:\"webgl\",kernelFunc:i7};function HR(r,e,t,o){let n=new ps(t,\"max\",!1),s=o.runWebGLProgram(n,[r],\"float32\");n=new ps(t,\"max\",!0,!0,e);let a=o.runWebGLProgram(n,[r],\"float32\");return[s,a]}var qR={kernelName:Cp,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{x:o}=r,{filterSize:n,strides:s,pad:a,includeBatchInIndex:i}=e,p=t;y.assert(o.shape.length===4,()=>`Error in maxPool: input must be rank 4 but got rank ${o.shape.length}.`);let u=[1,1];y.assert(S.eitherStridesOrDilationsAreOne(s,u),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${s} and dilations '${u}'`);let c=S.computePool2DInfo(o.shape,n,s,u,a),[l,m]=HR(o,i,c,p);return[l,m]}};function KR(r,e,t,o){let n=y.sizeFromShape(e),a=y.sizeFromShape(r.shape)/n,i=te({inputs:{x:r},attrs:{shape:[a,n]},backend:o}),p=Gr(i,\"float32\",\"mean\",o),u=te({inputs:{x:p},attrs:{shape:t},backend:o});return o.disposeIntermediateTensorInfo(i),o.disposeIntermediateTensorInfo(p),u}var jR={kernelName:Sn,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{x:o}=r,{keepDims:n,axis:s}=e,a=t,i=o.shape.length,p=y.parseAxisParam(s,o.shape),u=p,c=S.getAxesPermutation(u,i),l=c!=null,m=a.shouldExecuteOnCPU([o]),d=[],f=o;if(l){if(m){let w=a.texData.get(f.dataId).values,k=new Array(i);for(let A=0;Ac[0]+e[l]+c[1]);let n=e.length,s=_e(n),a=t.map(c=>c[0]).join(\",\"),i=t.map((c,l)=>c[0]+e[l]).join(\",\"),p=[\"coords[0]\",\"coords[1]\",\"coords[2]\",\"coords[3]\"].slice(0,n),u=o===\"reflect\"?0:1;if(n===1){this.userCode=`\n int start = ${a};\n int end = ${i};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start) {\n outC = start * 2 - outC - ${u};\n } else if(outC >= end) {\n outC = (end - 1) * 2 - outC + ${u};\n }\n setOutput(getX(outC - start));\n }\n `;return}this.userCode=`\n ${s} start = ${s}(${a});\n ${s} end = ${s}(${i});\n\n void main() {\n ${s} outC = getOutputCoords();\n for (int i = 0; i < ${n}; i++) {\n if (outC[i] < start[i]) {\n outC[i] = start[i] * 2 - outC[i] - ${u};\n } else if(outC[i] >= end[i]) {\n outC[i] = (end[i] - 1) * 2 - outC[i] + ${u};\n }\n }\n ${s} coords = outC - start;\n setOutput(getX(${p}));\n }\n `}};var Yh=class{constructor(e,t,o){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t.map((f,h)=>f[0]+e[h]+f[1]);let n=e.length,s=_e(n),a=t.map(f=>f[0]).join(\",\"),i=t.map((f,h)=>f[0]+e[h]).join(\",\"),p=$t(\"rc\",n),u=$t(\"source\",n),c=`${p[n-1]} < ${this.outputShape[n-1]}`,l=n===1?\"source\":`vec2(${u.slice(-2).join()})`,m=o===\"reflect\"?0:1,d=\"\";if(n===1){let f=`\n ${s} source = rc;\n if (source < start) {\n source = start * 2 - source - ${m};\n } else if (source >= end) {\n source = (end - 1) * 2 - source + ${m};\n }\n source -= start;\n `;d=`\n ${s} rc = outputLoc;\n ${f}\n result[0] = getChannel(getX(${u.join()}), ${l});\n ${p[n-1]} += 1;\n if(${c}) {\n ${f}\n result[1] = getChannel(getX(${u.join()}), ${l});\n }\n `}else{let f=`\n ${s} source = rc;\n ${s} lt = ${s}(lessThan(source, start));\n ${s} gte = ${s}(greaterThanEqual(source, end));\n ${s} orig = 1 - (lt + gte);\n source = orig * source +\n lt * (start * 2 - source - ${m}) +\n gte * ((end - 1) * 2 - source + ${m});\n source -= start;\n `;d=`\n ${s} rc = outputLoc;\n ${f}\n result[0] = getChannel(getX(${u.join()}), ${l});\n ${p[n-1]} += 1;\n if(${c}) {\n ${f}\n result[1] = getChannel(getX(${u.join()}), ${l});\n }\n rc = outputLoc;\n ${p[n-2]} += 1;\n if(${p[n-2]} < ${this.outputShape[n-2]}) {\n ${f}\n result[2] = getChannel(getX(${u.join()}), ${l});\n ${p[n-1]} += 1;\n if(${c}) {\n ${f}\n result[3] = getChannel(getX(${u.join()}), ${l});\n }\n }\n `}this.userCode=`\n const ${s} start = ${s}(${a});\n const ${s} end = ${s}(${i});\n\n void main() {\n ${s} outputLoc = getOutputCoords();\n vec4 result = vec4(0.);\n ${d}\n setOutput(result);\n }\n `}};var m7=({inputs:r,backend:e,attrs:t})=>{let{x:o}=r,{paddings:n,mode:s}=t,a=O().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new Yh(o.shape,n,s):new Xh(o.shape,n,s);return e.runWebGLProgram(a,[o],o.dtype)},QR={kernelName:vn,backendName:\"webgl\",kernelFunc:m7};var d7=`if (b == 0.0) return NAN;\n return mod(a, b);`,f7=`\n vec4 result = mod(a, b);\n bvec4 isNaN = equal(b, vec4(0.0));\n `+Zs+`\n return result;\n`,h7=tt({opSnippet:d7,packedOpSnippet:f7}),ZR={kernelName:ya,backendName:\"webgl\",kernelFunc:h7};var Qh=class{constructor(e,t,o){this.variableNames=[\"probs\"],this.customUniforms=[{name:\"seed\",type:\"float\"}],this.outputShape=[e,o],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n\n float r = random(seed);\n float cdf = 0.0;\n\n for (int i = 0; i < ${t-1}; i++) {\n cdf += getProbs(batch, i);\n\n if (r < cdf) {\n setOutput(float(i));\n return;\n }\n }\n\n // If no other event happened, last event happened.\n setOutput(float(${t-1}));\n }\n `}};var g7=`\nif (a == b) {\n return 1.0;\n};\nreturn a / b;`,x7=`\n // vec4 one = vec4(equal(a, b));\n // return one + (vec4(1.0) - one) * a / b;\n vec4 result = a / b;\n if(a.x == b.x) {\n result.x = 1.;\n }\n if(a.y == b.y) {\n result.y = 1.;\n }\n if(a.z == b.z) {\n result.z = 1.;\n }\n if(a.w == b.w) {\n result.w = 1.;\n }\n\n return result;\n`,Ow=tt({opSnippet:g7,packedOpSnippet:x7,checkOutOfBounds:!0}),JR={kernelName:Jo,backendName:\"webgl\",kernelFunc:Ow};var eF=\"return a - b;\",Pw=tt({opSnippet:eF,packedOpSnippet:eF,supportsComplex:!0,cpuKernelImpl:b$}),tF={kernelName:Xn,backendName:\"webgl\",kernelFunc:Pw};function Mw(r){let{inputs:e,backend:t,attrs:o}=r,{logits:n}=e,{dim:s}=o,a=y.parseAxisParam([s],n.shape),i=Dw({inputs:{x:n},backend:t,attrs:{reductionIndices:a,keepDims:!1}}),p=S.expandShapeToKeepDim(i.shape,a),u=te({inputs:{x:i},backend:t,attrs:{shape:p}}),c=Pw({inputs:{a:n,b:u},backend:t}),l=Aw({inputs:{x:c},backend:t}),m=Ou({inputs:{x:l},backend:t,attrs:{axis:a,keepDims:!1}}),d=te({inputs:{x:m},backend:t,attrs:{shape:p}}),f=Ow({inputs:{a:l,b:d},backend:t});return t.disposeIntermediateTensorInfo(i),t.disposeIntermediateTensorInfo(u),t.disposeIntermediateTensorInfo(c),t.disposeIntermediateTensorInfo(l),t.disposeIntermediateTensorInfo(m),t.disposeIntermediateTensorInfo(d),f}var rF={kernelName:qn,backendName:\"webgl\",kernelFunc:Mw};function y7(r){let{inputs:e,backend:t,attrs:o}=r,{logits:n}=e,{numSamples:s,seed:a,normalized:i}=o,p=i?n:Mw({inputs:{logits:n},backend:t,attrs:{dim:n.shape.length-1}}),u=p.shape[0],c=p.shape[1],l=new Qh(u,c,s),m=[[a]],d=t.runWebGLProgram(l,[p],\"int32\",m);return i||t.disposeIntermediateTensorInfo(p),d}var oF={kernelName:Sp,backendName:\"webgl\",kernelFunc:y7};var b7=Bt+`\n return -x;\n`,C7=`\n vec4 result = -x;\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`;function S7(r){let{inputs:e,backend:t}=r,{x:o}=e;if(t.shouldExecuteOnCPU([o])){let s=t.texData.get(o.dataId),[a,i]=t$(s.values,o.shape,o.dtype);return t.makeTensorInfo(i,o.dtype,a)}let n;return O().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")?n=new Ar(o.shape,C7):n=new Jt(o.shape,b7),t.runWebGLProgram(n,[o],o.dtype)}var nF={kernelName:ws,backendName:\"webgl\",kernelFunc:S7};var w7=Lt.nonMaxSuppressionV3Impl;function I7(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:e,backend:t,attrs:o}=r,{boxes:n,scores:s}=e,{maxOutputSize:a,iouThreshold:i,scoreThreshold:p}=o,u=t.readSync(n.dataId),c=t.readSync(s.dataId),{selectedIndices:l}=w7(u,c,a,i,p);return t.makeTensorInfo([l.length],\"int32\",new Int32Array(l))}var sF={kernelName:Tn,backendName:\"webgl\",kernelFunc:I7};var v7=Lt.nonMaxSuppressionV4Impl;function k7(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:e,backend:t,attrs:o}=r,{boxes:n,scores:s}=e,{maxOutputSize:a,iouThreshold:i,scoreThreshold:p,padToMaxOutputSize:u}=o,c=t.readSync(n.dataId),l=t.readSync(s.dataId),{selectedIndices:m,validOutputs:d}=v7(c,l,a,i,p,u);return[t.makeTensorInfo([m.length],\"int32\",new Int32Array(m)),t.makeTensorInfo([],\"int32\",new Int32Array([d]))]}var aF={kernelName:ba,backendName:\"webgl\",kernelFunc:k7};var N7=Lt.nonMaxSuppressionV5Impl;function T7(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:e,backend:t,attrs:o}=r,{boxes:n,scores:s}=e,{maxOutputSize:a,iouThreshold:i,scoreThreshold:p,softNmsSigma:u}=o,c=t.readSync(n.dataId),l=t.readSync(s.dataId),m=a,d=i,f=p,h=u,{selectedIndices:g,selectedScores:x}=N7(c,l,m,d,f,h);return[t.makeTensorInfo([g.length],\"int32\",new Int32Array(g)),t.makeTensorInfo([x.length],\"float32\",new Float32Array(x))]}var iF={kernelName:_n,backendName:\"webgl\",kernelFunc:T7};var Zh=class{constructor(e,t,o,n){this.variableNames=[\"indices\"],this.outputShape=[e,t],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int index = round(getIndices(coords.x));\n setOutput(mix(float(${n}), float(${o}),\n float(index == coords.y)));\n }\n `}};var _7=r=>{let{inputs:e,backend:t,attrs:o}=r,{indices:n}=e,{dtype:s,depth:a,onValue:i,offValue:p}=o,u=y.sizeFromShape(n.shape),c=new Zh(u,a,i,p),l=te({inputs:{x:n},backend:t,attrs:{shape:[u]}}),m=t.runWebGLProgram(c,[l],s);t.disposeIntermediateTensorInfo(l);let d=[...n.shape,a],f=te({inputs:{x:m},backend:t,attrs:{shape:d}});return t.disposeIntermediateTensorInfo(m),f},uF={kernelName:En,backendName:\"webgl\",kernelFunc:_7};function Al(r){let{inputs:e,backend:t}=r,{x:o}=e;if(o.dtype===\"complex64\"){let n=Ua({inputs:{input:o},backend:t}),s=Al({inputs:{x:n},backend:t}),a=Mu({inputs:{input:o},backend:t}),i=Al({inputs:{x:a},backend:t}),p=Rr({inputs:{real:s,imag:i},backend:t});return t.disposeIntermediateTensorInfo(n),t.disposeIntermediateTensorInfo(s),t.disposeIntermediateTensorInfo(a),t.disposeIntermediateTensorInfo(i),p}else return Ga({attrs:{shape:o.shape,dtype:o.dtype,value:o.dtype===\"string\"?\"\":0},backend:t})}var pF={kernelName:Fs,backendName:\"webgl\",kernelFunc:Al};function cF(r){let{inputs:e,backend:t}=r,{x:o}=e;if(o.dtype===\"string\")throw new Error(\"onesLike is not supported under string dtype\");if(o.dtype===\"complex64\"){let n=Ua({inputs:{input:o},backend:t}),s=cF({inputs:{x:n},backend:t}),a=Mu({inputs:{input:o},backend:t}),i=Al({inputs:{x:a},backend:t}),p=Rr({inputs:{real:s,imag:i},backend:t});return t.disposeIntermediateTensorInfo(n),t.disposeIntermediateTensorInfo(s),t.disposeIntermediateTensorInfo(a),t.disposeIntermediateTensorInfo(i),p}else return Ga({attrs:{shape:o.shape,dtype:o.dtype,value:1},backend:t})}var lF={kernelName:Is,backendName:\"webgl\",kernelFunc:cF};function E7(r){let{inputs:e,backend:t,attrs:o}=r,{axis:n}=o;if(e.length===1)return Ph({inputs:{input:e[0]},backend:t,attrs:{dim:n}});let s=e[0].shape,a=e[0].dtype;e.forEach(c=>{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(a===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let i=[],p=e.map(c=>{let l=Ph({inputs:{input:c},backend:t,attrs:{dim:n}});return i.push(l),l}),u=$w({inputs:p,backend:t,attrs:{axis:n}});return i.forEach(c=>t.disposeIntermediateTensorInfo(c)),u}var mF={kernelName:vs,backendName:\"webgl\",kernelFunc:E7};var Jh=class{constructor(e,t,o){this.variableNames=[\"x\"],this.customUniforms=[{name:\"value\",type:\"float\"}],this.outputShape=t.map((u,c)=>u[0]+e[c]+u[1]);let n=e.length,s=_e(n),a=t.map(u=>u[0]).join(\",\"),i=t.map((u,c)=>u[0]+e[c]).join(\",\"),p=[\"coords[0]\",\"coords[1]\",\"coords[2]\",\"coords[3]\"].slice(0,n);if(n===1){this.userCode=`\n int start = ${a};\n int end = ${i};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start || outC >= end) {\n setOutput(value);\n } else {\n setOutput(getX(outC - start));\n }\n }\n `;return}this.userCode=`\n ${s} start = ${s}(${a});\n ${s} end = ${s}(${i});\n\n void main() {\n ${s} outC = getOutputCoords();\n if (any(lessThan(outC, start)) || any(greaterThanEqual(outC, end))) {\n setOutput(value);\n } else {\n ${s} coords = outC - start;\n setOutput(getX(${p}));\n }\n }\n `}};var eg=class{constructor(e,t,o){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"value\",type:\"float\"}],this.outputShape=t.map((h,g)=>h[0]+e[g]+h[1]);let n=e.length,s=_e(n),a=t.map(h=>h[0]).join(\",\"),i=t.map((h,g)=>h[0]+e[g]).join(\",\"),p=$t(\"rc\",n),u=$t(\"source\",n),c=`${p[n-1]} < ${this.outputShape[n-1]}`,l=n===1?\"source\":`vec2(${u.slice(-2).join()})`,m=[`${s} rc = outputLoc;`,`${p[n-1]} += 1;\n if(${c}) {\n `,n===1?\"\":`}\n rc = outputLoc;\n ${p[n-2]} += 1;\n if(${p[n-2]} < ${this.outputShape[n-2]}) {`,n===1?\"\":` ${p[n-1]} += 1;\n if(${c}) {`],d=n===1?\"rc < start || rc >= end\":\"any(lessThan(rc, start)) || any(greaterThanEqual(rc, end))\",f=\"\";for(let h=0,g=n===1?2:4;h{let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{paddings:s,constantValue:a}=o;if(y.sizeFromShape(n.shape)===0){let u=s.map((c,l)=>c[0]+n.shape[l]+c[1]);return Ga({backend:t,attrs:{shape:u,value:a,dtype:n.dtype}})}let i=O().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new eg(n.shape,s,a):new Jh(n.shape,s,a),p=[[a]];return t.runWebGLProgram(i,[n],n.dtype,p)},dF={kernelName:$n,backendName:\"webgl\",kernelFunc:Lw};var $7=`\n if(a < 0.0 && floor(b) < b){\n return NAN;\n }\n if (b == 0.0) {\n return 1.0;\n }\n return (round(mod(b, 2.0)) != 1) ?\n pow(abs(a), b) : sign(a) * pow(abs(a), b);\n`,A7=`\n // isModRound1 has 1 for components with round(mod(b, 2.0)) == 1, 0 otherwise.\n vec4 isModRound1 = vec4(equal(round(mod(b, 2.0)), ivec4(1)));\n vec4 multiplier = sign(a) * isModRound1 + (vec4(1.0) - isModRound1);\n vec4 result = multiplier * pow(abs(a), b);\n\n // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS\n bvec4 isExpZero = equal(b, vec4(0.0));\n result.r = isExpZero.r ? 1.0 : result.r;\n result.g = isExpZero.g ? 1.0 : result.g;\n result.b = isExpZero.b ? 1.0 : result.b;\n result.a = isExpZero.a ? 1.0 : result.a;\n\n bvec4 isNaN1 = lessThan(a, vec4(0.0));\n bvec4 isNaN2 = lessThan(floor(b), b);\n bvec4 isNaN = bvec4(isNaN1.x && isNaN2.x, isNaN1.y && isNaN2.y, isNaN1.z && isNaN2.z, isNaN1.w && isNaN2.w);\n `+Zs+`\n return result;\n`,R7=tt({opSnippet:$7,packedOpSnippet:A7}),fF={kernelName:An,backendName:\"webgl\",kernelFunc:R7};function F7(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o,i=n.shape.length,p=[],u=y.parseAxisParam(s,n.shape),c=u,l=S.getAxesPermutation(c,i),m=n;l!=null&&(m=xt({inputs:{x:n},backend:t,attrs:{perm:l}}),c=S.getInnerMostAxes(c.length,i),p.push(m)),S.assertAxesAreInnerMostDims(\"prod\",c,i);let d;if(t.shouldExecuteOnCPU([m])){let f=t.texData.get(m.dataId).values,{outVals:h,outShape:g,outDtype:x}=o$(m.shape,m.dtype,f,c);d=t.makeTensorInfo(g,x,h)}else{let[f,h]=S.computeOutAndReduceShapes(m.shape,c),g=y.sizeFromShape(h),x=te({inputs:{x:m},backend:t,attrs:{shape:[-1,g]}}),b=ka(n.dtype),C=Gr(x,b,\"prod\",t);d=te({inputs:{x:C},backend:t,attrs:{shape:f}}),p.push(x),p.push(C)}if(a){p.push(d);let f=S.expandShapeToKeepDim(d.shape,u);d=te({inputs:{x:d},backend:t,attrs:{shape:f}})}return p.forEach(f=>t.disposeIntermediateTensorInfo(f)),d}var hF={kernelName:Fn,backendName:\"webgl\",kernelFunc:F7};function D7(r){let{inputs:e,backend:t,attrs:o}=r,{paramsNestedSplits:n,paramsDenseValues:s,indices:a}=e,{outputRaggedRank:i}=o,p=n.map(x=>t.readSync(x.dataId)),u=n.map(x=>x.shape),c=t.readSync(s.dataId),l=t.readSync(a.dataId),[m,d,f]=n$(p,u,c,s.shape,s.dtype,l,a.shape,i),h=m.map(x=>t.makeTensorInfo([x.length],\"int32\",x)),g=t.makeTensorInfo(f,s.dtype,d);return h.concat([g])}var gF={kernelName:wp,backendName:\"webgl\",kernelFunc:D7};function O7(r){let{inputs:e,backend:t}=r,{starts:o,limits:n,deltas:s}=e,a=t.readSync(o.dataId),i=t.readSync(n.dataId),p=t.readSync(s.dataId),[u,c]=s$(a,o.shape,o.dtype,i,n.shape,p,s.shape),l=t.makeTensorInfo([u.length],\"int32\",u),m=t.makeTensorInfo([c.length],o.dtype,c);return[l,m]}var xF={kernelName:Ip,backendName:\"webgl\",kernelFunc:O7};function P7(r){let{inputs:e,backend:t,attrs:o}=r,{shape:n,values:s,defaultValue:a,rowPartitionTensors:i}=e,{rowPartitionTypes:p}=o,u=t.readSync(n.dataId),c=t.readSync(s.dataId),l=t.readSync(a.dataId),m=i.map(g=>t.readSync(g.dataId)),d=i.map(g=>g.shape),[f,h]=a$(u,n.shape,c,s.shape,s.dtype,l,a.shape,m,d,p);return t.makeTensorInfo(f,s.dtype,h)}var yF={kernelName:vp,backendName:\"webgl\",kernelFunc:P7};var Bw=r=>{let{backend:e,attrs:t}=r,{start:o,stop:n,step:s,dtype:a}=t,i=i$(o,n,s,a);return e.makeTensorInfo([i.length],a,i)},bF={kernelName:ks,backendName:\"webgl\",kernelFunc:Bw};var M7=\"return 1.0 / x;\",L7=ge({opSnippet:M7}),CF={kernelName:Dn,backendName:\"webgl\",kernelFunc:L7};var B7=Bt+`\n return (x < 0.0) ? 0.0 : x;\n`,V7=`\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,z7=ge({opSnippet:B7,packedOpSnippet:V7}),SF={kernelName:On,backendName:\"webgl\",kernelFunc:z7};var W7=Bt+`\n return (x < 0.0) ? 0.0 : min(6.0, x);\n`,U7=`\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,G7=ge({opSnippet:W7,packedOpSnippet:U7}),wF={kernelName:Ln,backendName:\"webgl\",kernelFunc:G7};var tg=class{constructor(e,t,o,n,s){this.variableNames=[\"A\"],this.outputShape=[];let[a,i,p,u]=e;this.outputShape=[a,t,o,u];let c=[n&&t>1?i-1:i,n&&o>1?p-1:p],l=[n&&t>1?t-1:t,n&&o>1?o-1:o],m;s?m=\"(vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC - vec2(0.5)\":m=\"vec2(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${c[0]/l[0]},\n ${c[1]/l[1]});\n const vec2 inputShapeRC = vec2(${i}.0, ${p}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${m};\n\n // Compute the four integer indices.\n ivec2 sourceFloorRC = ivec2(max(sourceFracIndexRC, vec2(0.0)));\n ivec2 sourceCeilRC = ivec2(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n float topLeft = getA(b, sourceFloorRC.x, sourceFloorRC.y, d);\n float bottomLeft = getA(b, sourceCeilRC.x, sourceFloorRC.y, d);\n float topRight = getA(b, sourceFloorRC.x, sourceCeilRC.y, d);\n float bottomRight = getA(b, sourceCeilRC.x, sourceCeilRC.y, d);\n\n vec2 fracRC = sourceFracIndexRC - vec2(sourceFloorRC);\n\n float top = topLeft + (topRight - topLeft) * fracRC.y;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y;\n float newValue = top + (bottom - top) * fracRC.x;\n\n setOutput(newValue);\n }\n `}};var rg=class{constructor(e,t,o,n,s){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];let[a,i,p,u]=e;this.outputShape=[a,t,o,u];let c=[n&&t>1?i-1:i,n&&o>1?p-1:p],l=[n&&t>1?t-1:t,n&&o>1?o-1:o],m;s?m=\"(vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC - vec3(0.5)\":m=\"vec3(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${c[0]/l[0]},\n ${c[1]/l[1]},\n ${c[1]/l[1]});\n const vec3 inputShapeRC = vec3(${i}.0, ${p}.0,\n ${p}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${m};\n\n // Compute the four integer indices.\n ivec3 sourceFloorRC = ivec3(max(sourceFracIndexRC, vec3(0.0)));\n ivec3 sourceCeilRC = ivec3(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${u-1};\n bool hasNextRow = coords.z < ${o-1};\n\n // In parallel, construct four corners for all four components in\n // packed 2x2 cell.\n vec4 topLeft = vec4(\n getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 bottomLeft = vec4(\n getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 topRight = vec4(\n getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec4 bottomRight = vec4(\n getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec3 fracRC = sourceFracIndexRC - vec3(sourceFloorRC);\n\n vec4 top = mix(topLeft, topRight, fracRC.yyzz);\n vec4 bottom = mix(bottomLeft, bottomRight, fracRC.yyzz);\n vec4 newValue = mix(top, bottom, fracRC.x);\n\n setOutput(newValue);\n }\n `}};function H7(r){let{inputs:e,backend:t,attrs:o}=r,{images:n}=e,{alignCorners:s,halfPixelCenters:a,size:i}=o,[p,u]=i,c=O().getBool(\"WEBGL_PACK_IMAGE_OPERATIONS\")?new rg(n.shape,p,u,s,a):new tg(n.shape,p,u,s,a);return t.runWebGLProgram(c,[n],\"float32\")}var IF={kernelName:Mn,backendName:\"webgl\",kernelFunc:H7};var og=class{constructor(e,t,o){this.variableNames=[\"dy\"],this.outputShape=[],this.outputShape=t;let[,n,s]=t,[,a,i]=e,p=[o&&a>1?n-1:n,o&&i>1?s-1:s],u=[o&&a>1?a-1:a,o&&i>1?i-1:i],c=p[0]/u[0],l=p[1]/u[1],m=1/c,d=1/l,f=Math.ceil(m)*2+2,h=Math.ceil(d)*2+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${c});\n const float widthScale = float(${l});\n\n const float invHeightScale = float(${m});\n const float invWidthScale = float(${d});\n\n const int winHeight = int(${f});\n const int winWidth = int(${h});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(startRLerp - float(winHeight / 2));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(startCLerp - float(winWidth / 2));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${a}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${i}) {\n continue;\n }\n\n float dxR = float(dyR) * heightScale;\n int topDxRIndex = int(floor(dxR));\n int bottomDxRIndex = int(min(ceil(dxR), ${n-1}.0));\n float dxRLerp = dxR - float(topDxRIndex);\n float inverseDxRLerp = 1.0 - dxRLerp;\n\n float dxC = float(dyC) * widthScale;\n int leftDxCIndex = int(floor(dxC));\n int rightDxCIndex = int(min(ceil(dxC), ${s-1}.0));\n float dxCLerp = dxC - float(leftDxCIndex);\n float inverseDxCLerp = 1.0 - dxCLerp;\n\n if (r == topDxRIndex && c == leftDxCIndex) {\n // topLeft\n accumulator +=\n getDy(b, dyR, dyC, d) * inverseDxRLerp * inverseDxCLerp;\n }\n\n if (r == topDxRIndex && c == rightDxCIndex) {\n // topRight\n accumulator += getDy(b, dyR, dyC, d) * inverseDxRLerp * dxCLerp;\n }\n\n if (r == bottomDxRIndex && c == leftDxCIndex) {\n // bottomLeft\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * inverseDxCLerp;\n }\n\n if (r == bottomDxRIndex && c == rightDxCIndex) {\n // bottomRight\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * dxCLerp;\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}};function q7(r){let{inputs:e,backend:t,attrs:o}=r,{images:n,dy:s}=e,{alignCorners:a}=o,i=new og(s.shape,n.shape,a);return t.runWebGLProgram(i,[s],s.dtype)}var vF={kernelName:$m,backendName:\"webgl\",kernelFunc:q7};var ng=class{constructor(e,t,o,n,s){this.variableNames=[\"A\"],this.outputShape=[];let[a,i,p,u]=e;this.outputShape=[a,t,o,u];let c=[n&&t>1?i-1:i,n&&o>1?p-1:p],l=[n&&t>1?t-1:t,n&&o>1?o-1:o],m=n?\"0.5\":\"0.0\",d;s?d=\"max((vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC, vec2(0.0))\":d=\"vec2(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${c[0]/l[0]},\n ${c[1]/l[1]});\n const vec2 inputShapeRC = vec2(${i}.0, ${p}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${d};\n\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestRC = ivec2(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${m})));\n float newValue = getA(b, sourceNearestRC.x, sourceNearestRC.y, d);\n\n setOutput(newValue);\n }\n `}};var sg=class{constructor(e,t,o,n,s){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];let[a,i,p,u]=e;this.outputShape=[a,t,o,u];let c=[n&&t>1?i-1:i,n&&o>1?p-1:p],l=[n&&t>1?t-1:t,n&&o>1?o-1:o],m=n?\"0.5\":\"0.0\",d;s?d=\"max((vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC, vec3(0.0))\":d=\"vec3(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${c[0]/l[0]},\n ${c[1]/l[1]},\n ${c[1]/l[1]});\n const vec3 inputShapeRC = vec3(${i}.0, ${p}.0,\n ${p}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${d};\n\n // Compute the coordinators of nearest neighbor point.\n ivec3 sourceNearestRC = ivec3(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${m})));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${u-1};\n bool hasNextRow = coords.z < ${o-1};\n\n vec4 newValue = vec4(\n getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d),\n hasNextCol ? getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d + 1) : 0.0);\n\n setOutput(newValue);\n }\n `}};function K7(r){let{inputs:e,backend:t,attrs:o}=r,{images:n}=e,{alignCorners:s,halfPixelCenters:a,size:i}=o,[p,u]=i,c=O().getBool(\"WEBGL_PACK_IMAGE_OPERATIONS\")?new sg(n.shape,p,u,s,a):new ng(n.shape,p,u,s,a);return t.runWebGLProgram(c,[n],n.dtype)}var kF={kernelName:Pn,backendName:\"webgl\",kernelFunc:K7};var ag=class{constructor(e,t,o){this.variableNames=[\"dy\"],this.outputShape=[],this.outputShape=t;let[,n,s]=t,[,a,i]=e,p=[o&&a>1?n-1:n,o&&i>1?s-1:s],u=[o&&a>1?a-1:a,o&&i>1?i-1:i],c=p[0]/u[0],l=p[1]/u[1],m=1/c,d=1/l,f=Math.ceil(m)*2+2,h=Math.ceil(d)*2+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${c});\n const float widthScale = float(${l});\n\n const float invHeightScale = float(${m});\n const float invWidthScale = float(${d});\n\n const int winHeight = int(${f});\n const int winWidth = int(${h});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(floor(startRLerp - float(winHeight / 2)));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(floor(startCLerp - float(winWidth / 2)));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${a}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${i}) {\n continue;\n }\n\n float sourceFracRow =\n float(${p[0]}) *\n (float(dyR) / float(${u[0]}));\n\n float sourceFracCol =\n float(${p[1]}) *\n (float(dyC) / float(${u[1]}));\n\n int sourceNearestRow = int(min(\n float(int(${n}) - 1),\n ${o} ? float(round(sourceFracRow)) :\n float(floor(sourceFracRow))));\n\n int sourceNearestCol = int(min(\n float(int(${s}) - 1),\n ${o} ? float(round(sourceFracCol)) :\n float(floor(sourceFracCol))));\n\n if (r == sourceNearestRow && c == sourceNearestCol) {\n accumulator += getDy(b, dyR, dyC, d);\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}};function j7(r){let{inputs:e,backend:t,attrs:o}=r,{images:n,dy:s}=e,{alignCorners:a}=o,i=new ag(s.shape,n.shape,a);return t.runWebGLProgram(i,[s],s.dtype)}var NF={kernelName:Em,backendName:\"webgl\",kernelFunc:j7};var ig=class{constructor(e,t){this.variableNames=[\"x\"];let o=e.length;if(o>4)throw new Error(`WebGL backend: Reverse of rank-${o} tensor is not yet supported`);if(this.outputShape=e,o===1){this.userCode=`\n void main() {\n int coord = getOutputCoords();\n setOutput(getX(${e[0]} - coord - 1));\n }\n `;return}let n=i=>t.indexOf(i)!==-1&&e[i]!==1?`${e[i]} - coords[${i}] - 1`:`coords[${i}]`,s=e.map((i,p)=>n(p)).join(\",\"),a=_e(o);this.userCode=`\n void main() {\n ${a} coords = getOutputCoords();\n setOutput(getX(${s}));\n }\n `}};var ug=class{constructor(e,t){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0;let o=e.length;if(o>4)throw new Error(`WebGL backend: Reverse of rank-${o} tensor is not yet supported`);this.outputShape=e;let n=$t(\"rc\",o),s=`${n[o-1]} + 1 < ${this.outputShape[o-1]}`,a=`${n[o-2]} + 1 < ${this.outputShape[o-2]}`,i=_e(o);o===1?this.userCode=`\n void main(){\n int rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = getChannel(getX(${e[0]} - rc - 1),\n ${e[0]} - rc - 1);\n if(${s}){\n result.g = getChannel(getX(${e[0]} - (rc + 1) - 1),\n ${e[0]} - (rc + 1) - 1);\n }\n setOutput(result);\n }\n `:this.userCode=`\n void main() {\n ${i} rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = ${p(n.slice())};\n if(${s}){\n result.g = ${u(n.slice())};\n }\n if(${a}) {\n result.b = ${c(n.slice())};\n if(${s}) {\n result.a = ${l(n.slice())};\n }\n }\n setOutput(result);\n }\n `;function p(f){return m(f)}function u(f){return f[o-1]=\"(\"+f[o-1]+\" + 1)\",m(f)}function c(f){return f[o-2]=\"(\"+f[o-2]+\" + 1)\",m(f)}function l(f){return f[o-1]=\"(\"+f[o-1]+\" + 1)\",f[o-2]=\"(\"+f[o-2]+\" + 1)\",m(f)}function m(f){let h=e.map((b,C)=>d(C,f)),g=h.join(\",\"),x=h.slice(-2).join(\",\");return`getChannel(getX(${g}), vec2(${x}))`}function d(f,h){return t.indexOf(f)!==-1&&e[f]!==1?`${e[f]} - ${h[f]} - 1`:`${h[f]}`}}};function X7(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{dims:s}=o,a=n.shape.length,i=y.parseAxisParam(s,n.shape);if(a===0)return At({inputs:{x:n},backend:t});let p=O().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new ug(n.shape,i):new ig(n.shape,i);return t.runWebGLProgram(p,[n],n.dtype)}var TF={kernelName:Bn,backendName:\"webgl\",kernelFunc:X7};var pg=class{constructor(e,t){this.variableNames=[\"Image\"],this.outputShape=[],this.customUniforms=[{name:\"params\",type:\"vec4\"}];let o=e[1],n=e[2];this.outputShape=e;let s=\"\";typeof t==\"number\"?s=`float outputValue = ${t.toFixed(2)};`:s=`\n vec3 fill = vec3(${t.join(\",\")});\n float outputValue = fill[coords[3]];`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n int y = coords[1];\n float coordXFloat = (float(x) - params[0]) * params[3] -\n (float(y) - params[1]) * params[2];\n float coordYFloat = (float(x) - params[0]) * params[2] +\n (float(y) - params[1]) * params[3];\n int coordX = int(round(coordXFloat + params[0]));\n int coordY = int(round(coordYFloat + params[1]));\n ${s}\n if(coordX >= 0 && coordX < ${n} && coordY >= 0 && coordY < ${o}) {\n outputValue = getImage(coords[0], coordY, coordX, coords[3]);\n }\n setOutput(outputValue);\n }\n `}};var _F={kernelName:es,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{image:o}=r,{radians:n,fillValue:s,center:a}=e,i=t,p=new pg(o.shape,s),[u,c]=S.getImageCenter(a,o.shape[1],o.shape[2]),l=[[u,c,Math.sin(n),Math.cos(n)]];return i.runWebGLProgram(p,[o],o.dtype,l)}};var Y7=`\n // OpenGL ES does not support round function.\n // The algorithm is based on banker's rounding.\n float base = floor(x);\n if ((x - base) < 0.5) {\n return floor(x);\n } else if ((x - base) > 0.5) {\n return ceil(x);\n } else {\n if (mod(base, 2.0) == 0.0) {\n return base;\n } else {\n return base + 1.0;\n }\n }\n`,Q7=ge({opSnippet:Y7}),EF={kernelName:Ca,backendName:\"webgl\",kernelFunc:Q7};var Z7=\"return inversesqrt(x);\",J7=ge({opSnippet:Z7,cpuKernelImpl:u$}),$F={kernelName:Vn,backendName:\"webgl\",kernelFunc:J7};var Cc=class{constructor(e,t,o,n,s,a,i=!0){this.variableNames=[\"updates\",\"indices\",\"defaultValue\"],this.outputShape=a;let p=_e(s.length),u=_e(a.length),c=\"\";o===1?c=\"i\":o===2&&(c=\"i, j\");let l=`getIndices(${c})`,m=\"\";n===1?m=\"i\":n===2&&(m=\"i, coords[1]\");let d=`getUpdates(${m})`,f=t>1?\"strides[j]\":\"strides\";this.userCode=`\n ${p} strides = ${p}(${s});\n\n void main() {\n ${u} coords = getOutputCoords();\n float sum = 0.0;\n bool found = false;\n for (int i = 0; i < ${e}; i++) {\n int flattenedIndex = 0;\n for (int j = 0; j < ${t}; j++) {\n int index = round(${l});\n flattenedIndex += index * ${f};\n }\n if (flattenedIndex == coords[0]) {\n sum += ${d};\n found = true;\n }\n }\n setOutput(mix(getDefaultValue(), sum, float(found)));\n }\n `}};function eZ(r){let{inputs:e,backend:t,attrs:o}=r,{indices:n,updates:s}=e,{shape:a}=o,{sliceRank:i,numUpdates:p,sliceSize:u,strides:c,outputSize:l}=S.calculateShapes(s,n,a),m=[l/u,u];if(l===0)return t.makeTensorInfo(a,n.dtype);let d=te({inputs:{x:n},backend:t,attrs:{shape:[p,i]}}),f=te({inputs:{x:s},backend:t,attrs:{shape:[p,u]}}),h=t.makeTensorInfo([],\"float32\",new Float32Array([0])),g=new Cc(p,i,d.shape.length,f.shape.length,c,m),x=t.runWebGLProgram(g,[f,d,h],f.dtype),b=te({inputs:{x},backend:t,attrs:{shape:a}});return t.disposeIntermediateTensorInfo(d),t.disposeIntermediateTensorInfo(f),t.disposeIntermediateTensorInfo(x),t.disposeIntermediateTensorInfo(h),b}var AF={kernelName:zn,backendName:\"webgl\",kernelFunc:eZ};var cg=class{constructor(e,t,o,n){this.variableNames=[\"sortedSequence\",\"values\"],this.customUniforms=[{name:\"numInputs\",type:\"int\"}],this.outputShape=[e,o];let s=\"while (left < right) {\",a=`for (int i = 0; i < ${Math.ceil(Math.log2(t+1))}; ++i) { if (left >= right) break;`,i=O().getNumber(\"WEBGL_VERSION\")===2?s:a,p=n===\"left\"?\"<\":\"<=\";this.userCode=`\n int findBound(int batch, float value) {\n int left = 0;\n int right = numInputs;\n int mid;\n ${i}\n mid = (left + right) / 2;\n if (getSortedSequence(batch, mid) ${p} value) {\n left = mid + 1;\n } else {\n right = mid;\n }\n }\n return right;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int valueIndex = coords[1];\n\n float value = getValues(batch, valueIndex);\n\n setOutput(float(findBound(batch, value)));\n }\n `}};function tZ(r){let{inputs:e,backend:t,attrs:o}=r,{sortedSequence:n,values:s}=e,{side:a}=o,i=new cg(n.shape[0],n.shape[1],s.shape[1],a),p=[[n.shape[1]]];return t.runWebGLProgram(i,[n,s],\"int32\",p)}var RF={kernelName:ii,backendName:\"webgl\",kernelFunc:tZ};var lg=class{constructor(e,t,o){this.variableNames=[\"c\",\"a\",\"b\"],this.outputShape=t;let n,s;if(o>4)throw Error(`Where for rank ${o} is not yet supported`);if(o===1)s=\"resRC\",n=\"resRC\";else{let i=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],p=[],u=[];for(let c=0;c= 1.0) {\n setOutput(getA(${s}));\n } else {\n setOutput(getB(${s}));\n }\n }\n `}};function rZ(r){let{inputs:e,backend:t}=r,{condition:o,t:n,e:s}=e,a=new lg(o.shape.length,n.shape,n.shape.length);return t.runWebGLProgram(a,[o,n,s],dt(n.dtype,s.dtype))}var FF={kernelName:Ts,backendName:\"webgl\",kernelFunc:rZ};var oZ=`\n // Stable and Attracting Fixed Point (0, 1) for Normalized Weights.\n // see: https://arxiv.org/abs/1706.02515\n float scaleAlpha = ${S.SELU_SCALEALPHA};\n float scale = ${S.SELU_SCALE};\n return (x >= 0.0) ? scale * x : scaleAlpha * (exp(x) - 1.0);\n`,nZ=ge({opSnippet:oZ}),DF={kernelName:Xi,backendName:\"webgl\",kernelFunc:nZ};var sZ=_o+`\n return 1.0 / (1.0 + exp(-1.0 * x));\n`,aZ=`\n vec4 result = 1.0 / (1.0 + exp(-1.0 * x));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,iZ=ge({opSnippet:sZ,packedOpSnippet:aZ,cpuKernelImpl:c$}),OF={kernelName:Un,backendName:\"webgl\",kernelFunc:iZ};var uZ=`\n if (isnan(x)) { return 0.0; }\n return sign(x);\n`,pZ=ge({opSnippet:uZ}),PF={kernelName:Yi,backendName:\"webgl\",kernelFunc:pZ};var cZ=_o+`\n return sin(x);\n`,lZ=ge({opSnippet:cZ}),MF={kernelName:Wn,backendName:\"webgl\",kernelFunc:lZ};var mZ=`\n float e2x = exp(x);\n return (e2x - 1.0 / e2x) / 2.0;\n`,dZ=ge({opSnippet:mZ}),LF={kernelName:Sa,backendName:\"webgl\",kernelFunc:dZ};var fZ=`\n float epsilon = 1.1920928955078125e-7;\n float threshold = log(epsilon) + 2.0;\n\n bool too_large = x > -threshold;\n bool too_small = x < threshold;\n\n float result;\n float exp_x = exp(x);\n\n if (too_large){\n result = x;\n }\n else if (too_small){\n result = exp_x;\n }\n else{\n result = log(exp_x + 1.0);\n }\n return result;\n`,hZ=ge({opSnippet:fZ}),BF={kernelName:Qi,backendName:\"webgl\",kernelFunc:hZ};var gZ=r=>{let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{blockShape:s,paddings:a}=o;y.assert(n.shape.length<=4,()=>\"spaceToBatchND for rank > 4 with a WebGL backend not implemented yet\");let i=s.reduce((x,b)=>x*b),p=[[0,0]];p.push(...a);for(let x=1+s.length;xt.disposeIntermediateTensorInfo(x)),g},VF={kernelName:Es,backendName:\"webgl\",kernelFunc:gZ};function xZ(r){let{inputs:e,backend:t}=r,{indices:o,values:n,denseShape:s,defaultValue:a}=e;if(s.shape.length!==1)throw new Error(`Dense shape must be a vector, saw:\n ${s.shape}`);if(o.shape.length!==2)throw new Error(`Indices must be a matrix, saw:\n ${o.shape}`);if(n.shape.length!==1)throw new Error(`Values must be a vector, saw:\n ${n.shape}`);if(a.shape.length!==0)throw new Error(`Default value must be a scalar, saw:\n ${a.shape}`);let i=t.readSync(o.dataId),p=t.readSync(n.dataId),u=t.readSync(s.dataId),c=t.readSync(a.dataId)[0],[l,m,d,f,h]=m$(i,o.shape,o.dtype,p,n.dtype,u,c);return[t.makeTensorInfo(m,o.dtype,l),t.makeTensorInfo([m[0]],n.dtype,d),t.makeTensorInfo([f.length],\"bool\",new Uint8Array(f.map(g=>Number(g)))),t.makeTensorInfo([h.length],o.dtype,new Int32Array(h))]}var zF={kernelName:ui,backendName:\"webgl\",kernelFunc:xZ};function yZ(r){let{inputs:e,backend:t}=r,{inputIndices:o,inputShape:n,newShape:s}=e;if(o.shape.length!==2)throw new Error(`Input indices should be a matrix but received shape ${o.shape}`);if(n.shape.length!==1)throw new Error(`Input shape should be a vector but received shape ${n.shape}`);if(s.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);let a=Array.from(t.readSync(n.dataId)),i=t.readSync(o.dataId),p=Array.from(t.readSync(s.dataId)),[u,c,l]=d$(i,o.shape,o.dtype,a,p);return[t.makeTensorInfo(c,o.dtype,u),t.makeTensorInfo([l.length],s.dtype,new Int32Array(l))]}var WF={kernelName:wa,backendName:\"webgl\",kernelFunc:yZ};function bZ(r){let{inputs:e,backend:t}=r,{data:o,indices:n,segmentIds:s}=e;if(o.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(n.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${n.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);let a=t.readSync(o.dataId),i=t.readSync(n.dataId),p=t.readSync(s.dataId),[u,c]=jf(a,o.shape,o.dtype,i,p,!0);return t.makeTensorInfo(c,o.dtype,u)}var UF={kernelName:pi,backendName:\"webgl\",kernelFunc:bZ};function CZ(r){let{inputs:e,backend:t}=r,{data:o,indices:n,segmentIds:s}=e;if(o.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(n.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${n.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);let a=t.readSync(o.dataId),i=t.readSync(n.dataId),p=t.readSync(s.dataId),[u,c]=jf(a,o.shape,o.dtype,i,p);return t.makeTensorInfo(c,o.dtype,u)}var GF={kernelName:ci,backendName:\"webgl\",kernelFunc:CZ};function SZ(r){let{inputs:e,backend:t,attrs:o}=r,{sparseIndices:n,sparseValues:s,defaultValue:a}=e,{outputShape:i}=o,{sliceRank:p,numUpdates:u,sliceSize:c,strides:l,outputSize:m}=S.calculateShapes(s,n,i),d=!1;if(s.dtype===\"string\"){let x=t.bufferSync(n),b=t.bufferSync(s),C=y.decodeString(t.readSync(a.dataId)[0]),w=p$(x,b,i,m,c,u,p,l,C,d);return t.makeTensorInfo(i,w.dtype,w.values)}let f=new Cc(u,p,n.shape.length,s.shape.length,l,[m,1],d),h=t.runWebGLProgram(f,[s,n,a],s.dtype),g=te({inputs:{x:h},backend:t,attrs:{shape:i}});return t.disposeIntermediateTensorInfo(h),g}var HF={kernelName:li,backendName:\"webgl\",kernelFunc:SZ};function wZ(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{numOrSizeSplits:s,axis:a}=o,i=y.parseAxisParam(a,n.shape)[0],p=S.prepareSplitSize(n,s,i),u=n.shape.length,c=new Array(u).fill(0),l=n.shape.slice();return p.map(m=>{let d=[...l];d[i]=m;let f=cs({inputs:{x:n},backend:t,attrs:{begin:c,size:d}});return c[i]+=m,f})}var qF={kernelName:$s,backendName:\"webgl\",kernelFunc:wZ};var KF=\"return sqrt(x);\",IZ=ge({opSnippet:KF,packedOpSnippet:KF,cpuKernelImpl:f$}),jF={kernelName:Gn,backendName:\"webgl\",kernelFunc:IZ};var vZ=\"return x * x;\",kZ=ge({opSnippet:vZ}),XF={kernelName:mi,backendName:\"webgl\",kernelFunc:kZ};var YF=\"return (a - b) * (a - b);\",NZ=tt({opSnippet:YF,packedOpSnippet:YF}),QF={kernelName:Kn,backendName:\"webgl\",kernelFunc:NZ};function TZ({inputs:r,attrs:e,backend:t}){let{x:o}=r,n=Bt+`\n return x > 0.0 ? 1.0 : float(${e.alpha});\n `,s=new Jt(o.shape,n);return t.runWebGLProgram(s,[o],o.dtype)}var ZF={kernelName:Ds,backendName:\"webgl\",kernelFunc:TZ};var mg=class{constructor(e,t,o){this.variableNames=[\"x\"],this.outputShape=o;let n=o.length,s=_e(o.length),a=_e(o.length),i=\"\";if(n===1)i=\"coords * strides + begin\";else{let p=0;i=o.map((u,c)=>(p++,o.length===1?`coords * strides[${c}] + begin[${c}]`:`coords[${p-1}] * strides[${c}] + begin[${c}]`)).join(\",\")}this.userCode=`\n ${s} begin = ${s}(${e});\n ${s} strides = ${s}(${t});\n\n void main() {\n ${a} coords = getOutputCoords();\n setOutput(getX(${i}));\n }\n `}};function _Z(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{begin:s,end:a,strides:i,beginMask:p,endMask:u,ellipsisMask:c,newAxisMask:l,shrinkAxisMask:m}=o,{finalShapeSparse:d,finalShape:f,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:C,strides:w}=ut.sliceInfo(n.shape,s,a,i,p,u,c,l,m),k;if(h)k=te({inputs:{x:n},backend:t,attrs:{shape:f}});else if(g||x){y.assert(n.shape.length>=1,()=>`Input must have rank at least 1, got: ${n.shape.length}`);let $=ut.computeOutShape(b,C,w),A=cs({inputs:{x:n},backend:t,attrs:{begin:b,size:$}});k=te({inputs:{x:A},backend:t,attrs:{shape:f}}),t.disposeIntermediateTensorInfo(A)}else if(t.shouldExecuteOnCPU([n])){let A=t.readSync(n.dataId),R=le(n.shape,n.dtype,A),D=h$(d,R,w,b);k=t.makeTensorInfo(f,n.dtype,D.values)}else{let A=new mg(b,w,d);k=t.runWebGLProgram(A,[n],n.dtype)}let _=te({inputs:{x:k},backend:t,attrs:{shape:f}});return t.disposeIntermediateTensorInfo(k),_}var JF={kernelName:jn,backendName:\"webgl\",kernelFunc:_Z};function EZ(r){let{inputs:e,backend:t,attrs:o}=r,{separator:n,nGramWidths:s,leftPad:a,rightPad:i,padWidth:p,preserveShortSequences:u}=o,{data:c,dataSplits:l}=e,m=t.readSync(c.dataId),d=t.readSync(l.dataId),[f,h]=g$(m,d,n,s,a,i,p,u);return[t.makeTensorInfo([f.length],\"string\",f),t.makeTensorInfo(l.shape,\"int32\",h)]}var eD={kernelName:As,backendName:\"webgl\",kernelFunc:EZ};function $Z(r){let{inputs:e,backend:t,attrs:o}=r,{skipEmpty:n}=o,{input:s,delimiter:a}=e;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(s.shape.length!==1)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(a.shape.length!==0)throw new Error(`Delimiter must be a scalar, got shape: ${a.shape}`);let i=t.readSync(s.dataId),p=t.readSync(a.dataId)[0],[u,c,l]=x$(i,p,n),m=c.length;return[t.makeTensorInfo([m,2],\"int32\",u),t.makeTensorInfo([m],\"string\",c),t.makeTensorInfo([2],\"int32\",new Int32Array(l))]}var tD={kernelName:di,backendName:\"webgl\",kernelFunc:$Z};function AZ(r){let{inputs:e,backend:t,attrs:o}=r,{numBuckets:n}=o,{input:s}=e;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(n<=0)throw new Error(\"Number of buckets must be at least 1\");let a=t.readSync(s.dataId),i=y$(a,n);return t.makeTensorInfo(s.shape,\"int32\",i)}var rD={kernelName:fi,backendName:\"webgl\",kernelFunc:AZ};var RZ=\"return tan(x);\",FZ=ge({opSnippet:RZ}),oD={kernelName:Yn,backendName:\"webgl\",kernelFunc:FZ};var DZ=`\n float e2x = exp(-2.0 * abs(x));\n return sign(x) * (1.0 - e2x) / (1.0 + e2x);\n`,OZ=ge({opSnippet:DZ}),nD={kernelName:Qn,backendName:\"webgl\",kernelFunc:OZ};var dg=class{constructor(e,t){this.variableNames=[\"A\"];let o=new Array(e.length);for(let a=0;a5)throw Error(`Tile for rank ${e} is not yet supported`);if(e===1)return`imod(resRC, ${r[0]})`;let t=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\",\"resRC.u\"],o=[];for(let n=0;n5){let p=t.readSync(n.dataId),u=n.dtype===\"string\"?p.map(m=>y.decodeString(m)):p,c=le(n.shape,n.dtype,u),l=C$(c,s);return t.makeTensorInfo(l.shape,l.dtype,l.values)}let a=new dg(n.shape,s);return t.runWebGLProgram(a,[n],n.dtype)}var sD={kernelName:to,backendName:\"webgl\",kernelFunc:Vw};var fg=class{constructor(e){this.variableNames=[\"x\",\"indices\"],this.customUniforms=[{name:\"n\",type:\"int\"},{name:\"firstPass\",type:\"int\"},{name:\"negativeInf\",type:\"float\"},{name:\"dir\",type:\"int\"},{name:\"inc\",type:\"int\"}],this.outputShape=e,this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // We compare elements pair-wise within a group of size 2 * inc.\n // The comparing rule for each group alternates between ascending\n // and descending. Within each group, we compare each pair at\n // positions i and i+inc. To decide whether an element at position i\n // is x0 or x1, we mod it by 2 * inc, if the result is smaller than\n // inc, it is in the first half of the group, we denote it as x0,\n // otherwise we denote it as x1.\n // For example, as shown in the Bitonic top K paper referenced above,\n // Figure5(a) shows that element[1] is in the\n // second half of the group when group size is 2, but it is in the\n // first half of the group when group size is 4.\n\n bool isFirstInPair = imod(elemIdx, 2 * inc) < inc;\n int i = isFirstInPair ? elemIdx : elemIdx - inc;\n\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + inc : int(getIndices(batch, i + inc));\n float x0 = i0 < n ? getX(batch, i0) : negativeInf;\n float x1 = i1 < n ? getX(batch, i1) : negativeInf;\n\n // Denotes which direction indices are in (ascending or descending).\n bool reverse = imod(elemIdx, 2 * dir) >= dir;\n bool isGreater = x0 > x1 || (x0 == x1 && i1 > i0);\n if (reverse == isGreater) { // Elements in opposite order of direction\n int iTemp = i0;\n i0 = i1;\n i1 = iTemp;\n }\n if (isFirstInPair) {\n setOutput(float(i0));\n } else {\n setOutput(float(i1));\n }\n }\n `}},hg=class{constructor(e){this.variableNames=[\"x\",\"indices\"],this.customUniforms=[{name:\"n\",type:\"int\"},{name:\"firstPass\",type:\"int\"},{name:\"k\",type:\"int\"}],this.outputShape=e,this.userCode=`\n void main() {\n // Takes max of indices (0, k), (1, k + 1), (2, k + 2) ...\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // The output size is half of the previous size.\n // If the previous sequence is | | | | _ _ _ _ | | | | _ _ _ _ (k=4),\n // we only need to output the indices at positions |, the indices at\n // positions _ can be thrown away, see Figure5(b) After Phase 2\n // (Merge phase) in the Bitonic Top K paper referenced above.\n // For example, the paper shows we only need to output the orange bars.\n // The output sequence should look like this | | | | | | | |.\n // Because the sequence is halved, to map the output index back\n // to the previous sequence to find the corresponding value,\n // we need to double the index. When we double the index,\n // we basically interpolate a position, so 2i looks like\n // | _ | _ | _ | _ | _ | _ | _. We move the | to the first k position\n // of each 2k positions by - elemIdx % k. E.g. for output at\n // index 4,5,6,7, we want to get the corresponding element at\n // original index 8,9,10,11, for output at index 8,9,10,11,\n // we want to get the corresponding element at original index\n // 16,17,18,19, so on and so forth.\n\n int i = elemIdx < k ? elemIdx : (elemIdx * 2 - imod(elemIdx, k));\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + k : int(getIndices(batch, i + k));\n\n float x0 = getX(batch, i0);\n float x1 = i1 < n ? getX(batch, i1) : x0;\n\n setOutput(x0 >= x1 ? float(i0) : float(i1));\n }\n `}};function Bu(r,e){e!==null&&r.disposeIntermediateTensorInfo(e)}function aD(r){let e=1;for(;ep){let D=t.readSync(n.dataId),[P,M]=S$(D,u,n.dtype,s,a);return[t.makeTensorInfo(P.shape,P.dtype,P.values),t.makeTensorInfo(M.shape,M.dtype,M.values)]}if(s===0)return u[u.length-1]=0,[t.makeTensorInfo(u,n.dtype,[]),t.makeTensorInfo(u,\"int32\",[])];if(c===1)return[n,Ga({attrs:{shape:u,dtype:\"int32\",value:0},backend:t})];let l=t.texData.get(n.dataId),m=l!==null&&l.isPacked,d=m?t.unpackTensor(n):n,h=y.sizeFromShape(u)/c,g=te({inputs:{x:d},attrs:{shape:[h,c]},backend:t});m&&Bu(t,d);let x=aD(s),b=aD(c),C=null,w=()=>C===null?[g,g]:[g,C],k=(D,P,M)=>{let L=w(),W=new fg(M),U=[[c],[C===null?1:0],[Number.NEGATIVE_INFINITY],[D],[P]],q=C;C=t.runWebGLProgram(W,L,\"int32\",U),Bu(t,q)};for(let D=1;D=1;M/=2)k(P,M,[h,b])}for(let D=b;D>x;D/=2){let P=w(),M=new hg([h,D/2]),W=[[c],[C===null?1:0],[x]],V=C;C=t.runWebGLProgram(M,P,\"int32\",W),Bu(t,V);let U=x/2,q=U*2;for(let H=U;H>=1;H/=2)k(q,H,C.shape)}let _=C;C=cs({inputs:{x:C},backend:t,attrs:{begin:0,size:[h,s]}}),Bu(t,_);let $=Fw({inputs:{x:g,indices:C},backend:t,attrs:{axis:1,batchDims:1}});Bu(t,g);let A=u.slice(0,-1);A.push(s),_=C,C=te({inputs:{x:C},attrs:{shape:A},backend:t}),Bu(t,_);let R=$;return $=te({inputs:{x:$},attrs:{shape:A},backend:t}),Bu(t,R),[$,C]}var iD={kernelName:Zn,backendName:\"webgl\",kernelFunc:MZ};var gg=class{constructor(e,t,o,n,s,a){this.variableNames=[\"Image\",\"Transforms\"],this.outputShape=a;let i=o===\"nearest\"?1:2,p;switch(n){case\"constant\":p=1;break;case\"reflect\":p=2;break;case\"wrap\":p=3;break;case\"nearest\":p=4;break;default:p=1;break}this.userCode=`\n float mapCoord(float outCoord, float len) {\n float inCoord = outCoord;\n if(${p} == 2) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n if (inCoord < sz2) {\n inCoord = sz2 * float(int(float(-inCoord / sz2))) +\n inCoord;\n }\n inCoord = inCoord < -len ? inCoord + sz2 : -inCoord - 1.0;\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n inCoord -= sz2 * float(int(float(inCoord / sz2)));\n if (inCoord >= len) {\n inCoord = sz2 - inCoord - 1.0;\n }\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${p} == 3) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord += len * (float(int(float(-inCoord / sz))) + 1.0);\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord -= len * float(int(float(inCoord / sz)));\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${p} == 4) {\n return clamp(outCoord, 0.0, len - 1.0);\n } else {\n return outCoord;\n }\n }\n\n float readWithFillValue(int batch, int coordY, int coordX,\n int channel) {\n float outputValue;\n if (0 <= coordY && coordY < ${e} && 0 <= coordX && coordX < ${t}) {\n outputValue = getImage(batch, coordY, coordX, channel);\n } else {\n outputValue = float(${s});\n }\n return outputValue;\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n float outputValue;\n int batch = coords[0];\n int x = coords[2];\n int y = coords[1];\n int channel = coords[3];\n float xf = float(x);\n float yf = float(y);\n float a1 = getTransforms(batch, 0);\n float a2 = getTransforms(batch, 1);\n float a3 = getTransforms(batch, 2);\n float b1 = getTransforms(batch, 3);\n float b2 = getTransforms(batch, 4);\n float b3 = getTransforms(batch, 5);\n float c1 = getTransforms(batch, 6);\n float c2 = getTransforms(batch, 7);\n float projection = c1 * xf + c2 * yf + 1.0;\n if (projection == 0.0) {\n outputValue = float(${s});\n } else {\n float inX = (a1 * xf + a2 * yf + a3) / projection;\n float inY = (b1 * xf + b2 * yf + b3) / projection;\n float mapX = mapCoord(inX, float(${t}));\n float mapY = mapCoord(inY, float(${e}));\n\n if (${i} == 1) {\n int coordY = int(round(mapY));\n int coordX = int(round(mapX));\n outputValue = readWithFillValue(batch, coordY, coordX,\n channel);\n } else {\n float yFloor = floor(mapY);\n float xFloor = floor(mapX);\n float yCeil = yFloor + 1.0;\n float xCeil = xFloor + 1.0;\n float valueYFloor = (xCeil - mapX) *\n readWithFillValue(batch, int(yFloor), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yFloor), int(xCeil), channel);\n float valueYCeil = (xCeil - mapX) *\n readWithFillValue(batch, int(yCeil), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yCeil), int(xCeil), channel);\n outputValue = (yCeil - mapY) * valueYFloor +\n (mapY - yFloor) * valueYCeil;\n }\n }\n setOutput(outputValue);\n }\n `}};function LZ(r){let{inputs:e,backend:t,attrs:o}=r,{image:n,transforms:s}=e,{interpolation:a,fillMode:i,fillValue:p,outputShape:u}=o,[c,l,m,d]=n.shape,[f,h]=u!=null?u:[l,m],g=[c,f,h,d],x=new gg(l,m,a,i,p,g);return t.runWebGLProgram(x,[n,s],\"float32\")}var uD={kernelName:Jn,backendName:\"webgl\",kernelFunc:LZ};function BZ(r){let{inputs:e,attrs:t,backend:o}=r,{axis:n}=t,{x:s}=e;is(s,\"unique\"),console.warn(\"WARNING: \",\"UI might be locked temporarily as data is being downloaded\");let a=o.readSync(s.dataId),{outputValues:i,outputShape:p,indices:u}=w$(a,n,s.shape,s.dtype);return[o.makeTensorInfo(p,s.dtype,i),o.makeTensorInfo([u.length],\"int32\",u)]}var pD={kernelName:kp,backendName:\"webgl\",kernelFunc:BZ};function VZ(r){let{inputs:e,backend:t,attrs:o}=r,{value:n}=e,{axis:s}=o;s<0&&(s+=n.shape.length);let a=n,i=a.shape.length,p=n.shape[s],u=new Array(i-1),c=0;for(let h=0;ht.disposeIntermediateTensorInfo(h)),f}var cD={kernelName:Rs,backendName:\"webgl\",kernelFunc:VZ};var xg=class{constructor(e,t){this.variableNames=[\"x\",\"segmentIds\"];let o=e.windowSize,n=e.batchSize,s=e.inSize,a=e.numSegments,i=a*Math.ceil(s/o);this.outputShape=[n,i];let p=\"0.0\",u=\"sumValue\",c=Math.floor(o/4)*4,l=o%4,m=`\n sumValue += dot(values, segFilter);\n `,d=\"\";s%o>0&&(d=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `);let f=\"\";s%o>0&&(f=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return -1.0;\n }\n `),this.userCode=`\n const float initializationValue = ${p};\n\n float getValue(int batch, int inIdx) {\n ${d}\n return getX(batch, inIdx);\n }\n\n float getSegmentIdAtIndex(int inIdx) {\n ${f}\n return getSegmentIds(inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = int(floor(float(outIdx) / float(\n ${a})) * float(${o}));\n int currentSeg = int(mod(float(outIdx), float(${a})));\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${c}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 3)) == currentSeg ? 1 : 0\n );\n\n ${m}\n }\n\n int inIdx = inOffset + ${c};\n if (${l===1}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n int inIdxSeg = int(getSegmentIdAtIndex(inIdx));\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n 0,\n 0,\n 0\n );\n\n ${m}\n } else if (${l===2}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n 0,\n 0\n );\n\n ${m}\n } else if (${l===3}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n 0\n );\n\n ${m}\n }\n setOutput(${u});\n }\n `}};function zZ(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,segmentIds:s}=e,{numSegments:a}=o,i=n.shape.length,p=[],u=0,c=S.getAxesPermutation([u],i),l=n;c!=null&&(l=xt({inputs:{x:n},backend:t,attrs:{perm:c}}),p.push(l),u=S.getInnerMostAxes(1,i)[0]);let m=S.segment_util.computeOutShape(l.shape,u,a),d=y.sizeFromShape([l.shape[u]]),f=te({inputs:{x:l},backend:t,attrs:{shape:[-1,d]}});p.push(f);let h=ka(n.dtype),g=(w,k,_,$,A)=>{let R=w.shape[0],D=w.shape[1],P=S.segment_util.segOpComputeOptimalWindowSize(D,A),M={windowSize:P,inSize:D,batchSize:R,numSegments:A},L=new xg(M,k),W=t.compileAndRun(L,[w,_],$);if(p.push(W),W.shape[1]===A)return W;let V=Bw({backend:t,attrs:{start:0,stop:A,step:1,dtype:\"float32\"}}),U=Vw({inputs:{x:V},backend:t,attrs:{reps:[D/P]}});return p.push(V),p.push(U),g(W,k,U,$,A)},x=g(f,\"unsortedSegmentSum\",s,h,a),b=te({inputs:{x},backend:t,attrs:{shape:m}}),C=b;if(c!=null){p.push(b);let w=S.getUndoAxesPermutation(c);C=xt({inputs:{x:C},backend:t,attrs:{perm:w}})}return p.forEach(w=>t.disposeIntermediateTensorInfo(w)),C}var lD={kernelName:Np,backendName:\"webgl\",kernelFunc:zZ};var WZ=[Y$,Z$,J$,eA,rA,oA,nA,sA,uA,pA,cA,lA,mA,dA,fA,hA,gA,xA,yA,bA,CA,wA,IA,vA,_A,$A,AA,V$,FA,OA,PA,MA,LA,BA,VA,zA,WA,UA,GA,KA,jA,XA,YA,QA,ZA,JA,eR,tR,rR,oR,nR,sR,aR,iR,uR,cR,lR,mR,dR,hR,gR,xR,yR,bR,CR,SR,wR,IR,B$,vR,DA,kR,NR,TR,z$,_R,ER,$R,AR,RR,FR,DR,OR,PR,MR,BR,VR,zR,WR,UR,GR,qR,jR,XR,YR,QR,ZR,oF,G$,nF,sF,aF,iF,kA,uF,lF,mF,dF,fF,W$,hF,gF,xF,yF,bF,NA,JR,CF,SF,wF,q$,IF,vF,kF,NF,TF,_F,EF,$F,AF,RF,FF,DF,OF,PF,MF,LF,SA,rF,BF,VF,zF,WF,UF,GF,HF,qF,jF,XF,QF,ZF,JF,eD,tD,rD,tF,j$,oD,nD,sD,iD,uD,X$,pD,cD,lD,pF];for(let r of WZ)Ia(r);var Fe;(function(r){r[r.float32=0]=\"float32\",r[r.int32=1]=\"int32\",r[r.bool=2]=\"bool\",r[r.string=3]=\"string\",r[r.complex64=4]=\"complex64\"})(Fe||(Fe={}));var Wi;(function(r){r[r.linear=0]=\"linear\",r[r.relu=1]=\"relu\",r[r.relu6=2]=\"relu6\",r[r.prelu=3]=\"prelu\",r[r.leakyrelu=4]=\"leakyrelu\",r[r.sigmoid=5]=\"sigmoid\",r[r.elu=6]=\"elu\"})(Wi||(Wi={}));var mD;function UZ(r){mD=r.wasm.cwrap(fo,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function GZ(r){let{inputs:e,backend:t,attrs:o}=r,{a:n,b:s,bias:a,preluActivationWeights:i}=e;if(n.dtype!==\"float32\"||s.dtype!==\"float32\")throw new Error(\"_FusedMatMul for non non-float32 tensors not yet supported.\");let{transposeA:p,transposeB:u,activation:c,leakyreluAlpha:l}=o,m=t.dataIdMap.get(n.dataId).id,d=t.dataIdMap.get(s.dataId).id,f=0;if(a!=null){let A=t.dataIdMap.get(a.dataId);if(A.shape.length!==1)throw new Error(`_FusedMatMul only supports rank-1 bias but got rank ${A.shape.length}.`);f=A.id}let h=i==null?0:t.dataIdMap.get(i.dataId).id,g=Wi[c];if(g==null)throw new Error(`${c} activation not yet supported for FusedConv2D in the wasm backend.`);let x=p?n.shape[2]:n.shape[1],b=u?s.shape[1]:s.shape[2],C=br.assertAndGetBroadcastShape(n.shape.slice(0,-2),s.shape.slice(0,-2)),w=t.makeOutput([...C,x,b],n.dtype),k=t.dataIdMap.get(w.dataId).id,_=new Uint8Array(new Int32Array(n.shape).buffer),$=new Uint8Array(new Int32Array(s.shape).buffer);return mD(m,_,n.shape.length,d,$,s.shape.length,p,u,g,f,h,l||0,k),w}var dD={kernelName:fo,backendName:\"wasm\",setupFunc:UZ,kernelFunc:GZ};function Ve(r,e){let t;function o(s){t=s.wasm.cwrap(r,null,[\"number\",\"number\",\"number\"])}function n(s){let{backend:a,inputs:{x:i}}=s,p=a.dataIdMap.get(i.dataId).id,u=a.makeOutput(i.shape,e||i.dtype),c=a.dataIdMap.get(u.dataId).id;return y.sizeFromShape(u.shape)===0||t(p,Fe[i.dtype],c),u}return{kernelName:r,backendName:\"wasm\",setupFunc:o,kernelFunc:n}}var fD=Ve(gs);function rt(r,e,t){let o;function n(a){o=a.wasm.cwrap(r,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\"])}function s(a){let{backend:i,inputs:p}=a,{a:u,b:c}=p,l=i.dataIdMap.get(u.dataId).id,m=i.dataIdMap.get(c.dataId).id,d=t!=null?t:u.dtype,f=S.assertAndGetBroadcastShape(u.shape,c.shape),h=i.makeOutput(f,d);if(y.sizeFromShape(f)===0)return h;let g=new Uint8Array(new Int32Array(u.shape).buffer),x=new Uint8Array(new Int32Array(c.shape).buffer),b=i.dataIdMap.get(h.dataId).id;return(()=>o(l,g,u.shape.length,m,x,c.shape.length,Fe[u.dtype],b))(),h}return{kernelName:r,backendName:\"wasm\",setupFunc:n,kernelFunc:s}}var HZ=!0,hD=rt(eo,HZ);var gD;function qZ(r){gD=r.wasm.cwrap(Mo,null,[\"array\",\"number\",\"number\",\"number\"])}function KZ(r){let{inputs:e,backend:t}=r,o=t.makeOutput(e[0].shape,e[0].dtype);if(y.sizeFromShape(o.shape)===0)return o;let n=e.map(i=>t.dataIdMap.get(i.dataId).id),s=new Uint8Array(new Int32Array(n).buffer),a=t.dataIdMap.get(o.dataId).id;return gD(s,n.length,Fe[o.dtype],a),o}var xD={kernelName:Mo,backendName:\"wasm\",setupFunc:qZ,kernelFunc:KZ};function Vu(r){let{inputs:{x:e},backend:t}=r;if(e.dtype===\"string\")return nr(t.readSync(e.dataId),e.shape,e.dtype);let o=t.makeOutput(e.shape,e.dtype),n=t.typedArrayFromHeap(e);return t.typedArrayFromHeap(o).set(n),o}var yD={kernelName:mo,backendName:\"wasm\",kernelFunc:Vu};var bD;function jZ(r){bD=r.wasm.cwrap(ro,null,[\"number\",\"array\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function uo(r){let{inputs:e,backend:t,attrs:o}=r,[n,s]=YZ(e.x.shape,o.perm),a=!0;for(let f=0;f=n&&(s===-1||o[s]>o[a])&&(s=a);o[s]=n}return[t,o]}var CD={kernelName:ro,backendName:\"wasm\",kernelFunc:uo,setupFunc:jZ};function kr(r,e,t){let o=r.shape,n=r.shape.length,s=y.parseAxisParam(e,o),a=s,i=S.getAxesPermutation(a,n),p=null,u=!1;if(i!=null){let c=new Array(n);for(let d=0;d`new shape: ${a}, old shape: ${o.shape}. New shape and old shape must have the same number of elements.`),r.backend.incRef(o.dataId),{dataId:o.dataId,shape:a,dtype:o.dtype}}var ED={kernelName:Ns,backendName:\"wasm\",kernelFunc:Mt};var $D;function s9(r){$D=r.wasm.cwrap(Wo,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\"])}function a9(r){let{inputs:e,backend:t,attrs:o}=r,{a:n,b:s}=e,{transposeA:a,transposeB:i}=o;if(n.dtype!==\"float32\"||s.dtype!==\"float32\")throw new Error(\"BatchMatMul for non non-float32 tensors not yet supported.\");let p=n.shape.length,u=s.shape.length,c=a?n.shape[p-2]:n.shape[p-1],l=i?s.shape[u-1]:s.shape[u-2],m=a?n.shape[p-1]:n.shape[p-2],d=i?s.shape[u-2]:s.shape[u-1],f=n.shape.slice(0,-2),h=s.shape.slice(0,-2),g=y.sizeFromShape(f),x=y.sizeFromShape(h),C=br.assertAndGetBroadcastShape(n.shape.slice(0,-2),s.shape.slice(0,-2)).concat([m,d]);y.assert(c===l,()=>`Error in matMul: inner shapes (${c}) and (${l}) of Tensors with shapes ${n.shape} and ${s.shape} and transposeA=${a} and transposeB=${i} must match.`);let w=a?[g,c,m]:[g,m,c],k=i?[x,d,l]:[x,l,d],_=Mt({inputs:{x:n},backend:t,attrs:{shape:w}}),$=Mt({inputs:{x:s},backend:t,attrs:{shape:k}}),A=t.dataIdMap.get(_.dataId).id,R=t.dataIdMap.get($.dataId).id,D=a?_.shape[2]:_.shape[1],P=i?$.shape[1]:$.shape[2],M=Math.max(g,x),L=t.makeOutput([M,D,P],_.dtype),W=t.dataIdMap.get(L.dataId).id,V=new Uint8Array(new Int32Array(_.shape).buffer),U=new Uint8Array(new Int32Array($.shape).buffer);return $D(A,V,_.shape.length,R,U,$.shape.length,a,i,W),t.disposeData(_.dataId),t.disposeData($.dataId),L.shape=C,L}var AD={kernelName:Wo,backendName:\"wasm\",setupFunc:s9,kernelFunc:a9};function Eo(r){let{inputs:{x:e},attrs:{begin:t,size:o},backend:n}=r,[s,a]=ut.parseSliceParams(e,t,o),i=ut.isSliceContinous(e.shape,s,a),p=n.readSync(e.dataId),u=n.makeOutput(a,e.dtype),c=y.computeStrides(e.shape),l=n.dataIdMap.get(u.dataId);if(i){let f=ut.computeFlatOffset(s,c);return e.dtype===\"string\"?l.stringBytes=p.slice(f,f+y.sizeFromShape(a)):n.typedArrayFromHeap(u).set(p.subarray(f,f+y.sizeFromShape(a))),u}if(e.dtype===\"string\"){let f=vu(p,s,a,e.shape,e.dtype);return l.stringBytes=f,u}let m=n.typedArrayFromHeap(u),d=e.shape.length;if(d===2)i9(p,c[0],m,s,a);else if(d===3)u9(p,c[0],c[1],m,s,a);else if(d===4)p9(p,c[0],c[1],c[2],m,s,a);else{let f=vu(p,s,a,e.shape,e.dtype);m.set(f)}return u}function i9(r,e,t,o,n){let s=0,a=o[0],i=o[1],p=a+n[0];for(let u=a;ux*b),p=S.getReshaped(n.shape,s,i),u=S.getPermuted(p.length,s.length),c=S.getReshapedPermuted(n.shape,s,i),l=S.getSliceBeginCoords(a,s.length),m=S.getSliceSize(c,a,s.length),d=Mt({inputs:{x:n},backend:t,attrs:{shape:p}}),f=uo({inputs:{x:d},backend:t,attrs:{perm:u}}),h=Mt({inputs:{x:f},backend:t,attrs:{shape:c}}),g=Eo({inputs:{x:h},backend:t,attrs:{begin:l,size:m}});return t.disposeData(d.dataId),t.disposeData(f.dataId),t.disposeData(d.dataId),g}var FD={kernelName:xs,backendName:\"wasm\",kernelFunc:c9};function ls(r){let{inputs:{x:e},attrs:{dtype:t},backend:o}=r,n=o.makeOutput(e.shape,t),s=o.typedArrayFromHeap(e);return o.typedArrayFromHeap(n).set(s),n}var DD={kernelName:co,backendName:\"wasm\",kernelFunc:ls};var OD=Ve(Uo);var PD;function l9(r){PD=r.wasm.cwrap(lo,null,[\"number\",\"number\",\"number\",\"number\"])}function m9(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{clipValueMin:s,clipValueMax:a}=o,i=t.dataIdMap.get(n.dataId).id,p=t.makeOutput(n.shape,n.dtype),u=t.dataIdMap.get(p.dataId).id;return PD(i,s,a,u),p}var MD={kernelName:lo,backendName:\"wasm\",setupFunc:l9,kernelFunc:m9};function zw(r){let{inputs:e,backend:t}=r,o=y.parseAxisParam(r.attrs.axis,e[0].shape)[0],n=e.map(d=>d.shape);S.assertParamsConsistent(n,o);let s=S.computeOutShape(e.map(d=>d.shape),o),a=e.filter(d=>y.sizeFromShape(d.shape)>0);if(a.length===1)return Vu({inputs:{x:a[0]},backend:t});let i=t.makeOutput(s,e[0].dtype);if(y.sizeFromShape(s)===0)return i;if(a[0].dtype===\"string\"){let d=a.map(C=>{let k=[-1,y.sizeFromShape(C.shape.slice(o))];return Mt({inputs:{x:C},backend:t,attrs:{shape:k}})}),f=d.map(C=>({vals:t.readSync(C.dataId),shape:C.shape}));s=S.computeOutShape(d.map(C=>C.shape),1);let h=d[0].shape[0]===1,g=Su(f,s,e[0].dtype,h),x=S.computeOutShape(a.map(C=>C.shape),o);i.shape=x;let b=t.dataIdMap.get(i.dataId);return b.stringBytes=S.fromStringArrayToUint8(g),d.forEach(C=>t.disposeData(C.dataId)),i}let p=y.sizeFromShape(a[0].shape.slice(0,o)),u=0,c=a.map(d=>{let f=y.sizeFromShape(d.shape.slice(o));return u+=f,f}),l=a.map(d=>t.typedArrayFromHeap(d)),m=t.typedArrayFromHeap(i);for(let d=0;d`cumprod does not support ${n.dtype} tensors in the WASM backend`);let u=S.getAxesPermutation([s],p),c=n;u!==null&&(c=uo({inputs:{x:n},attrs:{perm:u},backend:t}));let l=S.getInnerMostAxes(1,p)[0];S.assertAxesAreInnerMostDims(\"cumprod\",[l],p);let m=t.makeOutput(c.shape,c.dtype),d=c.shape[l],f=t.dataIdMap.get(c.dataId).id,h=t.dataIdMap.get(m.dataId).id;KD(f,a?1:0,i?1:0,d,h,Fe[n.dtype]);let g=m;if(u!==null){let x=S.getUndoAxesPermutation(u);g=uo({inputs:{x:m},attrs:{perm:x},backend:t}),t.disposeData(c.dataId),t.disposeData(m.dataId)}return g}var jD={kernelName:jo,backendName:\"wasm\",setupFunc:b9,kernelFunc:C9};var XD;function S9(r){XD=r.wasm.cwrap(Xo,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function w9(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,exclusive:a,reverse:i}=o,p=n.shape.length;y.assert(n.dtype===\"float32\"||n.dtype===\"int32\",()=>`cumsum does not support ${n.dtype} tensors in the WASM backend`);let u=S.getAxesPermutation([s],p),c=n;u!==null&&(c=uo({inputs:{x:n},attrs:{perm:u},backend:t}));let l=S.getInnerMostAxes(1,p)[0];S.assertAxesAreInnerMostDims(\"cumsum\",[l],p);let m=t.makeOutput(c.shape,c.dtype),d=c.shape[l],f=t.dataIdMap.get(c.dataId).id,h=t.dataIdMap.get(m.dataId).id;XD(f,a?1:0,i?1:0,d,h,Fe[n.dtype]);let g=m;if(u!==null){let x=S.getUndoAxesPermutation(u);g=uo({inputs:{x:m},attrs:{perm:x},backend:t}),t.disposeData(c.dataId),t.disposeData(m.dataId)}return g}var YD={kernelName:Xo,backendName:\"wasm\",setupFunc:S9,kernelFunc:w9};var QD;function I9(r){QD=r.wasm.cwrap(Qo,null,[\"number\",\"number\",\"number\",\"array\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function v9(r){let{backend:e,inputs:t,attrs:o}=r,{x:n}=t,{blockSize:s,dataFormat:a}=o,i=n.shape[0],p=a===\"NHWC\"?n.shape[1]:n.shape[2],u=a===\"NHWC\"?n.shape[2]:n.shape[3],c=a===\"NHWC\"?n.shape[3]:n.shape[1],l=p*s,m=u*s,d=c/(s*s),f=a===\"NHWC\"?[i,l,m,d]:[i,d,l,m],h=e.makeOutput(f,\"float32\"),x=e.dataIdMap.get(n.dataId).id,b=new Uint8Array(new Int32Array(y.computeStrides(n.shape)).buffer),C=new Uint8Array(new Int32Array(f).buffer),w=new Uint8Array(new Int32Array(y.computeStrides(f)).buffer),k=e.dataIdMap.get(h.dataId).id;return QD(x,s,a===\"NHWC\"?1:0,b,n.shape.length-1,C,w,f.length,k),h}var ZD={kernelName:Qo,backendName:\"wasm\",setupFunc:I9,kernelFunc:v9};var JD;function k9(r){JD=r.wasm.cwrap(Zo,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function N9(r){let{inputs:e,attrs:t,backend:o}=r,{x:n,filter:s}=e,a=o.dataIdMap.get(n.dataId).id,i=o.dataIdMap.get(s.dataId).id,{strides:p,dilations:u,pad:c,dimRoundingMode:l}=t,m=u==null?[1,1]:u,d=S.computeConv2DInfo(n.shape,s.shape,p,m,c,l,!0),f=d.filterHeight,h=d.filterWidth,g=d.padInfo.top,x=d.padInfo.right,b=d.padInfo.bottom,C=d.padInfo.left,w=d.dilationHeight,k=d.dilationWidth,_=d.strideHeight,$=d.strideWidth,A=d.inChannels,R=d.outChannels,D=d.padInfo.type===\"SAME\"?1:0;if(d.dataFormat!==\"channelsLast\")throw new Error(`wasm backend DepthwiseConv2dNative does not support dataFormat:'${d.dataFormat}'. Please use 'channelsLast'.`);let P=o.makeOutput(d.outShape,\"float32\"),M=o.dataIdMap.get(P.dataId).id;return JD(a,n.shape[0],n.shape[1],n.shape[2],i,f,h,g,x,b,C,D,w,k,_,$,A,R,M),P}var eO={kernelName:Zo,backendName:\"wasm\",setupFunc:k9,kernelFunc:N9};var tO=Ve(en);var T9=!1,rO=rt(tn,T9,\"bool\");var oO=Ve(rn,\"float32\");function yg(r){let{inputs:e,attrs:t,backend:o}=r,{input:n}=e,{dim:s}=t,a=n.shape.length,i=n.shape.slice(),p=s;return s<0&&(y.assert(-(a+1)<=s,()=>`Axis must be in the interval [${-(a+1)}, ${a}]`),p=a+s+1),i.splice(p,0,1),Mt({inputs:{x:n},backend:o,attrs:{shape:i}})}var nO={kernelName:bs,backendName:\"wasm\",kernelFunc:yg};function Uw(r){let{attrs:{shape:e,value:t,dtype:o},backend:n}=r,s=n.makeOutput(e,o);return n.typedArrayFromHeap(s).fill(t),s}var sO={kernelName:Cs,backendName:\"wasm\",kernelFunc:Uw};var aO;function _9(r){aO=r.wasm.cwrap(on,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function E9(r){let{inputs:e,backend:t}=r,{image:o}=e,n=t.makeOutput(o.shape,o.dtype),s=t.dataIdMap.get(o.dataId).id,a=t.dataIdMap.get(n.dataId).id,[i,p,u,c]=o.shape;return aO(s,i,p,u,c,a),n}var iO={kernelName:on,backendName:\"wasm\",kernelFunc:E9,setupFunc:_9};var uO=Ve(nn);var $9=!1,pO=rt(sn,$9);var cO;function A9(r){cO=r.wasm.cwrap(an,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function R9(r){let{backend:e,inputs:t,attrs:o}=r,{varianceEpsilon:n}=o,{x:s,mean:a,variance:i,offset:p,scale:u}=t,c=e.dataIdMap.get(s.dataId).id,l=e.dataIdMap.get(a.dataId).id,m=e.dataIdMap.get(i.dataId).id,d=p!=null?e.dataIdMap.get(p.dataId).id:0,f=u!=null?e.dataIdMap.get(u.dataId).id:0,h=e.makeOutput(s.shape,s.dtype);if(y.sizeFromShape(s.shape)===0)return h;let g=e.dataIdMap.get(h.dataId).id;return cO(c,l,m,d,f,n,g),h}var lO={kernelName:an,backendName:\"wasm\",setupFunc:A9,kernelFunc:R9};var mO;function F9(r){mO=r.wasm.cwrap(ho,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function D9(r){let{inputs:e,attrs:t,backend:o}=r,{x:n,filter:s,bias:a,preluActivationWeights:i}=e,{strides:p,pad:u,dilations:c,dataFormat:l,dimRoundingMode:m,activation:d,leakyreluAlpha:f}=t,h=S.computeConv2DInfo(n.shape,s.shape,p,c,u,m),g=Wi[d];if(g==null)throw new Error(`${d} activation not yet supported for FusedConv2D in the wasm backend.`);let x=o.dataIdMap.get(n.dataId).id,b=o.dataIdMap.get(s.dataId).id,C=h.outChannels,w=0;if(a!=null){let Y=o.dataIdMap.get(a.dataId);if(Y.shape.length!==1)throw new Error(`FusedConv2D only supports rank-1 bias but got rank ${Y.shape.length}.`);if(Y.shape[0]!==C)throw new Error(`FusedConv2D bias shape (${Y.shape}) does not match the number of output channels (${C})`);w=Y.id}let k=h.filterHeight,_=h.filterWidth,$=h.padInfo.top,A=h.padInfo.right,R=h.padInfo.bottom,D=h.padInfo.left,P=h.dilationHeight,M=h.dilationWidth,L=h.strideHeight,W=h.strideWidth,V=h.inChannels,U=h.padInfo.type===\"SAME\"?1:0,q=h.batchSize,H=h.inHeight,j=h.inWidth;if(l!==\"NHWC\")throw new Error(`wasm backend FusedConv2D does not support dataFormat:'${l}'. Please use 'NHWC'.`);let X=o.makeOutput(h.outShape,\"float32\"),Z=o.dataIdMap.get(X.dataId).id,ee=i==null?0:o.dataIdMap.get(i.dataId).id;return mO(x,q,H,j,b,k,_,w,$,A,R,D,U,P,M,L,W,V,C,g,ee,f||0,Z),X}var dO={kernelName:ho,backendName:\"wasm\",setupFunc:F9,kernelFunc:D9};var fO;function O9(r){fO=r.wasm.cwrap(go,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function P9(r){let{inputs:e,attrs:t,backend:o}=r,{x:n,filter:s,bias:a,preluActivationWeights:i}=e,{strides:p,pad:u,dilations:c,dataFormat:l,dimRoundingMode:m,activation:d,leakyreluAlpha:f}=t,h=S.computeConv2DInfo(n.shape,s.shape,p,c,u,m,!0),g=Wi[d];if(g==null)throw new Error(`${d} activation not yet supported for FusedDepthwiseConv2D in the wasm backend.`);let x=o.dataIdMap.get(n.dataId).id,b=o.dataIdMap.get(s.dataId).id,C=h.outChannels,w=0;if(a!=null){let Y=o.dataIdMap.get(a.dataId);if(Y.shape.length!==1)throw new Error(`FusedDepthwiseConv2D only supports rank-1 bias but got rank ${Y.shape.length}.`);if(Y.shape[0]!==C)throw new Error(`FusedDepthwiseConv2D bias shape (${Y.shape}) does not match the number of output channels (${C})`);w=Y.id}let k=h.filterHeight,_=h.filterWidth,$=h.padInfo.top,A=h.padInfo.right,R=h.padInfo.bottom,D=h.padInfo.left,P=h.dilationHeight,M=h.dilationWidth,L=h.strideHeight,W=h.strideWidth,V=h.inChannels,U=h.padInfo.type===\"SAME\"?1:0,q=h.batchSize,H=h.inHeight,j=h.inWidth;if(l!==\"NHWC\")throw new Error(`wasm backend FusedDepthwiseConv2D does not support dataFormat:'${l}'. Please use 'NHWC'.`);let X=o.makeOutput(h.outShape,\"float32\"),Z=o.dataIdMap.get(X.dataId).id,ee=i==null?0:o.dataIdMap.get(i.dataId).id;return fO(x,q,H,j,b,k,_,w,$,A,R,D,U,P,M,L,W,V,C,g,ee,f||0,Z),X}var hO={kernelName:go,backendName:\"wasm\",setupFunc:O9,kernelFunc:P9};var gO;function M9(r){gO=r.wasm.cwrap(un,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function L9(r){let{backend:e,inputs:t}=r,{params:o,indices:n}=t,[s,a,i,p]=Ym.prepareAndValidate(o,n),u=e.makeOutput(s,o.dtype);if(a===0)return u;let c=n.shape,l=c[c.length-1],d=e.dataIdMap.get(o.dataId).id,h=e.dataIdMap.get(n.dataId).id,g=new Uint8Array(new Int32Array(p).buffer),x=e.dataIdMap.get(u.dataId).id;return gO(d,Fe[o.dtype],h,a,l,i,g,x),u}var xO={kernelName:un,backendName:\"wasm\",setupFunc:M9,kernelFunc:L9};var yO;function B9(r){yO=r.wasm.cwrap(\"Gather\",null,[\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function V9(r){let{backend:e,inputs:t,attrs:o}=r,{x:n,indices:s}=t,{axis:a,batchDims:i}=o,p=y.parseAxisParam(a,n.shape)[0],u=e.readSync(s.dataId),c=n.shape[p];for(let R=0;R=0,()=>`GatherV2: the index value ${D} is not in [0, ${c-1}]`)}let l=S.segment_util.collectGatherOpShapeInfo(n,s,p,i),m=Mt({inputs:{x:n},attrs:{shape:[l.batchSize,l.outerSize,l.dimSize,l.sliceSize]},backend:e}),d=y.sizeFromShape(s.shape),f=Mt({inputs:{x:s},attrs:{shape:[l.batchSize,d/l.batchSize]},backend:e}),h=[l.batchSize,l.outerSize,d/l.batchSize,l.sliceSize],g=e.makeOutput(h,n.dtype);if(y.sizeFromShape(n.shape)===0)return g;let x=m.shape.length-1,C=e.dataIdMap.get(m.dataId).id,k=e.dataIdMap.get(f.dataId).id,_=e.dataIdMap.get(g.dataId).id,$=new Uint8Array(new Int32Array(y.computeStrides(m.shape)).buffer),A=new Uint8Array(new Int32Array(y.computeStrides(h)).buffer);return yO(C,Fe[n.dtype],$,x,k,l.batchSize,A,_),e.disposeData(m.dataId),e.disposeData(f.dataId),g.shape=l.outputShape,g}var bO={kernelName:Ss,backendName:\"wasm\",setupFunc:B9,kernelFunc:V9};var z9=!1,CO=rt(pn,z9,\"bool\");var W9=!1,SO=rt(cn,W9,\"bool\");var wO=Ve(ln,\"bool\");var IO;function U9(r){IO=r.wasm.cwrap(mn,null,[\"number\",\"number\",\"number\",\"number\"])}function G9(r){let{inputs:{x:e},attrs:{alpha:t},backend:o}=r,n=o.dataIdMap.get(e.dataId).id,s=o.makeOutput(e.shape,\"float32\");if(y.sizeFromShape(e.shape)!==0){let a=o.dataIdMap.get(s.dataId).id;IO(n,Fe[e.dtype],t,a)}return s}var vO={kernelName:mn,backendName:\"wasm\",setupFunc:U9,kernelFunc:G9};var H9=!1,kO=rt(dn,H9,\"bool\");var q9=!1,NO=rt(fn,q9,\"bool\");var TO=Ve(hn);var K9=!1,_O=rt(gn,K9,\"bool\");var EO=Ve(xn);var j9=!1,$O=rt(xa,j9,\"bool\");var X9=!1,AO=rt(GI,X9,\"bool\");var RO;function Y9(r){RO=r.wasm.cwrap(yn,null,[\"number\",\"number\",\"number\",\"number\"])}function Q9(r){let{backend:e,inputs:t,attrs:o}=r,{reductionIndices:n,keepDims:s}=o,{x:a}=t,p=e.dataIdMap.get(a.dataId).id,u=a,{transposed:c,axes:l,originalAxes:m,inputWasTransposed:d}=kr(a,n,e);if(d){let C=e.dataIdMap.get(c.dataId).id;u=c,p=C}let f=u.shape.length;S.assertAxesAreInnerMostDims(\"max\",l,f);let[h,g]=S.computeOutAndReduceShapes(u.shape,l),x=y.sizeFromShape(g),b=e.makeOutput(h,a.dtype);if(y.sizeFromShape(u.shape)!==0){let C=e.dataIdMap.get(b.dataId).id;RO(p,Fe[a.dtype],x,C)}if(d&&e.disposeData(c.dataId),s){let C=S.expandShapeToKeepDim(b.shape,m);b.shape=C}return b}var FO={kernelName:yn,backendName:\"wasm\",setupFunc:Y9,kernelFunc:Q9};var Z9=!1,DO=rt(bn,Z9);var OO;function J9(r){OO=r.wasm.cwrap(Cn,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function eJ(r){let{inputs:e,attrs:t,backend:o}=r,n=e.x,s=o.dataIdMap.get(n.dataId).id;y.assert(n.dtype===\"float32\",()=>`Error in MaxPool: only float32 input is supported. Got ${n.dtype}.`);let{filterSize:a,strides:i,pad:p,dimRoundingMode:u}=t,c=S.computePool2DInfo(n.shape,a,i,1,p,u),l=c.filterHeight,m=c.filterWidth,d=c.padInfo.top,f=c.padInfo.right,h=c.padInfo.bottom,g=c.padInfo.left,x=c.dilationHeight,b=c.dilationWidth,C=c.strideHeight,w=c.strideWidth,k=c.inChannels,_=c.outChannels;if(c.dataFormat!==\"channelsLast\")throw new Error(`wasm backend does not support dataFormat:'${c.dataFormat}'. Please use 'channelsLast'.`);let $=o.makeOutput(c.outShape,\"float32\"),A=o.dataIdMap.get($.dataId).id;return OO(s,n.shape[0],n.shape[1],n.shape[2],l,m,d,f,h,g,x,b,C,w,k,_,A),$}var PO={kernelName:Cn,backendName:\"wasm\",setupFunc:J9,kernelFunc:eJ};var MO;function tJ(r){MO=r.wasm.cwrap(Sn,null,[\"number, number, number\"])}function rJ(r){let{backend:e,inputs:t,attrs:o}=r,{axis:n,keepDims:s}=o,{x:a}=t,i=e.dataIdMap.get(a.dataId).id,p=i,u=a,{transposed:c,axes:l,originalAxes:m,inputWasTransposed:d}=kr(a,n,e),f=l;if(d){let w=e.dataIdMap.get(c.dataId).id;w!==i&&(u=c,p=w,f=S.getInnerMostAxes(f.length,u.shape.length))}S.assertAxesAreInnerMostDims(\"mean\",f,u.shape.length);let[h,g]=S.computeOutAndReduceShapes(u.shape,f),x=y.sizeFromShape(g),b=u;u.dtype!==\"float32\"&&(b=ls({backend:e,inputs:{x:u},attrs:{dtype:\"float32\"}}),p=e.dataIdMap.get(b.dataId).id);let C=e.makeOutput(h,\"float32\");if(y.sizeFromShape(u.shape)!==0){let w=e.dataIdMap.get(C.dataId).id;MO(p,x,w)}if(d&&e.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(C.shape,m);C.shape=w}return u.dtype!==\"float32\"&&e.disposeData(b.dataId),C}var LO={kernelName:Sn,backendName:\"wasm\",setupFunc:tJ,kernelFunc:rJ};var BO;function oJ(r){BO=r.wasm.cwrap(wn,null,[\"number\",\"number\",\"number\",\"number\"])}function nJ(r){let{backend:e,inputs:t,attrs:o}=r,{axis:n,keepDims:s}=o,{x:a}=t,i=e.dataIdMap.get(a.dataId).id,p=i,u=a,{transposed:c,axes:l,originalAxes:m,inputWasTransposed:d}=kr(a,n,e);if(d){let C=e.dataIdMap.get(c.dataId).id;C!==i&&(u=c,p=C)}let f=u.shape.length;S.assertAxesAreInnerMostDims(\"min\",l,f);let[h,g]=S.computeOutAndReduceShapes(u.shape,l),x=y.sizeFromShape(g),b=e.makeOutput(h,u.dtype);if(y.sizeFromShape(u.shape)!==0){let C=e.dataIdMap.get(b.dataId).id;BO(p,Fe[a.dtype],x,C)}if(d&&e.disposeData(c.dataId),s){let C=S.expandShapeToKeepDim(b.shape,m);b.shape=C}return b}var VO={kernelName:wn,backendName:\"wasm\",setupFunc:oJ,kernelFunc:nJ};var sJ=!1,zO=rt(In,sJ);var Gw;(function(r){r[r.reflect=0]=\"reflect\",r[r.symmetric=1]=\"symmetric\"})(Gw||(Gw={}));var WO;function aJ(r){WO=r.wasm.cwrap(vn,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function iJ(r){let{inputs:{x:e},backend:t,attrs:{paddings:o,mode:n}}=r,s=o.map((f,h)=>f[0]+e.shape[h]+f[1]),a=t.dataIdMap.get(e.dataId).id,i=t.makeOutput(s,e.dtype),p=t.dataIdMap.get(i.dataId).id,u=new Uint8Array(new Int32Array(e.shape).buffer),c=o.map(f=>f[0]),l=o.map(f=>f[1]),m=new Uint8Array(new Int32Array(c).buffer),d=new Uint8Array(new Int32Array(l).buffer);return WO(a,u,e.shape.length,Fe[e.dtype],m,d,Gw[n],p),i}var UO={kernelName:vn,backendName:\"wasm\",kernelFunc:iJ,setupFunc:aJ};var uJ=!0,GO=rt(kn,uJ);var HO=Ve(ws);function Sc(r,e){let t=new Int32Array(r.wasm.HEAPU8.buffer,e,4),o=t[0],n=t[1],s=t[2],a=t[3];return r.wasm._free(e),{pSelectedIndices:o,selectedSize:n,pSelectedScores:s,pValidOutputs:a}}var qO;function pJ(r){qO=r.wasm.cwrap(Tn,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\"])}function cJ(r){let{backend:e,inputs:t,attrs:o}=r,{iouThreshold:n,maxOutputSize:s,scoreThreshold:a}=o,{boxes:i,scores:p}=t,u=e.dataIdMap.get(i.dataId).id,c=e.dataIdMap.get(p.dataId).id,l=qO(u,c,s,n,a),{pSelectedIndices:m,selectedSize:d,pSelectedScores:f,pValidOutputs:h}=Sc(e,l);return e.wasm._free(f),e.wasm._free(h),e.makeOutput([d],\"int32\",m)}var KO={kernelName:Tn,backendName:\"wasm\",setupFunc:pJ,kernelFunc:cJ};var jO;function lJ(r){jO=r.wasm.cwrap(ba,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\",\"bool\"])}function mJ(r){let{backend:e,inputs:t,attrs:o}=r,{iouThreshold:n,maxOutputSize:s,scoreThreshold:a,padToMaxOutputSize:i}=o,{boxes:p,scores:u}=t,c=e.dataIdMap.get(p.dataId).id,l=e.dataIdMap.get(u.dataId).id,m=jO(c,l,s,n,a,i),{pSelectedIndices:d,selectedSize:f,pSelectedScores:h,pValidOutputs:g}=Sc(e,m);e.wasm._free(h);let x=e.makeOutput([f],\"int32\",d),b=e.makeOutput([],\"int32\",g);return[x,b]}var XO={kernelName:ba,backendName:\"wasm\",setupFunc:lJ,kernelFunc:mJ};var YO;function dJ(r){YO=r.wasm.cwrap(_n,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function fJ(r){let{backend:e,inputs:t,attrs:o}=r,{iouThreshold:n,maxOutputSize:s,scoreThreshold:a,softNmsSigma:i}=o,{boxes:p,scores:u}=t,c=e.dataIdMap.get(p.dataId).id,l=e.dataIdMap.get(u.dataId).id,m=YO(c,l,s,n,a,i),{pSelectedIndices:d,selectedSize:f,pSelectedScores:h,pValidOutputs:g}=Sc(e,m);e.wasm._free(g);let x=e.makeOutput([f],\"int32\",d),b=e.makeOutput([f],\"float32\",h);return[x,b]}var QO={kernelName:_n,backendName:\"wasm\",setupFunc:dJ,kernelFunc:fJ};var hJ=!1,ZO=rt(Nn,hJ,\"bool\");var JO;function gJ(r){JO=r.wasm.cwrap(En,null,[\"number\",\"number\",\"number\",\"number\",\"number\"])}function xJ(r){let{inputs:e,backend:t,attrs:o}=r,{indices:n}=e,{dtype:s,depth:a,onValue:i,offValue:p}=o,u=t.makeOutput([...n.shape,a],s),c=t.dataIdMap.get(u.dataId).id,m=t.dataIdMap.get(n.dataId).id;return JO(m,a,i,p,c),u}var eP={kernelName:En,backendName:\"wasm\",setupFunc:gJ,kernelFunc:xJ};function yJ(r){let{inputs:{x:e},backend:t}=r,o=t.makeOutput(e.shape,e.dtype);return t.typedArrayFromHeap(o).fill(1),o}var tP={kernelName:Is,backendName:\"wasm\",kernelFunc:yJ};function bJ(r){let{inputs:e,backend:t,attrs:o}=r,{axis:n}=o;if(e.length===1)return yg({inputs:{input:e[0]},backend:t,attrs:{dim:n}});let s=e[0].shape,a=e[0].dtype;e.forEach(c=>{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(a===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let i=[],p=e.map(c=>{let l=yg({inputs:{input:c},backend:t,attrs:{dim:n}});return i.push(l),l}),u=zw({inputs:p,backend:t,attrs:{axis:n}});return i.forEach(c=>t.disposeData(c.dataId)),u}var rP={kernelName:vs,backendName:\"wasm\",kernelFunc:bJ};var oP;function CJ(r){oP=r.wasm.cwrap($n,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function SJ(r){let{inputs:{x:e},backend:t,attrs:{paddings:o,constantValue:n}}=r,s=o.map((h,g)=>h[0]+e.shape[g]+h[1]);if(y.sizeFromShape(e.shape)===0)return Uw({backend:t,attrs:{shape:s,value:n,dtype:e.dtype}});let a=t.dataIdMap.get(e.dataId).id,i=t.makeOutput(s,e.dtype),u=t.dataIdMap.get(i.dataId).id,c=new Uint8Array(new Int32Array(e.shape).buffer),l=o.map(h=>h[0]),m=o.map(h=>h[1]),d=new Uint8Array(new Int32Array(l).buffer),f=new Uint8Array(new Int32Array(m).buffer);return oP(a,c,e.shape.length,Fe[e.dtype],d,f,n,u),i}var bg={kernelName:$n,backendName:\"wasm\",kernelFunc:SJ,setupFunc:CJ};var wJ=!1,nP=rt(An,wJ);var sP;function IJ(r){sP=r.wasm.cwrap(Rn,null,[\"number\",\"number\",\"number\"])}function vJ(r){let{inputs:e,backend:t}=r,{x:o,alpha:n}=e,s=t.dataIdMap.get(o.dataId).id,a=t.dataIdMap.get(n.dataId).id,i=s,p=o,u=p;p.dtype!==\"float32\"&&(u=ls({backend:t,inputs:{x:o},attrs:{dtype:\"float32\"}}),i=t.dataIdMap.get(u.dataId).id);let c=t.makeOutput(o.shape,\"float32\"),l=t.dataIdMap.get(c.dataId).id;return sP(i,a,l),p.dtype!==\"float32\"&&t.disposeData(u.dataId),c}var aP={kernelName:Rn,backendName:\"wasm\",setupFunc:IJ,kernelFunc:vJ};var iP;function kJ(r){iP=r.wasm.cwrap(Fn,null,[\"number\",\"number\",\"number\",\"number\"])}function NJ(r){let{backend:e,inputs:t,attrs:o}=r,{axis:n,keepDims:s}=o,{x:a}=t,i=e.dataIdMap.get(a.dataId).id,p=i,u=a,{transposed:c,axes:l,originalAxes:m,inputWasTransposed:d}=kr(a,n,e),f=l;if(d){let C=e.dataIdMap.get(c.dataId).id;C!==i&&(u=c,p=C,f=S.getInnerMostAxes(f.length,u.shape.length))}S.assertAxesAreInnerMostDims(\"prod\",f,u.shape.length);let[h,g]=S.computeOutAndReduceShapes(u.shape,f),x=y.sizeFromShape(g),b=e.makeOutput(h,u.dtype);if(y.sizeFromShape(u.shape)!==0){let C=e.dataIdMap.get(b.dataId).id;iP(p,x,Fe[b.dtype],C)}if(d&&e.disposeData(c.dataId),s){let C=S.expandShapeToKeepDim(b.shape,m);b.shape=C}return b}var uP={kernelName:Fn,backendName:\"wasm\",setupFunc:kJ,kernelFunc:NJ};var TJ=r=>{let{backend:e,attrs:t}=r,{start:o,stop:n,step:s,dtype:a}=t,i=Iu(o,n,s,a),p=e.makeOutput([i.length],a);return e.typedArrayFromHeap(p).set(i),p},pP={kernelName:ks,backendName:\"wasm\",kernelFunc:TJ};var _J=!0,cP=rt(Jo,_J);var lP=Ve(Dn);var mP=Ve(On);var dP=Ve(Ln);var fP;function EJ(r){fP=r.wasm.cwrap(Mn,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function $J(r){let{backend:e,inputs:t,attrs:o}=r,{images:n}=t,{alignCorners:s,halfPixelCenters:a,size:i}=o,[p,u]=i,[c,l,m,d]=n.shape,f=[c,p,u,d],h=e.dataIdMap.get(n.dataId),g;h.dtype!==\"float32\"&&(g=ls({backend:e,inputs:{x:n},attrs:{dtype:\"float32\"}}),h=e.dataIdMap.get(g.dataId));let x=h.id,b=e.makeOutput(f,\"float32\");if(y.sizeFromShape(n.shape)===0)return b;let C=e.dataIdMap.get(b.dataId).id;return fP(x,c,l,m,d,p,u,s?1:0,a?1:0,C),g!=null&&e.disposeData(g.dataId),b}var hP={kernelName:Mn,backendName:\"wasm\",setupFunc:EJ,kernelFunc:$J};var gP;function AJ(r){gP=r.wasm.cwrap(Pn,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function RJ(r){let{backend:e,inputs:t,attrs:o}=r,{images:n}=t,{alignCorners:s,halfPixelCenters:a,size:i}=o,[p,u]=i,[c,l,m,d]=n.shape,f=[c,p,u,d],h=e.makeOutput(f,\"float32\");if(y.sizeFromShape(n.shape)===0)return h;let g=e.dataIdMap.get(n.dataId),x;g.dtype!==\"float32\"&&(x=ls({backend:e,inputs:{x:n},attrs:{dtype:\"float32\"}}),g=e.dataIdMap.get(x.dataId));let b=g.id,C=e.dataIdMap.get(h.dataId).id;return gP(b,c,l,m,d,p,u,s?1:0,a?1:0,C),x!=null&&e.disposeData(x.dataId),h}var xP={kernelName:Pn,backendName:\"wasm\",setupFunc:AJ,kernelFunc:RJ};var yP;function FJ(r){yP=r.wasm.cwrap(Bn,null,[\"number\",\"array\",\"number\",\"array\",\"number\",\"number\"])}function DJ(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{dims:s}=o,a=y.parseAxisParam(s,n.shape);if(n.shape.length===0)return Vu({inputs:{x:n},backend:t});let i=t.makeOutput(n.shape,n.dtype),p=t.dataIdMap.get(n.dataId).id,u=t.dataIdMap.get(i.dataId).id,c=new Uint8Array(new Int32Array(a).buffer),l=new Uint8Array(new Int32Array(n.shape).buffer);yP(p,c,a.length,l,n.shape.length,u);let m=Mt({inputs:{x:i},attrs:{shape:n.shape},backend:t});return t.disposeData(i.dataId),m}var bP={kernelName:Bn,backendName:\"wasm\",kernelFunc:DJ,setupFunc:FJ};var CP;function OJ(r){CP=r.wasm.cwrap(es,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"number\"])}function PJ(r){let{inputs:e,backend:t,attrs:o}=r,{image:n}=e,{radians:s,fillValue:a,center:i}=o,p=t.makeOutput(n.shape,n.dtype),u=t.dataIdMap.get(n.dataId).id,c=t.dataIdMap.get(p.dataId).id,[l,m,d,f]=n.shape,[h,g]=S.getImageCenter(i,m,d),x=a===0,b=255,C=typeof a==\"number\"?[a,a,a,x?0:b]:[...a,b],w=new Uint8Array(new Int32Array(C).buffer);return CP(u,l,m,d,f,s,h,g,w,C.length,c),p}var SP={kernelName:es,backendName:\"wasm\",kernelFunc:PJ,setupFunc:OJ};var wP=Ve(Ca);var IP=Ve(Vn);var vP;function MJ(r){vP=r.wasm.cwrap(zn,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"number\"])}function LJ(r){let{backend:e,inputs:t,attrs:o}=r,{indices:n,updates:s}=t,{shape:a}=o,i=e.makeOutput(a,s.dtype);if(y.sizeFromShape(a)===0)return i;let{sliceRank:p,numUpdates:u,sliceSize:c,strides:l,outputSize:m}=rl.calculateShapes(s,n,a),f=e.dataIdMap.get(n.dataId).id,g=e.dataIdMap.get(s.dataId).id,x=new Uint8Array(new Int32Array(l).buffer),b=e.dataIdMap.get(i.dataId).id;return vP(f,g,Fe[s.dtype],p,u,c,x,m,b),i}var kP={kernelName:zn,backendName:\"wasm\",setupFunc:MJ,kernelFunc:LJ};var NP;function BJ(r){NP=r.wasm.cwrap(\"SelectV2\",null,[\"number\",\"number\",\"number\",\"number\",\"number\"])}function VJ(r){let{inputs:e,backend:t}=r,{condition:o,t:n,e:s}=e,a=t.dataIdMap.get(o.dataId).id,i=t.dataIdMap.get(n.dataId).id,p=t.dataIdMap.get(s.dataId).id,u=t.makeOutput(n.shape,n.dtype),c=t.dataIdMap.get(u.dataId).id,l=o.shape.length,m=n.shape.length,d=l===0||l>1||m===1?1:y.sizeFromShape(n.shape.slice(1));return NP(a,i,p,d,c),u}var TP={kernelName:Ts,backendName:\"wasm\",kernelFunc:VJ,setupFunc:BJ};var _P;function zJ(r){_P=r.wasm.cwrap(Un,null,[\"number\",\"number\"])}function WJ(r){let{backend:e,inputs:{x:t}}=r,o=e.dataIdMap.get(t.dataId).id,n=e.makeOutput(t.shape,t.dtype),s=e.dataIdMap.get(n.dataId).id;return y.sizeFromShape(n.shape)===0||_P(o,s),n}var EP={kernelName:\"Sigmoid\",backendName:\"wasm\",setupFunc:zJ,kernelFunc:WJ};var $P=Ve(Wn);var AP;function UJ(r){AP=r.wasm.cwrap(qn,null,[\"number\",\"number\",\"number\",\"number\"])}function GJ(r){let{backend:e,inputs:{logits:t},attrs:{dim:o}}=r,n=e.dataIdMap.get(t.dataId).id,s=e.makeOutput(t.shape,t.dtype),a=e.dataIdMap.get(s.dataId).id,i=t.shape[o],p=y.sizeFromShape(t.shape)/i;return y.sizeFromShape(s.shape)===0||AP(n,a,i,p),s}var RP={kernelName:qn,backendName:\"wasm\",setupFunc:UJ,kernelFunc:GJ};function HJ(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{blockShape:s,paddings:a}=o,i=y.sizeFromShape(s),p=[[0,0]];p.push(...a);for(let _=1+s.length;_0?p+1:0;if(c<0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let l=n.shape.slice();l[0]=c;let m=t.dataIdMap.get(n.dataId).id,d=t.dataIdMap.get(s.dataId).id,f=t.dataIdMap.get(a.dataId).id,h=t.makeOutput(l,n.dtype),g=t.dataIdMap.get(h.dataId).id,x=t.makeOutput([4],\"int32\"),b=t.dataIdMap.get(x.dataId).id;LP(m,Fe[n.dtype],n.shape[0],d,f,g,b,e,0);let C=t.readSync(x.dataId),w;switch(C[0]){case 0:{w=S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage();break}case 1:{w=S.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage();break}case 2:w=S.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(C[1],C[2]);break;case 3:w=S.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(C[1],C[2],C[3]);break;default:w=\"\"}if(t.disposeData(x.dataId),w)throw t.disposeData(h.dataId),new Error(w);return h}function YJ(r){return Sg(r,!0)}var BP={kernelName:pi,backendName:\"wasm\",setupFunc:Cg,kernelFunc:YJ};function QJ(r){return Sg(r,!1)}var VP={kernelName:ci,backendName:\"wasm\",setupFunc:Cg,kernelFunc:QJ};function ZJ(r){let{inputs:e,attrs:t,backend:o}=r,{x:n}=e,{numOrSizeSplits:s,axis:a}=t,i=y.parseAxisParam(a,n.shape)[0],p=S.prepareSplitSize(n,s,i),u=new Array(n.shape.length).fill(0),c=n.shape.slice();return p.map(l=>{let m=[...c];m[i]=l;let d=Eo({inputs:{x:n},attrs:{begin:u,size:m},backend:o});return u[i]+=l,d})}var zP={kernelName:$s,backendName:\"wasm\",kernelFunc:ZJ};var WP=Ve(Gn);var UP=Ve(mi);var JJ=!0,GP=rt(Kn,JJ);var HP;function eee(r){HP=r.wasm.cwrap(Ds,null,[\"number\",\"number\",\"number\",\"number\"])}function tee(r){let{backend:e,inputs:t,attrs:o}=r,{alpha:n}=o,{x:s}=t,a=e.dataIdMap.get(s.dataId).id,i=e.makeOutput(s.shape,s.dtype),p=e.dataIdMap.get(i.dataId).id;return HP(a,n,Fe[s.dtype],p),i}var qP={kernelName:Ds,backendName:\"wasm\",setupFunc:eee,kernelFunc:tee};var KP;function ree(r){KP=r.wasm.cwrap(jn,null,[\"number\",\"array\",\"number\",\"array\",\"array\",\"array\",\"array\",\"array\",\"number\",\"number\"])}function oee(r){let{backend:e,inputs:t,attrs:o}=r,{x:n}=t,{begin:s,end:a,strides:i,beginMask:p,endMask:u,ellipsisMask:c,newAxisMask:l,shrinkAxisMask:m}=o,{finalShapeSparse:d,finalShape:f,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:C,strides:w}=ut.sliceInfo(n.shape,s,a,i,p,u,c,l,m),k;if(h)k=Mt({inputs:{x:n},backend:e,attrs:{shape:f}});else if(g||x){y.assert(n.shape.length>=1,()=>`Input must have rank at least 1, got: ${n.shape.length}`);let _=ut.computeOutShape(b,C,w),$=Eo({inputs:{x:n},backend:e,attrs:{begin:b,size:_}});k=Mt({inputs:{x:$},backend:e,attrs:{shape:f}}),e.disposeData($.dataId)}else{let _=e.makeOutput(d,\"float32\"),$=e.dataIdMap.get(n.dataId).id,A=new Uint8Array(new Int32Array(y.computeStrides(n.shape)).buffer),R=new Uint8Array(new Int32Array(b).buffer),D=new Uint8Array(new Int32Array(C).buffer),P=new Uint8Array(new Int32Array(w).buffer),M=new Uint8Array(new Int32Array(d).buffer),L=new Uint8Array(new Int32Array(y.computeStrides(d)).buffer),W=e.dataIdMap.get(_.dataId).id;KP($,A,n.shape.length,R,D,P,M,L,d.length,W),k=Mt({inputs:{x:_},backend:e,attrs:{shape:f}}),e.disposeData(_.dataId)}return k}var jP={kernelName:jn,backendName:\"wasm\",setupFunc:ree,kernelFunc:oee};function nee(r){let{backend:e,inputs:t,attrs:o}=r,{data:n,dataSplits:s}=t,{separator:a,nGramWidths:i,leftPad:p,rightPad:u,padWidth:c,preserveShortSequences:l}=o,m=e.readSync(n.dataId),d=e.readSync(s.dataId),[f,h]=ku(m,d,a,i,p,u,c,l),g=e.makeOutput([f.length],\"string\"),x=e.dataIdMap.get(g.dataId);x.stringBytes=f;let b=e.makeOutput(s.shape,\"int32\");return e.typedArrayFromHeap(b).set(h),[g,b]}var XP={kernelName:As,backendName:\"wasm\",kernelFunc:nee};function see(r){let{backend:e,inputs:t,attrs:o}=r,{input:n,delimiter:s}=t,{skipEmpty:a}=o,i=e.readSync(n.dataId),p=e.readSync(s.dataId),[u,c,l]=Nu(i,p[0],a),m=c.length,d=e.makeOutput([m,2],\"int32\");e.typedArrayFromHeap(d).set(u);let h=e.makeOutput([m],\"string\"),g=e.dataIdMap.get(h.dataId);g.stringBytes=c;let x=e.makeOutput([2],\"int32\");return e.typedArrayFromHeap(x).set(l),[d,h,x]}var YP={kernelName:di,backendName:\"wasm\",kernelFunc:see};function aee(r){let{backend:e,inputs:t,attrs:o}=r,{input:n}=t,{numBuckets:s}=o,a=e.readSync(n.dataId),i=Tu(a,s),p=e.makeOutput(n.shape,\"int32\");return e.typedArrayFromHeap(p).set(i),p}var QP={kernelName:fi,backendName:\"wasm\",kernelFunc:aee};var iee=!0,ZP=rt(Xn,iee);var JP;function uee(r){JP=r.wasm.cwrap(Hn,null,[\"number\",\"number\",\"number\",\"number\"])}function pee(r){let{backend:e,inputs:t,attrs:o}=r,{axis:n,keepDims:s}=o,{x:a}=t,i=e.dataIdMap.get(a.dataId).id,p=i,u=a,{transposed:c,axes:l,originalAxes:m,inputWasTransposed:d}=kr(a,n,e),f=l;if(d){let C=e.dataIdMap.get(c.dataId).id;C!==i&&(u=c,p=C,f=S.getInnerMostAxes(f.length,u.shape.length))}S.assertAxesAreInnerMostDims(\"sum\",f,u.shape.length);let[h,g]=S.computeOutAndReduceShapes(u.shape,f),x=y.sizeFromShape(g),b=e.makeOutput(h,u.dtype);if(y.sizeFromShape(u.shape)!==0){let C=e.dataIdMap.get(b.dataId).id;JP(p,x,Fe[b.dtype],C)}if(d&&e.disposeData(c.dataId),s){let C=S.expandShapeToKeepDim(b.shape,m);b.shape=C}return b}var e3={kernelName:Hn,backendName:\"wasm\",setupFunc:uee,kernelFunc:pee};var t3=Ve(Yn);var r3=Ve(Qn);var o3;function cee(r){o3=r.wasm.cwrap(to,null,[\"number\",\"array\",\"number\",\"array\",\"number\",\"number\"])}function lee(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,s=t.dataIdMap.get(n.dataId).id,{reps:a}=o,i=new Array(n.shape.length);for(let m=0;m{let{x:o}=r,{k:n,sorted:s}=t,a=e.dataIdMap.get(o.dataId).id,i=new Uint8Array(new Int32Array(o.shape).buffer),p=o.shape.slice();p[p.length-1]=n;let u=e.makeOutput(p,o.dtype),c=e.dataIdMap.get(u.dataId).id,l=e.makeOutput(p,\"int32\"),m=e.dataIdMap.get(l.dataId).id;return s3(a,i,o.shape.length,Fe[o.dtype],n,s,c,m),[u,l]},a3={kernelName:Zn,backendName:\"wasm\",setupFunc:mee,kernelFunc:dee};var i3;function fee(r){i3=r.wasm.cwrap(Jn,null,[\"number\",\"number\",\"bool\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function hee(r){let{backend:e,inputs:t,attrs:o}=r,{image:n,transforms:s}=t,{interpolation:a,fillMode:i,fillValue:p,outputShape:u}=o,[c,l,m,d]=n.shape,[f,h]=u!=null?u:[l,m],g=[c,f,h,d],x=new Uint8Array(new Int32Array(y.computeStrides(n.shape)).buffer),b=new Uint8Array(new Int32Array(y.computeStrides(g)).buffer),C=e.makeOutput(g,n.dtype),w=e.dataIdMap.get(C.dataId).id,_=e.dataIdMap.get(n.dataId).id,A=e.dataIdMap.get(s.dataId).id,R=a===\"nearest\"?1:2,D;switch(i){case\"constant\":D=1;break;case\"reflect\":D=2;break;case\"wrap\":D=3;break;case\"nearest\":D=4;break;default:D=1;break}return i3(_,A,s.shape[0]>1,c,f,h,d,m,l,x,n.shape.length-1,b,g.length-1,R,D,p,w),C}var u3={kernelName:Jn,backendName:\"wasm\",setupFunc:fee,kernelFunc:hee};function gee(r){let{inputs:e,backend:t,attrs:o}=r,{value:n}=e,{axis:s}=o;s<0&&(s+=n.shape.length);let a=n.shape[s],i=n.shape.length,p=new Array(i-1),u=0;for(let d=0;d({dataId:d,dtype:f,shape:p}))}var p3={kernelName:Rs,backendName:\"wasm\",kernelFunc:gee};function xee(r){let{inputs:{x:e},backend:t}=r,o=t.makeOutput(e.shape,e.dtype);return t.typedArrayFromHeap(o).fill(0),o}var c3={kernelName:Fs,backendName:\"wasm\",kernelFunc:xee};var yee=[dD,fD,hD,xD,wD,vD,ND,_D,AD,FD,DD,OD,MD,LD,VD,WD,UD,GD,qD,jD,YD,ZD,eO,tO,rO,oO,nO,sO,iO,uO,pO,lO,dO,hO,xO,bO,CO,SO,yD,wO,vO,kO,NO,TO,_O,EO,$O,AO,FO,DO,PO,LO,VO,zO,UO,GO,HO,KO,XO,QO,ZO,eP,tP,rP,bg,nP,aP,uP,pP,cP,lP,mP,dP,ED,hP,xP,bP,SP,wP,IP,kP,TP,EP,$P,RD,RP,FP,OP,MP,BP,VP,zP,WP,UP,GP,qP,jP,XP,YP,QP,ZP,e3,t3,r3,n3,a3,u3,CD,p3,c3];for(let r of yee)Ia(r);var Hw=O();Hw.registerFlag(\"WASM_HAS_SIMD_SUPPORT\",async()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11]))}catch(r){return!1}});Hw.registerFlag(\"WASM_HAS_MULTITHREAD_SUPPORT\",async()=>{if(Hw.get(\"IS_NODE\"))return!1;try{return new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch(r){return!1}});var Zw=rp(f3()),C3=rp(g3()),Jw=rp(x3());var y3=Zw.default||Zw,bee=Jw.default||Jw,Pl=class extends Zr{constructor(e){super(),this.wasm=e,this.dataIdNextNumber=1,this.wasm.tfjs.initWithThreadsCount(w3),Qw=this.wasm.tfjs.getThreadsCount(),this.dataIdMap=new Do(this,cr())}write(e,t,o){let n={id:this.dataIdNextNumber++};return this.move(n,e,t,o,1),n}numDataIds(){return this.dataIdMap.numDataIds()}async time(e){let t=y.now();return e(),{kernelMs:y.now()-t}}move(e,t,o,n,s){let a=this.dataIdNextNumber++;if(n===\"string\"){let c=t;this.dataIdMap.set(e,{id:a,stringBytes:c,shape:o,dtype:n,memoryOffset:null,refCount:s});return}let i=y.sizeFromShape(o),p=i*y.bytesPerElement(n),u=this.wasm._malloc(p);this.dataIdMap.set(e,{id:a,memoryOffset:u,shape:o,dtype:n,refCount:s}),this.wasm.tfjs.registerTensor(a,i,u),t!=null&&this.wasm.HEAPU8.set(new Uint8Array(t.buffer,t.byteOffset,p),u)}async read(e){return this.readSync(e)}readSync(e,t,o){let{memoryOffset:n,dtype:s,shape:a,stringBytes:i}=this.dataIdMap.get(e);if(s===\"string\")return(t==null||t===0)&&(o==null||o>=i.length)?i:i.slice(t,o);t=t||0,o=o||y.sizeFromShape(a);let p=y.bytesPerElement(s),u=this.wasm.HEAPU8.slice(n+t*p,n+o*p);return See(u.buffer,s)}disposeData(e,t=!1){if(this.dataIdMap.has(e)){let o=this.dataIdMap.get(e);if(o.refCount--,!t&&o.refCount>0)return!1;this.wasm._free(o.memoryOffset),this.wasm.tfjs.disposeData(o.id),this.dataIdMap.delete(e)}return!0}refCount(e){return this.dataIdMap.has(e)?this.dataIdMap.get(e).refCount:0}incRef(e){let t=this.dataIdMap.get(e);t!=null&&t.refCount++}floatPrecision(){return 32}getMemoryOffset(e){return this.dataIdMap.get(e).memoryOffset}dispose(){this.wasm.tfjs.dispose(),\"PThread\"in this.wasm&&this.wasm.PThread.terminateAllThreads(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(e,t,o){let n;if(o==null)n=this.write(null,e,t);else{let s=this.dataIdNextNumber++;n={id:s},this.dataIdMap.set(n,{id:s,memoryOffset:o,shape:e,dtype:t,refCount:1});let a=y.sizeFromShape(e);this.wasm.tfjs.registerTensor(s,a,o)}return{dataId:n,shape:e,dtype:t}}typedArrayFromHeap({shape:e,dtype:t,dataId:o}){let n=this.wasm.HEAPU8.buffer,{memoryOffset:s}=this.dataIdMap.get(o),a=y.sizeFromShape(e);switch(t){case\"float32\":return new Float32Array(n,s,a);case\"int32\":return new Int32Array(n,s,a);case\"bool\":return new Uint8Array(n,s,a);default:throw new Error(`Unknown dtype ${t}`)}}};function Cee(r){return(e,t)=>(y.fetch(r,{credentials:\"same-origin\"}).then(o=>{o.ok||e.env.a(`failed to load wasm binary file at '${r}'`),o.arrayBuffer().then(n=>{WebAssembly.instantiate(n,e).then(s=>{t(s.instance,s.module)})})}),{})}function b3(r,e,t){if(vg!=null)return vg;let o=\"tfjs-backend-wasm.wasm\";return r&&e?o=\"tfjs-backend-wasm-threaded-simd.wasm\":r&&(o=\"tfjs-backend-wasm-simd.wasm\"),Dl!=null&&Dl[o]!=null?Dl[o]:t+o}async function S3(){let[r,e]=await Promise.all([O().getAsync(\"WASM_HAS_SIMD_SUPPORT\"),O().getAsync(\"WASM_HAS_MULTITHREAD_SUPPORT\")]);return new Promise((t,o)=>{let n={};n.locateFile=(i,p)=>{if(i.endsWith(\".worker.js\")){let u=C3.wasmWorkerContents.replace(/\\n/g,\"\\\\n\"),c=new Blob([u],{type:\"application/javascript\"});return URL.createObjectURL(c)}return i.endsWith(\".wasm\")?b3(r,e,Fl!=null?Fl:p):p+i},eI&&(n.instantiateWasm=Cee(b3(r,e,Fl!=null?Fl:\"\")));let s=!1;n.onAbort=()=>{if(s||Ol)return;Ol=!0,o({message:\"Make sure the server can serve the `.wasm` file relative to the bundled js file. For more details see https://github.com/tensorflow/tfjs/blob/master/tfjs-backend-wasm/README.md#using-bundlers\"})};let a;e&&r&&vg==null?(n.mainScriptUrlOrBlob=new Blob([\"var WasmBackendModuleThreadedSimd = \"+y3.toString()],{type:\"text/javascript\"}),a=y3(n)):a=bee(n),a.then(i=>{s=!0,Ol=!1;let p=null;i.tfjs={init:i.cwrap(\"init\",null,[]),initWithThreadsCount:i.cwrap(\"init_with_threads_count\",null,[\"number\"]),getThreadsCount:i.cwrap(\"get_threads_count\",\"number\",[]),registerTensor:i.cwrap(\"register_tensor\",null,[\"number\",\"number\",\"number\"]),disposeData:i.cwrap(\"dispose_data\",p,[\"number\"]),dispose:i.cwrap(\"dispose\",p,[])},t({wasm:i})}).catch(o)})}function See(r,e){switch(e){case\"float32\":return new Float32Array(r);case\"int32\":return new Int32Array(r);case\"bool\":return new Uint8Array(r);default:throw new Error(`Unknown dtype ${e}`)}}var wee=[\"tfjs-backend-wasm.wasm\",\"tfjs-backend-wasm-simd.wasm\",\"tfjs-backend-wasm-threaded-simd.wasm\"],vg=null,Fl=null,Dl={},Ol=!1,eI=!1;function Iee(r,e=!1){if(eC(\"setWasmPath has been deprecated in favor of setWasmPaths and will be removed in a future release.\"),Ol)throw new Error(\"The WASM backend was already initialized. Make sure you call `setWasmPath()` before you call `tf.setBackend()` or `tf.ready()`\");vg=r,eI=e}function vee(r,e=!1){if(Ol)throw new Error(\"The WASM backend was already initialized. Make sure you call `setWasmPaths()` before you call `tf.setBackend()` or `tf.ready()`\");if(typeof r==\"string\")Fl=r;else{Dl=r;let t=wee.filter(o=>Dl[o]==null);if(t.length>0)throw new Error(`There were no entries found for the following binaries: ${t.join(\",\")}. Please either call setWasmPaths with a map providing a path for each binary, or with a string indicating the directory where all the binaries can be found.`)}eI=e}var w3=-1,Qw=-1;function kee(r){w3=r}function Nee(){if(Qw===-1)throw new Error(\"WASM backend not initialized.\");return Qw}var Tee=\"4.1.0\";var _ee=2;Ci(\"wasm\",async()=>{let{wasm:r}=await S3();return new Pl(r)},_ee);var ms=O();ms.registerFlag(\"WEBGPU_DEFERRED_SUBMIT_BATCH_SIZE\",()=>15);ms.registerFlag(\"WEBGPU_CPU_FORWARD\",()=>!0);ms.registerFlag(\"WEBGPU_MATMUL_PROGRAM_TYPE\",()=>-1);ms.registerFlag(\"WEBGPU_USE_NAIVE_CONV2D_TRANSPOSE\",()=>!1);ms.registerFlag(\"WEBGPU_USE_LOW_POWER_GPU\",()=>!1);ms.registerFlag(\"WEBGPU_CPU_HANDOFF_SIZE_THRESHOLD\",()=>1e3);ms.registerFlag(\"WEBGPU_USE_PROFILE_TOOL\",()=>!1);ms.registerFlag(\"WEBGPU_IMPORT_EXTERNAL_TEXTURE\",()=>!0);ms.registerFlag(\"WEBGPU_USE_NAIVE_CONV2D_DEBUG\",()=>!1);ms.registerFlag(\"WEBGPU_THRESHOLD_TO_INCREASE_WORKGROUPS_FOR_MATMUL\",()=>0);ms.registerFlag(\"WEBGPU_CONV_SEPARATE_IM2COL_SHADER\",()=>!1);var kg=class{constructor(e){e&&(this.vendor=e.vendor,this.architecture=e.architecture,this.intelGPUGeneration=this.getIntelGPUGeneration())}getIntelGPUGeneration(){if(this.isIntel()){if(this.architecture.startsWith(\"gen\"))return Number(this.architecture.match(/\\d+/));if(this.architecture.startsWith(\"xe\"))return 12}return 0}isIntel(){return this.vendor===\"intel\"}};var Ng=class{constructor(e){this.device=e,this.numUsedBuffers=0,this.numFreeBuffers=0,this.freeBuffers=new Map,this.usedBuffers=new Map,this.numBytesUsed=0,this.numBytesAllocated=0}acquireUploadBuffer(e,t){return this.acquireBuffer(e,t,!0)}acquireBuffer(e,t,o=!1){let n=I3(e,t);if(this.freeBuffers.has(n)||this.freeBuffers.set(n,[]),this.usedBuffers.has(n)||this.usedBuffers.set(n,[]),this.numBytesUsed+=e,this.numUsedBuffers++,this.freeBuffers.get(n).length>0){this.numFreeBuffers--;let a=this.freeBuffers.get(n).shift();return this.usedBuffers.get(n).push(a),a}this.numBytesAllocated+=e;let s=this.device.createBuffer({size:e,usage:t,mappedAtCreation:o});return this.usedBuffers.get(n).push(s),s}releaseBuffer(e,t,o){if(this.freeBuffers.size===0)return;let n=I3(t,o);this.freeBuffers.has(n)||this.freeBuffers.set(n,[]),this.freeBuffers.get(n).push(e),this.numFreeBuffers++,this.numUsedBuffers--;let s=this.usedBuffers.get(n),a=s.indexOf(e);if(a<0)throw new Error(\"Cannot release a buffer that was never provided by this buffer manager\");s.splice(a,1),this.numBytesUsed-=t}releaseUploadBuffer(e,t,o){e.mapAsync(GPUMapMode.WRITE).then(()=>{this.releaseBuffer(e,t,o)},n=>{})}getNumUsedBuffers(){return this.numUsedBuffers}getNumFreeBuffers(){return this.numFreeBuffers}dispose(){this.freeBuffers.forEach((e,t)=>{e.forEach(o=>{o.destroy()})}),this.usedBuffers.forEach((e,t)=>{e.forEach(o=>{o.destroy()})}),this.freeBuffers=new Map,this.usedBuffers=new Map,this.numUsedBuffers=0,this.numFreeBuffers=0,this.numBytesUsed=0,this.numBytesAllocated=0}};function I3(r,e){return`${r}_${e}`}var Tg=class{constructor(e){this.device=e,this.numUsedTextures=0,this.numFreeTextures=0,this.freeTextures=new Map,this.usedTextures=new Map,this.numBytesUsed=0,this.numBytesAllocated=0}acquireTexture(e,t,o,n){let s=k3(o),a=e*t*s,i=v3(e,t,o,n);if(this.freeTextures.has(i)||this.freeTextures.set(i,[]),this.usedTextures.has(i)||this.usedTextures.set(i,[]),this.numBytesUsed+=a,this.numUsedTextures++,this.freeTextures.get(i).length>0){this.numFreeTextures--;let u=this.freeTextures.get(i).shift();return this.usedTextures.get(i).push(u),u}this.numBytesAllocated+=a;let p=this.device.createTexture({size:[e,t],format:o,usage:n});return this.usedTextures.get(i).push(p),p}releaseTexture(e,t,o,n,s){if(this.freeTextures.size===0)return;let a=v3(t,o,n,s);this.freeTextures.has(a)||this.freeTextures.set(a,[]),this.freeTextures.get(a).push(e),this.numFreeTextures++,this.numUsedTextures--;let i=this.usedTextures.get(a),p=i.indexOf(e);if(p<0)throw new Error(\"Cannot release a texture that was never provided by this texture manager\");i.splice(p,1);let u=k3(n),c=t*o*u;this.numBytesUsed-=c}getNumUsedTextures(){return this.numUsedTextures}getNumFreeTextures(){return this.numFreeTextures}dispose(){this.freeTextures.forEach((e,t)=>{e.forEach(o=>{o.destroy()})}),this.usedTextures.forEach((e,t)=>{e.forEach(o=>{o.destroy()})}),this.freeTextures=new Map,this.usedTextures=new Map,this.numUsedTextures=0,this.numFreeTextures=0,this.numBytesUsed=0,this.numBytesAllocated=0}};function v3(r,e,t,o){return`${r}_${e}_${t}_${o}`}function k3(r){if(r===\"rgba8unorm\")return 16;throw new Error(`${r} is not supported!`)}function N3(r,e){if(Math.max(...r)>3)throw new Error(\"Cannot symbolically compute strides for rank > 4 tensor.\");let t=r.length,o=r.map(s=>`${e}[${s}]`),n=new Array(t-1);n[t-2]=o[t-1];for(let s=t-3;s>=0;--s)n[s]=`(${n[s+1]} * ${o[s+1]})`;return n}var A3=(r,e,t,o)=>{let n={dtype:o.dtype,shape:o.shape},s=$ee(t,n,e),a=r.createShaderModule({code:s,label:e.constructor.name});return r.createComputePipeline({compute:{module:a,entryPoint:\"_start\"},label:e.constructor.name,layout:\"auto\"})};function Rt(r){if(r<=1)return\"i32\";if(r===2)return\"vec2\";if(r===3)return\"vec3\";if(r===4)return\"vec4\";if(r===5)return\"vec5\";if(r===6)return\"vec6\";throw Error(`GPU for rank ${r} is not yet supported`)}function $o(r){if(r===0)return\"x\";if(r===1)return\"y\";if(r===2)return\"z\";if(r===3)return\"w\";if(r===4)return\"u\";if(r===5)return\"v\";throw Error(`Index ${r} is not yet supported`)}function se(...r){let e;switch(r.length){case 0:e=`\n fn main()\n `;break;case 1:e=`\n fn main(${r[0]} : i32)\n `;break;default:throw Error(\"Unreachable\")}return e}function T3(r){let e;return e=`\n ${Eee()}\n fn _start(@builtin(local_invocation_id) LocalId : vec3,\n @builtin(global_invocation_id) GlobalId : vec3,\n @builtin(local_invocation_index) LocalIndex: u32,\n @builtin(workgroup_id) WorkgroupId : vec3,\n @builtin(num_workgroups) NumWorkgroups : vec3) {\n localId = LocalId;\n localIndex = LocalIndex;\n globalId = GlobalId;\n numWorkgroups = NumWorkgroups;\n workgroupId = WorkgroupId;\n ${r?\"main(getGlobalIndex());\":\"main();\"};\n }\n `,e}function Eee(){return`\n @compute @workgroup_size(workgroupSizeX, workgroupSizeY, workgroupSizeZ)\n`}function $ee(r,e,t){let o=[],n=t.workgroupSize[0]*t.workgroupSize[1]*t.workgroupSize[2];if(o.push(`\n const workgroupSizeX = ${t.workgroupSize[0]}u;\n const workgroupSizeY = ${t.workgroupSize[1]}u;\n const workgroupSizeZ = ${t.workgroupSize[2]}u;\n\n var localId: vec3;\n var localIndex: u32;\n var globalId: vec3;\n var numWorkgroups: vec3;\n var workgroupId: vec3;\n\n // Only used when the y/z dimension of workgroup size is 1.\n fn getGlobalIndex() -> i32 {\n ${F3(t)?\" return i32(globalId.x);\":` return i32((workgroupId.z * numWorkgroups.x * numWorkgroups.y +\n workgroupId.y * numWorkgroups.x + workgroupId.x) * ${n} +\n localIndex);\n `}\n }\n `),t.isFromPixels){o.push(`\n struct Uniform {\n size : i32,\n numChannels : i32,\n outShapeStrides : vec2,\n };\n\n @group(0) @binding(0) var result: array<${wc(e.dtype,t.isVec4)}>;\n @group(0) @binding(2) var uniforms: Uniform;\n `);let f=$3(t);return[_3,o.join(`\n`),E3(e.shape),t.getUserCode(),T3(f)].join(`\n`)}let s=\"struct Uniforms { NAN : f32, INFINITY : f32, \";t.variableNames.forEach((f,h)=>{let g=Rt(r[h].shape.length);s+=`${f.charAt(0).toLowerCase()+f.slice(1)}Shape : ${g}, `});let a=Rt(e.shape.length);s+=`outShape : ${a}, `;let i=e.shape.length-1,p=Rt(i);s+=`\n outShapeStrides: ${p}, `,t.size&&(s+=\"size : i32, \"),t.uniforms&&(s+=t.uniforms),s+=\"};\",s=Lee(s),o.push(s),t.atomic?o.push(`\n @group(0) @binding(0) var result: array>;\n `):o.push(`\n @group(0) @binding(0) var result: array<${wc(e.dtype,t.isVec4)}>;\n `),t.variableNames.forEach((f,h)=>{o.push(`\n @group(0) @binding(${1+h}) var ${f}: array<${t.variableTypes?t.variableTypes[h]:wc(r[h].dtype,t.isVec4)}>;\n `)}),s!==\"\"&&o.push(`\n @group(0) @binding(${1+t.variableNames.length}) var uniforms: Uniforms;\n `);let u=Oee(e.shape,t.dispatchLayout),c=[_3+Aee,o.join(`\n`),E3(e.shape),u,Pee(e.shape.length)];t.atomic||c.push(Mee(e.shape,e.dtype,t.isVec4));let l=r.map((f,h)=>Dee(f,e.shape,t.variableTypes?t.variableTypes[h]===\"vec4\":t.isVec4,t.dispatchLayout.x.length===e.shape.length)).join(`\n`);c.push(l),c.push(t.getUserCode());let m=$3(t);return c.push(T3(m)),c.join(`\n`)}function R3(r,e,t,o){let n=r.shaderKey;if(r.isFromPixels)return n;let s=t.map(c=>c.dtype).concat(o.dtype),a=t.map(c=>S.getBroadcastDims(c.shape,o.shape)),i=t.map(c=>y.arraysEqual(c.shape,o.shape)).join(\"_\"),p=a.map(c=>c.join(\"_\")).join(\";\"),u=F3(r)?\"flatDispatch\":\"\";return n+=\"_\"+(r.workgroupSize?r.workgroupSize.join(\",\"):\"\")+e.map(c=>c.length).join(\",\")+s.join(\",\")+r.variableNames.join(\",\")+p+i+u,n}var _3=`\n struct vec5 {x: i32, y: i32, z: i32, w: i32, u: i32};\n struct vec6 {x: i32, y: i32, z: i32, w: i32, u: i32, v: i32};\n\n // Checks whether coordinates lie within the bounds of the shape.\n fn coordsInBounds2D(coord : vec2, shape : vec2) -> bool {\n return all(coord >= vec2(0)) && all(coord < shape);\n }\n fn coordsInBounds3D(coord : vec3, shape : vec3) -> bool {\n return all(coord >= vec3(0)) && all(coord < shape);\n }\n fn coordsInBounds4D(coord : vec4, shape : vec4) -> bool {\n return all(coord >= vec4(0)) && all(coord < shape);\n }\n\n fn getIndexFromCoords1D(coord : i32, shape : i32) -> i32 {\n return coord;\n }\n fn getIndexFromCoords2D(coords : vec2, shape : vec2) -> i32 {\n return dot(coords, vec2(shape.y, 1));\n }\n fn getIndexFromCoords3D(coords : vec3, shape : vec3) -> i32 {\n return dot(coords, vec3(shape.y * shape.z, shape.z, 1));\n }\n fn getIndexFromCoords4D(coords : vec4, shape : vec4) -> i32 {\n return dot(coords, vec4(\n shape.y * shape.z * shape.w, shape.z * shape.w, shape.w, 1));\n }\n fn getIndexFromCoords5D(coords : vec5, shape : vec5) -> i32 {\n let shapeStrides: vec5 = vec5(shape.y * shape.z * shape.w * shape.u, shape.z * shape.w * shape.u, shape.w * shape.u, shape.u, 1);\n return coords.x*shapeStrides.x + coords.y*shapeStrides.y + coords.z*shapeStrides.z + coords.w*shapeStrides.w + coords.u*shapeStrides.u;\n }\n fn getIndexFromCoords6D(coords : vec6, shape : vec6) -> i32 {\n let shapeStrides: vec6 = vec6(shape.y * shape.z * shape.w * shape.u * shape.v, shape.z * shape.w * shape.u * shape.v, shape.w * shape.u * shape.v, shape.u * shape.v, shape.v, 1);\n return coords.x*shapeStrides.x + coords.y*shapeStrides.y + coords.z*shapeStrides.z + coords.w*shapeStrides.w + coords.u*shapeStrides.u + coords.v*shapeStrides.v;\n }\n\n fn idiv(a: i32, b: i32, sign: f32) -> i32 {\n var res: i32 = a / b;\n let modulo: i32 = a % b;\n if (sign < 0. && modulo != 0) {\n res = res - 1;\n }\n return res;\n }\n\n // NaN defination in IEEE 754-1985 is :\n // - sign = either 0 or 1.\n // - biased exponent = all 1 bits.\n // - fraction = anything except all 0 bits (since all 0 bits represents infinity).\n // https://en.wikipedia.org/wiki/IEEE_754-1985#Representation_of_non-numbers\n fn isnan(val: f32) -> bool {\n let floatToUint: u32 = bitcast(val);\n return (floatToUint & 0x7fffffffu) > 0x7f800000u;\n }\n fn isnanVec4(val : vec4) -> vec4 {\n return vec4(isnan(val[0]), isnan(val[1]), isnan(val[2]), isnan(val[3]));\n }\n`,Aee=`\n fn isinf(val: f32) -> bool {\n return abs(val) == uniforms.INFINITY;\n }\n`;function E3(r){let e=r.length;if(e<=1)return\"fn getCoordsFromIndex(index : i32) -> i32 { return index; }\";let t=y.computeStrides(r),o=Rt(e),n=[];for(let a=0;a vec2 {\n let d0 = index / uniforms.outShapeStrides; let d1 = index - d0 * uniforms.outShapeStrides;\n return vec2(d0, d1);\n }`;let s;return s=\"var index2 = index;\"+t.map((a,i)=>{let p=`let ${n[i]} = index2 / uniforms.outShapeStrides.${$o(i)}`,u=i===t.length-1?`let ${n[i+1]} = index2 - ${n[i]} * uniforms.outShapeStrides.${$o(i)}`:`index2 = index2 - ${n[i]} * uniforms.outShapeStrides.${$o(i)}`;return`${p}; ${u};`}).join(\"\"),`\n fn getCoordsFromIndex(index : i32) -> ${o} {\n ${s}\n return ${o}(${n.join(\",\")});\n }\n `}function Ree(r,e){let t=r.name,o=r.shape.length,n=Rt(o),s=\"get\"+t.charAt(0).toUpperCase()+t.slice(1),a=[\"d0\",\"d1\",\"d2\",\"d3\",\"d4\",\"d5\"].slice(0,o),i=a.map(c=>`${c} : i32`).join(\", \");if(o<1)return e?`\n fn ${s}() -> vec4 {\n return vec4(${t}[0]);\n }\n `:`\n fn ${s}() ->f32 {\n return f32(${t}[0]);\n }\n `;let p=`uniforms.${t.charAt(0).toLowerCase()+t.slice(1)}Shape`,u=`${o}D`;return o===0&&(u=\"1D\"),e?`\n fn ${s}(${i}) -> vec4 {\n return vec4(${t}[getIndexFromCoords${u}(${n}(${a.join(\",\")}),\n ${p}) / 4]);\n }\n `:`\n fn ${s}(${i}) -> f32 {\n return f32(${t}[getIndexFromCoords${u}(${n}(${a.join(\",\")}),\n ${p})]);\n }\n `}function Fee(r,e,t,o){let n=r.name,s=n.charAt(0).toUpperCase()+n.slice(1),a=\"get\"+s+\"ByOutput\",i=r.shape.length,p=e.length,u=Rt(p);if(y.arraysEqual(r.shape,e)&&o)return t?`\n fn ${a}Index(globalIndex : i32) -> vec4 {\n return vec4(${n}[globalIndex]);\n }\n\n fn ${a}Coords(coords : ${u}) -> vec4 {\n return vec4(${n}[${p>1?\"getOutputIndexFromCoords(coords)\":\"coords\"} / 4]);\n }\n `:`\n fn ${a}Index(globalIndex : i32) -> f32 {\n return f32(${n}[globalIndex]);\n }\n\n fn ${a}Coords(coords : ${u}) -> f32 {\n return f32(${n}[${p>1?\"getOutputIndexFromCoords(coords)\":\"coords\"}]);\n }\n `;let c=S.getBroadcastDims(r.shape,e),l=p-i,m=\"\";if(i===0)return t?`\n fn ${a}Index(globalIndex : i32) -> vec4 {\n return get${s}();\n }\n\n fn ${a}Coords(coords : ${u}) -> vec4 {\n return get${s}();\n }\n `:`\n fn ${a}Index(globalIndex : i32) -> f32{\n return get${s}();\n }\n\n fn ${a}Coords(coords : ${u}) -> f32{\n return get${s}();\n }\n `;p<2&&c.length>=1?m=\"coords = 0;\":m=c.map(g=>`coords.${$o(g+l)} = 0;`).join(`\n`);let d=\"\";if(p<2&&i>0)d=\"coords\";else if(p>1){let g=Rt(i),x=r.shape.map((b,C)=>`coords.${$o(C+l)}`).join(\", \");d=`${g}(${x})`}else d=\"coords\";let f=`uniforms.${n.charAt(0).toLowerCase()+n.slice(1)}Shape`,h=`${i}D`;return t?`\n fn ${a}Index(globalIndex : i32) -> vec4 {\n var coords = getCoordsFromIndex(globalIndex);\n ${m}\n return ${n}[getIndexFromCoords${h}(${d}, ${f}) / 4];\n }\n\n fn ${a}Coords(coordsIn : ${u}) -> vec4 {\n var coords = coordsIn;\n ${m}\n return ${n}[getIndexFromCoords${h}(${d}, ${f}) / 4];\n }\n `:`\n fn ${a}Index(globalIndex : i32) -> f32 {\n var coords = getCoordsFromIndex(globalIndex);\n ${m}\n return f32(${n}[getIndexFromCoords${h}(${d}, ${f})]);\n }\n\n fn ${a}Coords(coordsIn : ${u}) -> f32 {\n var coords = coordsIn;\n ${m}\n return f32(${n}[getIndexFromCoords${h}(${d}, ${f})]);\n }\n`}function Dee(r,e,t,o){let n=Ree(r,t);return r.shape.length<=e.length&&(n+=Fee(r,e,t,o)),n}function Oee(r,e){let{x:t,y:o=[],z:n=[]}=e,s=r.length,a=t.length+o.length+n.length;if(a!==s)return\"\";if(t.length===s)return`fn getOutputCoords() -> ${Rt(s)}{\n let globalIndex = getGlobalIndex();\n return getCoordsFromIndex(globalIndex);\n }\n `;let i=\"\",p=[t,o,n];for(let m=0;m ${c} {\n ${i}\n`;return u.length===0?l+=`return ${c}(0); }`:l+=`return ${c}(${u.join(\",\")}); }`,l}function Pee(r){let e=\"\";switch(r){case 0:case 1:e+=`\n fn getOutputIndexFromCoords(coords : i32) -> i32 {\n return coords;\n }\n `;break;case 2:e+=`\n fn getOutputIndexFromCoords(coords : vec2) -> i32 {\n return dot(coords, vec2(uniforms.outShapeStrides, 1));\n }\n `;break;case 3:e+=`\n fn getOutputIndexFromCoords(coords : vec3) -> i32 {\n return dot(coords, vec3(uniforms.outShapeStrides.x, uniforms.outShapeStrides.y, 1));\n }\n `;break;case 4:e+=`\n fn getOutputIndexFromCoords(coords : vec4) -> i32 {\n return dot(coords, vec4(\n uniforms.outShapeStrides.x, uniforms.outShapeStrides.y, uniforms.outShapeStrides.z, 1));\n }\n `;break;case 5:e+=`\n fn getOutputIndexFromCoords(coords : vec5) -> i32 {\n return coords.x * uniforms.outShapeStrides.x +\n coords.y * uniforms.outShapeStrides.y +\n coords.z * uniforms.outShapeStrides.z +\n coords.w * uniforms.outShapeStrides.w +\n coords.u;\n }\n `;break;case 6:e+=`\n fn getOutputIndexFromCoords(coords : vec6) -> i32 {\n return coords.x * uniforms.outShapeStrides.x +\n coords.y * uniforms.outShapeStrides.y +\n coords.z * uniforms.outShapeStrides.z +\n coords.w * uniforms.outShapeStrides.w +\n coords.u * uniforms.outShapeStrides.u +\n coords.v;\n }\n `;break;default:y.assert(!1,()=>`Unsupported ${r}D shape`);break}return e}function F3(r){return r.dispatch[1]===1&&r.dispatch[2]===1}function wc(r,e){return r===\"float32\"?e?\"vec4\":\"f32\":r===\"int32\"||r===\"bool\"?e?\"vec4\":\"i32\":r}function Mee(r,e,t){let o=r.length,n=wc(e,t),s;if(t?s=`fn setOutputAtIndex(flatIndex : i32, value : vec4) {\n result[flatIndex] = ${n}(value);\n }\n fn setOutputAtIndexI32(flatIndex : i32, value : vec4) {\n result[flatIndex] = ${n}(value);\n }`:s=`fn setOutputAtIndex(flatIndex : i32, value : f32) {\n result[flatIndex] = ${n}(value);\n }\n fn setOutputAtIndexI32(flatIndex : i32, value : i32) {\n result[flatIndex] = ${n}(value);\n }`,o>=2){let a=[\"d0\",\"d1\",\"d2\",\"d3\",\"d4\",\"d5\"].slice(0,o),i=Rt(o);t?s+=`\n fn setOutputAtCoords(${a.map(p=>`${p} : i32`).join(\", \")}, value : vec4) {\n let flatIndex = getOutputIndexFromCoords(${i}(${a.join(\", \")}));\n setOutputAtIndex(flatIndex / 4, value);\n }\n fn setOutputAtCoordsI32(${a.map(p=>`${p} : i32`).join(\", \")}, value : vec4) {\n let flatIndex = getOutputIndexFromCoords(${i}(${a.join(\", \")}));\n setOutputAtIndexI32(flatIndex / 4, value);\n }\n `:s+=`\n fn setOutputAtCoords(${a.map(p=>`${p} : i32`).join(\", \")}, value : f32) {\n let flatIndex = getOutputIndexFromCoords(${i}(${a.join(\", \")}));\n setOutputAtIndex(flatIndex, value);\n }\n fn setOutputAtCoordsI32(${a.map(p=>`${p} : i32`).join(\", \")}, value : i32) {\n let flatIndex = getOutputIndexFromCoords(${i}(${a.join(\", \")}));\n setOutputAtIndexI32(flatIndex, value);\n }\n `}return s}function Lee(r){let e=/(\\w+)\\s*:\\s*vec(5|6)/g;r=r.replace(e,o=>\"@align(16) \"+o);let t=/vec(5|6)\\s*,\\s*(\\w+)/g;return r=r.replace(t,(o,n,s)=>`vec${n}, @align(16) ${s}`),r}function $3(r){return!(r.dispatchLayout.hasOwnProperty(\"y\")&&r.dispatchLayout.y.length!==0||r.dispatchLayout.hasOwnProperty(\"z\")&&r.dispatchLayout.z.length!==0)}var nI={};Ue(nI,{ArrayBufferToTypedArray:()=>oI,GPUBytesPerElement:()=>rI,MatMulProgramType:()=>Ao,computeDispatch:()=>re,computeWorkPerThreadForConv2d:()=>Ll,computeWorkgroupInfoForMatMul:()=>tI,computeWorkgroupSizeForConv2d:()=>Ml,flatDispatchLayout:()=>ue,isWebGPUSupported:()=>Bl,tilesFitEvenlyIntoShape:()=>Vee});var zu=r=>{let e=1;for(let t=0;tt%r[o]===0)}function re(r,e,t=[1,1,1],o=[1,1,1]){let[n,s,a]=[Math.ceil(zu(r.x.map(i=>e[i]))/(t[0]*o[0])),r.y?Math.ceil(zu(r.y.map(i=>e[i]))/(t[1]*o[1])):1,r.z?Math.ceil(zu(r.z.map(i=>e[i]))/(t[2]*o[2])):1];return[n,s,a]}function tI(r,e,t,o=!1){let n=[8,8,1],s=[4,4,1];return o||(r<=8&&(s[1]=1),e<=16&&t<=16&&(n[0]=4)),{workgroupSize:n,elementsPerThread:s}}function Ml(r,e,t=!1){if(t)return[8,8,1];let o=zu(r.x.map(s=>e[s])),n=zu(r.y.map(s=>e[s]));return o<=4?[4,16,1]:n<=4?[16,4,1]:[16,16,1]}function Ll(r,e,t=!1){if(t)return[4,4,1];let o=zu(r.x.map(s=>e[s])),n=zu(r.y.map(s=>e[s]));return o<=4?[1,2,1]:n<=4?[2,1,1]:[2,2,1]}function ue(r){return{x:r.map((e,t)=>t)}}function rI(r){if(r===\"float32\"||r===\"int32\"||r===\"bool\"||r===\"string\")return 4;if(r===\"complex64\")return 8;throw new Error(`Unknown dtype ${r}`)}function oI(r,e){if(e===\"float32\")return new Float32Array(r);if(e===\"int32\")return new Int32Array(r);if(e===\"bool\"||e===\"string\")return Uint8Array.from(new Int32Array(r));throw new Error(`Unknown dtype ${e}`)}function Bl(){return(typeof window!=\"undefined\"||typeof WorkerGlobalScope!=\"undefined\")&&!!navigator.gpu}var Ao;(function(r){r[r.MatMulReduceProgram=0]=\"MatMulReduceProgram\",r[r.MatMulSplitKProgram=1]=\"MatMulSplitKProgram\",r[r.MatMulSmallOutputSizeProgram=2]=\"MatMulSmallOutputSizeProgram\",r[r.MatMulPackedProgram=3]=\"MatMulPackedProgram\",r[r.MatMulMax=4]=\"MatMulMax\"})(Ao||(Ao={}));var zee=O().getNumber(\"WEBGPU_CPU_HANDOFF_SIZE_THRESHOLD\"),Wee=(r,e)=>{let t=r.limits.maxComputeWorkgroupsPerDimension,o=e.dispatchLayout,n=e.dispatch;if(n.every(a=>a<=t))return n;y.assert(n[0]>t&&o.y===void 0&&o.z===void 0,()=>\"Dispatch size exceeds WebGPU limits in Y or Z dimension.\");let s=Math.ceil(Math.sqrt(n[0]));return s>t?(s=Math.ceil(Math.cbrt(n[0])),y.assert(s<=t,()=>\"Total dispatch size exceeds WebGPU maximum.\"),[s,s,s]):[s,s,1]},Ui=class extends Zr{constructor(e,t){if(super(),this.commandQueueOwnedIds=new WeakSet,this.dispatchNumberInEncoder=0,this.disposed=!1,this.downloadWaitMs=0,this.tensorDataPendingDisposal=[],this.stagingPendingDisposal=[],this.uniformPendingDisposal=[],this.uploadWaitMs=0,!Bl())throw new Error(\"WebGPU is not supported on this device\");this.pipelineCache={},this.device=e,this.queue=e.queue,this.currentCommandEncoder=null,this.currentComputePass=null,this.supportTimeQuery=e.features.has(\"timestamp-query-inside-passes\"),this.adapterInfo=new kg(t),this.thresholdToIncreaseWorkgroups=this.adapterInfo.intelGPUGeneration>=12?16:8,this.bufferManager=new Ng(this.device),this.textureManager=new Tg(this.device),this.tensorMap=new Do(this,cr()),this.supportTimeQuery&&(this.querySet=this.device.createQuerySet({type:\"timestamp\",count:2})),O().getBool(\"WEBGPU_USE_PROFILE_TOOL\")&&(this.dummyCanvas=document.createElement(\"canvas\"),this.dummyCanvas.width=1,this.dummyCanvas.height=1,this.dummyContext=this.dummyCanvas.getContext(\"webgpu\"),this.dummyContext.configure({device:e,format:\"bgra8unorm\"}),document.body.appendChild(this.dummyCanvas))}nextDataId(){return Ui.nextDataId++}floatPrecision(){return 32}defaultGpuBufferUsage(){return GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST}disposeData(e,t=!1){if(this.tensorDataPendingDisposal.indexOf(e)>=0)return!1;if(!this.tensorMap.has(e))return!0;let o=this.tensorMap.get(e);if(this.decRef(e),!t&&o.refCount>0)return!1;if(this.commandQueueOwnedIds.has(e))return this.tensorDataPendingDisposal.push(e),!1;let{complexTensorInfos:n}=this.tensorMap.get(e);return n!=null&&(this.disposeData(n.real.dataId,t),this.disposeData(n.imag.dataId,t)),this.releaseResource(e),this.tensorMap.delete(e),!0}memory(){return{numBytesInGPU:this.bufferManager.numBytesUsed,numBytesAllocatedInGPU:this.bufferManager.numBytesAllocated,unreliable:!1}}releaseResource(e){let t=this.tensorMap.get(e);if(!(!t||!t.resourceInfo)){if(\"texture\"in t.resourceInfo){let o=t.resourceInfo;o.texture instanceof GPUTexture&&this.textureManager.releaseTexture(o.texture,o.width,o.height,o.format,o.usage),o.texture=null}else{let o=t.resourceInfo;this.bufferManager.releaseBuffer(o.buffer,o.size,o.usage),o.buffer=null}t.resourceInfo=null}}refCount(e){return this.tensorMap.has(e)?this.tensorMap.get(e).refCount:0}incRef(e){let t=this.tensorMap.get(e);t.refCount++}decRef(e){if(this.tensorMap.has(e)){let t=this.tensorMap.get(e);t.refCount--}}write(e,t,o){if(o===\"complex64\"&&e!=null)throw new Error(\"Cannot write to a complex64 dtype. Please use tf.complex(real, imag).\");let n={id:this.nextDataId()};return this.tensorMap.set(n,{dtype:o,shape:t,values:e,refCount:1}),n}move(e,t,o,n,s){if(n===\"complex64\")throw new Error(\"Cannot write to a complex64 dtype. Please use tf.complex(real, imag).\");this.tensorMap.set(e,{dtype:n,shape:o,values:t,refCount:s})}submitQueue(){this.ensureComputePassEnded(),this.queue.submit([this.currentCommandEncoder.finish()]),this.currentCommandEncoder=null,this.dispatchNumberInEncoder=0,this.commandQueueOwnedIds=new WeakSet,this.tensorDataPendingDisposal.forEach(e=>{this.releaseResource(e),this.tensorMap.delete(e)}),this.uniformPendingDisposal.forEach(e=>this.bufferManager.releaseBuffer(e.buffer,e.size,e.usage)),this.stagingPendingDisposal.forEach(e=>this.bufferManager.releaseUploadBuffer(e.buffer,e.size,e.usage)),this.tensorDataPendingDisposal=[],this.uniformPendingDisposal=[],this.stagingPendingDisposal=[]}ensureCommandEncoderReady(){this.currentCommandEncoder||(this.currentCommandEncoder=this.device.createCommandEncoder())}ensureComputePassEnded(){this.currentComputePass&&(this.currentComputePass.end(),this.currentComputePass=null)}getComputePass(){return this.currentComputePass||(this.currentComputePass=this.currentCommandEncoder.beginComputePass()),this.currentComputePass}async getBufferData(e,t){let o=this.bufferManager.acquireBuffer(t,GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ);this.ensureCommandEncoderReady(),this.ensureComputePassEnded(),this.currentCommandEncoder.copyBufferToBuffer(e,0,o,0,t),this.submitQueue(),await o.mapAsync(GPUMapMode.READ);let n=o.getMappedRange().slice(0);return o.unmap(),o!=null&&this.bufferManager.releaseBuffer(o,t,GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ),O().getBool(\"WEBGPU_USE_PROFILE_TOOL\")&&(y.assert(this.dummyContext!==void 0,()=>\"Fail to get context for profiling tool\"),this.dummyContext.getCurrentTexture()),n}convertAndCacheOnCPU(e,t){let o=this.tensorMap.get(e);return this.releaseResource(e),o.values=t,o.values}readSync(e){let t=this.tensorMap.get(e),{values:o}=t;if(o==null)throw new Error(\"WebGPU readSync is only available for CPU-resident tensors.\");return o}async read(e){if(!this.tensorMap.has(e))throw new Error(`Tensor ${e} was not registered!`);let t=this.tensorMap.get(e),{values:o}=t;if(o!=null)return this.convertAndCacheOnCPU(e,o);let n;if(t.dtype===\"complex64\"){let s=await Promise.all([this.read(t.complexTensorInfos.real.dataId),this.read(t.complexTensorInfos.imag.dataId)]),a=s[0],i=s[1];n=S.mergeRealAndImagArrays(a,i)}else{let s=t.resourceInfo,a=await this.getBufferData(s.buffer,s.size);n=oI(a,t.dtype)}return this.convertAndCacheOnCPU(e,n),n}readToGPU(e){let t=this.tensorMap.get(e),{values:o,dtype:n,shape:s,resourceInfo:a}=t;if(n===\"complex64\")throw new Error(\"Does not support reading buffer for complex64 dtype.\");if(a==null)throw o!=null?new Error(\"Data is not on GPU but on CPU.\"):new Error(\"There is no data on GPU or CPU.\");let i=a.size,p=this.bufferManager.acquireBuffer(i,a.usage);this.ensureCommandEncoderReady(),this.ensureComputePassEnded(),this.currentCommandEncoder.copyBufferToBuffer(a.buffer,0,p,0,i),this.submitQueue();let u=this.makeTensorInfo(s,n),c=cr().makeTensorFromTensorInfo(u),l=this.tensorMap.get(u.dataId);return l.resourceInfo={size:i,usage:this.defaultGpuBufferUsage(),buffer:p},{tensorRef:c,buffer:p,bufSize:i}}bufferSync(e){let t=this.readSync(e.dataId);if(e.dtype===\"string\")try{let o=t.map(n=>y.decodeString(n));return le(e.shape,e.dtype,o)}catch(o){throw new Error(\"Failed to decode encoded string bytes into utf-8\")}return le(e.shape,e.dtype,t)}async time(e){this.supportTimeQuery||console.warn(\"This device doesn't support timestamp-query-inside-passes extension. Start Chrome browser with flag --disable-dawn-features=disallow_unsafe_apis then try again. Otherwise, zero will be shown for the kernel time when profiling mode is enabled. Using performance.now is not workable for webgpu since it doesn't support synchronous data read from GPU.\");let t=this.activeTimers,o=[],n=!1;this.programTimersStack==null?(this.programTimersStack=o,n=!0):this.activeTimers.push(o),this.activeTimers=o,e();let s=y.flatten(this.activeTimers.map(u=>u.query)).filter(u=>u!=null),a=y.flatten(this.activeTimers.map(u=>u.name)).filter(u=>u!=null);this.activeTimers=t,n&&(this.programTimersStack=null);let i={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:null,wallMs:null},p=await Promise.all(s);return i.kernelMs=y.sum(p),i.getExtraProfileInfo=()=>p.map((u,c)=>({name:a[c],ms:u})).map(u=>`${u.name}: ${u.ms}`).join(\", \"),this.uploadWaitMs=0,this.downloadWaitMs=0,i}makeTensorInfo(e,t,o){return t===\"string\"&&o!=null&&o.length>0&&y.isString(o[0])&&(o=o.map(s=>y.encodeString(s))),{dataId:this.write(o,e,t),shape:e,dtype:t}}tensorToBinding(e){if(!e)return null;let t=this.tensorMap.get(e.dataId);if(\"texture\"in t.resourceInfo){let n=t.resourceInfo;return n.texture instanceof GPUExternalTexture?n.texture:n.texture.createView()}let o=t.resourceInfo;return{offset:0,size:o.size,buffer:o.buffer}}async getQueryTime(e){return this.supportTimeQuery?this.getTimeFromQuerySet(e):0}uploadToGPU(e){let t=this.tensorMap.get(e);if(t.resourceInfo)return;let o=rI(t.dtype)*y.sizeFromShape(t.shape),n=this.bufferManager.acquireBuffer(o,this.defaultGpuBufferUsage());if(t.resourceInfo={size:o,usage:this.defaultGpuBufferUsage(),buffer:n},t.values){let s=this.bufferManager.acquireUploadBuffer(o,GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC),a=s.getMappedRange();t.dtype===\"int32\"||t.dtype===\"bool\"?new Int32Array(a).set(t.values):new Float32Array(a).set(t.values),s.unmap(),this.ensureCommandEncoderReady(),this.ensureComputePassEnded(),this.currentCommandEncoder.copyBufferToBuffer(s,0,n,0,o);let i={size:o,usage:GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC,buffer:s};this.stagingPendingDisposal.push(i)}}makeUniforms(e){let t=0,o=0,n=[];e.forEach(p=>{p.data.length===0&&(p.data=[1]);let u;switch(p.data.length){case 1:u=4;break;case 2:u=8;break;case 3:u=16;break;case 4:u=16;break;case 5:u=16;break;case 6:u=16;break;default:y.assert(!1,()=>`Unsupported ${p.data.length}D shape`)}(o===5||o===6)&&(u=16),t=Math.ceil(t/u)*u,o=p.data.length,n.push(t),t+=p.data.length*4});let s=new ArrayBuffer(t);e.forEach((p,u)=>{let c=n[u];p.type===\"int32\"?new Int32Array(s,c,p.data.length).set(p.data):p.type===\"uint32\"?new Uint32Array(s,c,p.data.length).set(p.data):new Float32Array(s,c,p.data.length).set(p.data)});let a=this.bufferManager.acquireBuffer(t,GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM);this.queue.writeBuffer(a,0,s,0,t);let i={size:t,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM,buffer:a};return this.uniformPendingDisposal.push(i),{offset:0,size:t,buffer:a}}runWebGPUProgram(e,t,o,n,s){if(s||(s=this.makeTensorInfo(e.outputShape,o)),y.sizeFromShape(s.shape)===0)return this.tensorMap.get(s.dataId).values=y.getTypedArrayFromDType(s.dtype,0),s;this.uploadToGPU(s.dataId),e.dispatch=Wee(this.device,e);let a=[],i=[];if(!e.isFromPixels){a.push({type:\"float32\",data:[NaN]},{type:\"float32\",data:[1/0]}),i=t.concat(s).map(x=>x.shape);let h=\"int32\";i.map(x=>{a.push({type:h,data:x})});let g=y.computeStrides(s.shape);if(a.push({type:h,data:g}),e.size){let x=y.sizeFromShape(e.outputShape);a.push({type:h,data:[e.isVec4?x/4:x]})}}let p=t.map((h,g)=>{if(h.dtype===\"complex64\")throw new Error(\"GPGPUProgram does not support complex64 input. For complex64 dtypes, please separate the program into real and imaginary parts.\");return this.uploadToGPU(h.dataId),{dtype:this.tensorMap.get(h.dataId).dtype,shape:h.shape,name:e.variableNames[g]}}),u=R3(e,i,p,s),c;u in this.pipelineCache?c=this.pipelineCache[u]:(c=A3(this.device,e,p,s),this.pipelineCache[u]=c),n&&(a=[...a,...n]);let l=[this.tensorToBinding(s),...t.map(h=>this.tensorToBinding(h)),this.makeUniforms(a)],m=this.device.createBindGroup({layout:c.getBindGroupLayout(0),entries:l.map((h,g)=>({binding:g,resource:h}))});this.ensureCommandEncoderReady();let d=this.getComputePass(),f=this.activeTimers!=null;return f&&this.supportTimeQuery&&d.writeTimestamp(this.querySet,0),d.setPipeline(c),d.setBindGroup(0,m),d.dispatchWorkgroups(e.dispatch[0],e.dispatch[1],e.dispatch[2]),f&&this.supportTimeQuery&&d.writeTimestamp(this.querySet,1),this.dispatchNumberInEncoder++,t.forEach(h=>{this.commandQueueOwnedIds.add(h.dataId)}),this.commandQueueOwnedIds.add(s.dataId),O().get(\"WEBGPU_DEFERRED_SUBMIT_BATCH_SIZE\")<=this.dispatchNumberInEncoder&&this.submitQueue(),f&&this.activeTimers.push({name:e.constructor.name,query:this.getQueryTime(this.querySet)}),s}async getTimeFromQuerySet(e){let t=this.bufferManager.acquireBuffer(16,GPUBufferUsage.COPY_SRC|GPUBufferUsage.QUERY_RESOLVE),o=this.bufferManager.acquireBuffer(16,GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST);this.ensureCommandEncoderReady(),this.ensureComputePassEnded(),this.currentCommandEncoder.resolveQuerySet(e,0,2,t,0),this.currentCommandEncoder.copyBufferToBuffer(t,0,o,0,16),this.submitQueue(),await o.mapAsync(GPUMapMode.READ);let n=new BigUint64Array(o.getMappedRange()),s=Number(n[1]-n[0]);return o.unmap(),this.bufferManager.releaseBuffer(o,16,GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST),this.bufferManager.releaseBuffer(t,16,GPUBufferUsage.COPY_SRC|GPUBufferUsage.QUERY_RESOLVE),s/1e6}shouldExecuteOnCPU(e,t=zee){return O().getBool(\"WEBGPU_CPU_FORWARD\")&&e.every(o=>this.tensorMap.get(o.dataId).resourceInfo==null&&y.sizeFromShape(o.shape){O().set(\"CHECK_COMPUTATION_FOR_ERRORS\",!1);let r={powerPreference:O().get(\"WEBGPU_USE_LOW_POWER_GPU\")?\"low-power\":\"high-performance\"},e=await navigator.gpu.requestAdapter(r),t={};e.features.has(\"timestamp-query-inside-passes\")&&(t.requiredFeatures=[\"timestamp-query-inside-passes\"]);let o=e.limits;t.requiredLimits={maxComputeWorkgroupStorageSize:o.maxComputeWorkgroupStorageSize,maxComputeWorkgroupsPerDimension:o.maxComputeWorkgroupsPerDimension,maxStorageBufferBindingSize:o.maxStorageBufferBindingSize};let n=await e.requestDevice(t),s=await e.requestAdapterInfo();return new Ui(n,s)},3);var ye;(function(r){r[r.ADD=0]=\"ADD\",r[r.ATAN2=1]=\"ATAN2\",r[r.COMPLEX_MULTIPLY_IMAG=2]=\"COMPLEX_MULTIPLY_IMAG\",r[r.COMPLEX_MULTIPLY_REAL=3]=\"COMPLEX_MULTIPLY_REAL\",r[r.DIV=4]=\"DIV\",r[r.EQUAL=5]=\"EQUAL\",r[r.GREATER=6]=\"GREATER\",r[r.GREATER_EQUAL=7]=\"GREATER_EQUAL\",r[r.INT_DIV=8]=\"INT_DIV\",r[r.LESS=9]=\"LESS\",r[r.LESS_EQUAL=10]=\"LESS_EQUAL\",r[r.LOGICAL_AND=11]=\"LOGICAL_AND\",r[r.MAX=12]=\"MAX\",r[r.MIN=13]=\"MIN\",r[r.MOD=14]=\"MOD\",r[r.MUL=15]=\"MUL\",r[r.NOT_EQUAL=16]=\"NOT_EQUAL\",r[r.POW=17]=\"POW\",r[r.PRELU=18]=\"PRELU\",r[r.SQUARED_DIFFERENCE=19]=\"SQUARED_DIFFERENCE\",r[r.SUB=20]=\"SUB\"})(ye||(ye={}));var D3=`\n if (isnan(a)) { return a; }\n if (isnan(b)) { return b; }\n `,O3=`\n if (isNaN.r) {\n resultTemp.r = valueForNaN;\n }\n if (isNaN.g) {\n resultTemp.g = valueForNaN;\n }\n if (isNaN.b) {\n resultTemp.b = valueForNaN;\n }\n if (isNaN.a) {\n resultTemp.a = valueForNaN;\n }\n `,aI=`\n let isNaN = isnanVec4(a) | isnanVec4(b);\n ${O3}\n `,Uee=\"return a + b;\",Gee=\"return areal * breal - aimag * bimag;\",Hee=\"return areal * bimag + aimag * breal;\",qee=\"return a / b;\",Kee=\"return f32(a == b);\",jee=\"return vec4(a == b);\",Xee=\"return f32(a > b);\",Yee=\"return vec4(a > b);\",Qee=\"return f32(a >= b);\",Zee=\"return vec4(a >= b);\",Jee=`\n let s = sign(a) * sign(b);\n let ia = i32(round(a));\n let ib = i32(round(b));\n return f32(idiv(ia, ib, s));\n`,ete=`\n let ia = vec4(round(a));\n let ib = vec4(round(b));\n let cond = ib != vec4(0);\n var resultTemp = vec4(0);\n let s = sign(a) * sign(b);\n\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n if (cond[0]) {\n resultTemp[0] = idiv(ia[0], ib[0], s[0]);\n }\n if (cond[1]) {\n resultTemp[1] = idiv(ia[1], ib[1], s[1]);\n }\n if (cond[2]) {\n resultTemp[2] = idiv(ia[2], ib[2], s[2]);\n }\n if (cond[3]) {\n resultTemp[3] = idiv(ia[3], ib[3], s[3]);\n }\n return vec4(resultTemp);\n`,tte=\"return f32(a < b);\",rte=\"return vec4(a < b);\",ote=\"return f32(a <= b);\",nte=\"return vec4(a <= b);\",ste=\"return f32(f32(a) >= 1.0 && f32(b) >= 1.0);\",ate=`return (vec4(a >= vec4(1.0)) *\n vec4(b >= vec4(1.0)));`,ite=`\n ${D3}\n if (b == 0.) {\n return uniforms.NAN;\n }\n var resultTemp = a % b;\n if ((a < 0. && b < 0.) || (a >= 0. && b > 0.)) {\n return resultTemp;\n } else {\n return (resultTemp + b) % b;\n }\n`,ute=`\n let valueForNaN = uniforms.NAN;\n var resultTemp = vec4(a % b);\n ${aI}\n\n if (b[0] == 0.) {\n resultTemp[0] = uniforms.NAN;\n }\n if (b[1] == 0.) {\n resultTemp[1] = uniforms.NAN;\n }\n if (b[2] == 0.) {\n resultTemp[2] = uniforms.NAN;\n }\n if (b[3] == 0.) {\n resultTemp[3] = uniforms.NAN;\n }\n\n if (!((a[0] < 0. && b[0] < 0.) || (a[0] >= 0. && b[0] > 0.))) {\n resultTemp[0] = (resultTemp[0] + b[0]) % b[0];\n }\n if (!((a[1] < 0. && b[1] < 0.) || (a[1] >= 0. && b[1] > 0.))) {\n resultTemp[1] = (resultTemp[1] + b[1]) % b[1];\n }\n if (!((a[2] < 0. && b[2] < 0.) || (a[2] >= 0. && b[2] > 0.))) {\n resultTemp[2] = (resultTemp[2] + b[2]) % b[2];\n }\n if (!((a[3] < 0. && b[3] < 0.) || (a[3] >= 0. && b[3] > 0.))) {\n resultTemp[3] = (resultTemp[3] + b[3]) % b[3];\n }\n\n return resultTemp;\n`,pte=\"return a * b;\",cte=`\n if (isnan(a) || isnan(b)) {\n return 1.0;\n }\n return f32(a != b);\n`,lte=`\n var resultTemp = vec4(a != b);\n let valueForNaN = 1.0;\n ${aI}\n\n return resultTemp;\n`,mte=`\n if(a < 0.0 && floor(b) < b) {\n return uniforms.NAN;\n }\n if (b == 0.0) {\n return 1.0;\n }\n if (round(abs(b) % 2.0) != 1.0) {\n return pow(abs(a), b);\n }\n return sign(a) * pow(abs(a), b);\n`,dte=`\n let isModRound1Bool = vec4(round(abs(b) % vec4(2.0))) == vec4(1);\n let isModRound1 = vec4(isModRound1Bool);\n let multiplier = sign(a) * isModRound1 + (vec4(1.0) - isModRound1);\n var resultTemp = multiplier * pow(abs(a), b);\n\n // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS\n let isExpZero = b == vec4(0.0);\n if (isExpZero.r) {\n resultTemp.r = 1.0;\n }\n if (isExpZero.g) {\n resultTemp.g = 1.0;\n }\n if (isExpZero.b) {\n resultTemp.b = 1.0;\n }\n if (isExpZero.a) {\n resultTemp.a = 1.0;\n }\n let isNaN = (a < vec4(0.0)) & (floor(b) < b);\n let valueForNaN = uniforms.NAN;\n ${O3}\n return resultTemp;\n`,fte=\"if (a < 0.0) { return b * a; } return a;\",hte=`\n let aLessThanZero = vec4(a < vec4(0.0));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n`,gte=\"return (a - b) * (a - b);\",xte=\"return a - b;\";function sI(r,e,t=\"uniforms.NAN\"){let o=e?aI:D3;return e?`\n let valueForNaN = ${t};\n var resultTemp = vec4(${r}(a, b));\n `+o+`\n return resultTemp;\n `:o+`\n return ${r}(a, b);\n `}function Ic(r,e){switch(r){case ye.ADD:return Uee;case ye.ATAN2:return sI(\"atan2\",e);case ye.COMPLEX_MULTIPLY_IMAG:return Hee;case ye.COMPLEX_MULTIPLY_REAL:return Gee;case ye.DIV:return qee;case ye.EQUAL:return e?jee:Kee;case ye.GREATER:return e?Yee:Xee;case ye.GREATER_EQUAL:return e?Zee:Qee;case ye.INT_DIV:return e?ete:Jee;case ye.LESS:return e?rte:tte;case ye.LESS_EQUAL:return e?nte:ote;case ye.LOGICAL_AND:return e?ate:ste;case ye.MAX:return sI(\"max\",e);case ye.MIN:return sI(\"min\",e);case ye.MOD:return e?ute:ite;case ye.MUL:return pte;case ye.NOT_EQUAL:return e?lte:cte;case ye.POW:return e?dte:mte;case ye.PRELU:return e?hte:fte;case ye.SQUARED_DIFFERENCE:return gte;case ye.SUB:return xte;default:throw new Error(`BinaryType ${r} is not implemented!`)}}var Q;(function(r){r[r.ABS=0]=\"ABS\",r[r.ACOS=1]=\"ACOS\",r[r.ACOSH=2]=\"ACOSH\",r[r.ASIN=3]=\"ASIN\",r[r.ASINH=4]=\"ASINH\",r[r.ATAN=5]=\"ATAN\",r[r.ATANH=6]=\"ATANH\",r[r.CEIL=7]=\"CEIL\",r[r.COS=8]=\"COS\",r[r.COSH=9]=\"COSH\",r[r.ELU=10]=\"ELU\",r[r.ERF=11]=\"ERF\",r[r.EXP=12]=\"EXP\",r[r.EXPM1=13]=\"EXPM1\",r[r.FLOOR=14]=\"FLOOR\",r[r.IS_FINITE=15]=\"IS_FINITE\",r[r.IS_INF=16]=\"IS_INF\",r[r.IS_NAN=17]=\"IS_NAN\",r[r.LINEAR=18]=\"LINEAR\",r[r.LOG=19]=\"LOG\",r[r.LOG1P=20]=\"LOG1P\",r[r.LOGICAL_NOT=21]=\"LOGICAL_NOT\",r[r.NEG=22]=\"NEG\",r[r.RELU=23]=\"RELU\",r[r.RELU6=24]=\"RELU6\",r[r.LEAKYRELU=25]=\"LEAKYRELU\",r[r.RECIPROCAL=26]=\"RECIPROCAL\",r[r.RSQRT=27]=\"RSQRT\",r[r.SIN=28]=\"SIN\",r[r.SINH=29]=\"SINH\",r[r.SIGMOID=30]=\"SIGMOID\",r[r.SQRT=31]=\"SQRT\",r[r.SQUARE=32]=\"SQUARE\",r[r.TAN=33]=\"TAN\",r[r.TANH=34]=\"TANH\",r[r.TO_INT=35]=\"TO_INT\"})(Q||(Q={}));var yte=\"return abs(a);\",bte=`\n if (abs(a) > 1.) {\n return uniforms.NAN;\n }\n return acos(a);\n`,Cte=`\n if (a < 1.) {\n return uniforms.NAN;\n }\n return acosh(a);\n`,Ste=`\n if (abs(a) > 1.) {\n return uniforms.NAN;\n }\n return asin(a);\n`,wte=\"return asinh(a);\",Ite=`\n if (isnan(a)) {\n return uniforms.NAN;\n }\n return atan(a);\n`,vte=`\n if (abs(a) > 1.) {\n return uniforms.NAN;\n }\n if (a == 1.) {\n return uniforms.INFINITY;\n }\n if (a == -1.) {\n return -uniforms.INFINITY;\n }\n return atanh(a);\n`,kte=\"return ceil(a);\",Nte=\"return cos(a);\",Tte=`\n let e2x = exp(-a);\n return (e2x + 1.0 / e2x) / 2.0;\n`,_te=\"return exp(a) - 1.0;\",Ete=\"if (a >= 0.0) { return a; } return (exp(a) - 1.0);\",$te=`\n var resFloat = exp(a) - vec4(1.0);\n if (a.r >= 0.0) {\n resFloat.r = a.r;\n }\n if (a.g >= 0.0) {\n resFloat.g = a.g;\n }\n if (a.b >= 0.0) {\n resFloat.b = a.b;\n }\n if (a.a >= 0.0) {\n resFloat.a = a.a;\n }\n return resFloat;\n`,Ate=`\n // Error function is calculated approximately with elementary function.\n // See \"Handbook of Mathematical Functions with Formulas,\n // Graphs, and Mathematical Tables\", Abramowitz and Stegun.\n let p = ${S.ERF_P};\n let a1 = ${S.ERF_A1};\n let a2 = ${S.ERF_A2};\n let a3 = ${S.ERF_A3};\n let a4 = ${S.ERF_A4};\n let a5 = ${S.ERF_A5};\n\n let sign = sign(a);\n let absA = abs(a);\n let t = 1.0 / (1.0 + p * absA);\n return sign * (1.0 - (((((a5 * t + a4) * t) + a3) * t + a2) * t + a1) * t * exp(-absA * absA));\n`,Rte=\"return exp(a);\",Fte=\"return floor(a);\",Dte=\"return f32(!isnan(a) && !isinf(a));\",Ote=\"return f32(isinf(a));\",Pte=\"return f32(isnan(a));\",Mte=\"return a;\",Lte=`if (a < 0.0) { return uniforms.NAN; }\n return log(a);`,Bte=`\n if (isnan(a)) { return a; }\n return log(1.0 + a);\n`,Vte=\"return f32(!(a >= 1.0));\",zte=\"return -a;\",Wte=\"if (a < 0.0) { return uniforms.alpha * a; } return a;\",Ute=`\n let aLessThanZero = vec4(a < vec4(0.0));\n return (aLessThanZero * (uniforms.alpha * a)) + ((vec4(1.0) - aLessThanZero) * a);\n`,Gte=\"return 1.0 / a;\",Hte=\"return select(a, 0.0, a < 0.0);\",qte=\"return clamp(a, 0.0, 6.0);\",Kte=\"return clamp(a, vec4(0.0, 0.0, 0.0, 0.0), vec4(6.0, 6.0, 6.0, 6.0));\",jte=`\n return select(a, vec4(0.0), a < vec4(0.0));\n`,Xte=\"return inverseSqrt(a);\",Yte=\"return 1.0 / (1.0 + exp(-1.0 * a));\",Qte=\"return sin(a);\",Zte=`\n let e2x = exp(a);\n return (e2x - 1.0 / e2x) / 2.0;\n`,Jte=\"return sqrt(a);\",ere=\"return a * a;\",tre=\"return tan(a);\",rre=`\n let e2x = exp(-2.0 * abs(a));\n return sign(a) * (1.0 - e2x) / (1.0 + e2x);\n`,ore=\"return f32(i32((a)));\";function Ha(r,e){switch(r){case Q.ABS:return yte;case Q.ACOS:return bte;case Q.ACOSH:return Cte;case Q.ASIN:return Ste;case Q.ASINH:return wte;case Q.ATAN:return Ite;case Q.ATANH:return vte;case Q.COS:return Nte;case Q.COSH:return Tte;case Q.CEIL:return kte;case Q.ELU:return e?$te:Ete;case Q.ERF:return Ate;case Q.EXP:return Rte;case Q.EXPM1:return _te;case Q.FLOOR:return Fte;case Q.IS_FINITE:return Dte;case Q.IS_INF:return Ote;case Q.IS_NAN:return Pte;case Q.LINEAR:return Mte;case Q.LOG:return Lte;case Q.LOG1P:return Bte;case Q.LOGICAL_NOT:return Vte;case Q.NEG:return zte;case Q.LEAKYRELU:return e?Ute:Wte;case Q.RECIPROCAL:return Gte;case Q.RELU:return e?jte:Hte;case Q.RELU6:return e?Kte:qte;case Q.RSQRT:return Xte;case Q.SIGMOID:return Yte;case Q.SIN:return Qte;case Q.SINH:return Zte;case Q.SQRT:return Jte;case Q.SQUARE:return ere;case Q.TAN:return tre;case Q.TANH:return rre;case Q.TO_INT:return ore;default:throw new Error(`BinaryType ${r} is not implemented!`)}}var kt=r=>{switch(r){case 1:return\"f32\";case 2:return\"vec2\";case 3:return\"vec3\";case 4:return\"vec4\";default:throw new Error(`${r}-component is not supported.`)}};function ur(r,e=!1,t=!1,o=3){if(r===null)return\"\";let n=\"\";if(r===\"linear\")n=Ha(Q.LINEAR);else if(r===\"relu\")n=Ha(Q.RELU,t);else if(r===\"elu\")n=Ha(Q.ELU,t);else if(r===\"relu6\")n=Ha(Q.RELU6,t);else if(r===\"prelu\")n=Ic(ye.PRELU,t);else if(r===\"sigmoid\")n=Ha(Q.SIGMOID,t);else if(r===\"leakyrelu\")n=Ha(Q.LEAKYRELU,t);else throw new Error(`Activation ${r} has not been implemented for the WebGPU backend.`);let a=kt(t?4:1),i=\"\";return e?i=`\n fn activation(a : ${a}, coords : vec${o}) -> ${a} {\n let b = getPreluActivationWeightsByOutputCoords(coords);\n ${n}\n }`:i=`\n fn activation(a : ${a}, coords : vec${o}) -> ${a} {\n ${n}\n }`,i}function Hr(r,e){return`\n ${r?\"value = value + getBiasByOutputCoords(coords);\":\"\"}\n ${e?\"value = activation(value, coords);\":\"\"}\n `}function iI(r,e,t,o,n=!1,s=!1,a=!1,i=1){y.assert(t&&i===1||!t,()=>`transposeA ${t} is not compatible with component size ${i}`);let p=`\n let batch = ${r?\"0\":\"batchIn\"};\n ${t?\"value = getA(batch, col, row);\":\"value = getA(batch, row, col);\"}\n\n `,u=o?\"value = getB(batch, col, row);\":\"value = getB(batch, row, col);\";return`\n fn mm_readA(batchIn: i32, row: i32, colIn: i32) -> ${kt(i)} {\n var value = ${kt(i)}(0.0);\n let col = colIn * ${i};\n ${n&&a?p:`\n ${t?\"if(row < uniforms.dimAOuter && col < uniforms.dimInner)\":\"if(row < uniforms.aShape[1] && col < uniforms.aShape[2])\"}\n {\n ${p}\n }\n `}\n return value;\n }\n\n fn mm_readB(batchIn: i32, row: i32, colIn: i32) -> ${kt(i)} {\n let col = colIn * ${i};\n let batch = ${e?\"0\":\"batchIn\"};\n var value = ${kt(i)}(0.0);\n ${u}\n return value;\n }\n `}function Vl(r,e,t,o,n,s,a=!1,i=!1,p=!1,u=1){return`\n ${iI(t,o,n,s,a,i,p,u)}\n fn mm_write(batch: i32, row: i32, colIn: i32, valueIn: ${kt(u)}) {\n let col = colIn * ${u};\n ${a&&i?\"\":\"if (row < uniforms.dimAOuter && col < uniforms.dimBOuter)\"}\n {\n var value = valueIn;\n let coords = vec3(batch, row, col);\n ${Hr(r,e)}\n setOutputAtCoords(coords[0], coords[1], coords[2], value);\n }\n }\n `}var nre=r=>r?`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n kStart + inputRow,\n globalRowStart / innerElementSize + inputCol);\n `:`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n globalRow + innerRow,\n kStart / innerElementSize + inputCol);\n `,sre=(r,e)=>r?`\n let ACached0 = mm_Asub[k * innerElementSize][localRow];\n let ACached1 = mm_Asub[k * innerElementSize + 1][localRow];\n let ACached2 = mm_Asub[k * innerElementSize + 2][localRow];\n ${e===3?\"\":\"let ACached3 = mm_Asub[k * innerElementSize + 3][localRow];\"}\n for (var i = 0; i < rowPerThread; i = i + 1) {\n acc[i] = BCached0 * ACached0[i] + acc[i];\n acc[i] = BCached1 * ACached1[i] + acc[i];\n acc[i] = BCached2 * ACached2[i] + acc[i];\n ${e===3?\"\":\"acc[i] = BCached3 * ACached3[i] + acc[i];\"}\n }`:`\n for (var i = 0; i < rowPerThread; i = i + 1) {\n let ACached = mm_Asub[tileRow + i][k];\n acc[i] = BCached0 * ACached.x + acc[i];\n acc[i] = BCached1 * ACached.y + acc[i];\n acc[i] = BCached2 * ACached.z + acc[i];\n ${e===3?\"\":\"acc[i] = BCached3 * ACached.w + acc[i];\"}\n }`;function Wu(r,e,t=!1,o=32,n=!1,s=32,a=!1){let i=e[1]*r[1],p=e[0]*r[0],u=t?i:o,c=t?o:i,l=u/e[0],m=o/e[1];return y.assert((t&&l===4&&r[1]===4||!t&&(l===3||l===4))&&u%e[0]===0&&o%e[1]===0&&r[0]===4,()=>`If transposeA ${t} is true, innerElementSize ${l} and workPerThread[1] ${r[1]} must be 4.\n Otherwise, innerElementSize ${l} must be 3 or 4.\n tileAWidth ${u} must be divisible by workgroupSize[0]${e[0]}. tileInner ${o} must be divisible by workgroupSize[1] ${e[1]}. colPerThread ${r[0]} must be 4.`),`\n var mm_Asub : array, ${u/l}>, ${c}>;\n var mm_Bsub : array, ${p/r[0]}>, ${o}>;\n\n const rowPerThread = ${r[1]};\n const colPerThread = ${r[0]};\n const innerElementSize = ${l};\n const tileInner = ${o};\n\n ${se()} {\n let localRow = i32(localId.y);\n let tileRow = ${a?\"0\":\"localRow * rowPerThread\"};\n let tileCol = i32(localId.x);\n\n let globalRow = ${a?\"0\":\"i32(globalId.y) * rowPerThread\"};\n let globalCol = i32(globalId.x);\n let batch = ${n?\"0\":\"i32(globalId.z)\"};\n let globalRowStart = i32(workgroupId.y) * ${i};\n\n let numTiles = ${n?`${Math.ceil(s/o)}`:\"(uniforms.dimInner - 1) / tileInner + 1\"};\n var kStart = ${n?`i32(globalId.z) * ${s}`:\"0\"};\n\n var acc: array, rowPerThread>;\n\n // Loop over shared dimension.\n let tileRowB = localRow * ${m};\n for (var t = 0; t < numTiles; t = t + 1) {\n // Load one tile of A into local memory.\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n let inputRow = tileRow + innerRow;\n let inputCol = tileCol;\n ${nre(t)}\n }\n\n // Load one tile of B into local memory.\n for (var innerRow = 0; innerRow < ${m}; innerRow = innerRow + 1) {\n let inputRow = tileRowB + innerRow;\n let inputCol = tileCol;\n mm_Bsub[inputRow][inputCol] = mm_readB(batch, kStart + inputRow, globalCol);\n }\n kStart = kStart + tileInner;\n workgroupBarrier();\n\n // Compute acc values for a single thread.\n for (var k = 0; k < tileInner / innerElementSize; k = k + 1) {\n let BCached0 = mm_Bsub[k * innerElementSize][tileCol];\n let BCached1 = mm_Bsub[k * innerElementSize + 1][tileCol];\n let BCached2 = mm_Bsub[k * innerElementSize + 2][tileCol];\n ${l===3?\"\":\"let BCached3 = mm_Bsub[k * innerElementSize + 3][tileCol];\"}\n\n ${sre(t,l)}\n }\n\n workgroupBarrier();\n }\n\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n mm_write(batch, globalRow + innerRow, globalCol, acc[innerRow]);\n }\n }`}var P3=r=>r?`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n kStart + inputRow,\n globalRowStart + inputCol);\n `:`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n globalRowStart + inputRow,\n kStart + inputCol);\n `,are=r=>r?\"let ACached = mm_Asub[k][tileRow + innerRow];\":\"let ACached = mm_Asub[tileRow + innerRow][k];\";function Uu(r,e,t=!1,o=32,n=!1,s=32,a=!1){let i=r[1]*e[1],p=r[0]*e[0],u=t?i:o,c=t?o:i;y.assert(c%e[1]===0&&u%e[0]===0&&o%e[1]===0,()=>`tileAHight ${c} must be divisible by workgroupSize[1]${e[1]}, tileAWidth ${u} must be divisible by workgroupSize[0]${e[0]}, tileInner ${o} must be divisible by workgroupSize[1]${e[1]}`);let l=c/e[1],m=u/e[0],d=o/e[1],f=a?`\n let localRow = i32(localId.y);\n let localCol = i32(localId.x);\n let globalRowStart = i32(workgroupId.y) * ${i};\n let globalColStart = i32(workgroupId.x) * ${p};\n\n // Loop over shared dimension.\n for (var t = 0; t < numTiles; t = t + 1) {\n // Load one tile of A into local memory.\n for (var inputRow = localRow; inputRow < ${c}; inputRow = inputRow + ${e[1]}) {\n for (var inputCol = localCol; inputCol < ${u}; inputCol = inputCol + ${e[0]}) {\n ${P3(t)}\n }\n }\n // Load one tile of B into local memory.\n for (var inputRow = localRow; inputRow < ${o}; inputRow = inputRow + ${e[1]}) {\n for (var inputCol = localCol; inputCol < ${p}; inputCol = inputCol + ${e[0]}) {\n mm_Bsub[inputRow][inputCol] = mm_readB(batch,\n kStart + inputRow,\n globalColStart + inputCol);\n }\n }\n kStart = kStart + tileInner;\n workgroupBarrier();\n\n // Compute acc values for a single thread.\n var BCached : array;\n for (var k = 0; k < tileInner; k = k + 1) {\n for (var inner = 0; inner < colPerThread; inner = inner + 1) {\n BCached[inner] = mm_Bsub[k][localCol + inner * ${e[0]}];\n }\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n let ACached = ${t?`mm_Asub[k][localRow + innerRow * ${e[1]}];`:`mm_Asub[localRow + innerRow * ${e[1]}][k];`}\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n acc[innerRow][innerCol] = acc[innerRow][innerCol] +\n ACached * BCached[innerCol];\n }\n }\n }\n workgroupBarrier();\n }\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n let gRow = globalRowStart + localRow + innerRow * ${e[1]};\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n let gCol = globalColStart + localCol + innerCol * ${e[0]};\n mm_write(batch, gRow, gCol, acc[innerRow][innerCol]);\n }\n }\n `:`\n let tileRow = i32(localId.y) * rowPerThread;\n let tileCol = i32(localId.x) * colPerThread;\n\n let globalRow = i32(globalId.y) * rowPerThread;\n let globalCol = i32(globalId.x) * colPerThread;\n let globalRowStart = i32(workgroupId.y) * ${i};\n\n let tileRowA = i32(localId.y) * ${l};\n let tileColA = i32(localId.x) * ${m};\n let tileRowB = i32(localId.y) * ${d};\n // Loop over shared dimension.\n for (var t = 0; t < numTiles; t = t + 1) {\n // Load one tile of A into local memory.\n for (var innerRow = 0; innerRow < ${l}; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < ${m}; innerCol = innerCol + 1) {\n let inputRow = tileRowA + innerRow;\n let inputCol = tileColA + innerCol;\n ${P3(t)}\n }\n }\n\n // Load one tile of B into local memory.\n for (var innerRow = 0; innerRow < ${d}; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n let inputRow = tileRowB + innerRow;\n let inputCol = tileCol + innerCol;\n mm_Bsub[inputRow][inputCol] = mm_readB(batch,\n kStart + inputRow,\n globalCol + innerCol);\n }\n }\n kStart = kStart + tileInner;\n workgroupBarrier();\n\n // Compute acc values for a single thread.\n var BCached : array;\n for (var k = 0; k < tileInner; k = k + 1) {\n for (var inner = 0; inner < colPerThread; inner = inner + 1) {\n BCached[inner] = mm_Bsub[k][tileCol + inner];\n }\n\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n ${are(t)}\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n acc[innerRow][innerCol] = acc[innerRow][innerCol] + ACached * BCached[innerCol];\n }\n }\n }\n\n workgroupBarrier();\n }\n\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n mm_write(batch, globalRow + innerRow, globalCol + innerCol,\n acc[innerRow][innerCol]);\n }\n }\n `;return`\n var mm_Asub : array, ${c}>;\n var mm_Bsub : array, ${o}>;\n const rowPerThread = ${r[1]};\n const colPerThread = ${r[0]};\n const tileInner = ${o};\n\n ${se()} {\n let batch = ${n?\"0\":\"i32(globalId.z)\"};\n let numTiles = ${n?`${Math.ceil(s/o)}`:\"(uniforms.dimInner - 1) / tileInner + 1\"};\n var kStart = ${n?`i32(globalId.z) * ${s}`:\"0\"};\n\n var acc : array, rowPerThread>;\n\n // Without this initialization strange values show up in acc.\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n acc[innerRow][innerCol] = 0.0;\n }\n }\n ${f}\n }\n `}var ire=r=>r?`\n mm_readA(batch, colA, globalRow),\n mm_readA(batch, colA + 1, globalRow),\n mm_readA(batch, colA + 2, globalRow),\n mm_readA(batch, colA + 3, globalRow)\n `:`\n mm_readA(batch, globalRow, colA),\n mm_readA(batch, globalRow, colA + 1),\n mm_readA(batch, globalRow, colA + 2),\n mm_readA(batch, globalRow, colA + 3)\n `;function ure(r,e=!1){return y.assert(r[1]===1&&r[2]===1,()=>`A linear work group size is required. But got ${r}.`),`\n const tileSize = ${r[0]*4};\n var mm_Asub : array, ${r[0]}>;\n\n ${se()} {\n let tileCol = i32(localId.x);\n let globalCol = i32(globalId.x);\n let globalRow = i32(globalId.y);\n\n let numTiles = (uniforms.dimInner - 1) / tileSize + 1;\n let batch = i32(globalId.z);\n // Without this initialization strange values show up in acc.\n var acc = 0.0;\n\n // Loop over shared dimension.\n for (var t = 0; t < numTiles; t = t + 1) {\n // Load one tile of A into local memory.\n let colA = t * tileSize + tileCol * 4;\n mm_Asub[tileCol] = vec4(${ire(e)});\n workgroupBarrier();\n\n // Compute acc values for a single thread.\n for (var k = 0; k < tileSize / 4; k = k + 1) {\n let rowB = t * tileSize + k * 4;\n let BCached = vec4(mm_readB(batch, rowB, globalCol),\n mm_readB(batch, rowB + 1, globalCol),\n mm_readB(batch, rowB + 2, globalCol),\n mm_readB(batch, rowB + 3, globalCol));\n\n let ACached = mm_Asub[k];\n acc = acc + dot(ACached, BCached);\n }\n\n workgroupBarrier();\n }\n\n mm_write(batch, globalRow, globalCol, acc);\n }\n `}var _g=class{constructor(e,t,o,n,s=!1,a=!1,i=null,p=null,u=null,c=!1){this.variableNames=[\"A\",\"B\"],this.uniforms=\"dimAOuter : i32, dimBOuter : i32, dimInner : i32,\",this.outputShape=t,this.dispatchLayout={x:[2],y:[1],z:[0]};let l=s?e[1]:e[2];if(this.isVec4=(l%4===0&&!s||t[1]%4===0&&s)&&t[2]%4===0&&!a,this.isVectorA=t[1]===1&&!s,!this.isVec4&&this.isVectorA)this.elementsPerThread=[1,1,1],this.workgroupSize=[32,1,1];else{let f=tI(t[1],l,t[2],s);this.workgroupSize=f.workgroupSize,this.elementsPerThread=f.elementsPerThread}this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,this.elementsPerThread);let m=i!=null,d=u!=null;m&&this.variableNames.push(\"bias\"),d&&this.variableNames.push(\"preluActivationWeights\"),this.sequentialAccessByThreads=c,this.transposeA=s,this.transposeB=a,this.addBias=m,this.activation=p,this.hasPreluActivationWeights=d,this.batchAEqualOne=o,this.batchBEqualOne=n,[this.fitAOuter,this.fitBOuter,this.fitInner]=this.getShapeFit(t[1],t[2],l),this.shaderKey=`matMulPacked_${this.elementsPerThread}_${s}_${a}_${this.activation}_${this.fitAOuter}_${this.fitBOuter}_${this.fitInner}_${this.isVec4}_${this.isVectorA}_${this.batchAEqualOne}_${this.batchBEqualOne}_${this.sequentialAccessByThreads}`}getShapeFit(e,t,o){let n=this.workgroupSize[1]*this.elementsPerThread[1],s=this.workgroupSize[0]*this.elementsPerThread[0];!this.isVec4&&this.isVectorA?this.tileInner=this.workgroupSize[0]*4:this.tileInner=s;let a=e%n===0,i=t%s===0,p=o%this.tileInner===0;return[a,i,p]}getUserCode(){return`\n ${ur(this.activation,this.hasPreluActivationWeights,this.isVec4)}\n ${Vl(this.addBias,this.activation,this.batchAEqualOne,this.batchBEqualOne,!1,this.transposeB,this.fitAOuter,this.fitBOuter,this.fitInner,this.isVec4?4:1)}\n ${this.isVec4?Wu(this.elementsPerThread,this.workgroupSize,this.transposeA,this.tileInner,!1,null,this.isVectorA):this.isVectorA?ure(this.workgroupSize,this.transposeA):Uu(this.elementsPerThread,this.workgroupSize,this.transposeA,this.tileInner,!1,null,this.sequentialAccessByThreads)}\n `}};function pre(){return`\n var sumValues : array;\n ${se()} {\n let coords = getOutputCoords();\n let batch = coords[0];\n let row = coords[1];\n let col = coords[2];\n var sum = 0.0;\n let Length = uniforms.dimInner;\n for (var k = i32(localId.x); k < Length; k = k + i32(workgroupSizeX)) {\n let dataA = mm_readA(batch, row, k);\n let dataB = mm_readB(batch, k, col);\n sum = sum + dataA * dataB;\n }\n sumValues[localId.x] = sum;\n workgroupBarrier();\n\n for(var currentSize = workgroupSizeX / 2u; currentSize > 1u;\n currentSize = currentSize / 2u) {\n if (localId.x < currentSize)\n {\n sumValues[localId.x] = sumValues[localId.x] + sumValues[localId.x + currentSize];\n }\n workgroupBarrier();\n }\n\n if (localId.x == 0u) {\n sum = sumValues[0] + sumValues[1];\n mm_write(batch, row, col, sum);\n }\n }\n `}var Eg=class{constructor(e,t,o,n=!1,s=!1,a=null,i=null,p=null){this.variableNames=[\"A\",\"B\"],this.uniforms=\"dimAOuter : i32, dimBOuter : i32, dimInner : i32,\",this.workgroupSize=[256,1,1],this.outputShape=e,this.dispatchLayout={x:[],y:[1,2],z:[0]},this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize);let u=a!=null,c=p!=null;u&&this.variableNames.push(\"bias\"),c&&this.variableNames.push(\"preluActivationWeights\"),this.transposeA=n,this.transposeB=s,this.addBias=u,this.activation=i,this.hasPreluActivationWeights=c,this.batchAEqualOne=t,this.batchBEqualOne=o,this.shaderKey=`matMulReduce_${this.activation}_${n}_${s}_${this.batchAEqualOne}_${this.batchBEqualOne}`}getUserCode(){return`\n ${ur(this.activation,this.hasPreluActivationWeights)}\n ${Vl(this.addBias,this.activation,this.batchAEqualOne,this.batchBEqualOne,this.transposeA,this.transposeB)}\n ${pre()}\n `}};function cre(r){let e=r[1],t=r[0],o=e>t?e:t;return`\n var mm_Asub : array, ${e}>;\n var mm_Bsub : array, ${o}>;\n\n // If the output size is small for matrix multiplication, avoid to use vec4\n // and handle some elements per thread to optimally utilize the ALU.\n // Read data from global memory to registers firstly, then store them into\n // shared memory, so it is instruction-Level parallelism for arithmetic\n // operations and others handle IO operations between barrier api, makes ALU\n // and load/store units work simultaneously, could improves the performance.\n ${se()} {\n let tileRow = i32(localId.y);\n let tileCol = i32(localId.x);\n let globalRow = i32(globalId.y);\n let globalCol = i32(globalId.x);\n let batch = i32(globalId.z);\n\n // uniforms.dimInner should be greater than 0.\n let numTiles = (uniforms.dimInner - 1) / ${o} + 1;\n var acc = 0.0;\n\n var globalColA = tileCol;\n var globalRowB = 0;\n var regA = mm_readA(batch, globalRow, globalColA);\n var regB0 = mm_readB(batch, globalRowB + 2 * tileRow, globalCol);\n var regB1 = mm_readB(batch, globalRowB + 2 * tileRow + 1, globalCol);\n globalColA = globalColA + ${o};\n globalRowB = globalRowB + ${o};\n\n for (var t = 0; t < numTiles; t = t + 1) {\n mm_Asub[tileRow][tileCol] = regA;\n mm_Bsub[2 * tileRow][tileCol] = regB0;\n mm_Bsub[2 * tileRow + 1][tileCol] = regB1;\n\n workgroupBarrier();\n\n regA = mm_readA(batch, globalRow, globalColA);\n regB0 = mm_readB(batch, globalRowB + 2 * tileRow, globalCol);\n regB1 = mm_readB(batch, globalRowB + 2 * tileRow + 1, globalCol);\n globalColA = globalColA + ${o};\n globalRowB = globalRowB + ${o};\n\n for (var k = 0; k < ${o}; k = k + 1) {\n acc = acc + mm_Asub[tileRow][k] * mm_Bsub[k][tileCol];\n }\n workgroupBarrier();\n }\n\n mm_write(batch, globalRow, globalCol, acc);\n }\n `}var $g=class{constructor(e,t,o,n=!1,s=!1,a=null,i=null,p=null){this.variableNames=[\"A\",\"B\"],this.uniforms=\"dimAOuter : i32, dimBOuter : i32, dimInner : i32,\",this.workgroupSize=[16,8,1],this.outputShape=o,this.dispatchLayout={x:[2],y:[1],z:[0]},this.dispatch=[Math.ceil(o[2]/this.workgroupSize[0]),Math.ceil(o[1]/this.workgroupSize[1]),o[0]];let u=a!=null;u&&this.variableNames.push(\"bias\");let c=p!=null;c&&this.variableNames.push(\"preluActivationWeights\"),this.transposeA=n,this.transposeB=s,this.addBias=u,this.activation=i,this.hasPreluActivationWeights=c,this.batchAEqualOne=e[0]===1,this.batchBEqualOne=t[0]===1,this.shaderKey=`matMulSmallOutputSize_${this.activation}_${n}_${s}_${this.batchAEqualOne}_${this.batchBEqualOne}`}getUserCode(){return`\n ${ur(this.activation,this.hasPreluActivationWeights)}\n ${Vl(this.addBias,this.activation,this.batchAEqualOne,this.batchBEqualOne,this.transposeA,this.transposeB)}\n ${cre(this.workgroupSize)}\n `}};var Ag=class{constructor(e,t,o,n,s=!1,a=!1){this.variableNames=[\"A\",\"B\"],this.uniforms=\"dimAOuter : i32, dimBOuter : i32, dimInner : i32,\",this.workgroupSize=[8,8,1],this.atomic=!0,this.isVec4=!1,this.splitedDimInner=128,y.assert(e[0]===1,()=>\"MatMulSplitKProgram only supports batch = 1.\"),this.outputShape=e,this.dispatchLayout={x:[2],y:[1],z:[0,3]},this.isVec4=(s&&this.outputShape[1]%4===0||!s&&t%4===0)&&this.outputShape[2]%4===0,this.elementsPerThread=[4,4,this.splitedDimInner],this.isVec4||(this.outputShape[1]<16&&(this.elementsPerThread[1]=1),this.outputShape[2]<16&&(this.elementsPerThread[0]=1)),this.dispatch=re(this.dispatchLayout,[this.outputShape[0],this.outputShape[1],this.outputShape[2],t],this.workgroupSize,this.elementsPerThread),this.transposeA=s,this.transposeB=a,this.batchAEqualOne=o,this.batchBEqualOne=n,this.shaderKey=`matMulSplitK_${s}_${a}_${o}_${n}_${this.elementsPerThread}_${this.isVec4}`}getUserCode(){let e=n=>`\n for (var i = 0; i < ${n}; i = i + 1)\n {\n var oldValue = atomicLoad(&(result[flatIndex + i]));\n var exchanged = false;\n for (; !exchanged;) {\n let newValueF32 = bitcast(oldValue) + ${n>1?\"value[i]\":\"value\"};\n let newValue = bitcast(newValueF32);\n let res = atomicCompareExchangeWeak(&(result[flatIndex + i]), oldValue, newValue);\n oldValue = res.old_value;\n exchanged = res.exchanged;\n }\n }\n `,t=this.isVec4?4:1;return`\n ${iI(this.batchAEqualOne,this.batchBEqualOne,!1,this.transposeB,!1,!1,!1,t)}\n fn mm_write(batch: i32, row : i32, colIn : i32, value : ${kt(t)}) {\n let col = colIn * ${t};\n if (row < uniforms.dimAOuter && col < uniforms.dimBOuter) {\n let coords = vec3(batch, row, col);\n let flatIndex = getOutputIndexFromCoords(coords);\n // The problem is that we should initialize output to zero before using.\n // Otherwise, the original value will be added to the result.\n ${e(t)}\n }\n }\n ${this.isVec4?Wu(this.elementsPerThread,this.workgroupSize,this.transposeA,32,!0,this.splitedDimInner):Uu(this.elementsPerThread,this.workgroupSize,this.transposeA,32,!0,this.splitedDimInner)}\n `}},Rg=class{constructor(e,t=null,o=null,n=null){this.uniforms=\"\",this.variableNames=[\"x\"],this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.addBias=t!=null,this.hasPreluActivationWeights=n!=null,this.activation=o,this.addBias&&this.variableNames.push(\"bias\"),this.hasPreluActivationWeights&&this.variableNames.push(\"preluActivationWeights\"),this.shaderKey=`biasActivation_${o}`}getUserCode(){return`\n ${ur(this.activation,this.hasPreluActivationWeights)}\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n var value = getXByOutputIndex(index);\n ${Hr(this.addBias,this.activation)}\n setOutputAtIndex(index, value);\n }\n }\n `}};var Fg=class{constructor(e){this.variableNames=[],this.outputShape=[],this.uniforms=\"value : f32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=\"fill\"}getUserCode(){return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n setOutputAtIndex(index, uniforms.value);\n }\n }\n `}};function dr(r){let{backend:e,attrs:t}=r,{shape:o,value:n}=t,{dtype:s}=t;if(s=s||y.inferDtype(n),s===\"string\"){let a=y.getArrayFromDType(s,y.sizeFromShape(o));return a.fill(n),e.makeTensorInfo(o,s,a)}else{let a=new Fg(o),i=[{type:\"float32\",data:[n]}];return e.runWebGPUProgram(a,[],s,i)}}var M3={kernelName:Cs,backendName:\"webgpu\",kernelFunc:dr};function de(r){let{inputs:e,attrs:t}=r,{x:o}=e,{shape:n}=t,s=y.sizeFromShape(o.shape),a=y.inferFromImplicitShape(n,s),i=y.sizeFromShape(a);return y.assert(s===i,()=>`The new shape (${a}) has ${i} elements and the old shape (${o.shape}) has ${s} elements. The new shape and old shape must have the same number of elements.`),r.backend.incRef(o.dataId),{dataId:o.dataId,shape:a,dtype:o.dtype}}var L3={kernelName:Ns,backendName:\"webgpu\",kernelFunc:de};function Gu({a:r,b:e,transposeA:t,transposeB:o,backend:n,bias:s=null,preluActivationWeights:a=null,leakyreluAlpha:i=0,activation:p=null}){let u=r.shape.length,c=e.shape.length,l=t?r.shape[u-2]:r.shape[u-1],m=o?e.shape[c-1]:e.shape[c-2],d=t?r.shape[u-1]:r.shape[u-2],f=o?e.shape[c-2]:e.shape[c-1],h=r.shape.slice(0,-2),g=e.shape.slice(0,-2),x=y.sizeFromShape(h),b=y.sizeFromShape(g),w=br.assertAndGetBroadcastShape(r.shape.slice(0,-2),e.shape.slice(0,-2)).concat([d,f]);y.assert(l===m,()=>`Error in matMul: inner shapes (${l}) and (${m}) of Tensors with shapes ${r.shape} and ${e.shape} and transposeA=${t} and transposeB=${o} must match.`);let k=t?[x,l,d]:[x,d,l],_=o?[b,f,m]:[b,m,f],$=de({inputs:{x:r},backend:n,attrs:{shape:k}}),A=de({inputs:{x:e},backend:n,attrs:{shape:_}}),R=[$,A],D=Math.max(x,b),P=x===1,M=b===1,L=[$,A],W=[{type:\"int32\",data:[d]},{type:\"int32\",data:[f]},{type:\"int32\",data:[l]}],V,U,q=[D,d,f],H=O().get(\"WEBGPU_MATMUL_PROGRAM_TYPE\");if(H<0){let X=O().getNumber(\"WEBGPU_THRESHOLD_TO_INCREASE_WORKGROUPS_FOR_MATMUL\"),Z=X>0?X:n.thresholdToIncreaseWorkgroups,ee=D*Math.ceil(d/32)*Math.ceil(f/32);ee<=Z||d<=8&&ee<=Z*2?D*d*f<=128?H=Ao.MatMulReduceProgram:D===1&&m>=2e3?H=Ao.MatMulSplitKProgram:H=Ao.MatMulSmallOutputSizeProgram:H=Ao.MatMulPackedProgram}switch(H){case Ao.MatMulReduceProgram:V=new Eg(q,P,M,t,o,s,p,a);break;case Ao.MatMulSplitKProgram:{if(U=dr({backend:n,attrs:{shape:q,value:0,dtype:r.dtype}}),V=new Ag(q,m,P,M,t,o),s||p){U=n.runWebGPUProgram(V,L,r.dtype,W,U);let Z=new Rg(U.shape,s,p,a),ee=null,Y=[U];s&&Y.push(s),a&&Y.push(a),p===\"leakyrelu\"&&(ee=[{type:\"float32\",data:[i]}],Z.uniforms+=\" alpha : f32,\");let J=n.runWebGPUProgram(Z,Y,U.dtype,ee);R.push(U);let ie=de({inputs:{x:J},backend:n,attrs:{shape:w}});R.push(J);for(let pe of R)n.disposeData(pe.dataId);return ie}break}case Ao.MatMulSmallOutputSizeProgram:V=new $g(k,_,q,t,o,s,p,a);break;case Ao.MatMulPackedProgram:let X=n.adapterInfo.isIntel();V=new _g(k,q,P,M,t,o,s,p,a,X);break;default:throw new Error(`Unsupported MatMulProgramType ${H}.`)}s&&L.push(s),a&&L.push(a),p===\"leakyrelu\"&&(W.push({type:\"float32\",data:[i]}),V.uniforms+=\" alpha : f32,\"),U=n.runWebGPUProgram(V,L,r.dtype,W,U);let j=de({inputs:{x:U},backend:n,attrs:{shape:w}});R.push(U);for(let X of R)n.disposeData(X.dataId);return j}function lre(r){let{inputs:e,backend:t,attrs:o}=r,{a:n,b:s,bias:a,preluActivationWeights:i}=e,{transposeA:p,transposeB:u,activation:c,leakyreluAlpha:l}=o;return Gu({a:n,b:s,transposeA:p,transposeB:u,backend:t,bias:a,preluActivationWeights:i,leakyreluAlpha:l,activation:c})}var B3={kernelName:fo,backendName:\"webgpu\",kernelFunc:lre};var zl=class{constructor(e,t,o){this.variableNames=[\"AReal\",\"AImag\",\"BReal\",\"BImag\"],this.workgroupSize=[128,1,1],this.size=!0,this.outputShape=S.assertAndGetBroadcastShape(t,o),this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=`binaryOpComplex_${e}`,this.op=e}getUserCode(){return`\n fn binaryOpComplex(\n areal : f32, aimag : f32, breal : f32, bimag : f32) -> f32 {\n ${Ic(this.op,!1)}\n }\n\n ${se(\"index\")} {\n if(index < uniforms.size) {\n let areal = getARealByOutputIndex(index);\n let aimag = getAImagByOutputIndex(index);\n let breal = getBRealByOutputIndex(index);\n let bimag = getBImagByOutputIndex(index);\n setOutputAtIndex(index, binaryOpComplex(areal, aimag, breal, bimag));\n }\n }\n `}};var Hu=class{constructor(e,t,o){this.size=!0,this.variableNames=[\"A\",\"B\"],this.outputShape=S.assertAndGetBroadcastShape(t,o),this.dispatchLayout=ue(this.outputShape),this.op=e,this.useSharedMemoryWithA=t.length<=1&&o.length>1&&t[0]<128,this.useSharedMemoryWithB=o.length<=1&&t.length>1&&o[0]<128,this.useSharedMemoryWithA||this.useSharedMemoryWithB?(this.isVec4=!1,this.lastDimensionSize=this.useSharedMemoryWithB?o[0]:t[0],this.shaderKey=`binary_${this.type}_${e}_${this.lastDimensionSize}_${this.useSharedMemoryWithB}`,this.type=\"shared\",this.workgroupSize=[256,1,1],this.workPerThread=1):(y.arraysEqual(t,o)&&y.sizeFromShape(t)%4===0?(this.isVec4=!0,this.type=\"vec4\",this.workPerThread=4):(this.isVec4=!1,this.type=\"plain\",this.workPerThread=1),this.shaderKey=`binary_${this.type}_${e}`,this.workgroupSize=[128,1,1]),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,[this.workPerThread,1,1])}getUserCode(){let e,t=this.isVec4?\"vec4\":\"f32\",o=`\n fn binaryOperation(a : ${t}, b : ${t}) -> ${t} {\n ${Ic(this.op,this.isVec4)}\n };\n `;if(this.type===\"shared\"){let n=this.lastDimensionSize>1?`coords[${this.outputShape.length-1}]`:\"0\",s=this.useSharedMemoryWithB?`let a = getAByOutputIndex(index);\n let b = sharedBuf[${n}];`:`let a = sharedBuf[${n}];\n let b = getBByOutputIndex(index);`;e=`\n ${o}\n var sharedBuf : array;\n ${se(\"index\")} {\n // Fill in the shared memory buffer.\n let localIndex = i32(localId.x);\n if(localIndex < ${this.lastDimensionSize}) {\n sharedBuf[localIndex] = f32(${this.useSharedMemoryWithB?\"B\":\"A\"}[localIndex]);\n }\n workgroupBarrier();\n\n if(index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n ${s}\n setOutputAtIndex(index, binaryOperation(a, b));\n }\n }\n `}else e=`\n ${o}\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let a = getAByOutputIndex(index);\n let b = getBByOutputIndex(index);\n setOutputAtIndex(index, binaryOperation(a, b));\n }\n }\n `;return e}};function Ft(r){let{inputs:e}=r,{x:t}=e;return r.backend.incRef(t.dataId),{dataId:t.dataId,shape:t.shape,dtype:t.dtype}}var V3={kernelName:mo,backendName:\"webgpu\",kernelFunc:Ft};function po(r){let{inputs:e,backend:t}=r,{real:o,imag:n}=e,s=t.makeTensorInfo(o.shape,\"complex64\"),a=t.tensorMap.get(s.dataId),i=Ft({inputs:{x:o},backend:t}),p=Ft({inputs:{x:n},backend:t});return a.complexTensorInfos={real:i,imag:p},s}var z3={kernelName:ei,backendName:\"webgpu\",kernelFunc:po};var Ro=class{constructor(e,t){this.variableNames=[\"A\"],this.size=!0;let o=128;this.workgroupSize=[o,1,1],this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.op=t,this.shaderKey=`unary_${t}`}getUserCode(){return`\n fn unaryOperation(a : f32) -> f32 {\n ${Ha(this.op,!1)}\n }\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let a = getAByOutputIndex(index);\n setOutputAtIndex(index, unaryOperation(a));\n }\n }\n `}};function Se({opType:r,cpuKernelImpl:e,dtype:t}){return({inputs:o,backend:n})=>{let{x:s}=o,a=n,i=t||s.dtype;if(a.shouldExecuteOnCPU([s])&&e!=null){let u=a.tensorMap.get(s.dataId),c=e(u.values,i);return a.makeTensorInfo(s.shape,i,c)}let p=new Ro(s.shape,r);return a.runWebGPUProgram(p,[s],i)}}function ot({opType:r,cpuKernelImpl:e,supportsComplex:t=!1,dtype:o}){return({inputs:n,backend:s})=>{let{a,b:i}=n,p=s;if(t&&a.dtype===\"complex64\"){let l=p.tensorMap.get(a.dataId),m=p.tensorMap.get(i.dataId),d,f;if(r!==ye.MUL)[d,f]=[[l.complexTensorInfos.real,m.complexTensorInfos.real],[l.complexTensorInfos.imag,m.complexTensorInfos.imag]].map(g=>{let[x,b]=g,C={dataId:x.dataId,dtype:x.dtype,shape:a.shape},w={dataId:b.dataId,dtype:b.dtype,shape:i.shape},k=new Hu(r,a.shape,i.shape);return p.runWebGPUProgram(k,[C,w],dt(x.dtype,b.dtype))});else{let g=new zl(ye.COMPLEX_MULTIPLY_REAL,a.shape,i.shape),x=new zl(ye.COMPLEX_MULTIPLY_IMAG,a.shape,i.shape),b=[{dataId:l.complexTensorInfos.real.dataId,dtype:l.complexTensorInfos.real.dtype,shape:a.shape},{dataId:l.complexTensorInfos.imag.dataId,dtype:l.complexTensorInfos.imag.dtype,shape:a.shape},{dataId:m.complexTensorInfos.real.dataId,dtype:m.complexTensorInfos.real.dtype,shape:i.shape},{dataId:m.complexTensorInfos.imag.dataId,dtype:m.complexTensorInfos.imag.dtype,shape:i.shape}];d=p.runWebGPUProgram(g,b,\"float32\"),f=p.runWebGPUProgram(x,b,\"float32\")}let h=po({inputs:{real:d,imag:f},backend:p});return p.disposeData(d.dataId),p.disposeData(f.dataId),h}let u=o||dt(a.dtype,i.dtype);if((a.dtype===\"string\"||i.dtype===\"string\"||p.shouldExecuteOnCPU([a,i]))&&e!=null){let l=p.tensorMap.get(a.dataId).values,m=p.tensorMap.get(i.dataId).values,d=a.dtype===\"string\"?S.fromUint8ToStringArray(l):l,f=a.dtype===\"string\"?S.fromUint8ToStringArray(m):m,[h,g]=e(a.shape,i.shape,d,f,u);return p.makeTensorInfo(g,u,h)}let c=new Hu(r,a.shape,i.shape);return p.runWebGPUProgram(c,[a,i],u)}}var{addImpl:W3,castImpl:U3,ceilImpl:G3,concatImpl:H3,equalImpl:q3,expImpl:K3,expm1Impl:j3,floorImpl:X3,gatherNdImpl:Y3,gatherV2Impl:Q3,greaterEqualImpl:Z3,greaterImpl:J3,lessEqualImpl:eM,lessImpl:tM,logImpl:rM,maxImpl:oM,maximumImpl:nM,minimumImpl:sM,multiplyImpl:aM,negImpl:iM,notEqualImpl:uM,prodImpl:pM,rangeImpl:cM,rsqrtImpl:lM,scatterImpl:mM,simpleAbsImpl:dM,sliceImpl:fM,stridedSliceImpl:hM,stringNGramsImpl:gM,subImpl:xM,tileImpl:yM,topKImpl:bM,transposeImpl:CM,uniqueImpl:kNt}=Qp;var mre=Se({opType:Q.ABS,cpuKernelImpl:dM}),SM={kernelName:gs,backendName:\"webgpu\",kernelFunc:mre};var dre=Se({opType:Q.ACOS}),wM={kernelName:sa,backendName:\"webgpu\",kernelFunc:dre};var fre=Se({opType:Q.ACOSH}),IM={kernelName:aa,backendName:\"webgpu\",kernelFunc:fre};var hre=ot({opType:ye.ADD,cpuKernelImpl:W3,supportsComplex:!0}),vM={kernelName:eo,backendName:\"webgpu\",kernelFunc:hre};var Dg=class{constructor(e){this.workPerThread=1,this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e[0],this.variableNames=e.map((t,o)=>`T${o}`),this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,[this.workPerThread,1,1]),this.shaderKey=\"addN\"}getUserCode(){let e=[];this.variableNames.forEach(n=>{e.push(`let v${n} = get${n}ByOutputCoords(coords);`)});let t=this.variableNames.map(n=>`v${n}`).join(\" + \");return`\n ${se(\"index\")} {\n for (var i = 0; i < ${this.workPerThread}; i = i + 1) {\n let flatIndex = index * ${this.workPerThread} + i;\n if (flatIndex < uniforms.size) {\n let coords = getCoordsFromIndex(flatIndex);\n ${e.join(`\n `)}\n setOutputAtIndex(flatIndex, ${t});\n }\n }\n }\n `}};function gre(r){let{inputs:e,backend:t}=r,o=e;if(o.length===1)return Ft({inputs:{x:o[0]},backend:t});let n=o.map(i=>i.dtype).reduce((i,p)=>dt(i,p)),s=o.map(i=>i.shape),a=new Dg(s);return t.runWebGPUProgram(a,o,n)}var kM={kernelName:Mo,backendName:\"webgpu\",kernelFunc:gre};var Og=class{constructor(e,t){this.variableNames=[\"A\"],this.workgroupSize=[16,16,1];let o=new Array(e.length);for(let n=0;n`Must be a square tile, current tile shape is ${this.workgroupSize[0]} x ${this.workgroupSize[1]}`),`\n const tileSize = ${this.workgroupSize[0]};\n var tile : array, ${this.workgroupSize[0]}>;\n ${se()} {\n var x = i32(workgroupId.x) * tileSize + i32(localId.x);\n var y = i32(workgroupId.y) * tileSize + i32(localId.y);\n let width = uniforms.outShape[0];\n let height = uniforms.outShape[1];\n if (x < width && y < height) {\n tile[localId.y][localId.x] = f32(A[y * width + x]);\n }\n workgroupBarrier();\n\n x = i32(workgroupId.y) * tileSize + i32(localId.x);\n y = i32(workgroupId.x) * tileSize + i32(localId.y);\n if (x < height && y < width) {\n setOutputAtIndex((y * height + x), tile[localId.x]\n [localId.y]);\n }\n }\n `}};var Pg=class{constructor(e,t){this.variableNames=[\"A\"],this.workPerThread=1,this.workgroupSize=[64,1,1],this.size=!0;let o=new Array(e.length);for(let n=0;n6)throw Error(`Transpose for rank ${e} is not yet supported`);let t=new Array(e);for(let o=0;o\"} bestValue)\n { bestValue = candidate; }`,t=\"f32(x[offset])\"):this.reduceType===\"sum\"||this.reduceType===\"mean\"?e=\" bestValue = bestValue + candidate; \":this.reduceType===\"prod\"?(e=\" bestValue = bestValue * candidate; \",t=\"1.0\"):this.reduceType===\"all\"?(e=\" bestValue = f32(bestValue >= 1.0 && candidate >= 1.0); \",t=\"1.0\"):this.reduceType===\"any\"&&(e=\" bestValue = f32(bestValue >= 1.0 || candidate >= 1.0); \",t=\"0.0\");let o=this.reduceType===\"mean\"?\"setOutputAtIndex(outputIndex, bestValue / f32(uniforms.reduceSize));\":\"setOutputAtIndex(outputIndex, bestValue);\";return`\n fn DIV_CEIL(a : u32, b : u32) -> u32 {\n return ((a - 1u) / b + 1u);\n }\n\n ${`\n var xBestValues : array;\n `}\n fn getOffset(outputIndex : i32) -> i32 {\n let outputCoords = getCoordsFromIndex(outputIndex);\n let offset = ${this.outputShape.length===1?\"outputCoords\":\"outputCoords[0]\"} * uniforms.reduceSize;\n return offset;\n }\n ${se(\"index\")} {\n let outputIndex = index / i32(workgroupSizeX);\n let offset = getOffset(outputIndex);\n var bestValue = ${t};\n let Length = uniforms.reduceSize;\n let WorkPerThread = DIV_CEIL(u32(Length), workgroupSizeX);\n for (var k = i32(localId.x); k < Length && outputIndex < uniforms.size;\n k = k + i32(workgroupSizeX)) {\n let candidate = f32(x[offset + k]);\n ${e}\n }\n xBestValues[localId.x] = bestValue;\n workgroupBarrier();\n\n var reduceSize = min(u32(Length), workgroupSizeX);\n for (var currentSize = reduceSize / 2u; reduceSize > 1u;\n currentSize = reduceSize / 2u) {\n let interval = DIV_CEIL(reduceSize, 2u);\n if (localId.x < currentSize) {\n let candidate = xBestValues[localId.x + interval];\n ${e}\n xBestValues[localId.x] = bestValue;\n }\n reduceSize = interval;\n workgroupBarrier();\n }\n\n if (localId.x == 0u && outputIndex < uniforms.size) {\n ${o}\n }\n }\n `}};function qr(r,e,t,o,n){let s=r.shape.length,a=[],i=y.parseAxisParam(e,r.shape),p=i,u=S.getAxesPermutation(p,s),c=r;u!=null&&(c=Nr({inputs:{x:r},attrs:{perm:u},backend:n}),p=S.getInnerMostAxes(p.length,s),a.push(c)),S.assertAxesAreInnerMostDims(o,p,s);let[l,m]=S.computeOutAndReduceShapes(c.shape,p),d=l;t&&(d=S.expandShapeToKeepDim(l,i));let f;if((o===\"max\"||o===\"prod\")&&n.shouldExecuteOnCPU([c])){let h=n.tensorMap.get(c.dataId).values;switch(o){case\"max\":let g=oM(h,y.sizeFromShape(m),d,r.dtype);f=n.makeTensorInfo(d,r.dtype,g);break;case\"prod\":let{outVals:x,outShape:b,outDtype:C}=pM(c.shape,c.dtype,h,p);f=n.makeTensorInfo(b,C,x);break;default:throw new Error(`${o} CPU implementation is not yet supported.`)}}else{let h=y.sizeFromShape(m),x=y.sizeFromShape(c.shape)/h,b={windowSize:h,inSize:h,batchSize:x,outSize:1},C=o===\"mean\"?\"float32\":ka(r.dtype),w=[{type:\"int32\",data:[h]}],k=new Mg(b,o),_=n.runWebGPUProgram(k,[c],C,w);a.push(_),f=de({inputs:{x:_},attrs:{shape:d},backend:n})}return a.forEach(h=>n.disposeData(h.dataId)),f}function yre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{keepDims:s,axis:a}=o;return qr(n,a,s,\"all\",t)}var TM={kernelName:Lo,backendName:\"webgpu\",kernelFunc:yre};function bre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{keepDims:s,axis:a}=o;return qr(n,a,s,\"any\",t)}var _M={kernelName:Bo,backendName:\"webgpu\",kernelFunc:bre};var vc=class{constructor(e,t,o){this.workgroupSize=[64,1,1],this.variableNames=[\"x\"],this.uniforms=\"infinityValue : f32,\",this.size=!0;let n=[t];this.op=o===\"min\"?\"<\":\">\";let[s,a]=S.computeOutAndReduceShapes(e,n);this.outputShape=s.length===0?[1]:s,this.dispatchLayout=ue(this.outputShape),y.sizeFromShape(a)<32||y.sizeFromShape(s)>1e3?(this.type=\"plain\",this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize)):(this.type=\"shared\",this.dispatch=re(this.dispatchLayout,this.outputShape,[1,1,1])),this.inputShape=e,this.shaderKey=`argMinMax_${this.op}_${this.type}`}getUserCode(){let e=()=>this.inputShape.length===1?\"uniforms.xShape\":`uniforms.xShape.${$o(this.inputShape.length-1)}`,t=()=>{let o=\"\";if(this.outputShape.length===1)this.inputShape.length!==1&&(o+=\"outputCoords,\");else for(let n=0;n u32 {\n return ((a - 1u) / b + 1u);\n }\n\n ${`\n var xBestIndices : array;\n var xBestValues : array;\n `}\n\n ${se(\"index\")} {\n let outputIndex = index / i32(workgroupSizeX);\n let reduceLength = ${e()};\n\n var bestIndex = i32(localId.x);\n var bestValue = uniforms.infinityValue;\n let outputCoords = getCoordsFromIndex(outputIndex);\n for (var k = i32(localId.x); k < reduceLength && outputIndex < uniforms.size;\n k = k + i32(workgroupSizeX)) {\n let candidate = getX(${t()} k);\n if (!isnan(candidate) && candidate ${this.op} bestValue) {\n bestValue = candidate;\n bestIndex = k;\n }\n }\n xBestValues[localId.x] = bestValue;\n xBestIndices[localId.x] = bestIndex;\n workgroupBarrier();\n\n var reduceSize = min(u32(reduceLength), workgroupSizeX);\n for (var currentSize = reduceSize / 2u; reduceSize > 1u;\n currentSize = reduceSize / 2u) {\n let interval = DIV_CEIL(reduceSize, 2u);\n if (localId.x < currentSize) {\n let candidate = xBestValues[localId.x + interval];\n if (candidate ${this.op} bestValue) {\n bestValue = candidate;\n xBestValues[localId.x] = bestValue;\n xBestIndices[localId.x] = xBestIndices[localId.x + interval];\n }\n }\n reduceSize = interval;\n workgroupBarrier();\n }\n\n if (localId.x == 0u && outputIndex < uniforms.size) {\n setOutputAtIndexI32(outputIndex, xBestIndices[localId.x]);\n }\n }\n `:`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let outputCoords = getCoordsFromIndex(index);\n var bestIndex = 0;\n var bestValue = getX(${t()} 0);\n let reduceLength = ${e()};\n for (var i = 1; i < reduceLength; i++) {\n let candidate = getX(${t()} i);\n if (candidate ${this.op} bestValue) {\n bestValue = candidate;\n bestIndex = i;\n }\n }\n setOutputAtIndexI32(index, bestIndex);\n }\n }\n `}};function Cre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s}=o,a=y.parseAxisParam(s,n.shape),i=S.getAxesPermutation(a,n.shape.length),p=n,u=[];i!=null&&(p=Nr({inputs:{x:n},backend:t,attrs:{perm:i}}),u.push(p),a=S.getInnerMostAxes(a.length,p.shape.length)),S.assertAxesAreInnerMostDims(\"argMax\",[a[0]],p.shape.length);let c=new vc(p.shape,a[0],\"max\"),l=[{type:\"float32\",data:[Number.NEGATIVE_INFINITY]}],m=t.runWebGPUProgram(c,[p],\"int32\",l);return u.forEach(d=>t.disposeData(d.dataId)),m}var EM={kernelName:Vo,backendName:\"webgpu\",kernelFunc:Cre};function Sre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s}=o,a=y.parseAxisParam(s,n.shape),i=S.getAxesPermutation(a,n.shape.length),p=n,u=[];i!=null&&(p=Nr({inputs:{x:n},backend:t,attrs:{perm:i}}),u.push(p),a=S.getInnerMostAxes(a.length,p.shape.length)),S.assertAxesAreInnerMostDims(\"argMin\",[a[0]],p.shape.length);let c=new vc(p.shape,a[0],\"min\"),l=[{type:\"float32\",data:[Number.POSITIVE_INFINITY]}],m=t.runWebGPUProgram(c,[p],\"int32\",l);return u.forEach(d=>t.disposeData(d.dataId)),m}var $M={kernelName:Za,backendName:\"webgpu\",kernelFunc:Sre};var wre=Se({opType:Q.ASIN}),AM={kernelName:ia,backendName:\"webgpu\",kernelFunc:wre};var Ire=Se({opType:Q.ASINH}),RM={kernelName:ua,backendName:\"webgpu\",kernelFunc:Ire};var vre=Se({opType:Q.ATAN}),FM={kernelName:pa,backendName:\"webgpu\",kernelFunc:vre};var kre=ot({opType:ye.ATAN2}),DM={kernelName:la,backendName:\"webgpu\",kernelFunc:kre};var Nre=Se({opType:Q.ATANH}),OM={kernelName:ca,backendName:\"webgpu\",kernelFunc:Nre};var Wl=class{constructor(e,t){this.variableNames=[\"x\"],this.uniforms=\"stride : vec2, pad : vec2, dilation : vec2, convDims : vec2, filterDims : vec2,\",this.workgroupSize=[128,1,1],this.size=!0,this.outputShape=e.outShape,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=`pool2D_${t}`,this.poolType=t}getUserCode(){let e=\"resultValue = max(value, resultValue);\";this.poolType===\"avg\"&&(e=\"resultValue = resultValue + value; count = count + 1.0;\");let t=\"resultValue\";return this.poolType===\"avg\"&&(t=\"resultValue / count\"),`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let batch = coords[0];\n let xRCCorner = vec2(coords.yz) * uniforms.stride - uniforms.pad;\n let xRCorner = xRCCorner.x;\n let xCCorner = xRCCorner.y;\n\n var resultValue = ${this.poolType===\"avg\"?\"0.0\":\"-1.0 / pow(10.0, -20.0)\"};\n var count = 0.0;\n\n for (var wR = 0; wR < uniforms.filterDims.x; wR = wR + uniforms.dilation.x) {\n let xR = xRCorner + wR;\n\n if (xR < 0 || xR >= uniforms.convDims.x) {\n continue;\n }\n\n for (var wC = 0; wC < uniforms.filterDims.y; wC = wC + uniforms.dilation.y) {\n let xC = xCCorner + wC;\n if (xC < 0 || xC >= uniforms.convDims.y) {\n continue;\n }\n\n let value = getX(batch, xR, xC, coords[3]);\n ${e}\n }\n }\n\n setOutputAtIndex(index, ${t});\n }\n }\n `}};var Lg=class{constructor(e){this.variableNames=[\"x\"],this.uniforms=\"stride : vec2,\",this.workgroupSize=[256,1,1],this.size=!0,this.outputShape=e.outShape,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=\"poolWithFilterSizeEqualsOne\"}getUserCode(){return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let batch = coords[0];\n let d = coords[3];\n\n let xRCCorner = coords.yz * uniforms.stride;\n let xRCorner = xRCCorner.x;\n let xCCorner = xRCCorner.y;\n\n let value = getX(batch, xRCorner, xCCorner, d);\n setOutputAtIndex(index, value);\n }\n }\n `}};function Ul(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{reductionIndices:s,keepDims:a}=o;return qr(n,s,a,\"max\",t)}var PM={kernelName:yn,backendName:\"webgpu\",kernelFunc:Ul};function uI(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{keepDims:s,axis:a}=o;return qr(n,a,s,\"mean\",t)}var MM={kernelName:Sn,backendName:\"webgpu\",kernelFunc:uI};function Bg(r,e,t,o){if(e.filterWidth===1&&e.filterHeight===1&&y.arraysEqual(e.inShape,e.outShape))return Ft({inputs:{x:r},backend:o});if(e.filterWidth===e.inWidth&&e.filterHeight===e.inHeight&&e.batchSize===1&&e.padInfo.type===\"VALID\"){let a=r.shape.length,i=de({inputs:{x:r},backend:o,attrs:{shape:[r.shape[a-3]*r.shape[a-2],r.shape[a-1]]}}),p;t===\"avg\"?p=uI({inputs:{x:i},backend:o,attrs:{axis:0,keepDims:!1}}):(y.assert(t===\"max\",()=>`Invalid pool type ${t}`),p=Ul({inputs:{x:i},backend:o,attrs:{reductionIndices:0,keepDims:!1}}));let u=de({inputs:{x:p},backend:o,attrs:{shape:e.outShape}});return o.disposeData(i.dataId),o.disposeData(p.dataId),u}let n,s=[{type:\"int32\",data:[e.strideHeight,e.strideWidth]}];return e.filterHeight===1&&e.filterWidth===1?n=new Lg(e):(t===\"avg\"?n=new Wl(e,\"avg\"):(y.assert(t===\"max\",()=>`Invalid pool type ${t}`),n=new Wl(e,\"max\")),s.push({type:\"int32\",data:[e.padInfo.top,e.padInfo.left]},{type:\"int32\",data:[e.dilationHeight,e.dilationWidth]},{type:\"int32\",data:[e.inHeight,e.inWidth]},{type:\"int32\",data:[e.effectiveFilterHeight,e.effectiveFilterWidth]})),o.runWebGPUProgram(n,[r],r.dtype,s)}function Tre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{filterSize:s,strides:a,pad:i,dimRoundingMode:p}=o,u=1,c=S.computePool2DInfo(n.shape,s,a,u,i,p);return Bg(n,c,\"avg\",t)}var LM={kernelName:zo,backendName:\"webgpu\",kernelFunc:Tre};function _re(r){let{inputs:e,backend:t,attrs:o}=r,{a:n,b:s}=e,{transposeA:a,transposeB:i}=o;return Gu({a:n,b:s,transposeA:a,transposeB:i,backend:t})}var BM={kernelName:Wo,backendName:\"webgpu\",kernelFunc:_re};var Vg=class{constructor(e,t){this.variableNames=[\"source\"],this.workPerThread=1,this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=t,this.rank=t.length,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,[this.workPerThread,1,1]),this.start=e,this.uniforms=`start : ${Rt(e.length)}, `,this.shaderKey=\"slice\"}getUserCode(){let e=Rt(this.rank),t=Ere(this.rank),o;return this.start.length===1?o=this.outputShape.map((s,a)=>\"sourceLoc = uniforms.start + coords;\"):o=this.outputShape.map((s,a)=>`sourceLoc.${pI[a]} = uniforms.start.${$o(a)} + coords.${pI[a]};`),`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n var sourceLoc : ${e};\n let coords = getCoordsFromIndex(index);\n ${o.join(`\n`)}\n setOutputAtIndex(index, getSource(${t}));\n }\n }\n `}},pI=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"];function Ere(r){if(r===1)return\"sourceLoc\";if(r<=6)return pI.slice(0,r).map(e=>`sourceLoc.${e}`).join(\",\");throw Error(`Slicing for rank ${r} is not yet supported`)}function ds(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{begin:s,size:a}=o,[i,p]=ut.parseSliceParams(n,s,a);if(ut.assertParamsValid(n,i,p),t.shouldExecuteOnCPU([n])||n.dtype===\"string\"){let l=t.tensorMap.get(n.dataId),m=fM(l.values,i,p,n.shape,n.dtype);return t.makeTensorInfo(p,n.dtype,m)}if(y.sizeFromShape(p)===0)return t.makeTensorInfo(p,n.dtype,[]);let u=new Vg(i,p),c=[{type:\"int32\",data:i}];return t.runWebGPUProgram(u,[n],n.dtype,c)}var VM={kernelName:_s,backendName:\"webgpu\",kernelFunc:ds};var $re=r=>{let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{blockShape:s,crops:a}=o;y.assert(n.shape.length<=4,()=>\"batchToSpaceND for rank > 4 with a WebGPU backend not implemented yet\");let i=s.reduce((b,C)=>b*C),p=S.getReshaped(n.shape,s,i),u=S.getPermuted(p.length,s.length),c=S.getReshapedPermuted(n.shape,s,i),l=S.getSliceBeginCoords(a,s.length),m=S.getSliceSize(c,a,s.length),d=[],f=de({inputs:{x:n},backend:t,attrs:{shape:p}}),h=Nr({inputs:{x:f},backend:t,attrs:{perm:u}}),g=de({inputs:{x:h},backend:t,attrs:{shape:c}}),x=ds({inputs:{x:g},backend:t,attrs:{begin:l,size:m}});return d.push(f),d.push(h),d.push(g),d.forEach(b=>t.disposeData(b.dataId)),x},zM={kernelName:xs,backendName:\"webgpu\",kernelFunc:$re};var Are=`\n fn bincount_write(index: i32, value: f32) {\n var oldValue = atomicLoad(& (result[index]));\n var exchanged = false;\n for (; !exchanged;) {\n let newValueF32 = bitcast(oldValue) + value;\n let newValue = bitcast(newValueF32);\n let res = atomicCompareExchangeWeak(\n &(result[index]), oldValue, newValue);\n oldValue = res.old_value;\n exchanged = res.exchanged;\n }\n }\n`,Rre=`\n fn bincount_write(index: i32, value: f32) {\n result[index] = value;\n }\n`,kc=class{constructor(e,t,o=!1){this.outputShape=[],this.variableNames=[\"x\"],this.uniforms=\"binCountSize : i32,\",this.workgroupSize=[64,1,1],this.atomic=!0,this.hasWeights=!0,this.binaryOutput=!1,this.outputShape=e,this.rank=e.length,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.binaryOutput=o,o&&(this.atomic=!1),this.hasWeights=t,this.hasWeights&&this.variableNames.push(\"w\"),this.shaderKey=`bincount_${this.hasWeights}_${this.binaryOutput}_${this.rank}`}getUserCode(){return`\n ${this.binaryOutput?Rre:Are}\n ${se(\"index\")} {\n ${this.rank===1?`if (index < uniforms.xShape) {\n let indexVal = i32(getX(index));\n if (indexVal < uniforms.binCountSize) {\n let value = ${this.binaryOutput?1:this.hasWeights?\"f32(getW(index))\":\"1.\"};\n bincount_write(indexVal, value);\n }\n }`:`let coord = getCoordsFromIndex(index);\n if (coordsInBounds2D(coord, uniforms.xShape)) {\n let indexVal = i32(getX(coord[0], coord[1]));\n if (indexVal < uniforms.binCountSize) {\n let value = ${this.binaryOutput?1:this.hasWeights?\"f32(getW(coord[0], coord[1]))\":\"1.\"};\n bincount_write(coord.x * uniforms.binCountSize + indexVal, value);\n }\n }`}\n }\n `}};function Fre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,weights:s}=e,{size:a}=o,i=y.sizeFromShape(n.shape),u=y.sizeFromShape(s.shape)>0,c=[a],l=s.dtype,m=dr({backend:t,attrs:{shape:c,value:0,dtype:l}}),d=new kc([i],u),f=[{type:\"int32\",data:[a]}],h=u?[n,s]:[n];return t.runWebGPUProgram(d,h,l,f,m)}var WM={kernelName:Ja,backendName:\"webgpu\",kernelFunc:Fre};var cI=ot({opType:ye.NOT_EQUAL,dtype:\"bool\",cpuKernelImpl:uM}),UM={kernelName:Nn,backendName:\"webgpu\",kernelFunc:cI};function qa(r){let{inputs:e,backend:t}=r,{input:o}=e,n=t.tensorMap.get(o.dataId);return Ft({inputs:{x:n.complexTensorInfos.real},backend:t})}var GM={kernelName:ai,backendName:\"webgpu\",kernelFunc:qa};function HM(r,e){let t=new Ro(r.shape,Q.TO_INT),o=e.runWebGPUProgram(t,[r],\"int32\");return{dataId:o.dataId,shape:o.shape,dtype:o.dtype}}function lI(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{dtype:s}=o;if(s===\"complex64\"){if(n.dtype===\"complex64\")return Ft({inputs:{x:n},backend:t});let a=Vr(n.shape),i=lI({inputs:{x:n},backend:t,attrs:{dtype:\"float32\"}}),p=po({inputs:{real:i,imag:a},backend:t});return a.dispose(),t.disposeData(i.dataId),p}if(n.dtype===\"complex64\"){let a=qa({inputs:{input:n},backend:t}),i=lI({inputs:{x:a},backend:t,attrs:{dtype:s}});return t.disposeData(a.dataId),i}if(!y.hasEncodingLoss(n.dtype,s)){let a=Ft({inputs:{x:n},backend:t});return{dataId:a.dataId,shape:a.shape,dtype:s}}if(t.shouldExecuteOnCPU([n])){let a=t.tensorMap.get(n.dataId).values,[i,p,u]=U3(a,n.shape,n.dtype,s);return t.makeTensorInfo(i,p,u)}if(s===\"int32\")return HM(n,t);if(s===\"bool\"){let a=t.makeTensorInfo([],\"bool\",y.getTypedArrayFromDType(\"bool\",1)),p=cI({inputs:{a:n,b:a},backend:t});return t.disposeData(a.dataId),p}throw new Error(`Error in Cast: failed to cast ${n.dtype} to ${s}`)}var qM={kernelName:co,backendName:\"webgpu\",kernelFunc:lI};var Dre=Se({opType:Q.CEIL,cpuKernelImpl:G3}),KM={kernelName:Uo,backendName:\"webgpu\",kernelFunc:Dre};var zg=class{constructor(e){this.variableNames=[\"A\"],this.uniforms=\"minVal : f32, maxVal : f32,\",this.workPerThread=4,this.workgroupSize=[64,1,1],this.isVec4=!0,this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,[this.workPerThread,1,1]),this.shaderKey=\"clipVec4\"}getUserCode(){return`\n ${se(\"index\")} {\n if(index < uniforms.size) {\n let value = getAByOutputIndex(index);\n var clampedValue : vec4;\n for (var i = 0; i < 4; i = i + 1) {\n if (isnan(value[i])) {\n clampedValue[i] = value[i];\n } else {\n clampedValue[i] = clamp(value[i], uniforms.minVal, uniforms.maxVal);\n }\n }\n\n setOutputAtIndex(index, clampedValue);\n }\n }\n `}};var Wg=class{constructor(e){this.variableNames=[\"A\"],this.uniforms=\"minVal : f32, maxVal : f32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=\"clip\"}getUserCode(){return`\n ${se(\"index\")} {\n if(index < uniforms.size) {\n let value = getAByOutputIndex(index);\n if (isnan(value)) {\n setOutputAtIndex(index, value);\n return;\n }\n setOutputAtIndex(index, clamp(value, uniforms.minVal, uniforms.maxVal));\n }\n }\n `}};function Ore(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{clipValueMin:s,clipValueMax:a}=o,i,p=[{type:\"float32\",data:[s]},{type:\"float32\",data:[a]}];return y.sizeFromShape(n.shape)%4===0?i=new zg(n.shape):i=new Wg(n.shape),t.runWebGPUProgram(i,[n],n.dtype,p)}var jM={kernelName:lo,backendName:\"webgpu\",kernelFunc:Ore};var Ug=class{constructor(e){this.uniforms=\"\",this.workPerThread=1,this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=S.computeOutShape(e,1),this.variableNames=e.map((t,o)=>`T${o}`),this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,[this.workPerThread,1,1]),this.offsetLength=e.length-1;for(let t=0;t0){e.push(\"if (yC < uniforms.offset0){ setOutputAtCoords(coords.x, coords.y, getT0(yR, yC)); }\");for(let s=1;sqa({inputs:{input:C},backend:t})),h=r.map(C=>qu({inputs:{input:C},backend:t})),g=Nc(f,e,t),x=Nc(h,e,t),b=po({inputs:{real:g,imag:x},backend:t});return f.forEach(C=>t.disposeData(C.dataId)),h.forEach(C=>t.disposeData(C.dataId)),t.disposeData(g.dataId),t.disposeData(x.dataId),b}let n=t.shouldExecuteOnCPU(r);if(o===\"string\"&&(n=!0),n){let f=r.map(k=>{let $=[-1,y.sizeFromShape(k.shape.slice(e))];return de({inputs:{x:k},backend:t,attrs:{shape:$}})}),h=f.map(k=>({vals:t.readSync(k.dataId),shape:k.shape})),g=S.computeOutShape(f.map(k=>k.shape),1),x=f[0].shape[0]===1,b=H3(h,g,o,x),C=S.computeOutShape(r.map(k=>k.shape),e),w=t.makeTensorInfo(C,o,b);return f.forEach(k=>t.disposeData(k.dataId)),w}let s=t.device.limits.maxStorageBuffersPerShaderStage-1;if(r.length>s){let f=[];for(let g=0;gf.shape),u=new Ug(p),c=[],l=new Array(p.length-1);if(l.length>0){l[0]=p[0][1],c.push({type:\"int32\",data:[l[0]]});for(let f=1;ft.disposeData(f.dataId));let d=de({inputs:{x:m},backend:t,attrs:{shape:i}});return t.disposeData(m.dataId),d}function Pre(r,e,t){let o=S.computeOutShape(r.map(s=>s.shape),e);return{tensors2D:r.map(s=>de({inputs:{x:s},backend:t,attrs:{shape:[y.sizeFromShape(s.shape.slice(0,e)),y.sizeFromShape(s.shape.slice(e))]}})),outShape:o}}function mI(r){let{inputs:e,backend:t,attrs:o}=r,{axis:n}=o,s=y.parseAxisParam(n,e[0].shape)[0],a=e.map(u=>u.shape);S.assertParamsConsistent(a,s);let i=S.computeOutShape(e.map(u=>u.shape),s);if(y.sizeFromShape(i)===0)return t.makeTensorInfo(i,e[0].dtype,[]);let p=e.filter(u=>y.sizeFromShape(u.shape)>0);return p.length===1?Ft({inputs:{x:p[0]},backend:t}):Nc(p,s,t)}var YM={kernelName:ys,backendName:\"webgpu\",kernelFunc:mI};function Mre(r,e,t,o,n=!1,s=null,a=!1,i=4,p=4,u=4){let c=R=>{switch(R){case 1:return\"resData = x[xIndex];\";case 3:return\"resData = vec3(x[xIndex], x[xIndex + 1], x[xIndex + 2]);\";case 4:return\"resData = x[xIndex / 4];\";default:throw new Error(`innerElementSize ${R} is not supported.`)}},l=R=>{switch(R){case 1:return\"return W[row * uniforms.wShape[3] + colIn];\";case 4:return\"return W[row * uniforms.wShape[3] / 4 + colIn];\";default:throw new Error(`innerElementSize ${R} is not supported.`)}},m=r?`\n let coord = vec4(batch, xRow, xCol, xCh);\n `:`\n let coord = vec4(batch, xCh, xRow, xCol);\n `,d=r?`\n let coords = vec4(\n batch,\n row / outWidth,\n row % outWidth,\n col);\n `:`\n let coords = vec4(\n batch,\n row,\n col / outWidth,\n col % outWidth);\n `,f=r?\"uniforms.xShape[1]\":\"uniforms.xShape[2]\",h=r?\"uniforms.xShape[2]\":\"uniforms.xShape[3]\",g=r?\"row\":\"col\",x=r?\"col\":\"row\",b=`\n let inChannels = uniforms.wShape[2];\n let outWidth = ${r?\"uniforms.outShape[2]\":\"uniforms.outShape[3]\"};\n let outRow = ${g} / outWidth;\n let outCol = ${g} % outWidth;\n\n let WRow = ${x} / (uniforms.filterDims[1] * inChannels);\n let WCol = ${x} / inChannels % uniforms.filterDims[1];\n let xRow = outRow * uniforms.stride[0] + uniforms.dilation[0] * WRow - uniforms.pad[0];\n let xCol = outCol * uniforms.stride[1] + uniforms.dilation[1] * WCol - uniforms.pad[1];\n let xCh = ${x} % inChannels;\n var resData = ${kt(i)}(0.0);\n // The bounds checking is always needed since we use it to pad zero for\n // the 'same' padding type.\n if (xRow >= 0 && xRow < ${f} && xCol >= 0 && xCol < ${h}) {\n ${m}\n let xIndex = getIndexFromCoords4D(coord, uniforms.xShape);\n ${c(i)}\n }\n return resData;`,C=r?e&&o?`\n let col = colIn * ${i};\n ${b}`:`\n let col = colIn * ${i};\n if (row < uniforms.dimAOuter && col < uniforms.dimInner) {\n ${b}\n }\n return ${kt(i)}(0.0);`:o&&t?`\n let col = colIn * ${i};\n ${b}`:`\n let col = colIn * ${i};\n if (row < uniforms.dimInner && col < uniforms.dimBOuter) {\n ${b}\n }\n return ${kt(i)}(0.0);`,w=`${l(p)}`,k=kt(u),_=r?kt(i):kt(p),$=r?kt(p):kt(i);return`\n ${ur(s,a,u===4,4)}\n fn mm_readA(batch: i32, row : i32, colIn : i32) -> ${_} {\n ${r?C:w}\n }\n\n fn mm_readB(batch: i32, row : i32, colIn : i32) -> ${$} {\n ${r?w:C}\n }\n\n fn mm_write(batch: i32, row : i32, colIn : i32, valueIn : ${k}) {\n let col = colIn * ${u};\n if (row < uniforms.dimAOuter && col < uniforms.dimBOuter)\n {\n var value = valueIn;\n let outWidth = ${r?\"uniforms.outShape[2]\":\"uniforms.outShape[3]\"};\n ${d}\n ${Hr(n,s)}\n setOutputAtCoords(coords[0], coords[1], coords[2], coords[3], value);\n }\n }`}var Gg=class{constructor(e,t,o,n,s=!1,a=null,i=!1,p=!1){this.variableNames=[\"x\",\"W\"],this.uniforms=\"filterDims : vec2, pad : vec2, stride : vec2, dilation : vec2, dimAOuter : i32, dimBOuter : i32, dimInner : i32,\",this.outputShape=e.outShape,this.isChannelsLast=e.dataFormat===\"channelsLast\",this.isVec4=((e.inChannels%4===0||e.inChannels%3===0)&&this.isChannelsLast||e.outWidth%4===0&&!this.isChannelsLast)&&e.outChannels%4===0,this.dispatchLayout=this.isChannelsLast?{x:[3],y:[1,2],z:[0]}:{x:[2,3],y:[1],z:[0]},this.workgroupSize=Ml(this.dispatchLayout,this.outputShape,this.isVec4),this.elementsPerThread=Ll(this.dispatchLayout,this.outputShape,this.isVec4),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,this.elementsPerThread),this.isVec4?(this.isChannelsLast&&e.inChannels%4!==0?(this.innerElementSize=3,this.variableTypes=[\"f32\",\"vec4\"]):(this.innerElementSize=4,this.variableTypes=[\"vec4\",\"vec4\"]),s&&(this.variableNames.push(\"bias\"),this.variableTypes.push(\"vec4\")),i&&(this.variableNames.push(\"preluActivationWeights\"),this.variableTypes.push(\"vec4\"))):(this.innerElementSize=this.elementsPerThread[0],s&&this.variableNames.push(\"bias\"),i&&this.variableNames.push(\"preluActivationWeights\")),this.sequentialAccessByThreads=p,this.addBias=s,this.activation=a,this.hasPreluActivationWeights=i,this.tileAOuter=this.workgroupSize[1]*this.elementsPerThread[1],this.tileBOuter=this.workgroupSize[0]*this.elementsPerThread[0],this.tileInner=Math.max(this.workgroupSize[0]*this.innerElementSize,this.workgroupSize[1]),this.fitAOuter=t%this.tileAOuter===0,this.fitBOuter=o%this.tileBOuter===0,this.fitInner=n%this.tileInner===0,this.shaderKey=`conv2DMM_${this.elementsPerThread}_${this.activation}}_${this.fitAOuter}_${this.fitBOuter}_${this.fitInner}_${this.isVec4}_${this.innerElementSize}_${this.isChannelsLast}_${this.sequentialAccessByThreads}`}getUserCode(){let e=this.isVec4?Wu(this.elementsPerThread,this.workgroupSize,!this.isChannelsLast,this.tileInner):Uu(this.elementsPerThread,this.workgroupSize,!this.isChannelsLast,this.tileInner,!1,null,this.sequentialAccessByThreads),t=this.isVec4?[this.innerElementSize,4,4]:[1,1,1];return`\n ${Mre(this.isChannelsLast,this.fitAOuter,this.fitBOuter,this.fitInner,this.addBias,this.activation,this.hasPreluActivationWeights,t[0],t[1],t[2])}\n ${e}\n `}};var Hg=class{constructor(e,t=!1,o=null,n=!1){this.variableNames=[\"x\",\"W\"],this.uniforms=\"filterDims: vec2, pad: vec2, stride: vec2, dilation: vec2,\",this.workgroupSize=[4,4,8],this.outputShape=e.outShape,this.isChannelsLast=e.dataFormat===\"channelsLast\",this.dispatchLayout=this.isChannelsLast?{x:[2],y:[1],z:[0,3]}:{x:[3],y:[2],z:[0,1]},this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.addBias=t,this.activation=o,this.hasPreluActivationWeights=n,t&&this.variableNames.push(\"bias\"),n&&this.variableNames.push(\"preluActivationWeights\"),this.shaderKey=`conv2dnaive_${this.activation}_${this.isChannelsLast}`}getUserCode(){return`\n ${ur(this.activation,this.hasPreluActivationWeights,!1,4)}\n fn readInp(batch : i32, row : i32, col : i32, chan : i32) -> f32{\n let coords = vec4(batch, row, col, chan);\n if (coordsInBounds4D(coords, uniforms.xShape)) {\n return getX(batch, row, col, chan);\n } else {\n return 0.0;\n }\n }\n fn readFilt(row : i32, col : i32, xChannel : i32, outChannel : i32) -> f32{\n let coords = vec4(row, col, xChannel, outChannel);\n if(coordsInBounds4D(coords, uniforms.wShape)) {\n return getW(row, col, xChannel, outChannel);\n } else {\n return 0.0;\n }\n }\n fn writeResult(batch : i32, row : i32, col : i32, chan : i32, valueIn : f32) {\n let coords = ${this.isChannelsLast?\"vec4(batch, row, col, chan);\":\"vec4(batch, chan, row, col);\"}\n if (coordsInBounds4D(coords, uniforms.outShape)) {\n var value = valueIn;\n ${Hr(this.addBias,this.activation)}\n setOutputAtCoords(coords.x, coords.y, coords.z, coords.w, value);\n }\n }\n ${se(\"index\")} {\n let coords = getOutputCoords();\n let batch = coords[0];\n let outChannel = ${this.isChannelsLast?\"coords[3];\":\"coords[1];\"}\n let outRow = ${this.isChannelsLast?\"coords[1];\":\"coords[2];\"}\n let outCol = ${this.isChannelsLast?\"coords[2];\":\"coords[3];\"}\n var acc : f32 = 0.0;\n for (var row = 0; row < uniforms.filterDims[0]; row = row + 1) {\n for (var col = 0; col < uniforms.filterDims[1]; col = col + 1) {\n let xRow = outRow * uniforms.stride[0] + uniforms.dilation[0] * row - uniforms.pad[0];\n let xCol = outCol * uniforms.stride[1] + uniforms.dilation[1] * col - uniforms.pad[1];\n for (var xChannel = 0; xChannel < ${this.isChannelsLast?\"uniforms.xShape[3];\":\"uniforms.xShape[1];\"} xChannel = xChannel + 1) {\n ${this.isChannelsLast?\"let v = readInp(batch, xRow, xCol, xChannel);\":\"let v = readInp(batch, xChannel, xRow, xCol);\"}\n let f = readFilt(row, col, xChannel, outChannel);\n acc = acc + v * f;\n }\n }\n }\n writeResult(batch, outRow, outCol, outChannel, acc);\n }\n `}};var qg=class{constructor(e,t){this.variableNames=[\"x\"],this.uniforms=`pad : vec2, stride : vec2, dilation : vec2, outWidth : i32, itemsPerBlockRow : i32,\n inChannels : i32,`,this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.isChannelsLast=t,this.shaderKey=`im2col_${this.isChannelsLast}`}getUserCode(){let e=this.isChannelsLast?1:2,t=this.isChannelsLast?2:3,o=this.isChannelsLast?\"coords[1]\":\"coords[2]\",n=this.isChannelsLast?\"coords[2]\":\"coords[1]\",s=this.isChannelsLast?\"getX(batch, xRow, xCol, ch)\":\"getX(batch, ch, xRow, xCol)\";return`\n ${se(\"index\")} {\n let coords = getCoordsFromIndex(index);\n if(index < uniforms.size) {\n let batch = coords[0];\n let row = ${o};\n let col = ${n};\n let offsetY = (row / uniforms.outWidth) * uniforms.stride[0] - uniforms.pad[0];\n let xRow = offsetY + uniforms.dilation[0] * (col / uniforms.itemsPerBlockRow);\n var value = 0.0;\n if(xRow < uniforms.xShape[${e}] && xRow >= 0) {\n let offsetX = (row % uniforms.outWidth) * uniforms.stride[1] -\n uniforms.pad[1];\n let xCol = offsetX + uniforms.dilation[1] * ((col %\n uniforms.itemsPerBlockRow) / uniforms.inChannels);\n let ch = col % uniforms.inChannels;\n if(xCol < uniforms.xShape[${t}] && xCol >= 0) {\n value = ${s};\n }\n }\n setOutputAtIndex(index, value);\n }\n }\n `}};function Kg(r,e){let t=r.length;return t>=3?e?[...r.slice(0,-3),r[t-3]*r[t-2],r[t-1]]:[...r.slice(0,-3),r[t-3],r[t-2]*r[t-1]]:!e&&t===1&&r[0]>1?[r[0],1]:null}function Lre({x:r,filter:e,convInfo:t,backend:o,bias:n=null,preluActivationWeights:s=null,leakyreluAlpha:a=0,activation:i=null}){let p=t.dataFormat===\"channelsLast\",u=!p,c=!1,l=p&&t.filterHeight===t.inHeight&&t.filterWidth===t.inWidth&&t.padInfo.type===\"VALID\",m=[],d,f;if(l){let x=t.inHeight*t.inWidth*t.inChannels;d=de({inputs:{x:r},backend:o,attrs:{shape:[1,t.batchSize,x]}}),f=de({inputs:{x:e},backend:o,attrs:{shape:[1,x,t.outChannels]}})}else d=de({inputs:{x:r},backend:o,attrs:{shape:p?[t.batchSize,t.inHeight*t.inWidth,t.inChannels]:[t.batchSize,t.inChannels,t.inHeight*t.inWidth]}}),f=de({inputs:{x:e},backend:o,attrs:{shape:[1,t.inChannels,t.outChannels]}});if(m.push(d),m.push(f),s!=null){let x=Kg(s.shape,p);x!=null&&(s=de({inputs:{x:s},backend:o,attrs:{shape:x}}),m.push(s))}if(n!=null){let x=Kg(n.shape,p);x!=null&&(n=de({inputs:{x:n},backend:o,attrs:{shape:x}}),m.push(n))}let h=Gu({a:p?d:f,b:p?f:d,transposeA:u,transposeB:c,backend:o,bias:n,activation:i,preluActivationWeights:s,leakyreluAlpha:a}),g=de({inputs:{x:h},backend:o,attrs:{shape:t.outShape}});m.push(h);for(let x of m)o.disposeData(x.dataId);return g}function Bre({x:r,filter:e,convInfo:t,backend:o,bias:n=null,preluActivationWeights:s=null,leakyreluAlpha:a=0,activation:i=null}){let{filterWidth:p,filterHeight:u,inChannels:c,strideWidth:l,strideHeight:m,padInfo:d,outWidth:f,outHeight:h,dilationWidth:g,dilationHeight:x,dataFormat:b}=t,C=b===\"channelsLast\",w=p*u*c,k=h*f,_=C?[t.batchSize,k,w]:[t.batchSize,w,k],$=new qg(_,C),A=[{type:\"int32\",data:[d.top,d.left]},{type:\"int32\",data:[m,l]},{type:\"int32\",data:[x,g]},{type:\"int32\",data:[f]},{type:\"int32\",data:[c*p]},{type:\"int32\",data:[c]}],R=o.runWebGPUProgram($,[r],r.dtype,A),D=[];D.push(R);let P=de({inputs:{x:e},backend:o,attrs:{shape:[1,w,-1]}});if(D.push(P),s!=null){let U=Kg(s.shape,C);U!=null&&(s=de({inputs:{x:s},backend:o,attrs:{shape:U}}),D.push(s))}if(n!=null){let U=Kg(n.shape,C);U!=null&&(n=de({inputs:{x:n},backend:o,attrs:{shape:U}}),D.push(n))}let W=Gu({a:C?R:P,b:C?P:R,transposeA:!C,transposeB:!1,backend:o,bias:n,activation:i,preluActivationWeights:s,leakyreluAlpha:a}),V=de({inputs:{x:W},backend:o,attrs:{shape:t.outShape}});D.push(W);for(let U of D)o.disposeData(U.dataId);return V}function jg({x:r,filter:e,convInfo:t,backend:o,bias:n=null,preluActivationWeights:s=null,leakyreluAlpha:a=0,activation:i=null}){let p=n!=null,u=s!=null,c=t.dataFormat===\"channelsLast\",l=c&&t.filterHeight===t.inHeight&&t.filterWidth===t.inWidth&&t.padInfo.type===\"VALID\",m=O().getBool(\"WEBGPU_USE_NAIVE_CONV2D_DEBUG\");if(!m&&(l||t.filterHeight===1&&t.filterWidth===1&&t.dilationHeight===1&&t.dilationWidth===1&&t.strideHeight===1&&t.strideWidth===1&&(t.padInfo.type===\"SAME\"||t.padInfo.type===\"VALID\")))return Lre({x:r,filter:e,convInfo:t,backend:o,bias:n,activation:i,preluActivationWeights:s,leakyreluAlpha:a});let d=O().getNumber(\"WEBGPU_THRESHOLD_TO_INCREASE_WORKGROUPS_FOR_MATMUL\"),f=d>0?d:o.thresholdToIncreaseWorkgroups,h=t.batchSize*Math.ceil(t.outHeight*t.outWidth/32)*Math.ceil(t.outChannels/32);if(O().getBool(\"WEBGPU_CONV_SEPARATE_IM2COL_SHADER\")||h<=f)return Bre({x:r,filter:e,convInfo:t,backend:o,bias:n,preluActivationWeights:s,leakyreluAlpha:a,activation:i});let g,x=[t.padInfo.top,t.padInfo.left],b=[{type:\"int32\",data:[t.filterHeight,t.filterWidth]},{type:\"int32\",data:[...x]},{type:\"int32\",data:[t.strideHeight,t.strideWidth]},{type:\"int32\",data:[t.dilationHeight,t.dilationWidth]}];if(m)g=new Hg(t,p,i,u);else{let _=c?t.outHeight*t.outWidth:t.outChannels,$=c?t.outChannels:t.outHeight*t.outWidth,A=t.filterHeight*t.filterWidth*t.inChannels;b.push({type:\"int32\",data:[_]},{type:\"int32\",data:[$]},{type:\"int32\",data:[A]});let R=o.adapterInfo.isIntel();g=new Gg(t,_,$,A,p,i,u,R)}let C=[],w=[r,e];p&&(!c&&n.shape.length===1&&(n=de({inputs:{x:n},backend:o,attrs:{shape:[n.shape[0],1,1]}}),C.push(n)),w.push(n)),u&&(!c&&s.shape.length===1&&(s=de({inputs:{x:s},backend:o,attrs:{shape:[s.shape[0],1,1]}}),C.push(s)),w.push(s)),i===\"leakyrelu\"&&(b.push({type:\"float32\",data:[a]}),g.uniforms+=\" alpha : f32,\");let k=o.runWebGPUProgram(g,w,r.dtype,b);for(let _ of C)o.disposeData(_.dataId);return k}function Vre(r){let{inputs:e,attrs:t,backend:o}=r,{x:n,filter:s}=e,{strides:a,pad:i,dataFormat:p,dilations:u,dimRoundingMode:c}=t,l=S.convertConv2DDataFormat(p),m=S.computeConv2DInfo(n.shape,s.shape,a,u,i,c,!1,l);return jg({x:n,filter:s,convInfo:m,backend:o})}var QM={kernelName:Go,backendName:\"webgpu\",kernelFunc:Vre};function zre(r=4){let e=s=>{switch(s){case 1:return\"return W[getIndexFromCoords4D(coord, uniforms.wShape)];\";case 4:return`\n let coord1 = vec4(coordX, coordY, col + 1, rowInner);\n let coord2 = vec4(coordX, coordY, col + 2, rowInner);\n let coord3 = vec4(coordX, coordY, col + 3, rowInner);\n let v0 = W[getIndexFromCoords4D(coord, uniforms.wShape)];\n let v1 = W[getIndexFromCoords4D(coord1, uniforms.wShape)];\n let v2 = W[getIndexFromCoords4D(coord2, uniforms.wShape)];\n let v3 = W[getIndexFromCoords4D(coord3, uniforms.wShape)];\n return vec4(v0, v1, v2, v3);\n `;default:throw new Error(`innerElementSize ${s} is not supported.`)}},o=`if (row < uniforms.dimAOuter && col < uniforms.dimInner) {\n ${`\n let outRow = row / uniforms.outShape[2];\n let outCol = row % uniforms.outShape[2];\n\n let WRow = col / (uniforms.filterDims[1] * uniforms.outBackprop[3]);\n let WCol = col / uniforms.outBackprop[3] % uniforms.filterDims[1];\n let xR = f32(outRow - uniforms.pads[0] + WRow) / f32(uniforms.stride[0]);\n let xC = f32(outCol - uniforms.pads[1] + WCol) / f32(uniforms.stride[1]);\n if (xR < 0.0 || xR >= f32(uniforms.outBackprop[1]) || fract(xR) > 0.0) {\n return ${kt(r)}(0.0);\n }\n if (xC < 0.0 || xC >= f32(uniforms.outBackprop[2]) || fract(xC) > 0.0) {\n return ${kt(r)}(0.0);\n }\n let coord = vec4(\n batch,\n i32(xR),\n i32(xC),\n col % uniforms.outBackprop[3]);\n return x[getIndexFromCoords4D(coord, uniforms.xShape)/${r}];`}\n }\n return ${kt(r)}(0.0);`;return`\n fn mm_readA(batch: i32, row : i32, colIn : i32) -> ${kt(r)} {\n let col = colIn * ${r};\n ${o}\n }\n\n fn mm_readB(batch: i32, row : i32, colIn : i32) -> ${kt(r)} {\n let col = colIn * ${r};\n let coordX = uniforms.filterDims.x - 1 -\n row / (uniforms.filterDims[1] * uniforms.outBackprop[3]);\n let coordY = uniforms.filterDims.y - 1 -\n (row / uniforms.outBackprop[3]) % uniforms.filterDims[1];\n if (row < uniforms.dimInner && col < uniforms.dimBOuter &&\n coordX >= 0 && coordY >= 0) {\n let rowInner = row % uniforms.outBackprop[3];\n let coord = vec4(coordX, coordY, col, rowInner);\n ${e(r)}\n }\n return ${kt(r)}(0.0);\n }\n\n fn mm_write(batch: i32, row : i32, colIn : i32, valueInput : ${kt(r)}) {\n let col = colIn * ${r};\n if (row < uniforms.dimAOuter && (col + ${r-1}) < uniforms.dimBOuter) {\n var value = valueInput;\n let outCoord = vec4(\n batch,\n row / uniforms.outShape[2],\n row % uniforms.outShape[2],\n col);\n result[getIndexFromCoords4D(outCoord, uniforms.outShape)/${r}] = value;\n }\n }`}var Xg=class{constructor(e){this.variableNames=[\"x\",\"W\"],this.uniforms=\"filterDims : vec2, pads : vec2, stride : vec2, outBackprop : vec4, dimAOuter : i32, dimBOuter : i32, dimInner : i32,\",this.outputShape=e.inShape,y.assert(e.dataFormat===\"channelsLast\",()=>\"TODO: NCHW is unimplemented\"),this.isVec4=e.inChannels%4===0&&e.outChannels%4===0,this.dispatchLayout={x:[3],y:[1,2],z:[0]},this.workgroupSize=Ml(this.dispatchLayout,this.outputShape,this.isVec4),this.elementsPerThread=Ll(this.dispatchLayout,this.outputShape,this.isVec4),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,this.elementsPerThread),this.isVec4&&(this.variableTypes=[\"vec4\",\"f32\"]),this.shaderKey=`conv2DDerInputMM_${this.isVec4}_${this.elementsPerThread}`}getUserCode(){let e=this.isVec4?Wu(this.elementsPerThread,this.workgroupSize):Uu(this.elementsPerThread,this.workgroupSize);return`\n ${zre(this.isVec4?4:1)}\n ${e}\n `}};var Yg=class{constructor(e){this.variableNames=[\"dy\",\"W\"],this.uniforms=\"filterDims : vec2, pads : vec2, stride : vec2, outBackprop : vec4,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e.inShape,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.isChannelsLast=e.dataFormat===\"channelsLast\",this.shaderKey=`conv2DDerInput_${this.isChannelsLast}`}getUserCode(){let e=this.isChannelsLast?1:2,t=this.isChannelsLast?2:3,o=this.isChannelsLast?3:1;return`\n ${se(\"index\")} {\n if(index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let batch = coords[0];\n let d1 = coords[${o}];\n\n let dyCorner = vec2(coords[${e}], coords[${t}]) - uniforms.pads;\n let dyRCorner = dyCorner.x;\n let dyCCorner = dyCorner.y;\n\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n var dotProd = 0.0;\n for (var wR = 0; wR < uniforms.filterDims.x; wR = wR + 1) {\n let dyR = (f32(dyRCorner) + f32(wR)) / f32(uniforms.stride.x);\n let wRPerm = uniforms.filterDims.x - 1 - wR;\n if (dyR < 0.0 || dyR >= f32(uniforms.outBackprop[1]) || fract(dyR) > 0.0 ||\n wRPerm < 0) {\n continue;\n }\n let idyR = i32(dyR);\n\n for (var wC = 0; wC < uniforms.filterDims.y; wC = wC + 1) {\n let dyC = (f32(dyCCorner) + f32(wC)) / f32(uniforms.stride.y);\n let wCPerm = uniforms.filterDims.y - 1 - wC;\n if (dyC < 0.0 || dyC >= f32(uniforms.outBackprop[2]) ||\n fract(dyC) > 0.0 || wCPerm < 0) {\n continue;\n }\n let idyC = i32(dyC);\n\n for (var d2 = 0; d2 < uniforms.outBackprop[3]; d2 = d2 + 1) {\n if (${this.isChannelsLast}) {\n let xValue = getDy(batch, idyR, idyC, d2);\n let wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd = dotProd + xValue * wValue;\n } else {\n let xValue = getDy(batch, d2, idyR, idyC);\n let wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd = dotProd + xValue * wValue;\n }\n\n }\n }\n }\n setOutputAtIndex(index, dotProd);\n }\n }\n `}};function Wre(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,filter:s}=e,{inputShape:a,strides:i,pad:p,dataFormat:u,dimRoundingMode:c}=o,l=S.convertConv2DDataFormat(u),m=S.computeConv2DInfo(a,s.shape,i,1,p,c,!1,l),d=[{type:\"int32\",data:[m.filterHeight,m.filterWidth]},{type:\"int32\",data:[m.filterHeight-1-m.padInfo.top,m.filterWidth-1-m.padInfo.left]},{type:\"int32\",data:[m.strideHeight,m.strideWidth]},{type:\"int32\",data:[m.batchSize,m.outHeight,m.outWidth,m.outChannels]}],f;if(O().getBool(\"WEBGPU_USE_NAIVE_CONV2D_TRANSPOSE\")||m.filterHeight<=2&&m.filterWidth<=2&&m.outChannels<=16&&m.inChannels===1)f=new Yg(m);else{f=new Xg(m);let h=m.inHeight*m.inWidth,g=m.inChannels,x=m.filterHeight*m.filterWidth*m.outChannels;d.push({type:\"uint32\",data:[h]},{type:\"uint32\",data:[g]},{type:\"uint32\",data:[x]})}return t.runWebGPUProgram(f,[n,s],\"float32\",d)}var ZM={kernelName:Ho,backendName:\"webgpu\",kernelFunc:Wre};var Ure=Se({opType:Q.COS}),JM={kernelName:qo,backendName:\"webgpu\",kernelFunc:Ure};var Gre=Se({opType:Q.COSH}),eL={kernelName:Ko,backendName:\"webgpu\",kernelFunc:Gre};var Qg=class{constructor(e,t,o,n){this.variableNames=[\"Image\",\"Boxes\",\"BoxInd\"],this.uniforms=\"extrapolationValue : f32,\",this.workgroupSize=[64,1,1],this.size=!0;let[s]=t;this.outputShape=[s,o[0],o[1],e],this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.methodId=n===\"bilinear\"?1:0,this.cropHeightBiggerThan1=this.outputShape[1]>1,this.cropWidthBiggerThan1=this.outputShape[2]>1,this.shaderKey=`cropAndResize_${this.methodId}_${this.cropHeightBiggerThan1}_${this.cropWidthBiggerThan1}`}getUserCode(){let[e,t]=[\"f32(uniforms.imageShape[1] - 1)\",\"f32(uniforms.imageShape[2] - 1)\"],[o,n,s]=this.cropHeightBiggerThan1?[`(${e} / f32(uniforms.outShape[1] - 1))`,\"(y2-y1) * height_ratio\",`y1*${e} + f32(y)*(height_scale)`]:[\"0.0\",\"0.0\",`0.5 * (y1+y2) * ${e}`],[a,i,p]=this.cropWidthBiggerThan1?[`(${t} / f32(uniforms.outShape[2] - 1))`,\"(x2-x1) * width_ratio\",`x1*${t} + f32(x)*(width_scale)`]:[\"0.0\",\"0.0\",`0.5 * (x1+x2) * ${t}`];return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let height_ratio = f32(${o});\n let width_ratio = f32(${a});\n let b = coords[0];\n let y = coords[1];\n let x = coords[2];\n let d = coords[3];\n // get box vals\n let y1 = getBoxes(b, 0);\n let x1 = getBoxes(b, 1);\n let y2 = getBoxes(b, 2);\n let x2 = getBoxes(b, 3);\n // get image in batch index\n let bInd = i32(round(getBoxInd(b)));\n if(bInd < 0 || bInd >= uniforms.outShape[0]) {\n return;\n }\n let height_scale = ${n};\n let width_scale = ${i};\n let in_y = ${s};\n if( in_y < 0.0 || in_y > ${e} ) {\n setOutputAtIndex(index, uniforms.extrapolationValue);\n return;\n }\n let in_x = ${p};\n if( in_x < 0.0 || in_x > ${t} ) {\n setOutputAtIndex(index, uniforms.extrapolationValue);\n return;\n }\n let sourceFracIndexCR = vec2(in_x,in_y);\n if(${this.methodId} == 1) {\n // Compute the four integer indices.\n let sourceFloorCR = vec2(sourceFracIndexCR);\n let sourceCeilCR = vec2(ceil(sourceFracIndexCR));\n let topLeft = getImage(bInd, sourceFloorCR.y, sourceFloorCR.x, d);\n let bottomLeft = getImage(bInd, sourceCeilCR.y, sourceFloorCR.x, d);\n let topRight = getImage(bInd, sourceFloorCR.y, sourceCeilCR.x, d);\n let bottomRight = getImage(bInd, sourceCeilCR.y, sourceCeilCR.x, d);\n let fracCR = sourceFracIndexCR - vec2(sourceFloorCR);\n let top = topLeft + (topRight - topLeft) * fracCR.x;\n let bottom = bottomLeft + (bottomRight - bottomLeft) * fracCR.x;\n let newValue = top + (bottom - top) * fracCR.y;\n setOutputAtIndex(index, newValue);\n } else {\n // Compute the coordinators of nearest neighbor point.\n let sourceNearestCR = vec2(floor(\n sourceFracIndexCR + vec2(0.5,0.5)));\n let newValue = getImage(\n bInd, sourceNearestCR.y, sourceNearestCR.x, d);\n setOutputAtIndex(index, newValue);\n }\n }\n }\n `}};var Hre=r=>{let{inputs:e,backend:t,attrs:o}=r,{image:n,boxes:s,boxInd:a}=e,{cropSize:i,method:p,extrapolationValue:u}=o,c=new Qg(n.shape[3],s.shape,i,p),l=[{type:\"float32\",data:[u]}];return t.runWebGPUProgram(c,[n,s,a],\"float32\",l)},tL={kernelName:Yo,backendName:\"webgpu\",kernelFunc:Hre};var Ku;(function(r){r.Prod=\"*\",r.Sum=\"+\"})(Ku||(Ku={}));var Gl=class{constructor(e,t,o,n){this.variableNames=[\"x\"],this.uniforms=\"index : f32,\",this.size=!0,this.workgroupSize=[128,1,1],this.outputShape=t,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.exclusive=o,this.reverse=n,this.op=e,this.shaderKey=`cum_${this.op}_${this.exclusive}_${this.reverse}`}getUserCode(){let e=this.outputShape.length,t=this.op===Ku.Prod?\"1.0\":\"0.0\",o=this.exclusive?t:`getX(${rL(e,\"coords\",this.op)})`,n=this.outputShape[this.outputShape.length-1],s=\"\",a=\"\";return this.exclusive?(s=this.reverse?`end != ${n-1}`:\"end != 0\",a=this.reverse?\"end + 1\":\"end - 1\"):(s=this.reverse?`end + pow2 < ${n}`:\"end >= pow2\",a=this.reverse?\"end + pow2\":\"end - pow2\"),`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n var coords = getCoordsFromIndex(index);\n\n let end = ${oL(e,\"coords\",this.op)};\n var val = ${o};\n let pow2 = i32(pow(2.0, uniforms.index));\n if (${s}) {\n let idx = ${a};\n ${oL(e,\"coords\",this.op)} = idx;\n val ${this.op}= getX(${rL(e,\"coords\",this.op)});\n }\n setOutputAtIndex(index, val);\n }\n }\n `}};function rL(r,e,t){if(r===1)return`${e}`;if(r===2)return`${e}.x, ${e}.y`;if(r===3)return`${e}.x, ${e}.y, ${e}.z`;if(r===4)return`${e}.x, ${e}.y, ${e}.z, ${e}.w`;throw Error(`Cumulative ${t} for rank ${r} is not yet supported`)}function oL(r,e,t){if(r===1)return`${e}`;if(r===2)return`${e}.y`;if(r===3)return`${e}.z`;if(r===4)return`${e}.w`;throw Error(`Cumulative ${t} for rank ${r} is not yet supported`)}function Zg(r,e,t,o,n,s){let a=e.shape.length,i=S.getAxesPermutation([o],a),p=e;i!=null&&(p=Nr({inputs:{x:e},backend:t,attrs:{perm:i}}));let u=S.getInnerMostAxes(1,a)[0];if(u!==a-1)throw new Error(`WebGPU cumprod shader expects an inner-most axis=${e.shape.length-1} but got axis=${o}`);let c=p.shape[u],l=Ft({inputs:{x:p},backend:t});for(let m=0;m<=Math.ceil(Math.log2(c))-1;m++){let d=new Gl(r,p.shape,!1,s),f=l,h=[{type:\"float32\",data:[m]}];l=t.runWebGPUProgram(d,[l],l.dtype,h),t.disposeData(f.dataId)}if(n){let m=new Gl(r,p.shape,n,s),d=l,f=[{type:\"float32\",data:[0]}];l=t.runWebGPUProgram(m,[l],l.dtype,f),t.disposeData(d.dataId)}if(i!=null){let m=S.getUndoAxesPermutation(i),d=Nr({inputs:{x:l},backend:t,attrs:{perm:m}});return t.disposeData(l.dataId),t.disposeData(p.dataId),d}return l}function qre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,exclusive:a,reverse:i}=o;return Zg(Ku.Prod,n,t,s,a,i)}var nL={kernelName:jo,backendName:\"webgpu\",kernelFunc:qre};function Kre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,exclusive:a,reverse:i}=o;return Zg(Ku.Sum,n,t,s,a,i)}var sL={kernelName:Xo,backendName:\"webgpu\",kernelFunc:Kre};function jre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,weights:s}=e,{size:a,binaryOutput:i}=o,p=n.shape.length===1,c=y.sizeFromShape(s.shape)>0,l=s.dtype,m=p?[n.shape[0]]:[n.shape[0],n.shape[1]],d=p?[a]:[n.shape[0],a],f=dr({backend:t,attrs:{shape:d,value:0,dtype:l}}),h=new kc(m,c,i),g=[{type:\"int32\",data:[a]}],x=c?[n,s]:[n];return t.runWebGPUProgram(h,x,l,g,f)}var aL={kernelName:ti,backendName:\"webgpu\",kernelFunc:jre};var Jg=class{constructor(e,t){this.variableNames=[\"x\"],this.workgroupSize=[64,1,1],this.size=!0,this.uniforms=\"blockSize : i32,\",this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=`depthToSpace_${t}`,this.dataFormat=t}getUserCode(){return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let b = coords[0];\n let h = ${this.getHeightCoordString()};\n let w = ${this.getWidthCoordString()};\n let d = ${this.getDepthCoordString()};\n\n let in_h = h / uniforms.blockSize;\n let offset_h = h % uniforms.blockSize;\n let in_w = w / uniforms.blockSize;\n let offset_w = w % uniforms.blockSize;\n let offset_d = (offset_h * uniforms.blockSize + offset_w) *\n ${this.getOutputDepthSize()};\n let in_d = d + offset_d;\n\n let rlt = ${this.getInputSamplingString()};\n setOutputAtIndex(index, rlt);\n }\n }`}getHeightCoordString(){return this.dataFormat===\"NHWC\"?\"coords[1]\":\"coords[2]\"}getWidthCoordString(){return this.dataFormat===\"NHWC\"?\"coords[2]\":\"coords[3]\"}getDepthCoordString(){return this.dataFormat===\"NHWC\"?\"coords[3]\":\"coords[1]\"}getOutputDepthSize(){return this.dataFormat===\"NHWC\"?\"uniforms.outShape[3]\":\"uniforms.outShape[1]\"}getInputSamplingString(){return this.dataFormat===\"NHWC\"?\"getX(b, in_h, in_w, in_d)\":\"getX(b, in_d, in_h, in_w)\"}};function Xre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{blockSize:s,dataFormat:a}=o,i=n.shape[0],p=a===\"NHWC\"?n.shape[1]:n.shape[2],u=a===\"NHWC\"?n.shape[2]:n.shape[3],c=a===\"NHWC\"?n.shape[3]:n.shape[1],l=p*s,m=u*s,d=c/(s*s),f=a===\"NHWC\"?[i,l,m,d]:[i,d,l,m],h=[{type:\"int32\",data:[s]}],g=new Jg(f,a);return t.runWebGPUProgram(g,[n],n.dtype,h)}var iL={kernelName:Qo,backendName:\"webgpu\",kernelFunc:Xre};var ex=class{constructor(e,t,o,n=!1,s=null,a=!1){this.variableNames=[\"x\",\"W\"],this.uniforms=\"pad : vec2, inDims : vec2,\",this.workgroupSize=[16,16,1],this.outputShape=e,this.dispatchLayout={x:[3],y:[2],z:[0,1]},this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),n&&this.variableNames.push(\"bias\"),a&&this.variableNames.push(\"preluActivationWeights\"),this.addBias=n,this.activation=s,this.hasPreluActivation=a,this.filterHeight=t,this.filterWidth=o,this.shaderKey=`depthwiseNCHW_${this.activation}_${this.filterHeight}_${this.filterWidth}`}getUserCode(){let e=this.filterWidth*this.filterHeight,t=this.workgroupSize[0]*this.workgroupSize[1]*this.workgroupSize[2],o=this.workgroupSize[1]+this.filterHeight-1,n=this.workgroupSize[0]+this.filterWidth-1;return`\n ${ur(this.activation,this.hasPreluActivation,!1,4)}\n\n var mm_Asub : array, ${o}>;\n var mm_Bsub : array, ${this.filterHeight}>;\n fn readX(batch : i32, channel : i32, row : i32, col : i32) -> f32 {\n var value = 0.0;\n if (row >=0 && row < uniforms.inDims[0] && col >=0 && col < uniforms.inDims[1])\n {\n value = getX(batch, channel, row, col);\n }\n return value;\n }\n\n ${se()} {\n let coords = getOutputCoords();\n let batch = coords[0];\n let xRCCorner = vec2(coords.zw) - uniforms.pad;\n let channelMul = uniforms.wShape[3];\n let d1 = coords[1] / channelMul;\n let q = coords[1] % channelMul;\n\n let inputRowStart = xRCCorner.x;\n let inputColStart = xRCCorner.y;\n\n let localRow = i32(localId.y);\n let localCol = i32(localId.x);\n\n // Load one tile of X into local memory.\n for (var inputRow = localRow; inputRow < ${o}; inputRow = inputRow + ${this.workgroupSize[1]}) {\n for (var inputCol = localCol; inputCol < ${n}; inputCol = inputCol + ${this.workgroupSize[0]}) {\n let rowOffset = inputRow - localRow;\n let colOffset = inputCol - localCol;\n mm_Asub[inputRow][inputCol] = readX(batch, d1, inputRowStart + rowOffset, inputColStart + colOffset);\n }\n }\n\n // Load one tile of W into local memory.\n var wIndex = i32(localIndex);\n ${e, inDims : vec2,\",this.workgroupSize=[4,4,4],this.workPerThread=4,this.isVec4=!0,this.outputShape=e.outShape,this.dispatchLayout={x:[3],y:[2],z:[0,1]},this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,[4,this.workPerThread,1]),y.assert(e.dataFormat===\"channelsLast\",()=>\"TODO: NCHW is unimplemented\"),t&&this.variableNames.push(\"bias\"),n&&this.variableNames.push(\"preluActivationWeights\"),this.convInfo=e,this.addBias=t,this.activation=o,this.hasPreluActivation=n,this.shaderKey=`depthwiseVec4_${o}_${this.convInfo.filterHeight}_${this.convInfo.filterWidth}_${this.convInfo.strideHeight}_${this.convInfo.strideWidth}_${this.workPerThread}`}getUserCode(){let e=(this.workPerThread-1)*this.convInfo.strideWidth+this.convInfo.filterWidth;return`\n ${ur(this.activation,this.hasPreluActivation,!0,4)}\n fn readX(batch : i32, row : i32, col : i32, channel : i32) -> vec4 {\n var value = vec4(0.0);\n if (col >=0 && col < uniforms.inDims[1]) {\n value = getX(batch, row, col, channel);\n }\n return value;\n }\n\n const strideHeight = ${this.convInfo.strideHeight};\n const strideWidth = ${this.convInfo.strideWidth};\n ${se()} {\n let batch = i32(globalId.z) / uniforms.outShape[1];\n let r = i32(globalId.z) % uniforms.outShape[1];\n let c = i32(globalId.y) * ${this.workPerThread};\n let d1 = i32(globalId.x) * 4;\n let xRCCorner = vec2(r, c) * vec2(strideHeight, strideWidth) - uniforms.pad;\n\n let xRCorner = xRCCorner.x;\n let xCCorner = xRCCorner.y;\n var xVals : array, ${e}>;\n var dotProd : array, ${this.workPerThread}>;\n for (var i = 0; i < ${this.workPerThread}; i++) {\n dotProd[i] = vec4(0.0);\n }\n\n // Use constant instead of uniform can give better performance.\n for (var wR = 0; wR < ${this.convInfo.filterHeight}; wR = wR + 1) {\n let xR = xRCorner + wR;\n if (xR >=0 && xR < uniforms.inDims[0]) {\n for (var i = 0; i < ${e}; i++) {\n xVals[i] = readX(batch, xR, xCCorner + i, d1);\n }\n for (var wC = 0; wC < ${this.convInfo.filterWidth}; wC = wC + 1) {\n let wValue = getW(wR, wC, d1, 0);\n for (var i = 0; i < ${this.workPerThread}; i++) {\n dotProd[i] = fma(xVals[i * strideWidth + wC], wValue, dotProd[i]);\n }\n }\n }\n }\n\n for (var i = 0; i < ${this.workPerThread}; i = i + 1) {\n let coords = vec4(batch, r, c + i, d1);\n if (coordsInBounds4D(coords, uniforms.outShape)) {\n var value = dotProd[i];\n ${Hr(this.addBias,this.activation)}\n setOutputAtCoords(coords[0], coords[1], coords[2], coords[3], value);\n }\n }\n }\n `}};var _c=class{constructor(e,t=!1,o=null,n=!1){this.variableNames=[\"x\",\"W\"],this.uniforms=`pad : vec2, inDims : vec2, filterHeight : i32,\n filterWidth : i32, stride : vec2, dilation : vec2,`,this.workgroupSize=[256,1,1],this.size=!0,this.outputShape=e.outShape,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.isChannelsLast=e.dataFormat===\"channelsLast\",t&&this.variableNames.push(\"bias\"),n&&this.variableNames.push(\"preluActivationWeights\"),this.convInfo=e,this.addBias=t,this.activation=o,this.hasPreluActivation=n,this.shaderKey=`depthwise_${this.activation}_${this.isChannelsLast}`}getUserCode(){let e=this.isChannelsLast?\"getX(batch, xR, xC, d1);\":\"getX(batch, d1, xR, xC);\";return`\n ${ur(this.activation,this.hasPreluActivation,!1,4)}\n\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getOutputCoords();\n let batch = coords[0];\n let xRCCorner = vec2(coords.${this.isChannelsLast?\"yz\":\"zw\"}) * uniforms.stride - uniforms.pad;\n let d2 = coords[${this.isChannelsLast?3:1}];\n let channelMul = uniforms.wShape[3];\n let d1 = d2 / channelMul;\n let q = d2 % channelMul;\n\n let inputRowStart = xRCCorner.x;\n let inputColStart = xRCCorner.y;\n let inputRowEnd = inputRowStart + uniforms.filterHeight *\n uniforms.dilation[0];\n let inputColEnd = inputColStart + uniforms.filterWidth *\n uniforms.dilation[1];\n\n // Convolve x(?, ?, d1)|x(d1, ?, ?) with w(:, :, d1, q) to get\n // y(yR, yC, d2)|y(d2, yR, yC). ? = to be determined. : = across all\n // values in that axis. x(?, ?, d1) and y(yR, yC, d2) is for NHWC.\n // x(d1, ?, ?) and y(d2, yR, yC) is for NCHW.\n var value = 0.0;\n\n // Extract if checking out of for loop for performance.\n if (inputRowStart >= 0 && inputColStart >= 0 &&\n inputRowEnd < uniforms.inDims[0] &&\n inputColEnd < uniforms.inDims[1]) {\n for (var wR = 0; wR < uniforms.filterHeight; wR = wR + 1) {\n let xR = inputRowStart + wR * uniforms.dilation[0];\n\n for (var wC = 0; wC < uniforms.filterWidth; wC = wC + 1) {\n let xC = inputColStart + wC * uniforms.dilation[1];\n\n let xVal = ${e};\n let wVal = getW(wR, wC, d1, q);\n value = value + xVal * wVal;\n }\n }\n } else {\n for (var wR = 0; wR < uniforms.filterHeight; wR = wR + 1) {\n let xR = inputRowStart + wR * uniforms.dilation[0];\n\n if (xR < 0 || xR >= uniforms.inDims[0]) {\n continue;\n }\n\n for (var wC = 0; wC < uniforms.filterWidth; wC = wC + 1) {\n let xC = inputColStart + wC * uniforms.dilation[1];\n\n if (xC < 0 || xC >= uniforms.inDims[1]) {\n continue;\n }\n\n let xVal = ${e};\n let wVal = getW(wR, wC, d1, q);\n value = value + xVal * wVal;\n }\n }\n }\n ${Hr(this.addBias,this.activation)}\n setOutputAtCoords(coords[0], coords[1], coords[2], coords[3], value);\n }\n }\n `}};function Yre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s}=e,{strides:a,pad:i,dataFormat:p,dilations:u,dimRoundingMode:c}=o,l=S.convertConv2DDataFormat(p),m=u;m==null&&(m=[1,1]);let d=S.computeConv2DInfo(n.shape,s.shape,a,m,i,c,!0,l),f=[{type:\"int32\",data:[d.padInfo.top,d.padInfo.left]},{type:\"int32\",data:[d.inHeight,d.inWidth]}],h=d.dataFormat===\"channelsLast\",g;return!h&&d.inHeight>16&&d.inWidth>16&&d.strideHeight===1&&d.strideWidth===1&&d.dilationWidth===1&&d.dilationHeight===1&&d.inChannels===d.outChannels?g=new ex(d.outShape,d.filterHeight,d.filterWidth):h&&d.outHeight>4&&d.outWidth>4&&d.strideWidth<=2&&d.inChannels===d.outChannels&&d.dilationHeight===1&&d.dilationWidth===1&&d.inChannels%4===0?g=new Tc(d):(g=new _c(d),f.push({type:\"int32\",data:[d.filterHeight]},{type:\"int32\",data:[d.filterWidth]},{type:\"int32\",data:[d.strideHeight,d.strideWidth]},{type:\"int32\",data:[d.dilationHeight,d.dilationWidth]})),t.runWebGPUProgram(g,[n,s],n.dtype,f)}var uL={kernelName:Zo,backendName:\"webgpu\",kernelFunc:Yre};var dI=ot({opType:ye.MUL,cpuKernelImpl:aM,supportsComplex:!0}),pL={kernelName:kn,backendName:\"webgpu\",kernelFunc:dI};function Hl(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o;return qr(n,s,a,\"sum\",t)}var cL={kernelName:Hn,backendName:\"webgpu\",kernelFunc:Hl};function Qre(r){let{inputs:e,backend:t,attrs:o}=r,{equation:n}=o,s=e,{allDims:a,summedDims:i,idDims:p}=S.decodeEinsumEquation(n,s.length);S.checkEinsumDimSizes(a.length,p,s);let{path:u,steps:c}=S.getEinsumComputePath(i,p),l=c.length,m=null,d=a.length,f=[];for(let h=0;h=0&&(m=Hl({inputs:{x:m},backend:t,attrs:{axis:u[h]-(a.length-d),keepDims:!1}}),f.push(m)),d--)}for(let h of f)h!==m&&t.disposeData(h.dataId);return m}var lL={kernelName:ri,backendName:\"webgpu\",kernelFunc:Qre};var Zre=Se({opType:Q.ELU}),mL={kernelName:en,backendName:\"webgpu\",kernelFunc:Zre};var Jre=ot({opType:ye.EQUAL,dtype:\"bool\",cpuKernelImpl:q3}),dL={kernelName:tn,backendName:\"webgpu\",kernelFunc:Jre};var eoe=Se({opType:Q.ERF}),fL={kernelName:ma,backendName:\"webgpu\",kernelFunc:eoe};var fI=Se({opType:Q.EXP,cpuKernelImpl:K3,dtype:\"float32\"}),hL={kernelName:rn,backendName:\"webgpu\",kernelFunc:fI};function tx(r){let{inputs:e,attrs:t,backend:o}=r,{dim:n}=t,{input:s}=e,a=s.shape.length,i=s.shape.slice(),p=n;return n<0&&(y.assert(-(a+1)<=n,()=>`Axis must be in the interval [${-(a+1)}, ${a}]`),p=a+n+1),i.splice(p,0,1),de({inputs:{x:s},backend:o,attrs:{shape:i}})}var gL={kernelName:bs,backendName:\"webgpu\",kernelFunc:tx};var toe=Se({opType:Q.EXPM1,cpuKernelImpl:j3}),xL={kernelName:da,backendName:\"webgpu\",kernelFunc:toe};var ql=class{constructor(e,t){this.variableNames=[\"real\",\"imag\"],this.outputShape=[],this.uniforms=\"exponentMultiplier : f32, denominator: f32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=t,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.component=e,this.shaderKey=`fft_${e}`}getUserCode(){return`\n fn unaryOpComplex(real: f32, expR: f32, imag: f32, expI: f32) -> f32 {\n ${this.component===\"real\"?\"return real * expR - imag * expI;\":\"return real * expI + imag * expR;\"}\n }\n\n fn mulMatDFT(batch: i32, index: i32) -> f32 {\n let indexRatio = f32(index) / f32(uniforms.realShape[1]);\n let exponentMultiplierTimesIndexRatio =\n uniforms.exponentMultiplier * indexRatio;\n\n var result = 0.0;\n\n for (var i = 0; i < uniforms.realShape[1]; i = i + 1) {\n // x = (-2|2 * PI / N) * index * i;\n let x = exponentMultiplierTimesIndexRatio * f32(i);\n let expR = cos(x);\n let expI = sin(x);\n let real = getReal(batch, i);\n let imag = getImag(batch, i);\n\n result = result +\n unaryOpComplex(real, expR, imag, expI) / uniforms.denominator;\n }\n\n return result;\n }\n\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getOutputCoords();\n setOutputAtIndex(index, mulMatDFT(coords[0], coords[1]));\n }\n }\n `}};function rx(r,e,t){let o=t.tensorMap.get(r.dataId),n=y.sizeFromShape(r.shape),s=r.shape[r.shape.length-1],a=n/s,i=[],p=de({inputs:{x:r},backend:t,attrs:{shape:[a,s]}});i.push(p);let u=p.shape,c=new ql(\"real\",u),l=new ql(\"imag\",u),m=[{dataId:o.complexTensorInfos.real.dataId,dtype:o.complexTensorInfos.real.dtype,shape:u},{dataId:o.complexTensorInfos.imag.dataId,dtype:o.complexTensorInfos.imag.dtype,shape:u}],d=e?2*Math.PI:-2*Math.PI,f=e?u[1]:1,h=[{type:\"float32\",data:[d]},{type:\"float32\",data:[f]}],g=t.runWebGPUProgram(c,m,\"float32\",h);i.push(g);let x=t.runWebGPUProgram(l,m,\"float32\",h);i.push(x);let b=po({inputs:{real:g,imag:x},backend:t});i.push(b);let C=de({inputs:{x:b},backend:t,attrs:{shape:r.shape}});return i.forEach(w=>t.disposeData(w.dataId)),C}function roe(r){let{inputs:e,backend:t}=r,{input:o}=e;return rx(o,!1,t)}var yL={kernelName:oi,backendName:\"webgpu\",kernelFunc:roe};var ox=class{constructor(e){this.outputShape=[],this.variableNames=[\"x\"],this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=\"flipLeftRight\"}getUserCode(){return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let coordX = uniforms.xShape[2] - coords[2] - 1;\n let outputValue = getX(coords[0], coords[1], coordX, coords[3]);\n setOutputAtIndex(index, outputValue);\n }\n }\n `}};var bL={kernelName:on,backendName:\"webgpu\",kernelFunc:({inputs:r,backend:e})=>{let{image:t}=r,o=e,n=new ox(t.shape);return o.runWebGPUProgram(n,[t],t.dtype)}};var ooe=Se({opType:Q.FLOOR,cpuKernelImpl:X3}),CL={kernelName:nn,backendName:\"webgpu\",kernelFunc:ooe};var noe=ot({opType:ye.INT_DIV,dtype:\"int32\"}),SL={kernelName:sn,backendName:\"webgpu\",kernelFunc:noe};var nx=class{constructor(e,t,o=!1){this.isFromPixels=!0,this.outputShape=[0],this.variableNames=[],this.workgroupSize=[256,1,1],this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,[t,1,1]),this.importVideo=o,this.shaderKey=`fromPixels_${this.importVideo}`}getUserCode(){let e=this.importVideo?\"textureLoad(src, vec2(coords.yx));\":\"textureLoad(src, vec2(coords.yx), 0)\";return`\n @binding(1) @group(0) var src: ${this.importVideo?\"texture_external\":\"texture_2d\"};\n ${se(\"index\")} {\n let flatIndex = index * uniforms.numChannels;\n if (flatIndex < uniforms.size) {\n let coords = getCoordsFromIndex(flatIndex);\n let values = ${e};\n for (var i = 0; i < uniforms.numChannels; i = i + 1) {\n result[flatIndex + i] = i32(floor(255.0 * values[i]));\n }\n }\n }\n `}};var wL={kernelName:Zi,backendName:\"webgpu\",kernelFunc:soe},Ec,hI=O().getBool(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\"),sx=new Map;function soe(r){let{inputs:e,backend:t,attrs:o}=r,{pixels:n}=e,{numChannels:s}=o;if(n==null)throw new Error(\"pixels passed to tf.browser.fromPixels() can not be null\");let a=typeof HTMLVideoElement!=\"undefined\"&&n instanceof HTMLVideoElement,i=typeof HTMLImageElement!=\"undefined\"&&n instanceof HTMLImageElement,p=typeof HTMLCanvasElement!=\"undefined\"&&n instanceof HTMLCanvasElement||typeof OffscreenCanvas!=\"undefined\"&&n instanceof OffscreenCanvas,u=typeof ImageBitmap!=\"undefined\"&&n instanceof ImageBitmap,[c,l]=a?[n.videoWidth,n.videoHeight]:[n.width,n.height],m=[l,c,s],d=!1,f=a||i;if(u||p||f){let b;if(d){let D=n;if(!sx.has(D)||sx.get(D).expired){let P={source:D};sx.set(D,t.device.importExternalTexture(P))}b={width:c,height:l,format:null,usage:null,texture:sx.get(D)}}else{if(f){let L=O().getBool(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\");(Ec==null||L!==hI)&&(hI=L,Ec=document.createElement(\"canvas\").getContext(\"2d\",{willReadFrequently:hI})),Ec.canvas.width=c,Ec.canvas.height=l,Ec.drawImage(n,0,0,c,l),n=Ec.canvas}let D=GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING,P=\"rgba8unorm\",M=t.textureManager.acquireTexture(m[1],m[0],P,D);t.queue.copyExternalImageToTexture({source:n},{texture:M},[m[1],m[0]]),b={width:c,height:l,format:P,usage:D,texture:M}}let C=y.sizeFromShape(m),w=y.computeStrides(m),k=new nx(m,s,d),_=[{type:\"uint32\",data:[C]},{type:\"uint32\",data:[s]},{type:\"uint32\",data:[...w]}],$=t.makeTensorInfo([l,c],\"int32\"),A=t.tensorMap.get($.dataId);A.resourceInfo=b;let R=t.runWebGPUProgram(k,[$],\"int32\",_);return t.disposeData($.dataId),R}let h=n.data,g=h;if(s!=null&&s!==4){g=new Uint8Array(n.width*n.height*s);let b=h.length,C=0;for(let w=0;w(xValue, -meanValue, offsetValue), vec3(inv, inv, 1.0)));\n }\n }\n `}};var IL={kernelName:an,backendName:\"webgpu\",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{x:o,scale:n,offset:s,mean:a,variance:i}=r,{varianceEpsilon:p}=e,u=t,c=[o,a,i],l=null;s!=null&&(l=s.shape,c.push(s));let m=null;n!=null&&(m=n.shape,c.push(n));let d=new ax(o.shape,a.shape,i.shape,l,m),f=[{type:\"float32\",data:[p]}];return u.runWebGPUProgram(d,c,o.dtype,f)}};function aoe(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s,bias:a,preluActivationWeights:i}=e,{strides:p,pad:u,dataFormat:c,dilations:l,dimRoundingMode:m,activation:d,leakyreluAlpha:f}=o,h=S.convertConv2DDataFormat(c),g=S.computeConv2DInfo(n.shape,s.shape,p,l,u,m,!1,h);return jg({x:n,filter:s,convInfo:g,backend:t,bias:a,preluActivationWeights:i,leakyreluAlpha:f,activation:d})}var vL={kernelName:ho,backendName:\"webgpu\",kernelFunc:aoe};function ioe(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s,bias:a,preluActivationWeights:i}=e,{strides:p,pad:u,dilations:c,dimRoundingMode:l,activation:m,leakyreluAlpha:d}=o,f=c;f==null&&(f=[1,1]),y.assert(S.eitherStridesOrDilationsAreOne(p,f),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${p} and dilations '${f}'`);let h=S.computeConv2DInfo(n.shape,s.shape,p,f,u,l,!0),g=[n,s],x=a!=null,b=i!=null;x&&g.push(a),b&&g.push(i);let C=[{type:\"int32\",data:[h.padInfo.top,h.padInfo.left]},{type:\"int32\",data:[h.inHeight,h.inWidth]}],w;return h.outHeight>4&&h.outWidth>4&&h.strideWidth<=2&&h.inChannels===h.outChannels&&h.dilationHeight===1&&h.dilationWidth===1&&h.inChannels%4===0?w=new Tc(h,x,m,b):(w=new _c(h,x,m,b),C.push({type:\"int32\",data:[h.filterHeight]},{type:\"int32\",data:[h.filterWidth]},{type:\"int32\",data:[h.strideHeight,h.strideWidth]},{type:\"int32\",data:[h.dilationHeight,h.dilationWidth]})),m===\"leakyrelu\"&&(C.push({type:\"float32\",data:[d]}),w.uniforms+=\" alpha : f32,\"),t.runWebGPUProgram(w,g,\"float32\",C)}var kL={kernelName:go,backendName:\"webgpu\",kernelFunc:ioe};var ix=class{constructor(e,t){this.variableNames=[\"A\",\"indices\"],this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=t,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=`gathernd_${e}`,this.sliceDim=e,this.uniforms=`sliceDim : i32, strides : ${Rt(e)},`}getUserCode(){let e;return this.sliceDim>1?e=\"uniforms.strides[j]\":e=\"uniforms.strides\",`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n var flattenIndex = 0;\n for (var j = 0; j < uniforms.sliceDim; j = j + 1) {\n let indexTemp = i32(round(getIndices(coords[0], j)));\n let strideNum = ${e};\n flattenIndex = flattenIndex + indexTemp * strideNum;\n }\n\n setOutputAtIndex(index, getA(flattenIndex, coords[1]));\n }\n }\n `}};function uoe(r){let{inputs:e,backend:t}=r,{params:o,indices:n}=e,s=n.shape,a=s[s.length-1],i=y.sizeFromShape(o.shape),[p,u,c,l]=S.prepareAndValidate(o,n),m=de({inputs:{x:n},backend:t,attrs:{shape:[u,a]}}),d=de({inputs:{x:o},backend:t,attrs:{shape:[y.sizeFromShape(o.shape)/c,c]}});if(t.shouldExecuteOnCPU([o,n])||o.dtype===\"string\"){let b=t.readSync(n.dataId),C=t.bufferSync(o),w=Y3(b,C,o.dtype,u,a,c,l,o.shape,i);return t.makeTensorInfo(p,o.dtype,w.values)}let f=new ix(a,[u,c]),h=[{type:\"int32\",data:[a]},{type:\"int32\",data:l}],g=t.runWebGPUProgram(f,[d,m],d.dtype,h),x=de({inputs:{x:g},backend:t,attrs:{shape:p}});return t.disposeData(m.dataId),t.disposeData(d.dataId),t.disposeData(g.dataId),x}var NL={kernelName:un,backendName:\"webgpu\",kernelFunc:uoe};var ux=class{constructor(e,t){this.variableNames=[\"A\",\"indices\"],this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e.slice(),this.aShape=e,this.outputShape=t,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=\"gather\"}getUserCode(){let e=poe(this.aShape);return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let resRC = getCoordsFromIndex(index);\n let indexZ = i32(getIndices(resRC.x, resRC.z));\n let inBounds = select(0.0, 1.0, indexZ >= 0 && indexZ < uniforms.aShape[2]);\n setOutputAtIndex(index, inBounds * getA(${e}));\n }\n }\n `}};function poe(r){let e=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],t=[];for(let o=0;ot.disposeData(R.dataId)),t.makeTensorInfo(u.outputShape,A.dtype,A.values)}let h=new ux(m.shape,f),g=t.runWebGPUProgram(h,[m,d],m.dtype);l.push(g);let x=de({inputs:{x:g},backend:t,attrs:{shape:u.outputShape}});return l.forEach(b=>t.disposeData(b.dataId)),x}var TL={kernelName:Ss,backendName:\"webgpu\",kernelFunc:gI};var coe=ot({opType:ye.GREATER,cpuKernelImpl:J3,dtype:\"bool\"}),_L={kernelName:pn,backendName:\"webgpu\",kernelFunc:coe};var loe=ot({opType:ye.GREATER_EQUAL,dtype:\"bool\",cpuKernelImpl:Z3}),EL={kernelName:cn,backendName:\"webgpu\",kernelFunc:loe};function moe(r){let{inputs:e,backend:t}=r,{input:o}=e;return rx(o,!0,t)}var $L={kernelName:ni,backendName:\"webgpu\",kernelFunc:moe};var doe=Se({opType:Q.IS_FINITE,dtype:\"bool\"}),AL={kernelName:fa,backendName:\"webgpu\",kernelFunc:doe};var foe=Se({opType:Q.IS_INF,dtype:\"bool\"}),RL={kernelName:ha,backendName:\"webgpu\",kernelFunc:foe};var hoe=Se({opType:Q.IS_NAN,dtype:\"bool\"}),FL={kernelName:ln,backendName:\"webgpu\",kernelFunc:hoe};function goe(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{alpha:s}=o,a=[{type:\"float32\",data:[s]}],i=new Ro(n.shape,Q.LEAKYRELU);return i.uniforms=\"alpha : f32,\",t.runWebGPUProgram(i,[n],\"float32\",a)}var DL={kernelName:mn,backendName:\"webgpu\",kernelFunc:goe};var xoe=ot({opType:ye.LESS,dtype:\"bool\",cpuKernelImpl:tM}),OL={kernelName:dn,backendName:\"webgpu\",kernelFunc:xoe};var yoe=ot({opType:ye.LESS_EQUAL,dtype:\"bool\",cpuKernelImpl:eM}),PL={kernelName:fn,backendName:\"webgpu\",kernelFunc:yoe};var boe=Se({opType:Q.LOG,cpuKernelImpl:rM}),ML={kernelName:hn,backendName:\"webgpu\",kernelFunc:boe};var Coe=Se({opType:Q.LOG1P}),LL={kernelName:ga,backendName:\"webgpu\",kernelFunc:Coe};var Soe=ot({opType:ye.LOGICAL_AND,dtype:\"bool\"}),BL={kernelName:gn,backendName:\"webgpu\",kernelFunc:Soe};var woe=Se({opType:Q.LOGICAL_NOT}),VL={kernelName:xn,backendName:\"webgpu\",kernelFunc:woe};var Ioe=ot({opType:ye.MAX,cpuKernelImpl:nM}),zL={kernelName:bn,backendName:\"webgpu\",kernelFunc:Ioe};function voe(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{filterSize:s,strides:a,pad:i,dimRoundingMode:p}=o,u=1,c=S.computePool2DInfo(n.shape,s,a,u,i,p);return Bg(n,c,\"max\",t)}var WL={kernelName:Cn,backendName:\"webgpu\",kernelFunc:voe};function koe(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o;return qr(n,s,a,\"min\",t)}var UL={kernelName:wn,backendName:\"webgpu\",kernelFunc:koe};var Noe=ot({opType:ye.MIN,cpuKernelImpl:sM}),GL={kernelName:In,backendName:\"webgpu\",kernelFunc:Noe};var px=class{constructor(e,t,o){this.uniforms=\"\",this.variableNames=[\"x\"],this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=t.map((n,s)=>n[0]+e[s]+n[1]),this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.xShape=e,t.map((n,s)=>{this.uniforms+=` pad${s} : vec2,`}),this.offset=o===\"reflect\"?0:1,this.shaderKey=`mirrorPad_${o}`}getUserCode(){let e=this.xShape.length,t=this.xShape.map((u,c)=>`uniforms.pad${c}[0]`).join(\",\"),o=this.xShape.map((u,c)=>`uniforms.pad${c}[0] + uniforms.xShape${e>1?`[${c}]`:\"\"}`).join(\",\"),n=e===1?\"start\":\"start[i]\",s=e===1?\"end\":\"end[i]\",a=e===1?\"outC\":\"outC[i]\",i=Rt(e),p=e>1?[\"coords[0]\",\"coords[1]\",\"coords[2]\",\"coords[3]\"].slice(0,e):\"coords\";return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let start = ${i}(${t});\n let end = ${i}(${o});\n var outC = getCoordsFromIndex(index);\n for (var i = 0; i < ${e}; i = i + 1) {\n if (${a} < ${n}) {\n ${a} = ${n} * 2 - ${a} - ${this.offset};\n } else if(${a} >= ${s}) {\n ${a} = (${s} - 1) * 2 - ${a} + ${this.offset};\n }\n }\n let coords = outC - start;\n setOutputAtIndex(index, getX(${p}));\n }\n }\n `}};var HL={kernelName:vn,backendName:\"webgpu\",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{x:o}=r,{paddings:n,mode:s}=e,a=t,i=n.map(c=>({type:\"int32\",data:[c[0],c[1]]})),p=new px(o.shape,n,s);return a.runWebGPUProgram(p,[o],o.dtype,i)}};var Toe=ot({opType:ye.MOD}),qL={kernelName:ya,backendName:\"webgpu\",kernelFunc:Toe};function _oe(r){let{inputs:e,backend:t}=r,{x:o}=e;if(t.shouldExecuteOnCPU([o])){let s=t.tensorMap.get(o.dataId),[a,i]=iM(s.values,o.shape,o.dtype);return t.makeTensorInfo(i,o.dtype,a)}let n=new Ro(o.shape,Q.NEG);return t.runWebGPUProgram(n,[o],o.dtype)}var KL={kernelName:ws,backendName:\"webgpu\",kernelFunc:_oe};function Eoe(r){console.warn(\"tf.nonMaxSuppression() in webgpu locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:e,backend:t,attrs:o}=r,{boxes:n,scores:s}=e,{maxOutputSize:a,iouThreshold:i,scoreThreshold:p}=o,u=t.readSync(n.dataId),c=t.readSync(s.dataId),{selectedIndices:l}=Lt.nonMaxSuppressionV3Impl(u,c,a,i,p);return t.makeTensorInfo([l.length],\"int32\",new Int32Array(l))}var jL={kernelName:Tn,backendName:\"webgpu\",kernelFunc:Eoe};function $oe(r){console.warn(\"tf.nonMaxSuppression() in webgpu locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:e,backend:t,attrs:o}=r,{boxes:n,scores:s}=e,{maxOutputSize:a,iouThreshold:i,scoreThreshold:p,softNmsSigma:u}=o,c=t.readSync(n.dataId),l=t.readSync(s.dataId),m=a,d=i,f=p,h=u,{selectedIndices:g,selectedScores:x}=Lt.nonMaxSuppressionV5Impl(c,l,m,d,f,h);return[t.makeTensorInfo([g.length],\"int32\",new Int32Array(g)),t.makeTensorInfo([x.length],\"float32\",new Float32Array(x))]}var XL={kernelName:_n,backendName:\"webgpu\",kernelFunc:$oe};var cx=class{constructor(e,t){this.variableNames=[\"x\"],this.uniforms=\"onValue : f32, offValue : f32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=[e,t],this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=\"onehot\"}getUserCode(){return`\n ${se(\"index\")} {\n if(index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n setOutputAtIndex(index, mix(uniforms.offValue, uniforms.onValue,\n f32(i32(round(getX(coords.x))) == coords.y)));\n }\n }\n `}};function Aoe(r){let{inputs:e,backend:t,attrs:o}=r,{indices:n}=e,{dtype:s,depth:a,onValue:i,offValue:p}=o,u=y.sizeFromShape(n.shape),c=new cx(u,a),l=de({inputs:{x:n},backend:t,attrs:{shape:[u]}}),m=[{type:\"float32\",data:[i]},{type:\"float32\",data:[p]}],d=t.runWebGPUProgram(c,[l],s,m);t.disposeData(l.dataId);let f=[...n.shape,a],h=de({inputs:{x:d},backend:t,attrs:{shape:f}});return t.disposeData(d.dataId),h}var YL={kernelName:En,backendName:\"webgpu\",kernelFunc:Aoe};function Kl(r){let{inputs:e,backend:t}=r,{x:o}=e;if(o.dtype===\"complex64\"){let n=qa({inputs:{input:o},backend:t}),s=Kl({inputs:{x:n},backend:t}),a=qu({inputs:{input:o},backend:t}),i=Kl({inputs:{x:a},backend:t}),p=po({inputs:{real:s,imag:i},backend:t});return t.disposeData(n.dataId),t.disposeData(s.dataId),t.disposeData(a.dataId),t.disposeData(i.dataId),p}else return dr({attrs:{shape:o.shape,dtype:o.dtype,value:o.dtype===\"string\"?\"\":0},backend:t})}var QL={kernelName:Fs,backendName:\"webgpu\",kernelFunc:Kl};function ZL(r){let{inputs:e,backend:t}=r,{x:o}=e;if(o.dtype===\"string\")throw new Error(\"onesLike is not supported under string dtype\");if(o.dtype===\"complex64\"){let n=qa({inputs:{input:o},backend:t}),s=ZL({inputs:{x:n},backend:t}),a=qu({inputs:{input:o},backend:t}),i=Kl({inputs:{x:a},backend:t}),p=po({inputs:{real:s,imag:i},backend:t});return t.disposeData(n.dataId),t.disposeData(s.dataId),t.disposeData(a.dataId),t.disposeData(i.dataId),p}else return dr({attrs:{shape:o.shape,dtype:o.dtype,value:1},backend:t})}var JL={kernelName:Is,backendName:\"webgpu\",kernelFunc:ZL};function Roe(r){let{inputs:e,backend:t,attrs:o}=r,{axis:n}=o;if(e.length===1)return tx({inputs:{input:e[0]},backend:t,attrs:{dim:n}});let s=e[0].shape,a=e[0].dtype;e.forEach(c=>{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(a===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let i=[],p=e.map(c=>{let l=tx({inputs:{input:c},backend:t,attrs:{dim:n}});return i.push(l),l}),u=mI({inputs:p,backend:t,attrs:{axis:n}});return i.forEach(c=>t.disposeData(c.dataId)),u}var eB={kernelName:vs,backendName:\"webgpu\",kernelFunc:Roe};var lx=class{constructor(e,t){this.variableNames=[\"x\"],this.uniforms=\"constantValue : f32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=t.map((o,n)=>o[0]+e[n]+o[1]),this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),t.map((o,n)=>{this.uniforms+=` pad${n} : vec2,`}),this.xShape=e,this.shaderKey=\"pad\"}getUserCode(){let e=this.xShape.length,t=Rt(e),o=this.xShape.map((l,m)=>`uniforms.pad${m}[0]`).join(\",\"),n=this.xShape.map((l,m)=>`uniforms.pad${m}[0] + uniforms.xShape${e>1?`[${m}]`:\"\"}`).join(\",\"),s=e>1?`${t}(${o})`:`${o}`,a=e>1?`${t}(${n})`:`${n}`,i=e>1?\"any(outC < start)\":\"outC < start\",p=e>1?\"any(outC >= end)\":\"outC >= end\",u=e>1?[\"coords[0]\",\"coords[1]\",\"coords[2]\",\"coords[3]\"].slice(0,e):\"coords\";return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let start = ${s};\n let end = ${a};\n let outC = getCoordsFromIndex(index);\n\n if (${i} || ${p}) {\n setOutputAtIndex(index, uniforms.constantValue);\n } else {\n let coords = outC - start;\n setOutputAtIndex(index, getX(${u}));\n }\n }\n }\n `}};var xI=r=>{let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{paddings:s,constantValue:a}=o;if(s.every(u=>y.arraysEqual(u,[0,0])))return Ft({inputs:{x:n},backend:t});if(y.sizeFromShape(n.shape)===0){let u=s.map((c,l)=>c[0]+n.shape[l]+c[1]);return dr({backend:t,attrs:{shape:u,value:a,dtype:n.dtype}})}let i=[{type:\"float32\",data:[a]}];s.map(u=>i.push({type:\"int32\",data:[u[0],u[1]]}));let p=new lx(n.shape,s);return t.runWebGPUProgram(p,[n],n.dtype,i)},tB={kernelName:$n,backendName:\"webgpu\",kernelFunc:xI};var Foe=ot({opType:ye.POW}),rB={kernelName:An,backendName:\"webgpu\",kernelFunc:Foe};function Doe(r){let{inputs:e,backend:t}=r,{x:o,alpha:n}=e,s=new Hu(ye.PRELU,o.shape,n.shape);return t.runWebGPUProgram(s,[o,n],\"float32\")}var oB={kernelName:Rn,backendName:\"webgpu\",kernelFunc:Doe};function Ooe(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o;return qr(n,s,a,\"prod\",t)}var nB={kernelName:Fn,backendName:\"webgpu\",kernelFunc:Ooe};var Poe=r=>{let{backend:e,attrs:t}=r,{start:o,stop:n,step:s,dtype:a}=t,i=cM(o,n,s,a);return e.makeTensorInfo([i.length],a,i)},sB={kernelName:ks,backendName:\"webgpu\",kernelFunc:Poe};var yI=ot({opType:ye.DIV}),aB={kernelName:Jo,backendName:\"webgpu\",kernelFunc:yI};var Moe=Se({opType:Q.RECIPROCAL}),iB={kernelName:Dn,backendName:\"webgpu\",kernelFunc:Moe};var Loe=Se({opType:Q.RELU}),uB={kernelName:On,backendName:\"webgpu\",kernelFunc:Loe};var Boe=Se({opType:Q.RELU6}),pB={kernelName:Ln,backendName:\"webgpu\",kernelFunc:Boe};var mx=class{constructor(e,t,o){this.variableNames=[\"x\"],this.uniforms=\"adjustHeightWidth : vec2, halfPixelCenters : f32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=[e[0],t,o,e[3]],this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=\"resizeBilinear\"}getUserCode(){return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let b = coords[0];\n let d = coords[3];\n let rc = coords.yz;\n\n let effectiveInSize = vec2(\n f32(uniforms.xShape.y) - uniforms.adjustHeightWidth[0],\n f32(uniforms.xShape.z) - uniforms.adjustHeightWidth[1]);\n\n let effectiveOutSize = vec2(\n f32(uniforms.outShape.y) - uniforms.adjustHeightWidth[0],\n f32(uniforms.outShape.z) - uniforms.adjustHeightWidth[1]);\n\n let effectiveInputOverOutputRatioRC =\n effectiveInSize / effectiveOutSize;\n\n // Fractional source index\n let sourceFracIndexRC =\n (vec2(rc) + vec2(uniforms.halfPixelCenters)) *\n effectiveInputOverOutputRatioRC - vec2(uniforms.halfPixelCenters);\n\n // Compute the four integer indices.\n let sourceFloorRC = vec2(sourceFracIndexRC);\n let sourceCeilRC = vec2(\n min(vec2(uniforms.xShape.yz) - vec2(1.0), ceil(sourceFracIndexRC)));\n\n let topLeft = getX(b, sourceFloorRC.x, sourceFloorRC.y, d);\n let bottomLeft = getX(b, sourceCeilRC.x, sourceFloorRC.y, d);\n let topRight = getX(b, sourceFloorRC.x, sourceCeilRC.y, d);\n let bottomRight = getX(b, sourceCeilRC.x, sourceCeilRC.y, d);\n\n let fracRC = sourceFracIndexRC - vec2(sourceFloorRC);\n\n let top = topLeft + (topRight - topLeft) * fracRC.y;\n let bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y;\n let newValue = top + (bottom - top) * fracRC.x;\n\n setOutputAtIndex(index, newValue);\n }\n }\n `}};function Voe(r){let{inputs:e,backend:t,attrs:o}=r,{images:n}=e,{alignCorners:s,size:a,halfPixelCenters:i}=o,[p,u]=a,c=s&&p>1?1:0,l=s&&u>1?1:0,d=[{type:\"float32\",data:[c,l]},{type:\"float32\",data:[i?.5:0]}],f=new mx(n.shape,p,u);return t.runWebGPUProgram(f,[n],\"float32\",d)}var cB={kernelName:Mn,backendName:\"webgpu\",kernelFunc:Voe};var dx=class{constructor(e,t,o,n){this.variableNames=[\"x\"],this.uniforms=\"adjustHeightWidth : vec2, roundBase : f32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=[e[0],t,o,e[3]],this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.halfPixelCenters=n,this.shaderKey=`resizeNearest_${n}`}getUserCode(){let e;return this.halfPixelCenters?e=\"max((vec2(rc) + vec2(0.5)) * effectiveInputOverOutputRatioRC, vec2(0.0))\":e=\"vec2(rc) * effectiveInputOverOutputRatioRC\",`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let b = coords[0];\n let d = coords[3];\n let rc = coords.yz;\n\n let effectiveInSize = vec2(\n f32(uniforms.xShape.y) - uniforms.adjustHeightWidth[0],\n f32(uniforms.xShape.z) - uniforms.adjustHeightWidth[1]);\n\n let effectiveOutSize = vec2(\n f32(uniforms.outShape.y) - uniforms.adjustHeightWidth[0],\n f32(uniforms.outShape.z) - uniforms.adjustHeightWidth[1]);\n\n let effectiveInputOverOutputRatioRC =\n effectiveInSize / effectiveOutSize;\n\n // Fractional source index\n let sourceFracIndexRC = ${e};\n\n // Compute the coordinators of nearest neighbor point.\n let inputShapeRC = vec2(f32(uniforms.xShape.y), f32(uniforms.xShape.z));\n let sourceNearestRC = vec2(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + uniforms.roundBase)));\n let newValue = getX(b, sourceNearestRC.x, sourceNearestRC.y, d);\n\n setOutputAtIndex(index, newValue);\n }\n }\n `}};function zoe(r){let{inputs:e,backend:t,attrs:o}=r,{images:n}=e,{alignCorners:s,halfPixelCenters:a,size:i}=o,[p,u]=i,c=s&&p>1?1:0,l=s&&u>1?1:0,d=[{type:\"float32\",data:[c,l]},{type:\"float32\",data:[s?.5:0]}],f=new dx(n.shape,p,u,a);return t.runWebGPUProgram(f,[n],n.dtype,d)}var lB={kernelName:Pn,backendName:\"webgpu\",kernelFunc:zoe};var fx=class{constructor(e){this.variableNames=[\"x\"],this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.uniforms=\" axis : vec4,\",this.shaderKey=\"reverse\"}getUserCode(){return`\n \n // Using uniform variables as judging conditions, so the function has\n // coherent execution within all threads.\n fn getReverseCoords(coords : vec4) -> vec4 {\n var reverseCoords = coords;\n if (uniforms.axis[0] == 1) {\n reverseCoords[0] = uniforms.xShape[0] - coords[0] - 1;\n }\n if (uniforms.axis[1] == 1) {\n reverseCoords[1] = uniforms.xShape[1] - coords[1] - 1;\n }\n if (uniforms.axis[2] == 1) {\n reverseCoords[2] = uniforms.xShape[2] - coords[2] - 1;\n }\n if (uniforms.axis[3] == 1) {\n reverseCoords[3] = uniforms.xShape[3] - coords[3] - 1;\n }\n\n return reverseCoords;\n }\n \n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let reverseCoords = getReverseCoords(coords);\n setOutputAtIndex(index, getX(reverseCoords[0],\n reverseCoords[1], reverseCoords[2], reverseCoords[3]));\n }\n }\n `}};function Woe(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{dims:s}=o,a=n.shape.length;if(a===0)return Ft({inputs:{x:n},backend:t});let i=n.shape,p=[1,1,1,1];i.forEach((g,x)=>{let b=x+4-a;p[b]=g});let u=y.parseAxisParam(s,n.shape),c=[0,0,0,0];u.forEach(g=>{let x=g+4-a;c[x]=1});let l=[{type:\"int32\",data:c}],m=de({inputs:{x:n},backend:t,attrs:{shape:p}}),d=new fx(p),f=t.runWebGPUProgram(d,[m],m.dtype,l);t.disposeData(m.dataId);let h=de({inputs:{x:f},backend:t,attrs:{shape:i}});return t.disposeData(f.dataId),h}var mB={kernelName:Bn,backendName:\"webgpu\",kernelFunc:Woe};var hx=class{constructor(e,t){this.outputShape=[],this.variableNames=[\"x\"],this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.uniforms=`centerX : f32, centerY : f32, sinRadians : f32,\n cosRadians : f32,`,this.shaderKey=\"rotate\",this.outputShape=e,typeof t==\"number\"?(this.uniforms+=\" fillValue : f32,\",this.fillSnippet=\"var outputValue = uniforms.fillValue;\",this.shaderKey+=\"_float\"):(this.uniforms+=\" fillValue : vec3,\",this.fillSnippet=\"var outputValue = uniforms.fillValue[coords[3]];\",this.shaderKey+=\"_vec3\")}getUserCode(){return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let coordXFloat = (f32(coords[2]) - uniforms.centerX) *\n uniforms.cosRadians - (f32(coords[1]) - uniforms.centerY) *\n uniforms.sinRadians;\n let coordYFloat = (f32(coords[2]) - uniforms.centerX) *\n uniforms.sinRadians + (f32(coords[1]) - uniforms.centerY) *\n uniforms.cosRadians;\n let coordX = i32(round(coordXFloat + uniforms.centerX));\n let coordY = i32(round(coordYFloat + uniforms.centerY));\n ${this.fillSnippet}\n if(coordX >= 0 && coordX < uniforms.xShape[2] && coordY >= 0 &&\n coordY < uniforms.xShape[1]) {\n outputValue = getX(coords[0], coordY, coordX, coords[3]);\n }\n setOutputAtIndex(index, outputValue);\n }\n }\n `}};var dB={kernelName:es,backendName:\"webgpu\",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{image:o}=r,{radians:n,fillValue:s,center:a}=e,i=t,p=new hx(o.shape,s),[u,c]=S.getImageCenter(a,o.shape[1],o.shape[2]),l=[{type:\"float32\",data:[u]},{type:\"float32\",data:[c]},{type:\"float32\",data:[Math.sin(n)]},{type:\"float32\",data:[Math.cos(n)]}];return typeof s==\"number\"?l.push({type:\"float32\",data:[Number.parseFloat(s.toFixed(2))]}):l.push({type:\"float32\",data:s}),i.runWebGPUProgram(p,[o],o.dtype,l)}};var Uoe=Se({opType:Q.RSQRT,cpuKernelImpl:lM}),fB={kernelName:Vn,backendName:\"webgpu\",kernelFunc:Uoe};var Gi=class{constructor(e,t,o,n,s,a,i,p=!0){this.variableNames=[\"updates\",\"indices\"],this.workgroupSize=[64,1,1],this.atomic=!0,this.outputShape=a,this.type=i,this.sumDupeIndices=p,this.dispatchLayout=ue(e),this.dispatch=re(this.dispatchLayout,e,this.workgroupSize),this.sliceDimGreaterThanOne=t>1,this.shaderKey=`scatter_${o}_${n}_${this.sliceDimGreaterThanOne}_${i}_${p}`;let u=Rt(s.length);this.uniforms=`sliceDim : i32, strides: ${u}, updatesSize: i32,`,this.updatesRank=n,this.indicesRank=o}getUserCode(){let e=\"\";this.indicesRank===1?e=\"coords[0]\":this.indicesRank===2&&(e=\"coords[0], j\");let t=`getIndices(${e})`,o=this.sliceDimGreaterThanOne?\"uniforms.strides[j]\":\"uniforms.strides\",n=\"\",s=\"\";this.dispatchLayout.x.length===1?(n=\"flattenedIndex\",s=`\n fn getUpdatesCoordsFromFlatIndex(index : i32) -> i32 {\n return index;\n }\n `):this.dispatchLayout.x.length===2&&(n=\"vec2(flattenedIndex, coords[1])\",s=`\n fn getUpdatesCoordsFromFlatIndex(index : i32) -> vec2 {\n // N.B. |updates| could be a scalar tensor, conceptually representing a\n // 2D tensor with all values equal to that. By design, its size must be\n // the same as |outShape[1]| in one dimension, and |indicesShape[0]|\n // gives the other.\n let sliceSize = uniforms.outShape[1];\n let d0 = index / sliceSize;\n let d1 = index - d0 * sliceSize;\n return vec2(d0, d1);\n }\n `);let i=`getUpdates(${Array.from({length:this.updatesRank},(c,l)=>`coords[${l}]`).join(\", \")})`,p=(c,l)=>{let m=`atomicAdd(${c}, bitcast(${l}))`;this.type===\"float32\"&&(m=`\n {\n var oldBits = 0;\n var newBits = bitcast(${l});\n loop {\n let info = atomicCompareExchangeWeak(${c}, oldBits, newBits);\n if (info.exchanged) {\n break;\n }\n oldBits = info.old_value;\n let oldValue = bitcast(oldBits);\n let newValue = oldValue + (${l});\n newBits = bitcast(newValue);\n }\n }\n `);let d=`atomicStore(${c}, bitcast(${l}));`;return this.sumDupeIndices?m:d};return`\n ${s}\n\n ${se(\"index\")} {\n if (index < uniforms.updatesSize) {\n let coords = getUpdatesCoordsFromFlatIndex(index);\n var flattenedIndex = 0;\n for (var j = 0; j < uniforms.sliceDim; j = j + 1) {\n let indexInside = i32(round(${t}));\n flattenedIndex = flattenedIndex + indexInside * ${o};\n }\n let updateValue =\n ${wc(this.type,!1)}(${i});\n let flatIndex = getOutputIndexFromCoords(${n});\n\n ${p(\"&result[flatIndex]\",\"updateValue\")};\n }\n }`}};function Goe(r){let{inputs:e,backend:t,attrs:o}=r,{indices:n,updates:s}=e,{shape:a}=o,{sliceRank:i,numUpdates:p,sliceSize:u,strides:c,outputSize:l}=S.calculateShapes(s,n,a),m=[l/u,u];if(l===0)return t.makeTensorInfo(a,n.dtype);let d=de({inputs:{x:n},backend:t,attrs:{shape:[p,i]}}),f=de({inputs:{x:s},backend:t,attrs:{shape:[p,u]}}),h=f.dtype,g=dr({backend:t,attrs:{shape:m,value:0,dtype:h}}),x=y.sizeFromShape(f.shape),b=[{type:\"int32\",data:[i]},{type:\"int32\",data:c},{type:\"int32\",data:[x]}],C=new Gi(f.shape,i,d.shape.length,f.shape.length,c,m,h),w=t.runWebGPUProgram(C,[f,d],h,b,g),k=de({inputs:{x:w},backend:t,attrs:{shape:a}});return t.disposeData(d.dataId),t.disposeData(f.dataId),t.disposeData(w.dataId),k}var hB={kernelName:zn,backendName:\"webgpu\",kernelFunc:Goe};var gx=class{constructor(e,t){this.outputShape=[],this.variableNames=[\"sortedSequence\",\"values\"],this.uniforms=\"numInputs : i32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.side=t,this.shaderKey=`search_sorted_${t}`}getUserCode(){return`\n fn findBound(batch: i32, value: f32) -> i32 {\n var left = i32(0);\n var right = uniforms.numInputs;\n while (left < right) {\n var mid = (left + right) / 2;\n if (getSortedSequence(batch, mid) ${this.side===\"left\"?\"<\":\"<=\"} value) {\n left = mid + 1;\n } else {\n right = mid;\n }\n }\n return right;\n }\n\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let value = getValuesByOutputIndex(index);\n setOutputAtIndexI32(index, findBound(coords[0], value));\n }\n }\n `}};function Hoe(r){let{inputs:e,backend:t,attrs:o}=r,{sortedSequence:n,values:s}=e,{side:a}=o,i=new gx([s.shape[0],s.shape[1]],a),p=[{type:\"int32\",data:[n.shape[1]]}];return t.runWebGPUProgram(i,[n,s],\"int32\",p)}var gB={kernelName:ii,backendName:\"webgpu\",kernelFunc:Hoe};var xx=class{constructor(e,t,o){this.variableNames=[\"c\",\"a\",\"b\"],this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=t,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.cRank=e,this.rank=o,this.shaderKey=\"select\"}getUserCode(){let e,t;if(this.rank>4)throw Error(`Where for rank ${this.rank} is not yet supported`);if(this.rank===1)t=\"resRC\",e=\"resRC\";else{let n=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],s=[],a=[];for(let i=0;i= 1.0) {\n setOutputAtIndex(index, getA(${t}));\n } else {\n setOutputAtIndex(index, getB(${t}));\n }\n }\n }\n `}};function qoe(r){let{inputs:e,backend:t}=r,{condition:o,t:n,e:s}=e,a=new xx(o.shape.length,n.shape,n.shape.length);return t.runWebGPUProgram(a,[o,n,s],dt(n.dtype,s.dtype))}var xB={kernelName:Ts,backendName:\"webgpu\",kernelFunc:qoe};var Koe=Se({opType:Q.SIGMOID}),yB={kernelName:Un,backendName:\"webgpu\",kernelFunc:Koe};var joe=Se({opType:Q.SIN}),bB={kernelName:Wn,backendName:\"webgpu\",kernelFunc:joe};var Xoe=Se({opType:Q.SINH}),CB={kernelName:Sa,backendName:\"webgpu\",kernelFunc:Xoe};var bI=ot({opType:ye.SUB,cpuKernelImpl:xM,supportsComplex:!0}),SB={kernelName:Xn,backendName:\"webgpu\",kernelFunc:bI};function Yoe(r){let{inputs:e,backend:t,attrs:o}=r,{logits:n}=e,{dim:s}=o,a=y.parseAxisParam([s],n.shape),i=Ul({inputs:{x:n},backend:t,attrs:{reductionIndices:a,keepDims:!1}}),p=S.expandShapeToKeepDim(i.shape,a),u=de({inputs:{x:i},backend:t,attrs:{shape:p}}),c=bI({inputs:{a:n,b:u},backend:t}),l=fI({inputs:{x:c},backend:t}),m=Hl({inputs:{x:l},backend:t,attrs:{axis:a,keepDims:!1}}),d=de({inputs:{x:m},backend:t,attrs:{shape:p}}),f=yI({inputs:{a:l,b:d},backend:t});return t.disposeData(i.dataId),t.disposeData(u.dataId),t.disposeData(c.dataId),t.disposeData(l.dataId),t.disposeData(m.dataId),t.disposeData(d.dataId),f}var wB={kernelName:qn,backendName:\"webgpu\",kernelFunc:Yoe};var Qoe=r=>{let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{blockShape:s,paddings:a}=o;y.assert(n.shape.length<=4,()=>\"spaceToBatchND for rank > 4 with a WebGPU backend not implemented yet\");let i=s.reduce((x,b)=>x*b),p=[[0,0]];p.push(...a);for(let x=1+s.length;xt.disposeData(x.dataId)),g},IB={kernelName:Es,backendName:\"webgpu\",kernelFunc:Qoe};var yx=class{constructor(e,t){this.variableNames=[\"A\"],this.workgroupSize=[64,1,1],this.size=!0;let o=new Array(e.length);for(let n=0;n=5)throw Error(`Tile for rank ${r} is not yet supported`);if(r===1)return`(resRC % ${e}aShape)`;let t=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],o=[];for(let n=0;n=5){let p=t.readSync(n.dataId),u=n.dtype===\"string\"?p.map(m=>y.decodeString(m)):p,c=le(n.shape,n.dtype,u),l=yM(c,s);return t.makeTensorInfo(l.shape,l.dtype,l.values)}let a=new yx(n.shape,s);return t.runWebGPUProgram(a,[n],n.dtype)}var vB={kernelName:to,backendName:\"webgpu\",kernelFunc:CI};function Joe(r){let{inputs:e,backend:t,attrs:o}=r,{sparseIndices:n,sparseValues:s,defaultValue:a}=e,{outputShape:i}=o,{sliceRank:p,numUpdates:u,sliceSize:c,strides:l,outputSize:m}=S.calculateShapes(s,n,i),d=!1;if(s.dtype===\"string\"){let A=t.bufferSync(n),R=t.bufferSync(s),D=y.decodeString(t.readSync(a.dataId)[0]),P=mM(A,R,i,m,c,u,p,l,D,d);return t.makeTensorInfo(i,P.dtype,P.values)}let f=[m/c,c],h=de({inputs:{x:n},backend:t,attrs:{shape:[u,p]}}),g=s.shape.length?de({inputs:{x:s},backend:t,attrs:{shape:[u,c]}}):Ft({inputs:{x:s},backend:t}),x=g.dtype,b=t.makeTensorInfo([],x,y.makeZerosTypedArray(1,x)),C=de({inputs:{x:a},backend:t,attrs:{shape:Array(f.length).fill(1)}}),w=CI({inputs:{x:C},backend:t,attrs:{reps:f}}),k=y.sizeFromShape([u,c]),_=[{type:\"int32\",data:[p]},{type:\"int32\",data:l},{type:\"int32\",data:[k]}];switch(u){case 0:break;case 1:{let A=new Gi([u,c],p,h.shape.length,g.shape.length,l,f,x,d);t.runWebGPUProgram(A,[g,h],x,_,w)}break;default:{let A=new Gi([u,c],p,h.shape.length,b.shape.length,l,f,x,d);t.runWebGPUProgram(A,[b,h],x,_,w)}{let A=new Gi([u,c],p,h.shape.length,g.shape.length,l,f,x);t.runWebGPUProgram(A,[g,h],x,_,w)}}let $=de({inputs:{x:w},backend:t,attrs:{shape:i}});return t.disposeData(h.dataId),t.disposeData(g.dataId),t.disposeData(C.dataId),t.disposeData(b.dataId),t.disposeData(w.dataId),$}var kB={kernelName:li,backendName:\"webgpu\",kernelFunc:Joe};function ene(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{numOrSizeSplits:s,axis:a}=o,i=y.parseAxisParam(a,n.shape)[0],p=S.prepareSplitSize(n,s,i),u=n.shape.length,c=new Array(u).fill(0),l=n.shape.slice();return p.map(m=>{let d=[...l];d[i]=m;let f=ds({inputs:{x:n},backend:t,attrs:{begin:c,size:d}});return c[i]+=m,f})}var NB={kernelName:$s,backendName:\"webgpu\",kernelFunc:ene};var tne=Se({opType:Q.SQRT}),TB={kernelName:Gn,backendName:\"webgpu\",kernelFunc:tne};var _B={kernelName:mi,backendName:\"webgpu\",kernelFunc:({inputs:r,backend:e})=>{let{x:t}=r,o=e,n=new Ro(t.shape,Q.SQUARE);return o.runWebGPUProgram(n,[t],t.dtype)}};var rne=ot({opType:ye.SQUARED_DIFFERENCE}),EB={kernelName:Kn,backendName:\"webgpu\",kernelFunc:rne};var bx=class{constructor(e){this.variableNames=[\"x\"],this.workPerThread=1,this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,[this.workPerThread,1,1]);let t=Rt(this.outputShape.length);this.uniforms=`begin : ${t}, strides : ${t}, `,this.shaderKey=\"stridedSlice\"}getUserCode(){let e=this.outputShape.length,t=\"\";if(e===1)t=\"coords * uniforms.strides + uniforms.begin\";else{let n=0;t=this.outputShape.map((s,a)=>(n++,this.outputShape.length===1?`coords * uniforms.strides[${a}] + uniforms.begin[${a}]`:`coords[${n-1}] * uniforms.strides[${a}] + uniforms.begin[${a}]`)).join(\",\")}return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n setOutputAtIndex(index, getX(${t}));\n }\n }\n `}};function one(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{begin:s,end:a,strides:i,beginMask:p,endMask:u,ellipsisMask:c,newAxisMask:l,shrinkAxisMask:m}=o,{finalShapeSparse:d,finalShape:f,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:C,strides:w}=ut.sliceInfo(n.shape,s,a,i,p,u,c,l,m),k;if(h)k=de({inputs:{x:n},backend:t,attrs:{shape:f}});else if(g||x){y.assert(n.shape.length>=1,()=>`Input must have rank at least 1, got: ${n.shape.length}`);let _=ut.computeOutShape(b,C,w),$=ds({inputs:{x:n},backend:t,attrs:{begin:b,size:_}});k=de({inputs:{x:$},backend:t,attrs:{shape:f}}),t.disposeData($.dataId)}else if(t.shouldExecuteOnCPU([n])){let $=t.readSync(n.dataId),A=le(n.shape,n.dtype,$),R=hM(d,A,w,b);k=t.makeTensorInfo(f,n.dtype,R.values)}else{let $=new bx(d),A=[{type:\"int32\",data:b},{type:\"int32\",data:w}],R=t.runWebGPUProgram($,[n],n.dtype,A);k=de({inputs:{x:R},backend:t,attrs:{shape:f}}),t.disposeData(R.dataId)}return k}var $B={kernelName:jn,backendName:\"webgpu\",kernelFunc:one};function nne(r){let{inputs:e,backend:t,attrs:o}=r,{separator:n,nGramWidths:s,leftPad:a,rightPad:i,padWidth:p,preserveShortSequences:u}=o,{data:c,dataSplits:l}=e,m=t.readSync(c.dataId),d=t.readSync(l.dataId),[f,h]=gM(m,d,n,s,a,i,p,u);return[t.makeTensorInfo([f.length],\"string\",f),t.makeTensorInfo(l.shape,\"int32\",h)]}var AB={kernelName:As,backendName:\"webgpu\",kernelFunc:nne};var sne=Se({opType:Q.TAN}),RB={kernelName:Yn,backendName:\"webgpu\",kernelFunc:sne};var ane=Se({opType:Q.TANH}),FB={kernelName:Qn,backendName:\"webgpu\",kernelFunc:ane};var Cx=class{constructor(e){this.variableNames=[\"x\",\"indices\"],this.workgroupSize=[256,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.uniforms=`inputSize : i32, firstPass : i32, negativeInf : f32,\n dir : i32, inc : i32,`,this.shaderKey=\"swap\"}getUserCode(){return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let outC = getCoordsFromIndex(index);\n let batch = outC[0];\n let elemIdx = outC[1];\n // We compare elements pair-wise within a group of size 2 * inc.\n // The comparing rule for each group alternates between ascending\n // and descending. Within each group, we compare each pair at\n // positions i and i+inc. To decide whether an element at position i\n // is x0 or x1, we mod it by 2 * inc, if the result is smaller than\n // inc, it is in the first half of the group, we denote it as x0,\n // otherwise we denote it as x1.\n // For example, as shown in the Bitonic top K paper referenced\n // above, Figure5(a) shows that element[1] is in the second half of\n // the group when group size is 2, but it is in the first half of\n // the group when group size is 4.\n let isFirstInPair = elemIdx % (2 * uniforms.inc) < uniforms.inc;\n var i = 0;\n if (isFirstInPair) {\n i = elemIdx;\n } else {\n i = elemIdx - uniforms.inc;\n }\n\n var i0 = 0;\n if (uniforms.firstPass == 1) {\n i0 = i;\n } else {\n i0 = i32(getIndices(batch, i));\n }\n\n var i1 = 0;\n if (uniforms.firstPass == 1) {\n i1 = i + uniforms.inc;\n } else {\n i1 = i32(getIndices(batch, i + uniforms.inc));\n }\n\n var x0 = f32(0.0);\n var x1 = f32(0.0);\n if (i0 < uniforms.inputSize) {\n x0 = getX(batch, i0);\n } else {\n x0 = uniforms.negativeInf;\n }\n if (i1 < uniforms.inputSize) {\n x1 = getX(batch, i1);\n } else {\n x1 = uniforms.negativeInf;\n }\n\n let reverse = elemIdx % (2 * uniforms.dir) >= uniforms.dir;\n let isGreater = x0 > x1 || (x0 == x1 && i1 > i0);\n if (reverse == isGreater) {\n // Elements in opposite order of direction\n let iTemp = i0;\n i0 = i1;\n i1 = iTemp;\n }\n if (isFirstInPair) {\n setOutputAtIndex(index, f32(i0));\n } else {\n setOutputAtIndex(index, f32(i1));\n }\n }\n }\n `}},Sx=class{constructor(e){this.variableNames=[\"x\",\"indices\"],this.workgroupSize=[256,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.uniforms=\"inputSize : i32, firstPass : i32, k : i32,\",this.shaderKey=\"merge\"}getUserCode(){return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let outC = getCoordsFromIndex(index);\n let batch = outC[0];\n let elemIdx = outC[1];\n // The output size is half of the previous size.\n // If the previous sequence is | | | | _ _ _ _ | | | | _ _ _ _\n // (k=4), we only need to output the indices at positions |, the\n // indices at positions _ can be thrown away, see Figure5(b) After\n // Phase 2 (Merge phase) in the Bitonic Top K paper referenced\n // above.\n // For example, the paper shows we only need to output the orange\n // bars. The output sequence should look like this | | | | | | | |.\n // Because the sequence is halved, to map the output index back to\n // the previous sequence to find the corresponding value, we need\n // to double the index. When we double the index, we basically\n // interpolate a position, so 2i looks like\n // | _ | _ | _ | _ | _ | _ | _. We move the | to the first k\n // position of each 2k positions by - elemIdx % k. E.g. for output\n // at index 4,5,6,7, we want to get the corresponding element at\n // original index 8,9,10,11, for output at index 8,9,10,11,\n // we want to get the corresponding element at original index\n // 16,17,18,19, so on and so forth.\n\n var i = 0;\n if (elemIdx < uniforms.k) {\n i = elemIdx;\n } else {\n i = elemIdx * 2 - elemIdx % uniforms.k;\n }\n var i0 = 0;\n if (uniforms.firstPass == 1) {\n i0 = i;\n } else {\n i0 = i32(getIndices(batch, i));\n }\n var i1 = 0;\n if (uniforms.firstPass == 1) {\n i1 = i + uniforms.k;\n } else {\n i1 = i32(getIndices(batch, i + uniforms.k));\n }\n\n let x0 = getX(batch, i0);\n var x1 = f32(0.0);\n if (i1 < uniforms.inputSize) {\n x1 = getX(batch, i1);\n } else {\n x1 = x0;\n }\n\n if (x0 >= x1) {\n setOutputAtIndex(index, f32(i0));\n } else {\n setOutputAtIndex(index, f32(i1));\n }\n }\n }\n `}};function $c(r,e){e!==null&&r.disposeData(e.dataId)}function DB(r){let e=1;for(;ef===null?[l,l]:[l,f],g=(k,_,$)=>{let A=h(),R=new Cx($),P=[{type:\"int32\",data:[p]},{type:\"int32\",data:[f===null?1:0]},{type:\"float32\",data:[Number.NEGATIVE_INFINITY]},{type:\"int32\",data:[k]},{type:\"int32\",data:[_]}],M=f;f=t.runWebGPUProgram(R,A,\"int32\",P),$c(t,M)};for(let k=1;k=1;$/=2)g(_,$,[c,d])}for(let k=d;k>m;k/=2){let _=h(),$=new Sx([c,k/2]),R=[{type:\"int32\",data:[p]},{type:\"int32\",data:[f===null?1:0]},{type:\"int32\",data:[m]}],D=f;f=t.runWebGPUProgram($,_,\"int32\",R),$c(t,D);let P=m/2,M=P*2;for(let L=P;L>=1;L/=2)g(M,L,f.shape)}let x=f;f=ds({inputs:{x:f},backend:t,attrs:{begin:0,size:[c,s]}}),$c(t,x);let b=gI({inputs:{x:l,indices:f},backend:t,attrs:{axis:1,batchDims:1}});$c(t,l);let C=i.slice(0,-1);C.push(s),x=f,f=de({inputs:{x:f},attrs:{shape:C},backend:t}),$c(t,x);let w=b;return b=de({inputs:{x:b},attrs:{shape:C},backend:t}),$c(t,w),[b,f]}var OB={kernelName:Zn,backendName:\"webgpu\",kernelFunc:ine};var wx=class{constructor(e){this.variableNames=[\"Image\",\"Transforms\"],this.uniforms=\"interpolationModeId : i32, fillModeId : i32, fillValue : f32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=\"transform\"}getUserCode(){return`\n fn mapCoord(outCoord : f32, len : f32) -> f32{\n var inCoord = outCoord;\n if(uniforms.fillModeId == 2) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n let sz2 = 2.0 * len;\n if (inCoord < sz2) {\n inCoord = sz2 * f32(i32(f32(-inCoord / sz2))) +\n inCoord;\n }\n if (inCoord < -len) {\n inCoord = inCoord + sz2;\n } else {\n inCoord = -inCoord - 1.0;\n }\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n let sz2 = 2.0 * len;\n inCoord = inCoord - sz2 * f32(i32(f32(inCoord / sz2)));\n if (inCoord >= len) {\n inCoord = sz2 - inCoord - 1.0;\n }\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (uniforms.fillModeId == 3) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n let sz = len - 1.0;\n inCoord = inCoord + len * (f32(i32(f32(-inCoord / sz))) + 1.0);\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n let sz = len - 1.0;\n inCoord = inCoord - len * f32(i32(f32(inCoord / sz)));\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (uniforms.fillModeId == 4) {\n return clamp(outCoord, 0.0, len - 1.0);\n }\n return outCoord;\n }\n fn readWithFillValue(batch : i32, coordY : i32, coordX : i32,\n channel : i32) -> f32 {\n var outputValue : f32;\n if (0 <= coordY && coordY < uniforms.imageShape[1] && 0 <= coordX && coordX < uniforms.imageShape[2]) {\n outputValue = getImage(batch, coordY, coordX, channel);\n } else {\n outputValue = uniforms.fillValue;\n }\n return outputValue;\n }\n\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n var outputValue : f32;\n let batch = coords[0];\n let x = coords[2];\n let y = coords[1];\n let channel = coords[3];\n let xf = f32(x);\n let yf = f32(y);\n let a1 = getTransforms(batch, 0);\n let a2 = getTransforms(batch, 1);\n let a3 = getTransforms(batch, 2);\n let b1 = getTransforms(batch, 3);\n let b2 = getTransforms(batch, 4);\n let b3 = getTransforms(batch, 5);\n let c1 = getTransforms(batch, 6);\n let c2 = getTransforms(batch, 7);\n let projection = c1 * xf + c2 * yf + 1.0;\n if (projection == 0.0) {\n outputValue = uniforms.fillValue;\n } else {\n let inX = (a1 * xf + a2 * yf + a3) / projection;\n let inY = (b1 * xf + b2 * yf + b3) / projection;\n let mapX = mapCoord(inX, f32(uniforms.imageShape[2]));\n let mapY = mapCoord(inY, f32(uniforms.imageShape[1]));\n\n if (uniforms.interpolationModeId == 1) {\n let coordY = i32(round(mapY));\n let coordX = i32(round(mapX));\n outputValue = readWithFillValue(batch, coordY, coordX,\n channel);\n } else {\n let yFloor = floor(mapY);\n let xFloor = floor(mapX);\n let yCeil = yFloor + 1.0;\n let xCeil = xFloor + 1.0;\n let valueYFloor = (xCeil - mapX) *\n readWithFillValue(batch, i32(yFloor), i32(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, i32(yFloor), i32(xCeil), channel);\n let valueYCeil = (xCeil - mapX) *\n readWithFillValue(batch, i32(yCeil), i32(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, i32(yCeil), i32(xCeil), channel);\n outputValue = (yCeil - mapY) * valueYFloor +\n (mapY - yFloor) * valueYCeil;\n }\n }\n setOutputAtIndex(index, outputValue);\n }\n }\n `}};function une(r){let{inputs:e,backend:t,attrs:o}=r,{image:n,transforms:s}=e,{interpolation:a,fillMode:i,fillValue:p,outputShape:u}=o,[c,l,m,d]=n.shape,[f,h]=u!=null?u:[l,m],g=[c,f,h,d],x=new wx(g),b=a===\"nearest\"?1:2,C;switch(i){case\"constant\":C=1;break;case\"reflect\":C=2;break;case\"wrap\":C=3;break;case\"nearest\":C=4;break;default:C=1;break}let w=[{type:\"int32\",data:[b]},{type:\"int32\",data:[C]},{type:\"float32\",data:[p]}];return t.runWebGPUProgram(x,[n,s],\"float32\",w)}var PB={kernelName:Jn,backendName:\"webgpu\",kernelFunc:une};function pne(r){let{inputs:e,backend:t,attrs:o}=r,{value:n}=e,{axis:s}=o;s<0&&(s+=n.shape.length);let a=n,i=a.shape.length,p=n.shape[s],u=new Array(i-1),c=0;for(let h=0;ht.disposeData(h.dataId)),f}var MB={kernelName:Rs,backendName:\"webgpu\",kernelFunc:pne};var cne=[B3,SM,wM,IM,vM,kM,TM,_M,EM,$M,AM,RM,FM,DM,OM,LM,BM,zM,WM,qM,KM,jM,z3,YM,QM,ZM,JM,eL,tL,nL,sL,aL,iL,uL,lL,mL,dL,fL,hL,gL,xL,yL,M3,bL,wL,CL,SL,IL,vL,kL,NL,TL,_L,EL,V3,$L,XM,AL,RL,FL,DL,OL,PL,LL,ML,BL,VL,PM,zL,WL,MM,UL,GL,HL,qL,pL,KL,jL,XL,UM,YL,JL,eB,tB,rB,oB,nB,sB,GM,aB,iB,uB,pB,L3,cB,lB,mB,dB,fB,hB,gB,xB,yB,bB,CB,VM,$B,AB,wB,IB,kB,NB,TB,_B,EB,SB,cL,RB,FB,vB,OB,PB,NM,MB,QL];for(let r of cne)Ia(r);var LB=\"4.1.0\",lne=\"4.1.0\",mne=\"4.1.0\",dne=\"4.1.0\",fne=\"4.1.0\",hne=\"0.0.1-alpha.16\",gne={tfjs:LB,\"tfjs-core\":LB,\"tfjs-converter\":lne,\"tfjs-backend-cpu\":mne,\"tfjs-backend-webgl\":dne,\"tfjs-backend-wasm\":fne,\"tfjs-backend-webgpu\":hne};export{gs as Abs,sa as Acos,aa as Acosh,Ei as AdadeltaOptimizer,$i as AdagradOptimizer,Ai as AdamOptimizer,Ri as AdamaxOptimizer,eo as Add,Mo as AddN,Lo as All,Bo as Any,Vo as ArgMax,Za as ArgMin,ia as Asin,ua as Asinh,pa as Atan,la as Atan2,ca as Atanh,zo as AvgPool,ip as AvgPool3D,Im as AvgPool3DGrad,wm as AvgPoolGrad,Pl as BackendWasm,Wo as BatchMatMul,xs as BatchToSpaceND,Ja as Bincount,up as BroadcastArgs,wne as BroadcastTo,co as Cast,Uo as Ceil,lo as ClipByValue,ei as Complex,pp as ComplexAbs,ys as Concat,Go as Conv2D,cp as Conv2DBackpropFilter,Ho as Conv2DBackpropInput,lp as Conv3D,vm as Conv3DBackpropFilterV2,mp as Conv3DBackpropInputV2,qo as Cos,Ko as Cosh,Yo as CropAndResize,jo as Cumprod,Xo as Cumsum,Do as DataStorage,ti as DenseBincount,Qo as DepthToSpace,Zo as DepthwiseConv2dNative,dp as DepthwiseConv2dNativeBackpropFilter,fp as DepthwiseConv2dNativeBackpropInput,hp as Diag,gp as Dilation2D,bb as Dilation2DBackpropFilter,yb as Dilation2DBackpropInput,hb as ENV,ri as Einsum,en as Elu,km as EluGrad,Uc as Environment,tn as Equal,ma as Erf,rn as Exp,bs as ExpandDims,da as Expm1,oi as FFT,Cs as Fill,on as FlipLeftRight,nn as Floor,sn as FloorDiv,Zi as FromPixels,an as FusedBatchNorm,ho as FusedConv2D,go as FusedDepthwiseConv2D,Fu as GPGPUContext,un as GatherNd,Ss as GatherV2,ll as GraphModel,pn as Greater,cn as GreaterEqual,ni as IFFT,mo as Identity,si as Imag,fa as IsFinite,ha as IsInf,ln as IsNan,Zr as KernelBackend,yp as LRN,Nm as LRNGrad,mn as LeakyRelu,dn as Less,fn as LessEqual,xp as LinSpace,hn as Log,ga as Log1p,Ine as LogSoftmax,gn as LogicalAnd,xn as LogicalNot,xa as LogicalOr,GI as LogicalXor,vne as LowerBound,Oi as MathBackendCPU,Bi as MathBackendWebGL,yn as Max,Cn as MaxPool,bp as MaxPool3D,_m as MaxPool3DGrad,Tm as MaxPoolGrad,Cp as MaxPoolWithArgmax,bn as Maximum,Sn as Mean,wn as Min,In as Minimum,vn as MirrorPad,ya as Mod,Fi as MomentumOptimizer,Sp as Multinomial,kn as Multiply,ws as Neg,Tn as NonMaxSuppressionV3,ba as NonMaxSuppressionV4,_n as NonMaxSuppressionV5,Nn as NotEqual,Lb as OP_SCOPE_SUFFIX,En as OneHot,Is as OnesLike,wr as Optimizer,ns as OptimizerConstructors,vs as Pack,$n as PadV2,kne as Pool,An as Pow,Rn as Prelu,Fn as Prod,Di as RMSPropOptimizer,wp as RaggedGather,Ip as RaggedRange,vp as RaggedTensorToTensor,ks as Range,_b as Rank,ai as Real,Jo as RealDiv,Dn as Reciprocal,Et as Reduction,On as Relu,Ln as Relu6,Ns as Reshape,Mn as ResizeBilinear,$m as ResizeBilinearGrad,Pn as ResizeNearestNeighbor,Em as ResizeNearestNeighborGrad,Bn as Reverse,es as RotateWithOffset,Ca as Round,Vn as Rsqrt,qs as SGDOptimizer,zn as ScatterNd,ii as SearchSorted,Ts as Select,Xi as Selu,Un as Sigmoid,Yi as Sign,Wn as Sin,Sa as Sinh,_s as Slice,qn as Softmax,Qi as Softplus,Es as SpaceToBatchND,ui as SparseFillEmptyRows,wa as SparseReshape,pi as SparseSegmentMean,ci as SparseSegmentSum,li as SparseToDense,$s as SplitV,Gn as Sqrt,mi as Square,Kn as SquaredDifference,Ds as Step,jn as StridedSlice,As as StringNGrams,di as StringSplit,fi as StringToHashBucketFast,Xn as Sub,Hn as Sum,Yn as Tan,Qn as Tanh,it as Tensor,st as TensorBuffer,to as Tile,Zn as TopK,Jn as Transform,ro as Transpose,kp as Unique,Rs as Unpack,Np as UnsortedSegmentSum,Nne as UpperBound,va as Variable,Ui as WebGPUBackend,Fs as ZerosLike,fo as _FusedMatMul,Yt as abs,f0 as acos,h0 as acosh,xe as add,g0 as addN,x0 as all,y0 as any,b0 as argMax,C0 as argMin,S0 as asin,w0 as asinh,I0 as atan,v0 as atan2,k0 as atanh,td as avgPool,_0 as avgPool3d,Oie as backend,S as backend_util,E0 as basicLSTMCell,wi as batchNorm,A0 as batchNorm2d,R0 as batchNorm3d,F0 as batchNorm4d,rd as batchToSpaceND,od as bincount,XG as booleanMaskAsync,D0 as broadcastArgs,Ii as broadcastTo,br as broadcast_util,Qv as browser,le as buffer,Ke as cast,O0 as ceil,P0 as clipByValue,Br as clone,Tr as complex,gt as concat,M0 as concat1d,L0 as concat2d,B0 as concat3d,V0 as concat4d,z0 as conv1d,vi as conv2d,W0 as conv2dTranspose,U0 as conv3d,H0 as conv3dTranspose,Dne as copyRegisteredKernels,q0 as cos,K0 as cosh,il as cosineWindow,j0 as cumprod,X0 as cumsum,Cr as customGrad,Y0 as denseBincount,eC as deprecationWarn,Q0 as depthToSpace,Bp as depthwiseConv2d,xK as deregisterOp,yi as device_util,Z0 as diag,J0 as dilation2d,vie as disableDeprecationWarnings,Dt as dispose,kie as disposeVariables,Ge as div,ek as divNoNan,tk as dot,aH as dropout,rk as einsum,ad as elu,Iie as enableDebugMode,wie as enableProdMode,xC as enclosingPowerOfTwo,cr as engine,O as env,sd as equal,ok as erf,ak as euclideanNorm,Co as exp,Fa as expandDims,ik as expm1,id as eye,zp as fft,Ws as fill,Fie as findBackend,Die as findBackendFactory,ud as floor,Jm as floorDiv,L$ as forceHalfFloat,yC as fused,pd as gather,nH as gatherND,Ym as gather_util,Aie as getBackend,Cb as getGradient,qc as getKernel,Am as getKernelsForBackend,Nee as getThreadsCount,yw as gpgpu_util,l4 as grad,m4 as grads,cu as greater,cd as greaterEqual,hu as ifft,Si as imag,uq as image,uH as inTopKAsync,Ea as io,Fd as irfft,uk as isFinite,pk as isInf,ck as isNaN,_r as keep,Lt as kernel_impls,ld as leakyRelu,lk as less,Vp as lessEqual,pq as linalg,mk as linspace,l6 as loadGraphModel,m6 as loadGraphModelSync,dk as localResponseNormalization,Da as log,md as log1p,fk as logSigmoid,hk as logSoftmax,hd as logSumExp,lu as logicalAnd,gd as logicalNot,xd as logicalOr,gk as logicalXor,cq as losses,xk as lowerBound,Xe as matMul,jv as math,Us as max,bd as maxPool,yk as maxPool3d,bk as maxPoolWithArgmax,Cd as maximum,mu as mean,Nie as memory,Ck as meshgrid,sl as min,Sd as minimum,Sk as mirrorPad,wk as mod,Ik as moments,QG as movingAverage,ae as mul,vk as multiRNNCell,kk as multinomial,yr as neg,CC as nextFrame,pu as norm,wd as notEqual,tl as oneHot,Gs as ones,Nk as onesLike,N as op,Tk as outerProduct,Hs as pad,_k as pad1d,Ek as pad2d,$k as pad3d,Ak as pad4d,Rk as pool,Ra as pow,vd as prelu,Gm as print,Fk as prod,Tie as profile,Dk as raggedGather,Ok as raggedRange,Pk as raggedTensorToTensor,Mk as rand,e1 as randomGamma,Ed as randomNormal,t1 as randomStandardNormal,$d as randomUniform,Ni as range,$ie as ready,$a as real,r1 as reciprocal,Ci as registerBackend,Ane as registerGradient,Ia as registerKernel,gK as registerOp,Ti as relu,Ad as relu6,Rie as removeBackend,z as reshape,no as reverse,o1 as reverse1d,n1 as reverse2d,s1 as reverse3d,a1 as reverse4d,Wp as rfft,Rd as round,i1 as rsqrt,be as scalar,JG as scatterND,rl as scatter_util,al as searchSorted,u1 as selu,p1 as separableConv2d,p0 as serialization,Eie as setBackend,Pie as setPlatform,kee as setThreadsCount,Iee as setWasmPath,vee as setWasmPaths,RS as setWebGLContext,c1 as setdiff1dAsync,Qp as shared,zs as sigmoid,l1 as sign,iq as signal,m1 as sin,d1 as sinh,He as slice,f1 as slice1d,h1 as slice2d,g1 as slice3d,x1 as slice4d,ut as slice_util,y1 as softmax,fd as softplus,Id as spaceToBatchND,lq as sparse,rH as sparseToDense,aq as spectral,Oa as split,$r as sqrt,Qt as square,Dd as squaredDifference,Up as squeeze,Sr as stack,Od as step,b1 as stridedSlice,mq as string,Ne as sub,et as sum,ka as sumOutType,C1 as tan,nl as tanh,nr as tensor,mr as tensor1d,_i as tensor2d,Xm as tensor3d,S1 as tensor4d,w1 as tensor5d,I1 as tensor6d,hv as tensor_util,d0 as test_util,Ee as tidy,ki as tile,_ie as time,v1 as topk,hMe as train,Mp as transpose,k1 as truncatedNormal,N1 as unique,Fne as unregisterGradient,Rne as unregisterKernel,T1 as unsortedSegmentSum,so as unstack,dt as upcastType,_1 as upperBound,y as util,d4 as valueAndGrad,f4 as valueAndGrads,E1 as variable,pC as variableGrads,gne as version,f6 as version_converter,xW as version_core,U6 as version_cpu,Tee as version_wasm,L8 as version_webgl,L9e as webgl,oc as webgl_util,nI as webgpu_util,os as where,Md as whereAsync,Vr as zeros,Ut as zerosLike};\n", "import type { Config } from '../exports';\n\n/**\n * Simple helper functions used accross codebase\n */\n\n// helper function: wrapper around console output\nexport function log(...msg): void {\n const dt = new Date();\n const ts = `${dt.getHours().toString().padStart(2, '0')}:${dt.getMinutes().toString().padStart(2, '0')}:${dt.getSeconds().toString().padStart(2, '0')}.${dt.getMilliseconds().toString().padStart(3, '0')}`;\n if (msg) console.log(ts, 'Human:', ...msg); // eslint-disable-line no-console\n}\n\n// helper function: join two paths\nexport function join(folder: string, file: string): string {\n const separator = folder.endsWith('/') ? '' : '/';\n const skipJoin = file.startsWith('.') || file.startsWith('/') || file.startsWith('http:') || file.startsWith('https:') || file.startsWith('file:');\n const path = skipJoin ? `${file}` : `${folder}${separator}${file}`;\n if (!path.toLocaleLowerCase().includes('.json')) throw new Error(`modelpath error: expecting json file: ${path}`);\n return path;\n}\n\n// helper function: gets elapsed time on both browser and nodejs\nexport const now = () => {\n if (typeof performance !== 'undefined') return performance.now();\n return parseInt((Number(process.hrtime.bigint()) / 1000 / 1000).toString());\n};\n\n// helper function: checks current config validity\nexport function validate(defaults: Partial, config: Partial, parent = 'config', msgs: { reason: string, where: string, expected?: string }[] = []) {\n for (const key of Object.keys(config)) {\n if (typeof config[key] === 'object') {\n validate(defaults[key], config[key], key, msgs);\n } else {\n const defined = defaults && (typeof defaults[key] !== 'undefined');\n if (!defined) msgs.push({ reason: 'unknown property', where: `${parent}.${key} = ${config[key]}` });\n const same = defaults && typeof defaults[key] === typeof config[key];\n if (defined && !same) msgs.push({ reason: 'property type mismatch', where: `${parent}.${key} = ${config[key]}`, expected: typeof defaults[key] });\n }\n // ok = ok && defined && same;\n }\n if (config.debug && parent === 'config' && msgs.length > 0) log('invalid configuration', msgs);\n return msgs;\n}\n\n// helper function: perform deep merge of multiple objects so it allows full inheritance with overrides\nexport function mergeDeep(...objects) {\n const isObject = (obj) => obj && typeof obj === 'object';\n return objects.reduce((prev, obj) => {\n Object.keys(obj || {}).forEach((key) => {\n const pVal = prev[key];\n const oVal = obj[key];\n if (Array.isArray(pVal) && Array.isArray(oVal)) prev[key] = pVal.concat(...oVal);\n else if (isObject(pVal) && isObject(oVal)) prev[key] = mergeDeep(pVal, oVal);\n else prev[key] = oVal;\n });\n return prev;\n }, {});\n}\n\n// helper function: return min and max from input array\nexport const minmax = (data: number[]) => data.reduce((acc: number[], val) => {\n acc[0] = (acc[0] === undefined || val < acc[0]) ? val : acc[0];\n acc[1] = (acc[1] === undefined || val > acc[1]) ? val : acc[1];\n return acc;\n}, []);\n\n// helper function: async wait\nexport async function wait(time: number) {\n const waiting = new Promise((resolve) => { setTimeout(() => resolve(true), time); });\n await waiting;\n}\n", "/* eslint-disable no-multi-spaces */\n\n/** Possible TensorFlow backends */\nexport type BackendEnum = '' | 'cpu' | 'wasm' | 'webgl' | 'humangl' | 'tensorflow' | 'webgpu';\n\n/** Possible values for `human.warmup` */\nexport type WarmupEnum = '' | 'none' | 'face' | 'full' | 'body';\n\n/** Possible segmentation model behavior */\nexport type SegmentationEnum = 'default' | 'alpha' | 'foreground' | 'state'\n\n/** Generic config type inherited by all module types */\nexport interface GenericConfig {\n /** is module enabled? */\n enabled: boolean,\n /** path to model json file (relative to `modelBasePath` */\n modelPath: string,\n /** how many max frames to go without re-running model if cached results are acceptable\n * for two-phase models such as face and hand caching applies to bounding boxes detection only */\n skipFrames: number,\n /** how many max milliseconds to go without re-running model if cached results are acceptable\n * for two-phase models such as face and hand caching applies to bounding boxes detection only */\n skipTime: number,\n}\n\n/** Detector part of face configuration */\nexport interface FaceDetectorConfig extends GenericConfig {\n /** is face rotation correction performed after detecting face?\n * used to correctly analyze faces under high angles\n */\n rotation: boolean,\n /** maximum number of detected faces */\n maxDetected: number,\n /** minimum confidence for a detected face before results are discarded */\n minConfidence: number,\n /** minimum overlap between two detected faces before one is discarded */\n iouThreshold: number,\n /** should child models perform on masked image of a face */\n mask: boolean,\n /** should face detection return processed and cropped face tensor that can with an external model for addtional processing?\n * if enabled it must be manually deallocated to avoid memory leak */\n return: boolean,\n}\n\n/** Mesh part of face configuration */\nexport interface FaceMeshConfig extends GenericConfig {\n /** Keep detected faces that cannot be verified using facemesh */\n keepInvalid: boolean\n}\n\n/** Iris part of face configuration */\nexport interface FaceIrisConfig extends GenericConfig {}\n\n/** Attention part of face configuration */\nexport interface FaceAttentionConfig extends GenericConfig {}\n\n/** Description or face embedding part of face configuration\n * - also used by age and gender detection\n */\nexport interface FaceDescriptionConfig extends GenericConfig {\n /** minimum confidence for a detected face before results are discarded */\n minConfidence: number,\n}\n\n/** Emotion part of face configuration */\nexport interface FaceEmotionConfig extends GenericConfig {\n /** minimum confidence for a detected face before results are discarded */\n minConfidence: number,\n}\n\n/** Anti-spoofing part of face configuration */\nexport interface FaceAntiSpoofConfig extends GenericConfig {}\n\n/** Liveness part of face configuration */\nexport interface FaceLivenessConfig extends GenericConfig {}\n\n/** Gear part of face configuration */\nexport interface FaceGearConfig extends GenericConfig {\n /** minimum confidence for a detected race before results are discarded */\n minConfidence: number,\n}\n\n/** Configures all face-specific options: face detection, mesh analysis, age, gender, emotion detection and face description */\nexport interface FaceConfig extends GenericConfig {\n detector: Partial,\n mesh: Partial,\n attention: Partial,\n iris: Partial,\n description: Partial,\n emotion: Partial,\n antispoof: Partial,\n liveness: Partial,\n gear: Partial,\n}\n\n/** Configures all body detection specific options */\nexport interface BodyConfig extends GenericConfig {\n /** maximum number of detected bodies */\n maxDetected: number,\n /** minimum confidence for a detected body before results are discarded */\n minConfidence: number,\n /* experimental\n /** experimental: detector used for body model before actual analysis\n detector?: {\n /** experimental: enable body detector before body landmarks\n enabled: boolean,\n /** experimental: path to optional body detector model json file\n modelPath: string,\n /** experimental: minimum confidence for a detected body before results are discarded\n minConfidence: number,\n /** experimental: minimum overlap between two detected bodies before one is discarded\n iouThreshold: number\n },\n */\n}\n\n/** Configures all hand detection specific options */\nexport interface HandConfig extends GenericConfig {\n /** should hand rotation correction be performed after hand detection? */\n rotation: boolean,\n /** minimum confidence for a detected hand before results are discarded */\n minConfidence: number,\n /** minimum overlap between two detected hands before one is discarded */\n iouThreshold: number,\n /** maximum number of detected hands */\n maxDetected: number,\n /** should hand landmarks be detected or just return detected hand box */\n landmarks: boolean,\n detector: {\n /** path to hand detector model json */\n modelPath?: string,\n },\n skeleton: {\n /** path to hand skeleton model json */\n modelPath?: string,\n },\n}\n\n/** Configures all object detection specific options */\nexport interface ObjectConfig extends GenericConfig {\n /** minimum confidence for a detected objects before results are discarded */\n minConfidence: number,\n /** minimum overlap between two detected objects before one is discarded */\n iouThreshold: number,\n /** maximum number of detected objects */\n maxDetected: number,\n}\n\n/** Configures all body segmentation module\n * removes background from input containing person\n * if segmentation is enabled it will run as preprocessing task before any other model\n * alternatively leave it disabled and use it on-demand using human.segmentation method which can\n * remove background or replace it with user-provided background\n*/\nexport interface SegmentationConfig extends GenericConfig {\n /** downsample ratio, adjust to reflect approximately how much of input is taken by body */\n ratio: number,\n /** possible rvm segmentation mode */\n mode: SegmentationEnum,\n}\n\n/** Run input through image filters before inference\n * - available only in Browser environments\n * - image filters run with near-zero latency as they are executed on the GPU using WebGL\n*/\nexport interface FilterConfig {\n /** are image filters enabled? */\n enabled: boolean,\n /** perform image histogram equalization\n * - equalization is performed on input as a whole and detected face before its passed for further analysis\n */\n equalization: boolean,\n /** resize input width\n * - if both width and height are set to 0, there is no resizing\n * - if just one is set, second one is scaled automatically\n * - if both are set, values are used as-is\n */\n width: number,\n /** resize input height\n * - if both width and height are set to 0, there is no resizing\n * - if just one is set, second one is scaled automatically\n * - if both are set, values are used as-is\n */\n height: number,\n /** return processed canvas imagedata in result */\n return: boolean,\n /** flip input as mirror image */\n flip: boolean,\n /** apply auto-brighness */\n autoBrightness: boolean,\n /** range: -1 (darken) to 1 (lighten) */\n brightness: number,\n /** range: -1 (reduce contrast) to 1 (increase contrast) */\n contrast: number,\n /** range: 0 (no sharpening) to 1 (maximum sharpening) */\n sharpness: number,\n /** range: 0 (no blur) to N (blur radius in pixels) */\n blur: number\n /** range: -1 (reduce saturation) to 1 (increase saturation) */\n saturation: number,\n /** range: 0 (no change) to 360 (hue rotation in degrees) */\n hue: number,\n /** image negative */\n negative: boolean,\n /** image sepia colors */\n sepia: boolean,\n /** image vintage colors */\n vintage: boolean,\n /** image kodachrome colors */\n kodachrome: boolean,\n /** image technicolor colors */\n technicolor: boolean,\n /** image polaroid camera effect */\n polaroid: boolean,\n /** range: 0 (no pixelate) to N (number of pixels to pixelate) */\n pixelate: number,\n}\n\n/** Controlls gesture detection */\nexport interface GestureConfig {\n /** is gesture detection enabled? */\n enabled: boolean,\n}\n/**\n * Configuration interface definition for **Human** library\n * Contains all configurable parameters\n * Defaults: [config](https://github.com/vladmandic/human/blob/main/src/config.ts#L262)\n */\nexport interface Config {\n /** Backend used for TFJS operations\n * valid build-in backends are:\n * - Browser: `cpu`, `wasm`, `webgl`, `humangl`, `webgpu`\n * - NodeJS: `cpu`, `wasm`, `tensorflow`\n * default: `webgl` for browser and `tensorflow` for nodejs\n */\n backend: BackendEnum,\n\n /** Path to *.wasm files if backend is set to `wasm`\n *\n * default: auto-detects to link to CDN `jsdelivr` when running in browser\n */\n wasmPath: string,\n\n /** Force WASM loader to use platform fetch\n *\n * default: false\n */\n wasmPlatformFetch: boolean,\n\n /** Print debug statements to console\n *\n * default: `true`\n */\n debug: boolean,\n\n /** Perform model loading and inference concurrently or sequentially\n *\n * default: `true`\n */\n async: boolean,\n\n /** What to use for `human.warmup()`\n * - warmup pre-initializes all models for faster inference but can take significant time on startup\n * - used by `webgl`, `humangl` and `webgpu` backends\n *\n * default: `full`\n */\n warmup: WarmupEnum,\n\n /** Base model path (typically starting with file://, http:// or https://) for all models\n * - individual modelPath values are relative to this path\n *\n * default: `../models/` for browsers and `file://models/` for nodejs\n */\n modelBasePath: string,\n\n /** Cache models in IndexDB on first sucessfull load\n * default: true if indexdb is available (browsers), false if its not (nodejs)\n */\n cacheModels: boolean,\n\n /** Validate kernel ops used in model during model load\n * default: true\n * any errors will be printed on console but will be treated as non-fatal\n */\n validateModels: boolean,\n\n /** Cache sensitivity\n * - values 0..1 where 0.01 means reset cache if input changed more than 1%\n * - set to 0 to disable caching\n *\n * default: 0.7\n */\n cacheSensitivity: number;\n\n /** Explicit flags passed to initialize TFJS */\n flags: Record,\n\n /** Software Kernels\n * Registers software kernel ops running on CPU when accelerated version of kernel is not found in the current backend\n */\n softwareKernels: boolean,\n\n /** Perform immediate garbage collection on deallocated tensors instead of caching them */\n deallocate: boolean;\n\n /** Internal Variable */\n skipAllowed: boolean;\n\n /** Filter config {@link FilterConfig} */\n filter: Partial,\n\n /** Gesture config {@link GestureConfig} */\n gesture: Partial;\n\n /** Face config {@link FaceConfig} */\n face: Partial,\n\n /** Body config {@link BodyConfig} */\n body: Partial,\n\n /** Hand config {@link HandConfig} */\n hand: Partial,\n\n /** Object config {@link ObjectConfig} */\n object: Partial,\n\n /** Segmentation config {@link SegmentationConfig} */\n segmentation: Partial,\n}\n\n/** - [See all default Config values...](https://github.com/vladmandic/human/blob/main/src/config.ts#L262) */\nconst config: Config = {\n backend: '',\n modelBasePath: '',\n cacheModels: true,\n validateModels: true,\n wasmPath: '',\n wasmPlatformFetch: false,\n debug: false,\n async: true,\n warmup: 'full',\n cacheSensitivity: 0.70,\n skipAllowed: false,\n deallocate: false,\n flags: {},\n softwareKernels: false,\n filter: {\n enabled: true,\n equalization: false,\n width: 0,\n height: 0,\n flip: false,\n return: true,\n autoBrightness: true,\n brightness: 0,\n contrast: 0,\n sharpness: 0,\n blur: 0,\n saturation: 0,\n hue: 0,\n negative: false,\n sepia: false,\n vintage: false,\n kodachrome: false,\n technicolor: false,\n polaroid: false,\n pixelate: 0,\n },\n gesture: {\n enabled: true,\n },\n face: {\n enabled: true,\n detector: {\n modelPath: 'blazeface.json',\n rotation: true,\n maxDetected: 1,\n skipFrames: 99,\n skipTime: 2500,\n minConfidence: 0.2,\n iouThreshold: 0.1,\n mask: false,\n return: false,\n },\n mesh: {\n enabled: true,\n modelPath: 'facemesh.json',\n keepInvalid: false,\n },\n attention: {\n enabled: false,\n modelPath: 'facemesh-attention.json',\n },\n iris: {\n enabled: true,\n modelPath: 'iris.json',\n },\n emotion: {\n enabled: true,\n minConfidence: 0.1,\n skipFrames: 99,\n skipTime: 1500,\n modelPath: 'emotion.json',\n },\n description: {\n enabled: true,\n modelPath: 'faceres.json',\n skipFrames: 99,\n skipTime: 3000,\n minConfidence: 0.1,\n },\n antispoof: {\n enabled: false,\n skipFrames: 99,\n skipTime: 4000,\n modelPath: 'antispoof.json',\n },\n liveness: {\n enabled: false,\n skipFrames: 99,\n skipTime: 4000,\n modelPath: 'liveness.json',\n },\n },\n body: {\n enabled: true,\n modelPath: 'movenet-lightning.json',\n maxDetected: -1,\n minConfidence: 0.3,\n skipFrames: 1,\n skipTime: 200,\n },\n hand: {\n enabled: true,\n rotation: true,\n skipFrames: 99,\n skipTime: 1000,\n minConfidence: 0.50,\n iouThreshold: 0.2,\n maxDetected: -1,\n landmarks: true,\n detector: {\n modelPath: 'handtrack.json',\n },\n skeleton: {\n modelPath: 'handlandmark-full.json',\n },\n },\n object: {\n enabled: false,\n modelPath: 'centernet.json',\n minConfidence: 0.2,\n iouThreshold: 0.4,\n maxDetected: 10,\n skipFrames: 99,\n skipTime: 2000,\n },\n segmentation: {\n enabled: false,\n modelPath: 'rvm.json',\n ratio: 0.5,\n mode: 'default',\n },\n};\n\nexport { config as defaults };\n", "export const vertexIdentity = `\n precision highp float;\n attribute vec2 pos;\n attribute vec2 uv;\n varying vec2 vUv;\n uniform float flipY;\n void main(void) {\n vUv = uv;\n gl_Position = vec4(pos.x, pos.y*flipY, 0.0, 1.);\n }\n`;\n\nexport const fragmentIdentity = `\n precision highp float;\n varying vec2 vUv;\n uniform sampler2D texture;\n void main(void) {\n gl_FragColor = texture2D(texture, vUv);\n }\n`;\n\nexport const colorMatrixWithAlpha = `\n precision highp float;\n varying vec2 vUv;\n uniform sampler2D texture;\n uniform float m[20];\n void main(void) {\n vec4 c = texture2D(texture, vUv);\n gl_FragColor.r = m[0] * c.r + m[1] * c.g + m[2] * c.b + m[3] * c.a + m[4];\n gl_FragColor.g = m[5] * c.r + m[6] * c.g + m[7] * c.b + m[8] * c.a + m[9];\n gl_FragColor.b = m[10] * c.r + m[11] * c.g + m[12] * c.b + m[13] * c.a + m[14];\n gl_FragColor.a = m[15] * c.r + m[16] * c.g + m[17] * c.b + m[18] * c.a + m[19];\n }\n`;\n\nexport const colorMatrixWithoutAlpha = `\n precision highp float;\n varying vec2 vUv;\n uniform sampler2D texture;\n uniform float m[20];\n void main(void) {\n vec4 c = texture2D(texture, vUv);\n gl_FragColor.r = m[0] * c.r + m[1] * c.g + m[2] * c.b + m[4];\n gl_FragColor.g = m[5] * c.r + m[6] * c.g + m[7] * c.b + m[9];\n gl_FragColor.b = m[10] * c.r + m[11] * c.g + m[12] * c.b + m[14];\n gl_FragColor.a = c.a;\n }\n`;\n\nexport const pixelate = `\n precision highp float;\n varying vec2 vUv;\n uniform vec2 size;\n uniform sampler2D texture;\n vec2 pixelate(vec2 coord, vec2 size) {\n return floor( coord / size ) * size;\n }\n void main(void) {\n gl_FragColor = vec4(0.0);\n vec2 coord = pixelate(vUv, size);\n gl_FragColor += texture2D(texture, coord);\n }\n`;\n\nexport const blur = `\n precision highp float;\n varying vec2 vUv;\n uniform sampler2D texture;\n uniform vec2 px;\n void main(void) {\n gl_FragColor = vec4(0.0);\n gl_FragColor += texture2D(texture, vUv + vec2(-7.0*px.x, -7.0*px.y))*0.0044299121055113265;\n gl_FragColor += texture2D(texture, vUv + vec2(-6.0*px.x, -6.0*px.y))*0.00895781211794;\n gl_FragColor += texture2D(texture, vUv + vec2(-5.0*px.x, -5.0*px.y))*0.0215963866053;\n gl_FragColor += texture2D(texture, vUv + vec2(-4.0*px.x, -4.0*px.y))*0.0443683338718;\n gl_FragColor += texture2D(texture, vUv + vec2(-3.0*px.x, -3.0*px.y))*0.0776744219933;\n gl_FragColor += texture2D(texture, vUv + vec2(-2.0*px.x, -2.0*px.y))*0.115876621105;\n gl_FragColor += texture2D(texture, vUv + vec2(-1.0*px.x, -1.0*px.y))*0.147308056121;\n gl_FragColor += texture2D(texture, vUv )*0.159576912161;\n gl_FragColor += texture2D(texture, vUv + vec2( 1.0*px.x, 1.0*px.y))*0.147308056121;\n gl_FragColor += texture2D(texture, vUv + vec2( 2.0*px.x, 2.0*px.y))*0.115876621105;\n gl_FragColor += texture2D(texture, vUv + vec2( 3.0*px.x, 3.0*px.y))*0.0776744219933;\n gl_FragColor += texture2D(texture, vUv + vec2( 4.0*px.x, 4.0*px.y))*0.0443683338718;\n gl_FragColor += texture2D(texture, vUv + vec2( 5.0*px.x, 5.0*px.y))*0.0215963866053;\n gl_FragColor += texture2D(texture, vUv + vec2( 6.0*px.x, 6.0*px.y))*0.00895781211794;\n gl_FragColor += texture2D(texture, vUv + vec2( 7.0*px.x, 7.0*px.y))*0.0044299121055113265;\n }\n`;\n\nexport const convolution = `\n precision highp float;\n varying vec2 vUv;\n uniform sampler2D texture;\n uniform vec2 px;\n uniform float m[9];\n void main(void) {\n vec4 c11 = texture2D(texture, vUv - px); // top left\n vec4 c12 = texture2D(texture, vec2(vUv.x, vUv.y - px.y)); // top center\n vec4 c13 = texture2D(texture, vec2(vUv.x + px.x, vUv.y - px.y)); // top right\n vec4 c21 = texture2D(texture, vec2(vUv.x - px.x, vUv.y) ); // mid left\n vec4 c22 = texture2D(texture, vUv); // mid center\n vec4 c23 = texture2D(texture, vec2(vUv.x + px.x, vUv.y) ); // mid right\n vec4 c31 = texture2D(texture, vec2(vUv.x - px.x, vUv.y + px.y) ); // bottom left\n vec4 c32 = texture2D(texture, vec2(vUv.x, vUv.y + px.y) ); // bottom center\n vec4 c33 = texture2D(texture, vUv + px ); // bottom right\n gl_FragColor = \n c11 * m[0] + c12 * m[1] + c22 * m[2] +\n c21 * m[3] + c22 * m[4] + c23 * m[5] +\n c31 * m[6] + c32 * m[7] + c33 * m[8];\n gl_FragColor.a = c22.a;\n }\n`;\n", "/**\n * Image Filters in WebGL algoritm implementation\n * Based on: [WebGLImageFilter](https://github.com/phoboslab/WebGLImageFilter)\n */\n\n/* eslint-disable func-names */\n\nimport * as shaders from './imagefxshaders';\nimport { canvas } from './image';\nimport { log } from '../util/util';\n\nconst collect = (source, prefix: string, collection) => {\n const r = new RegExp('\\\\b' + prefix + ' \\\\w+ (\\\\w+)', 'ig');\n source.replace(r, (match, name) => {\n collection[name] = 0;\n return match;\n });\n};\n\nclass GLProgram {\n uniform = {};\n attribute = {};\n gl: WebGLRenderingContext;\n id: WebGLProgram;\n\n constructor(gl, vertexSource, fragmentSource) {\n this.gl = gl;\n const vertexShader = this.compile(vertexSource, this.gl.VERTEX_SHADER);\n const fragmentShader = this.compile(fragmentSource, this.gl.FRAGMENT_SHADER);\n this.id = this.gl.createProgram() as WebGLProgram;\n if (!vertexShader || !fragmentShader) return;\n if (!this.id) {\n log('filter: could not create webgl program');\n return;\n }\n this.gl.attachShader(this.id, vertexShader);\n this.gl.attachShader(this.id, fragmentShader);\n this.gl.linkProgram(this.id);\n if (!this.gl.getProgramParameter(this.id, this.gl.LINK_STATUS)) {\n log(`filter: gl link failed: ${this.gl.getProgramInfoLog(this.id) || 'unknown'}`);\n return;\n }\n this.gl.useProgram(this.id);\n collect(vertexSource, 'attribute', this.attribute); // Collect attributes\n for (const a in this.attribute) this.attribute[a] = this.gl.getAttribLocation(this.id, a);\n collect(vertexSource, 'uniform', this.uniform); // Collect uniforms\n collect(fragmentSource, 'uniform', this.uniform);\n for (const u in this.uniform) this.uniform[u] = this.gl.getUniformLocation(this.id, u);\n }\n\n compile = (source, type): WebGLShader | null => {\n const shader = this.gl.createShader(type);\n if (!shader) {\n log('filter: could not create shader');\n return null;\n }\n this.gl.shaderSource(shader, source);\n this.gl.compileShader(shader);\n if (!this.gl.getShaderParameter(shader, this.gl.COMPILE_STATUS)) {\n log(`filter: gl compile failed: ${this.gl.getShaderInfoLog(shader) || 'unknown'}`);\n return null;\n }\n return shader;\n };\n}\n\n// function that is instantiated as class so it has private this members\n/**\n * @class GLImageFilter\n * @property {function} reset reset current filter chain\n * @property {function} add add specified filter to filter chain\n * @property {function} apply execute filter chain and draw result\n * @property {function} draw just draw input to result\n */\n\nexport function GLImageFilter() {\n let drawCount = 0;\n let sourceTexture: WebGLTexture | null = null;\n let lastInChain = false;\n let currentFramebufferIndex = -1;\n let tempFramebuffers: [null, null] | [{ fbo: WebGLFramebuffer | null, texture: WebGLTexture | null }] = [null, null];\n let filterChain: Record[] = [];\n let vertexBuffer: WebGLBuffer | null = null;\n let currentProgram: GLProgram | null = null;\n const fxcanvas = canvas(100, 100) as HTMLCanvasElement;\n const shaderProgramCache = { }; // key is the shader program source, value is the compiled program\n const DRAW = { INTERMEDIATE: 1 };\n const gl = fxcanvas.getContext('webgl') as WebGLRenderingContext;\n if (!gl) {\n log('filter: cannot get webgl context');\n return;\n }\n // @ts-ignore used for sanity checks outside of imagefx\n this.gl = gl;\n\n function resize(width, height) {\n if (width === fxcanvas.width && height === fxcanvas.height) return; // Same width/height? Nothing to do here\n fxcanvas.width = width;\n fxcanvas.height = height;\n if (!vertexBuffer) { // Create the context if we don't have it yet\n const vertices = new Float32Array([-1, -1, 0, 1, 1, -1, 1, 1, -1, 1, 0, 0, -1, 1, 0, 0, 1, -1, 1, 1, 1, 1, 1, 0]); // Create the vertex buffer for the two triangles [x, y, u, v] * 6\n vertexBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW);\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);\n }\n gl.viewport(0, 0, fxcanvas.width, fxcanvas.height);\n tempFramebuffers = [null, null]; // Delete old temp framebuffers\n }\n\n function createFramebufferTexture(width, height) {\n const fbo = gl.createFramebuffer();\n gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);\n const renderbuffer = gl.createRenderbuffer();\n gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer);\n const texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);\n gl.bindTexture(gl.TEXTURE_2D, null);\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n return { fbo, texture };\n }\n\n function getTempFramebuffer(index): { fbo: WebGLFramebuffer | null, texture: WebGLTexture | null } {\n tempFramebuffers[index] = tempFramebuffers[index] || createFramebufferTexture(fxcanvas.width, fxcanvas.height);\n return tempFramebuffers[index] as { fbo: WebGLFramebuffer, texture: WebGLTexture };\n }\n\n function draw(flags = 0) {\n if (!currentProgram) return;\n let source: WebGLTexture | null = null;\n let target: WebGLFramebuffer | null = null;\n let flipY = false;\n if (drawCount === 0) source = sourceTexture; // First draw call - use the source texture\n else source = getTempFramebuffer(currentFramebufferIndex).texture || null; // All following draw calls use the temp buffer last drawn to\n drawCount++;\n if (lastInChain && !(flags & DRAW.INTERMEDIATE)) { // Last filter in our chain - draw directly to the WebGL Canvas. We may also have to flip the image vertically now\n target = null;\n flipY = drawCount % 2 === 0;\n } else {\n currentFramebufferIndex = (currentFramebufferIndex + 1) % 2;\n target = getTempFramebuffer(currentFramebufferIndex).fbo || null; // Intermediate draw call - get a temp buffer to draw to\n }\n gl.bindTexture(gl.TEXTURE_2D, source); // Bind the source and target and draw the two triangles\n gl.bindFramebuffer(gl.FRAMEBUFFER, target);\n gl.uniform1f(currentProgram.uniform['flipY'], (flipY ? -1 : 1));\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n }\n\n function compileShader(fragmentSource): GLProgram | null {\n if (shaderProgramCache[fragmentSource]) {\n currentProgram = shaderProgramCache[fragmentSource];\n gl.useProgram((currentProgram ? currentProgram.id : null) || null);\n return currentProgram;\n }\n currentProgram = new GLProgram(gl, shaders.vertexIdentity, fragmentSource);\n if (!currentProgram) {\n log('filter: could not get webgl program');\n return null;\n }\n const floatSize = Float32Array.BYTES_PER_ELEMENT;\n const vertSize = 4 * floatSize;\n gl.enableVertexAttribArray(currentProgram.attribute['pos']);\n gl.vertexAttribPointer(currentProgram.attribute['pos'], 2, gl.FLOAT, false, vertSize, 0 * floatSize);\n gl.enableVertexAttribArray(currentProgram.attribute['uv']);\n gl.vertexAttribPointer(currentProgram.attribute['uv'], 2, gl.FLOAT, false, vertSize, 2 * floatSize);\n shaderProgramCache[fragmentSource] = currentProgram;\n return currentProgram;\n }\n\n const filter = {\n colorMatrix: (matrix: number[]) => { // general color matrix filter\n const m = new Float32Array(matrix);\n m[4] /= 255;\n m[9] /= 255;\n m[14] /= 255;\n m[19] /= 255;\n const shader = (m[18] === 1 && m[3] === 0 && m[8] === 0 && m[13] === 0 && m[15] === 0 && m[16] === 0 && m[17] === 0 && m[19] === 0) // Can we ignore the alpha value? Makes things a bit faster.\n ? shaders.colorMatrixWithoutAlpha\n : shaders.colorMatrixWithAlpha;\n const program = compileShader(shader);\n if (!program) return;\n gl.uniform1fv(program.uniform['m'], m);\n draw();\n },\n\n brightness: (brightness: number) => {\n const b = (brightness || 0) + 1;\n filter.colorMatrix([\n b, 0, 0, 0, 0,\n 0, b, 0, 0, 0,\n 0, 0, b, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n saturation: (amount: number) => {\n const x = (amount || 0) * 2 / 3 + 1;\n const y = ((x - 1) * -0.5);\n filter.colorMatrix([\n x, y, y, 0, 0,\n y, x, y, 0, 0,\n y, y, x, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n desaturate: () => {\n filter.saturation(-1);\n },\n\n contrast: (amount: number) => {\n const v = (amount || 0) + 1;\n const o = -128 * (v - 1);\n filter.colorMatrix([\n v, 0, 0, 0, o,\n 0, v, 0, 0, o,\n 0, 0, v, 0, o,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n negative: () => {\n filter.contrast(-2);\n },\n\n hue: (rotation: number) => {\n rotation = (rotation || 0) / 180 * Math.PI;\n const cos = Math.cos(rotation);\n const sin = Math.sin(rotation);\n const lumR = 0.213;\n const lumG = 0.715;\n const lumB = 0.072;\n filter.colorMatrix([\n lumR + cos * (1 - lumR) + sin * (-lumR), lumG + cos * (-lumG) + sin * (-lumG), lumB + cos * (-lumB) + sin * (1 - lumB), 0, 0,\n lumR + cos * (-lumR) + sin * (0.143), lumG + cos * (1 - lumG) + sin * (0.140), lumB + cos * (-lumB) + sin * (-0.283), 0, 0,\n lumR + cos * (-lumR) + sin * (-(1 - lumR)), lumG + cos * (-lumG) + sin * (lumG), lumB + cos * (1 - lumB) + sin * (lumB), 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n desaturateLuminance: () => {\n filter.colorMatrix([\n 0.2764723, 0.9297080, 0.0938197, 0, -37.1,\n 0.2764723, 0.9297080, 0.0938197, 0, -37.1,\n 0.2764723, 0.9297080, 0.0938197, 0, -37.1,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n sepia: () => {\n filter.colorMatrix([\n 0.393, 0.7689999, 0.18899999, 0, 0,\n 0.349, 0.6859999, 0.16799999, 0, 0,\n 0.272, 0.5339999, 0.13099999, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n brownie: () => {\n filter.colorMatrix([\n 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873,\n -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127,\n 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n vintagePinhole: () => {\n filter.colorMatrix([\n 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123,\n 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591,\n 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n kodachrome: () => {\n filter.colorMatrix([\n 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502,\n -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203,\n -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n technicolor: () => {\n filter.colorMatrix([\n 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337,\n -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398,\n -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n polaroid: () => {\n filter.colorMatrix([\n 1.438, -0.062, -0.062, 0, 0,\n -0.122, 1.378, -0.122, 0, 0,\n -0.016, -0.016, 1.483, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n shiftToBGR: () => {\n filter.colorMatrix([\n 0, 0, 1, 0, 0,\n 0, 1, 0, 0, 0,\n 1, 0, 0, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n convolution: (matrix: number[]) => { // general convolution Filter\n const m = new Float32Array(matrix);\n const pixelSizeX = 1 / fxcanvas.width;\n const pixelSizeY = 1 / fxcanvas.height;\n const program = compileShader(shaders.convolution);\n if (!program) return;\n gl.uniform1fv(program.uniform['m'], m);\n gl.uniform2f(program.uniform['px'], pixelSizeX, pixelSizeY);\n draw();\n },\n\n detectEdges: () => {\n // @ts-ignore this\n filter.convolution.call(this, [\n 0, 1, 0,\n 1, -4, 1,\n 0, 1, 0,\n ]);\n },\n\n sobelX: () => {\n // @ts-ignore this\n filter.convolution.call(this, [\n -1, 0, 1,\n -2, 0, 2,\n -1, 0, 1,\n ]);\n },\n\n sobelY: () => {\n // @ts-ignore this\n filter.convolution.call(this, [\n -1, -2, -1,\n 0, 0, 0,\n 1, 2, 1,\n ]);\n },\n\n sharpen: (amount) => {\n const a = amount || 1;\n // @ts-ignore this\n filter.convolution.call(this, [\n 0, -1 * a, 0,\n -1 * a, 1 + 4 * a, -1 * a,\n 0, -1 * a, 0,\n ]);\n },\n\n emboss: (size: number) => {\n const s = size || 1;\n // @ts-ignore this\n filter.convolution.call(this, [\n -2 * s, -1 * s, 0,\n -1 * s, 1, 1 * s,\n 0, 1 * s, 2 * s,\n ]);\n },\n\n blur: (size: number) => {\n const blurSizeX = (size / 7) / fxcanvas.width;\n const blurSizeY = (size / 7) / fxcanvas.height;\n const program = compileShader(shaders.blur);\n if (!program) return;\n // Vertical\n gl.uniform2f(program.uniform['px'], 0, blurSizeY);\n draw(DRAW.INTERMEDIATE);\n // Horizontal\n gl.uniform2f(program.uniform['px'], blurSizeX, 0);\n draw();\n },\n\n pixelate: (size: number) => {\n const blurSizeX = (size) / fxcanvas.width;\n const blurSizeY = (size) / fxcanvas.height;\n const program = compileShader(shaders.pixelate);\n if (!program) return;\n gl.uniform2f(program.uniform['size'], blurSizeX, blurSizeY);\n draw();\n },\n };\n\n // @ts-ignore this\n this.add = function (name) {\n const args = Array.prototype.slice.call(arguments, 1); // eslint-disable-line prefer-rest-params\n const func = filter[name];\n filterChain.push({ func, args });\n };\n\n // @ts-ignore this\n this.reset = function () {\n filterChain = [];\n };\n\n // @ts-ignore this\n this.get = function () {\n return filterChain;\n };\n\n // @ts-ignore this\n this.apply = function (image) {\n resize(image.width, image.height);\n drawCount = 0;\n if (!sourceTexture) sourceTexture = gl.createTexture(); // Create the texture for the input image if we haven't yet\n gl.bindTexture(gl.TEXTURE_2D, sourceTexture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n for (let i = 0; i < filterChain.length; i++) {\n lastInChain = (i === filterChain.length - 1);\n const f = filterChain[i];\n // @ts-ignore function assigment\n f.func.apply(this, f.args || []);\n }\n return fxcanvas;\n };\n\n // @ts-ignore this\n this.draw = function (image) {\n this.add('brightness', 0);\n return this.apply(image);\n };\n}\n", "/**\n * Image enhancements\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport type { Tensor } from '../exports';\n\nexport async function histogramEqualization(inputImage: Tensor): Promise {\n const squeeze = inputImage.shape.length === 4 ? tf.squeeze(inputImage) : inputImage;\n const rgb = tf.split(squeeze, 3, 2);\n const min: Tensor[] = [tf.min(rgb[0]), tf.min(rgb[1]), tf.min(rgb[2])]; // minimum pixel value per channel T[]\n const max: Tensor[] = [tf.max(rgb[0]), tf.max(rgb[1]), tf.max(rgb[2])]; // maximum pixel value per channel T[]\n // const absMin = await Promise.all(min.map((channel) => channel.data())); // minimum pixel value per channel A[]\n // const minValue = Math.min(absMax[0][0], absMin[1][0], absMin[2][0]);\n const absMax = await Promise.all(max.map((channel) => channel.data())); // maximum pixel value per channel A[]\n const maxValue = Math.max(absMax[0][0], absMax[1][0], absMax[2][0]);\n const maxRange = maxValue > 1 ? 255 : 1;\n const factor = maxRange / maxValue;\n let final: Tensor;\n if (factor > 1) {\n const sub = [tf.sub(rgb[0], min[0]), tf.sub(rgb[1], min[1]), tf.sub(rgb[2], min[2])]; // channels offset by min values\n const range = [tf.sub(max[0], min[0]), tf.sub(max[1], min[1]), tf.sub(max[2], min[2])]; // channel ranges\n // const fact = [tf.div(maxRange, absMax[0]), tf.div(maxRange, absMax[1]), tf.div(maxRange, absMax[1])]; // factors between\n const enh = [tf.mul(sub[0], factor), tf.mul(sub[1], factor), tf.mul(sub[2], factor)];\n const stack = tf.stack([enh[0], enh[1], enh[2]], 2);\n final = tf.reshape(stack, [1, squeeze.shape[0] || 0, squeeze.shape[1] || 0, 3]);\n tf.dispose([...sub, ...range, ...enh]);\n } else {\n final = tf.expandDims(squeeze, 0);\n }\n tf.dispose([...rgb, ...min, ...max, rgb, squeeze, inputImage]);\n return final;\n}\n", "/**\n * Image Processing algorithm implementation\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport * as fxImage from './imagefx';\nimport type { Input, AnyCanvas, Config } from '../exports';\nimport type { Tensor, Tensor3D, Tensor4D } from '../tfjs/types';\nimport { env } from '../util/env';\nimport { log } from '../util/util';\nimport * as enhance from './enhance';\n\nconst maxSize = 3840;\n// internal temp canvases\nlet inCanvas: AnyCanvas | null = null; // use global variable to avoid recreating canvas on each frame\nlet outCanvas: AnyCanvas | null = null; // use global variable to avoid recreating canvas on each frame\nlet tmpCanvas: AnyCanvas | null = null; // use global variable to avoid recreating canvas on each frame\n// @ts-ignore // imagefx is js module that should be converted to a class\nlet fx: fxImage.GLImageFilter | null; // instance of imagefx\n\nconst last: { inputSum: number, cacheDiff: number, sumMethod: number, inputTensor: undefined | Tensor } = {\n inputSum: 0,\n cacheDiff: 1,\n sumMethod: 0,\n inputTensor: undefined,\n};\n\nexport function reset() {\n last.inputSum = 0;\n last.cacheDiff = 1;\n last.sumMethod = 0;\n last.inputTensor = undefined;\n}\n\nexport function canvas(width: number, height: number): AnyCanvas {\n let c: AnyCanvas;\n if (env.browser) { // browser defines canvas object\n if (env.worker) { // if runing in web worker use OffscreenCanvas\n if (typeof OffscreenCanvas === 'undefined') throw new Error('canvas error: attempted to run in web worker but OffscreenCanvas is not supported');\n c = new OffscreenCanvas(width, height);\n } else { // otherwise use DOM canvas\n if (typeof document === 'undefined') throw new Error('canvas error: attempted to run in browser but DOM is not defined');\n c = document.createElement('canvas');\n c.width = width;\n c.height = height;\n }\n } else { // if not running in browser, there is no \"default\" canvas object, so we need monkey patch or fail\n // @ts-ignore // env.canvas is an external monkey-patch\n if (typeof env.Canvas !== 'undefined') c = new env.Canvas(width, height);\n else if (typeof globalThis.Canvas !== 'undefined') c = new globalThis.Canvas(width, height);\n // else throw new Error('canvas error: attempted to use canvas in nodejs without canvas support installed');\n }\n // @ts-ignore its either defined or we already threw an error\n return c;\n}\n\n// helper function to copy canvas from input to output\nexport function copy(input: AnyCanvas, output?: AnyCanvas) {\n const outputCanvas = output || canvas(input.width, input.height);\n const ctx = outputCanvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.drawImage(input, 0, 0);\n return outputCanvas;\n}\n\n// process input image and return tensor\n// input can be tensor, imagedata, htmlimageelement, htmlvideoelement\n// input is resized and run through imagefx filter\nexport async function process(input: Input, config: Config, getTensor: boolean = true): Promise<{ tensor: Tensor4D | null, canvas: AnyCanvas | null }> {\n if (!input) {\n // throw new Error('input is missing');\n if (config.debug) log('input error: input is missing');\n return { tensor: null, canvas: null }; // video may become temporarily unavailable due to onresize\n }\n // sanity checks since different browsers do not implement all dom elements\n if (\n !(input instanceof tf.Tensor)\n && !(typeof Image !== 'undefined' && input instanceof Image)\n && !(typeof env.Canvas !== 'undefined' && input instanceof env.Canvas)\n && !(typeof globalThis.Canvas !== 'undefined' && input instanceof globalThis.Canvas)\n && !(typeof ImageData !== 'undefined' && input instanceof ImageData)\n && !(typeof ImageBitmap !== 'undefined' && input instanceof ImageBitmap)\n && !(typeof HTMLImageElement !== 'undefined' && input instanceof HTMLImageElement)\n && !(typeof HTMLMediaElement !== 'undefined' && input instanceof HTMLMediaElement)\n && !(typeof HTMLVideoElement !== 'undefined' && input instanceof HTMLVideoElement)\n && !(typeof HTMLCanvasElement !== 'undefined' && input instanceof HTMLCanvasElement)\n && !(typeof OffscreenCanvas !== 'undefined' && input instanceof OffscreenCanvas)\n ) {\n throw new Error('input error: type is not recognized');\n }\n if (input instanceof tf.Tensor) { // if input is tensor use as-is without filters but correct shape as needed\n let tensor: Tensor | null = null;\n if (input['isDisposedInternal']) throw new Error('input error: attempted to use tensor but it is disposed');\n if (!(input as Tensor).shape) throw new Error('input error: attempted to use tensor without a shape');\n if ((input as Tensor).shape.length === 3) { // [height, width, 3 || 4]\n if ((input as Tensor).shape[2] === 3) { // [height, width, 3] so add batch\n tensor = tf.expandDims(input, 0);\n } else if ((input as Tensor).shape[2] === 4) { // [height, width, 4] so strip alpha and add batch\n const rgb = tf.slice3d(input as Tensor3D, [0, 0, 0], [-1, -1, 3]);\n tensor = tf.expandDims(rgb, 0);\n tf.dispose(rgb);\n }\n } else if ((input as Tensor).shape.length === 4) { // [1, width, height, 3 || 4]\n if ((input as Tensor).shape[3] === 3) { // [1, width, height, 3] just clone\n tensor = tf.clone(input);\n } else if ((input as Tensor).shape[3] === 4) { // [1, width, height, 4] so strip alpha\n tensor = tf.slice4d(input as Tensor4D, [0, 0, 0, 0], [-1, -1, -1, 3]);\n }\n }\n // at the end shape must be [1, height, width, 3]\n if (tensor == null || tensor.shape.length !== 4 || tensor.shape[0] !== 1 || tensor.shape[3] !== 3) throw new Error(`input error: attempted to use tensor with unrecognized shape: ${((input as Tensor).shape).toString()}`);\n if ((tensor).dtype === 'int32') {\n const cast = tf.cast(tensor, 'float32');\n tf.dispose(tensor);\n tensor = cast;\n }\n return { tensor: tensor as Tensor4D, canvas: (config.filter.return ? outCanvas : null) };\n }\n // check if resizing will be needed\n if (typeof input['readyState'] !== 'undefined' && (input as HTMLMediaElement).readyState <= 2) {\n if (config.debug) log('input stream is not ready');\n return { tensor: null, canvas: inCanvas }; // video may become temporarily unavailable due to onresize\n }\n const originalWidth: number = input['naturalWidth'] || input['videoWidth'] || input['width'] || (input['shape'] && (input['shape'][1] > 0));\n const originalHeight: number = input['naturalHeight'] || input['videoHeight'] || input['height'] || (input['shape'] && (input['shape'][2] > 0));\n if (!originalWidth || !originalHeight) {\n if (config.debug) log('cannot determine input dimensions');\n return { tensor: null, canvas: inCanvas }; // video may become temporarily unavailable due to onresize\n }\n let targetWidth: number = originalWidth;\n let targetHeight: number = originalHeight;\n if (targetWidth > maxSize) {\n targetWidth = maxSize;\n targetHeight = Math.trunc(targetWidth * originalHeight / originalWidth);\n }\n if (targetHeight > maxSize) {\n targetHeight = maxSize;\n targetWidth = Math.trunc(targetHeight * originalWidth / originalHeight);\n }\n\n // create our canvas and resize it if needed\n if ((config.filter?.width || 0) > 0) targetWidth = config.filter.width as number;\n else if ((config.filter?.height || 0) > 0) targetWidth = originalWidth * ((config.filter.height || 0) / originalHeight);\n if ((config.filter.height || 0) > 0) targetHeight = config.filter.height as number;\n else if ((config.filter.width || 0) > 0) targetHeight = originalHeight * ((config.filter.width || 0) / originalWidth);\n if (!targetWidth || !targetHeight) throw new Error('input error: cannot determine dimension');\n if (!inCanvas || (inCanvas.width !== targetWidth) || (inCanvas.height !== targetHeight)) inCanvas = canvas(targetWidth, targetHeight);\n\n // draw input to our canvas\n const inCtx = inCanvas.getContext('2d') as CanvasRenderingContext2D;\n if ((typeof ImageData !== 'undefined') && (input instanceof ImageData)) {\n inCtx.putImageData(input, 0, 0);\n } else {\n if (config.filter.flip && typeof inCtx.translate !== 'undefined') {\n inCtx.translate(originalWidth, 0);\n inCtx.scale(-1, 1);\n inCtx.drawImage(input as AnyCanvas, 0, 0, originalWidth, originalHeight, 0, 0, inCanvas.width, inCanvas.height);\n inCtx.setTransform(1, 0, 0, 1, 0, 0); // resets transforms to defaults\n } else {\n inCtx.drawImage(input as AnyCanvas, 0, 0, originalWidth, originalHeight, 0, 0, inCanvas.width, inCanvas.height);\n }\n }\n\n if (!outCanvas || (inCanvas.width !== outCanvas.width) || (inCanvas.height !== outCanvas.height)) outCanvas = canvas(inCanvas.width, inCanvas.height); // init output canvas\n\n // imagefx transforms using gl from input canvas to output canvas\n if (config.filter.enabled && env.webgl.supported) {\n if (!fx) fx = env.browser ? new fxImage.GLImageFilter() : null; // && (typeof document !== 'undefined')\n env.filter = !!fx;\n if (!fx?.add) {\n if (config.debug) log('input process error: cannot initialize filters');\n env.webgl.supported = false;\n config.filter.enabled = false;\n copy(inCanvas, outCanvas); // filter failed to initialize\n // return { tensor: null, canvas: inCanvas };\n } else {\n fx.reset();\n if (config.filter.brightness !== 0) fx.add('brightness', config.filter.brightness);\n if (config.filter.contrast !== 0) fx.add('contrast', config.filter.contrast);\n if (config.filter.sharpness !== 0) fx.add('sharpen', config.filter.sharpness);\n if (config.filter.blur !== 0) fx.add('blur', config.filter.blur);\n if (config.filter.saturation !== 0) fx.add('saturation', config.filter.saturation);\n if (config.filter.hue !== 0) fx.add('hue', config.filter.hue);\n if (config.filter.negative) fx.add('negative');\n if (config.filter.sepia) fx.add('sepia');\n if (config.filter.vintage) fx.add('brownie');\n if (config.filter.sepia) fx.add('sepia');\n if (config.filter.kodachrome) fx.add('kodachrome');\n if (config.filter.technicolor) fx.add('technicolor');\n if (config.filter.polaroid) fx.add('polaroid');\n if (config.filter.pixelate !== 0) fx.add('pixelate', config.filter.pixelate);\n if (fx.get()?.length > 1) outCanvas = fx.apply(inCanvas);\n else outCanvas = fx.draw(inCanvas);\n }\n } else {\n copy(inCanvas, outCanvas); // if no filters applied, output canvas is input canvas\n if (fx) fx = null;\n env.filter = !!fx;\n }\n\n if (!getTensor) return { tensor: null, canvas: outCanvas }; // just canvas was requested\n if (!outCanvas) throw new Error('canvas error: cannot create output');\n\n // create tensor from image unless input was a tensor already\n let pixels;\n let depth = 3;\n if ((typeof ImageData !== 'undefined' && input instanceof ImageData) || ((input as ImageData).data && (input as ImageData).width && (input as ImageData).height)) { // if input is imagedata, just use it\n if (env.browser && tf.browser) {\n pixels = tf.browser ? tf.browser.fromPixels(input as ImageData) : null;\n } else {\n depth = (input as ImageData).data.length / (input as ImageData).height / (input as ImageData).width;\n // const arr = Uint8Array.from(input['data']);\n const arr = new Uint8Array((input as ImageData).data.buffer);\n pixels = tf.tensor(arr, [(input as ImageData).height, (input as ImageData).width, depth], 'int32');\n }\n } else {\n if (!tmpCanvas || (outCanvas.width !== tmpCanvas.width) || (outCanvas.height !== tmpCanvas.height)) tmpCanvas = canvas(outCanvas.width, outCanvas.height); // init output canvas\n if (tf.browser && env.browser) {\n if (config.backend === 'webgl' || config.backend === 'humangl' || config.backend === 'webgpu') {\n pixels = tf.browser.fromPixels(outCanvas as HTMLCanvasElement); // safe to reuse since both backend and context are gl based\n } else {\n tmpCanvas = copy(outCanvas); // cannot use output canvas as it already has gl context so we do a silly one more canvas\n pixels = tf.browser.fromPixels(tmpCanvas as HTMLCanvasElement);\n }\n } else {\n const tempCanvas = copy(outCanvas); // cannot use output canvas as it already has gl context so we do a silly one more canvas\n const tempCtx = tempCanvas.getContext('2d') as CanvasRenderingContext2D;\n const tempData = tempCtx.getImageData(0, 0, targetWidth, targetHeight);\n depth = tempData.data.length / targetWidth / targetHeight;\n const arr = new Uint8Array(tempData.data.buffer);\n pixels = tf.tensor(arr, [targetWidth, targetHeight, depth]);\n }\n }\n if (depth === 4) { // rgba to rgb\n const rgb = tf.slice3d(pixels, [0, 0, 0], [-1, -1, 3]); // strip alpha channel\n tf.dispose(pixels);\n pixels = rgb;\n }\n if (!pixels) throw new Error('input error: cannot create tensor');\n const casted: Tensor = tf.cast(pixels, 'float32');\n const tensor: Tensor = config.filter.equalization ? await enhance.histogramEqualization(casted) : tf.expandDims(casted, 0);\n tf.dispose([pixels, casted]);\n\n if (config.filter.autoBrightness) {\n const max = tf.max(tensor);\n const maxVal = await max.data();\n config.filter.brightness = maxVal[0] > 1 ? (1 - maxVal[0] / 255) : (1 - maxVal[0]);\n tf.dispose(max);\n }\n\n return { tensor: tensor as Tensor4D, canvas: (config.filter.return ? outCanvas : null) };\n}\n\n/*\nconst checksum = async (input: Tensor): Promise => { // use tf sum or js based sum loop depending on which is faster\n const resizeFact = 48;\n const reduced: Tensor = tf.image.resizeBilinear(input, [Math.trunc((input.shape[1] || 1) / resizeFact), Math.trunc((input.shape[2] || 1) / resizeFact)]);\n const tfSum = async (): Promise => {\n const sumT = tf.sum(reduced);\n const sum0 = await sumT.data();\n tf.dispose(sumT);\n return sum0[0];\n };\n const jsSum = async (): Promise => {\n const reducedData = await reduced.data(); // raw image rgb array\n let sum0 = 0;\n for (let i = 0; i < reducedData.length / 3; i++) sum0 += reducedData[3 * i + 2]; // look only at green value of each pixel\n return sum0;\n };\n if (last.sumMethod === 0) {\n const t0 = now();\n await jsSum();\n const t1 = now();\n await tfSum();\n const t2 = now();\n last.sumMethod = t1 - t0 < t2 - t1 ? 1 : 2;\n }\n const res = last.sumMethod === 1 ? await jsSum() : await tfSum();\n tf.dispose(reduced);\n return res;\n};\n*/\n\nexport async function skip(config: Partial, input: Tensor) {\n let skipFrame = false;\n if (config.cacheSensitivity === 0 || !input.shape || input.shape.length !== 4 || input.shape[1] > 3840 || input.shape[2] > 2160) return skipFrame; // cache disabled or input is invalid or too large for cache analysis\n\n /*\n const checkSum = await checksum(input);\n const diff = 100 * (Math.max(checkSum, last.inputSum) / Math.min(checkSum, last.inputSum) - 1);\n last.inputSum = checkSum;\n // if previous frame was skipped, skip this frame if changed more than cacheSensitivity\n // if previous frame was not skipped, then look for cacheSensitivity or difference larger than one in previous frame to avoid resetting cache in subsequent frames unnecessarily\n let skipFrame = diff < Math.max(config.cacheSensitivity, last.cacheDiff);\n // if difference is above 10x threshold, don't use last value to force reset cache for significant change of scenes or images\n last.cacheDiff = diff > 10 * config.cacheSensitivity ? 0 : diff;\n skipFrame = skipFrame && (last.cacheDiff > 0); // if no cached diff value then force no skip\n */\n\n if (!last.inputTensor) {\n last.inputTensor = tf.clone(input);\n } else if (last.inputTensor.shape[1] !== input.shape[1] || last.inputTensor.shape[2] !== input.shape[2]) { // input resolution changed\n tf.dispose(last.inputTensor);\n last.inputTensor = tf.clone(input);\n } else {\n const t: Record = {};\n t.diff = tf.sub(input, last.inputTensor);\n t.squared = tf.mul(t.diff, t.diff);\n t.sum = tf.sum(t.squared);\n const diffSum = await t.sum.data();\n const diffRelative = diffSum[0] / (input.shape[1] || 1) / (input.shape[2] || 1) / 255 / 3; // squared difference relative to input resolution and averaged per channel\n tf.dispose([last.inputTensor, t.diff, t.squared, t.sum]);\n last.inputTensor = tf.clone(input);\n skipFrame = diffRelative <= (config.cacheSensitivity || 0);\n }\n return skipFrame;\n}\n\nexport async function compare(config: Partial, input1: Tensor, input2: Tensor): Promise {\n const t: Record = {};\n if (!input1 || !input2 || input1.shape.length !== 4 || input1.shape.length !== input2.shape.length) {\n if (!config.debug) log('invalid input tensor or tensor shapes do not match:', input1.shape, input2.shape);\n return 0;\n }\n if (input1.shape[0] !== 1 || input2.shape[0] !== 1 || input1.shape[3] !== 3 || input2.shape[3] !== 3) {\n if (!config.debug) log('input tensors must be of shape [1, height, width, 3]:', input1.shape, input2.shape);\n return 0;\n }\n t.input1 = tf.clone(input1);\n t.input2 = (input1.shape[1] !== input2.shape[1] || input1.shape[2] !== input2.shape[2]) ? tf.image.resizeBilinear(input2 as Tensor3D, [input1.shape[1], input1.shape[2]]) : tf.clone(input2);\n t.diff = tf.sub(t.input1, t.input2);\n t.squared = tf.mul(t.diff, t.diff);\n t.sum = tf.sum(t.squared);\n const diffSum = await t.sum.data();\n const diffRelative = diffSum[0] / (input1.shape[1] || 1) / (input1.shape[2] || 1) / 255 / 3;\n tf.dispose([t.input1, t.input2, t.diff, t.squared, t.sum]);\n return diffRelative;\n}\n", "import * as tf from 'dist/tfjs.esm.js';\nimport * as image from '../image/image';\n\n/** Env class that holds detected capabilities */\nexport class Env {\n /** Running in Browser */\n browser: boolean;\n /** Running in NodeJS */\n node: boolean;\n /** Running in WebWorker thread */\n worker: boolean;\n /** Detected platform */\n platform: string = '';\n /** Detected agent */\n agent: string = '';\n /** List of supported backends */\n backends: string[] = [];\n /** Has any work been performed so far */\n initial: boolean;\n /** Are image filters supported? */\n filter: boolean | undefined;\n /** TFJS instance details */\n tfjs: {\n version: undefined | string,\n };\n /** Is offscreenCanvas supported? */\n offscreen: undefined | boolean;\n /** Are performance counter instant values or additive */\n perfadd: boolean = false;\n /** If using tfjs-node get version of underlying tensorflow shared library and if gpu acceleration is enabled */\n tensorflow: {\n version: undefined | string,\n gpu: undefined | boolean,\n } = {\n version: undefined,\n gpu: undefined,\n };\n /** WASM detected capabilities */\n wasm: {\n supported: undefined | boolean,\n backend: undefined | boolean,\n simd: undefined | boolean,\n multithread: undefined | boolean,\n } = {\n supported: undefined,\n backend: undefined,\n simd: undefined,\n multithread: undefined,\n };\n /** WebGL detected capabilities */\n webgl: {\n supported: undefined | boolean,\n backend: undefined | boolean,\n version: undefined | string,\n renderer: undefined | string,\n shader: undefined | string,\n vendor: undefined | string,\n } = {\n supported: undefined,\n backend: undefined,\n version: undefined,\n renderer: undefined,\n shader: undefined,\n vendor: undefined,\n };\n /** WebGPU detected capabilities */\n webgpu: {\n supported: undefined | boolean,\n backend: undefined | boolean,\n adapter: undefined | GPUAdapterInfo,\n } = {\n supported: undefined,\n backend: undefined,\n adapter: undefined,\n };\n /** CPU info */\n cpu: {\n model: undefined | string,\n flags: string[],\n } = {\n model: undefined,\n flags: [],\n };\n /** List of supported kernels for current backend */\n kernels: string[] = [];\n /** MonkeyPatch for Canvas */\n Canvas: undefined;\n /** MonkeyPatch for Image */\n Image: undefined;\n /** MonkeyPatch for ImageData */\n ImageData: undefined;\n\n constructor() {\n this.browser = typeof navigator !== 'undefined';\n this.node = (typeof process !== 'undefined') && (typeof process.versions !== 'undefined') && (typeof process.versions.node !== 'undefined');\n this.tfjs = { version: tf.version['tfjs-core'] };\n this.offscreen = typeof OffscreenCanvas !== 'undefined';\n this.initial = true;\n\n // @ts-ignore WorkerGlobalScope evaluated in browser only\n this.worker = this.browser && this.offscreen ? (typeof WorkerGlobalScope !== 'undefined') : undefined;\n if (typeof navigator !== 'undefined') { // TBD replace with navigator.userAgentData once in mainline\n const raw = navigator.userAgent.match(/\\(([^()]+)\\)/g);\n if (raw?.[0]) {\n const platformMatch = raw[0].match(/\\(([^()]+)\\)/g);\n this.platform = (platformMatch?.[0]) ? platformMatch[0].replace(/\\(|\\)/g, '') : '';\n this.agent = navigator.userAgent.replace(raw[0], '');\n if (this.platform[1]) this.agent = this.agent.replace(raw[1], '');\n this.agent = this.agent.replace(/ /g, ' ');\n }\n } else if (typeof process !== 'undefined') {\n this.platform = `${process.platform} ${process.arch}`;\n this.agent = `NodeJS ${process.version}`;\n }\n }\n\n /** update backend information */\n async updateBackend() {\n // analyze backends\n this.backends = Object.keys(tf.engine().registryFactory);\n try { // backend may not be initialized\n this.tensorflow = {\n version: (tf.backend()['binding'] ? tf.backend()['binding'].TF_Version : undefined),\n gpu: (tf.backend()['binding'] ? tf.backend()['binding'].isUsingGpuDevice() : undefined),\n };\n } catch { /**/ }\n this.wasm.supported = typeof WebAssembly !== 'undefined';\n this.wasm.backend = this.backends.includes('wasm');\n if (this.wasm.supported && this.wasm.backend) {\n this.wasm.simd = await tf.env().getAsync('WASM_HAS_SIMD_SUPPORT') as boolean;\n this.wasm.multithread = await tf.env().getAsync('WASM_HAS_MULTITHREAD_SUPPORT') as boolean;\n }\n const c = image.canvas(100, 100);\n const gl = c ? c.getContext('webgl2') as WebGL2RenderingContext : undefined; // causes too many gl contexts\n this.webgl.supported = typeof gl !== 'undefined';\n this.webgl.backend = this.backends.includes('webgl');\n if (this.webgl.supported && this.webgl.backend && gl) {\n this.webgl.version = gl.getParameter(gl.VERSION);\n this.webgl.vendor = gl.getParameter(gl.VENDOR);\n this.webgl.renderer = gl.getParameter(gl.RENDERER);\n this.webgl.shader = gl.getParameter(gl.SHADING_LANGUAGE_VERSION);\n }\n this.webgpu.supported = this.browser && typeof navigator.gpu !== 'undefined';\n this.webgpu.backend = this.backends.includes('webgpu');\n try {\n if (this.webgpu.supported) {\n const adapter = await navigator.gpu.requestAdapter();\n this.webgpu.adapter = await adapter?.requestAdapterInfo();\n }\n } catch {\n this.webgpu.supported = false;\n }\n try {\n this.kernels = tf.getKernelsForBackend(tf.getBackend()).map((kernel) => kernel.kernelName.toLowerCase());\n } catch { /**/ }\n }\n\n /** update cpu information */\n updateCPU() {\n const cpu = { model: '', flags: [] };\n if (this.node && this.platform.startsWith('linux')) {\n /*\n const fs = require('fs');\n try {\n const data = fs.readFileSync('/proc/cpuinfo').toString();\n for (const line of data.split('\\n')) {\n if (line.startsWith('model name')) cpu.model = line.match(/:(.*)/g)[0].replace(':', '').trim();\n if (line.startsWith('flags')) cpu.flags = line.match(/:(.*)/g)[0].replace(':', '').trim().split(' ').sort();\n }\n } catch { }\n */\n }\n if (!this.cpu) Object.defineProperty(this, 'cpu', { value: cpu });\n else this.cpu = cpu;\n }\n}\n\nexport const env = new Env();\n", "import { log } from './util';\n\n// const log = (...msg) => console.log('webcam', ...msg); // eslint-disable-line no-console\n\n/** WebCam configuration */\nexport interface WebCamConfig {\n /**\n * element can be:\n * - string which indicates dom element id\n * - actual HTMLVideo dom element\n * - undefined in which case a new HTMLVideoElement will be created\n */\n element: string | HTMLVideoElement | undefined,\n /** print messages on console */\n debug: boolean,\n /** use front or back camera */\n mode: 'front' | 'back',\n /** camera crop mode */\n crop: boolean,\n /** desired webcam width */\n width: number,\n /** desired webcam height */\n height: number,\n /** deviceId of the video device to use */\n id?: string,\n}\n\nexport class WebCam { // eslint-disable-line @typescript-eslint/no-extraneous-class\n /** current webcam configuration */\n config: WebCamConfig;\n /** instance of dom element associated with webcam stream */\n element: HTMLVideoElement | undefined;\n /** active webcam stream */\n stream: MediaStream | undefined;\n /** enumerated video devices */\n devices: MediaDeviceInfo[] = [];\n\n constructor() {\n this.config = {\n element: undefined,\n debug: true,\n mode: 'front',\n crop: false,\n width: 0,\n height: 0,\n };\n }\n\n /** get active webcam stream track */\n public get track(): MediaStreamTrack | undefined {\n if (!this.stream) return undefined;\n return this.stream.getVideoTracks()[0];\n }\n\n /** get webcam capabilities */\n public get capabilities(): MediaTrackCapabilities | undefined {\n if (!this.track) return undefined;\n return this.track.getCapabilities ? this.track.getCapabilities() : undefined;\n }\n\n /** get webcam constraints */\n public get constraints(): MediaTrackConstraints | undefined {\n if (!this.track) return undefined;\n return this.track.getConstraints ? this.track.getConstraints() : undefined;\n }\n\n /** get webcam settings */\n public get settings(): MediaTrackSettings | undefined {\n if (!this.stream) return undefined;\n const track: MediaStreamTrack = this.stream.getVideoTracks()[0];\n return track.getSettings ? track.getSettings() : undefined;\n }\n\n /** get webcam label */\n public get label(): string {\n if (!this.track) return '';\n return this.track.label;\n }\n\n /** is webcam paused */\n public get paused(): boolean {\n return this.element?.paused || false;\n }\n\n /** webcam current width */\n public get width(): number {\n return this.element?.videoWidth || 0;\n }\n\n /** webcam current height */\n public get height(): number {\n return this.element?.videoHeight || 0;\n }\n\n public enumerate = async (): Promise => {\n try {\n const devices = await navigator.mediaDevices.enumerateDevices();\n this.devices = devices.filter((device) => device.kind === 'videoinput');\n } catch {\n this.devices = [];\n }\n return this.devices;\n };\n\n /** start method initializizes webcam stream and associates it with a dom video element */\n public start = async (webcamConfig?: Partial): Promise => {\n // set config\n if (webcamConfig?.debug) this.config.debug = webcamConfig?.debug;\n if (webcamConfig?.crop) this.config.crop = webcamConfig?.crop;\n if (webcamConfig?.mode) this.config.mode = webcamConfig?.mode;\n if (webcamConfig?.width) this.config.width = webcamConfig?.width;\n if (webcamConfig?.height) this.config.height = webcamConfig?.height;\n if (webcamConfig?.id) this.config.id = webcamConfig?.id;\n\n // use or create dom element\n if (webcamConfig?.element) {\n if (typeof webcamConfig.element === 'string') {\n const el = document.getElementById(webcamConfig.element);\n if (el && el instanceof HTMLVideoElement) {\n this.element = el;\n } else {\n if (this.config.debug) log('webcam', 'cannot get dom element', webcamConfig.element);\n return;\n }\n } else if (webcamConfig.element instanceof HTMLVideoElement) {\n this.element = webcamConfig.element;\n } else {\n if (this.config.debug) log('webcam', 'unknown dom element', webcamConfig.element);\n return;\n }\n } else {\n this.element = document.createElement('video');\n }\n\n // set constraints to use\n const requestedConstraints: MediaStreamConstraints = {\n audio: false,\n video: {\n facingMode: this.config.mode === 'front' ? 'user' : 'environment',\n // @ts-ignore // resizeMode is still not defined in tslib\n resizeMode: this.config.crop ? 'crop-and-scale' : 'none',\n width: { ideal: this.config.width > 0 ? this.config.width : window.innerWidth },\n height: { ideal: this.config.height > 0 ? this.config.height : window.innerHeight },\n },\n };\n if (this.config.id) (requestedConstraints.video as MediaTrackConstraintSet).deviceId = this.config.id;\n\n // set default event listeners\n this.element.addEventListener('play', () => { if (this.config.debug) log('webcam', 'play'); });\n this.element.addEventListener('pause', () => { if (this.config.debug) log('webcam', 'pause'); });\n this.element.addEventListener('click', async () => { // pause when clicked on screen and resume on next click\n if (!this.element || !this.stream) return;\n if (this.element.paused) await this.element.play();\n else this.element.pause();\n });\n\n // get webcam and set it to run in dom element\n if (!navigator?.mediaDevices) {\n if (this.config.debug) log('webcam', 'no devices');\n return;\n }\n try {\n this.stream = await navigator.mediaDevices.getUserMedia(requestedConstraints); // get stream that satisfies constraints\n } catch (err) {\n log('webcam', err);\n return;\n }\n if (!this.stream) {\n if (this.config.debug) log('webcam', 'no stream');\n return;\n }\n this.element.srcObject = this.stream; // assign it to dom element\n const ready = new Promise((resolve) => { // wait until stream is ready\n if (!this.element) resolve(false);\n else this.element.onloadeddata = () => resolve(true);\n });\n await ready;\n await this.element.play(); // start playing\n\n if (this.config.debug) {\n log('webcam', {\n width: this.width,\n height: this.height,\n label: this.label,\n stream: this.stream,\n track: this.track,\n settings: this.settings,\n constraints: this.constraints,\n capabilities: this.capabilities,\n });\n }\n };\n\n /** pause webcam video method */\n public pause = (): void => {\n if (this.element) this.element.pause();\n };\n\n /** play webcam video method */\n public play = async (): Promise => {\n if (this.element) await this.element.play();\n };\n\n /** stop method stops active webcam stream track and disconnects webcam */\n public stop = (): void => {\n if (this.config.debug) log('webcam', 'stop');\n if (this.track) this.track.stop();\n };\n}\n", "import * as tf from 'dist/tfjs.esm.js';\nimport { log, join } from '../util/util';\nimport type { GraphModel } from './types';\nimport type { Config } from '../config';\nimport * as modelsDefs from '../../models/models.json';\n\nconst options = {\n cacheModels: true,\n cacheSupported: true,\n verbose: true,\n debug: false,\n modelBasePath: '',\n};\n\nexport interface ModelInfo {\n name: string,\n inCache: boolean,\n sizeDesired: number,\n sizeFromManifest: number,\n sizeLoadedWeights: number,\n url: string,\n}\n\nexport const modelStats: Record = {};\n\nasync function httpHandler(url: string, init?: RequestInit): Promise {\n if (options.debug) log('load model fetch:', url, init);\n return fetch(url, init);\n}\n\nexport function setModelLoadOptions(config: Config) {\n options.cacheModels = config.cacheModels;\n options.verbose = config.debug;\n options.modelBasePath = config.modelBasePath;\n}\n\nexport async function loadModel(modelPath: string | undefined): Promise {\n let modelUrl = join(options.modelBasePath, modelPath || '');\n if (!modelUrl.toLowerCase().endsWith('.json')) modelUrl += '.json';\n const modelPathSegments = modelUrl.includes('/') ? modelUrl.split('/') : modelUrl.split('\\\\');\n const shortModelName = modelPathSegments[modelPathSegments.length - 1].replace('.json', '');\n const cachedModelName = 'indexeddb://' + shortModelName; // generate short model name for cache\n modelStats[shortModelName] = {\n name: shortModelName,\n sizeFromManifest: 0,\n sizeLoadedWeights: 0,\n sizeDesired: modelsDefs[shortModelName],\n inCache: false,\n url: '',\n };\n options.cacheSupported = (typeof indexedDB !== 'undefined'); // check if localStorage and indexedb are available\n let cachedModels = {};\n try {\n cachedModels = (options.cacheSupported && options.cacheModels) ? await tf.io.listModels() : {}; // list all models already in cache // this fails for webview although localStorage is defined\n } catch {\n options.cacheSupported = false;\n }\n modelStats[shortModelName].inCache = (options.cacheSupported && options.cacheModels) && Object.keys(cachedModels).includes(cachedModelName); // is model found in cache\n modelStats[shortModelName].url = modelStats[shortModelName].inCache ? cachedModelName : modelUrl;\n const tfLoadOptions = typeof fetch === 'undefined' ? {} : { fetchFunc: (url: string, init?: RequestInit) => httpHandler(url, init) };\n let model: GraphModel = new tf.GraphModel(modelStats[shortModelName].url, tfLoadOptions) as unknown as GraphModel; // create model prototype and decide if load from cache or from original modelurl\n let loaded = false;\n try {\n // @ts-ignore private function\n model.findIOHandler(); // decide how to actually load a model\n if (options.debug) log('model load handler:', model['handler']);\n } catch (err) {\n log('error finding model i/o handler:', modelUrl, err);\n }\n try {\n // @ts-ignore private property\n const artifacts = await model.handler?.load() || null; // load manifest\n modelStats[shortModelName].sizeFromManifest = artifacts?.weightData?.byteLength || 0;\n if (artifacts) model.loadSync(artifacts); // load weights\n else model = await tf.loadGraphModel(modelStats[shortModelName].inCache ? cachedModelName : modelUrl, tfLoadOptions) as unknown as GraphModel;\n // @ts-ignore private property\n modelStats[shortModelName].sizeLoadedWeights = model.artifacts?.weightData?.byteLength || 0;\n if (options.verbose) log('load:', { model: shortModelName, url: model['modelUrl'], bytes: modelStats[shortModelName].sizeLoadedWeights });\n loaded = true;\n } catch (err) {\n log('error loading model:', modelUrl, err);\n }\n if (loaded && options.cacheModels && options.cacheSupported && !modelStats[shortModelName].inCache) { // save model to cache\n try {\n const saveResult = await model.save(cachedModelName);\n if (options.debug) log('model saved:', cachedModelName, saveResult);\n } catch (err) {\n log('error saving model:', modelUrl, err);\n }\n }\n return model;\n}\n", "/** TFJS custom backend registration */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport type { Human } from '../human';\nimport { log } from '../util/util';\nimport * as image from '../image/image';\nimport type { AnyCanvas } from '../exports';\n\nexport const config = {\n name: 'humangl',\n priority: 999,\n canvas: null as null | AnyCanvas,\n gl: null as null | WebGL2RenderingContext,\n extensions: [] as string[] | null,\n webGLattr: { // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.2\n alpha: false,\n antialias: false,\n premultipliedAlpha: false,\n preserveDrawingBuffer: false,\n depth: false,\n stencil: false,\n failIfMajorPerformanceCaveat: false, // default=true\n desynchronized: true, // default=undefined\n },\n};\n\nfunction extensions(): void {\n /*\n https://www.khronos.org/registry/webgl/extensions/\n https://webglreport.com/?v=2\n */\n const gl = config.gl;\n if (!gl) return;\n config.extensions = gl.getSupportedExtensions();\n // gl.getExtension('KHR_parallel_shader_compile');\n}\n\n/**\n * Registers custom WebGL2 backend to be used by Human library\n *\n * @returns void\n */\nexport function register(instance: Human): void {\n // force backend reload if gl context is not valid\n if (instance.config.backend !== 'humangl') return;\n if ((config.name in tf.engine().registry) && !config?.gl?.getParameter(config.gl.VERSION)) {\n log('humangl error: backend invalid context');\n instance.models.reset();\n /*\n log('resetting humangl backend');\n await tf.removeBackend(config.name);\n await register(instance); // re-register\n */\n }\n if (!tf.findBackend(config.name)) {\n try {\n config.canvas = image.canvas(100, 100);\n } catch (err) {\n log('humangl error: cannot create canvas:', err);\n return;\n }\n try {\n config.gl = config.canvas.getContext('webgl2', config.webGLattr) as WebGL2RenderingContext;\n if (!config.gl) {\n log('humangl error: cannot get webgl context');\n return;\n }\n const glv2 = config.gl.getParameter(config.gl.VERSION).includes('2.0');\n if (!glv2) {\n log('backend override: using fallback webgl backend as webgl 2.0 is not detected');\n instance.config.backend = 'webgl';\n return;\n }\n if (config.canvas) {\n config.canvas.addEventListener('webglcontextlost', (e) => {\n log('humangl error:', e.type);\n log('possible browser memory leak using webgl or conflict with multiple backend registrations');\n instance.emit('error');\n throw new Error('backend error: webgl context lost');\n });\n config.canvas.addEventListener('webglcontextrestored', (e) => {\n log('humangl error: context restored:', e);\n });\n config.canvas.addEventListener('webglcontextcreationerror', (e) => {\n log('humangl error: context create:', e);\n });\n }\n } catch (err) {\n log('humangl error: cannot get webgl context:', err);\n return;\n }\n try {\n tf.setWebGLContext(2, config.gl);\n } catch (err) {\n log('humangl error: cannot set webgl context:', err);\n return;\n }\n try {\n const ctx = new tf.GPGPUContext(config.gl);\n // @ts-ignore uncompatible kernelMs timing info\n tf.registerBackend(config.name, () => new tf.MathBackendWebGL(ctx), config.priority);\n } catch (err) {\n log('humangl error: cannot register webgl backend:', err);\n return;\n }\n try {\n const kernels = tf.getKernelsForBackend('webgl');\n kernels.forEach((kernelConfig) => {\n const newKernelConfig = { ...kernelConfig, backendName: config.name };\n tf.registerKernel(newKernelConfig);\n });\n } catch (err) {\n log('humangl error: cannot update webgl backend registration:', err);\n return;\n }\n try {\n // @ts-ignore private property\n if (tf.env().flagRegistry.WEBGL_VERSION) tf.env().set('WEBGL_VERSION', 2);\n } catch (err) {\n log('humangl error: cannot set WebGL backend flags:', err);\n return;\n }\n extensions();\n const backend = tf.backend();\n const current = typeof backend['gpgpu'] !== 'undefined' ? backend['getGPGPUContext']().gl : null;\n if (current) {\n if (instance.config.debug) log('humangl backend registered:', { webgl: current.getParameter(current.VERSION) as string, renderer: current.getParameter(current.RENDERER) as string });\n } else {\n log('humangl error: no current gl context:', current, config.gl);\n }\n }\n}\n", "import * as tf from 'dist/tfjs.esm.js';\nimport type { Tensor } from './types';\n\nexport const constants: Record = {\n tf255: 255.0,\n tf1: 1.0,\n tf2: 2.0,\n tf05: 0.5,\n tf127: 127.5,\n rgb: [0.2989, 0.5870, 0.1140],\n};\n\nexport function init() {\n constants.tf255 = tf.scalar(255.0, 'float32');\n constants.tf1 = tf.scalar(1.0, 'float32');\n constants.tf2 = tf.scalar(2.0, 'float32');\n constants.tf05 = tf.scalar(0.5, 'float32');\n constants.tf127 = tf.scalar(127.5, 'float32');\n constants.rgb = tf.tensor1d([0.2989, 0.5870, 0.1140], 'float32'); // factors for red/green/blue colors when converting to grayscale\n}\n", "/** TFJS backend initialization and customization */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport type { Human, Config, BackendEnum } from '../human';\nimport { log, now } from '../util/util';\nimport { env } from '../util/env';\nimport * as humangl from './humangl';\nimport * as constants from './constants';\nimport type { TensorInfo } from './types';\n\nexport async function getBestBackend(): Promise {\n await env.updateBackend(); // update env on backend init\n if (!env.browser) return 'tensorflow';\n if (env.webgpu.supported && env.webgpu.backend) return 'webgpu';\n if (env.webgl.supported && env.webgl.backend) return 'webgl';\n if (env.wasm.supported && env.wasm.backend) return 'wasm';\n return 'cpu';\n}\n\nfunction registerCustomOps(config: Config) {\n const newKernels: string[] = [];\n if (!env.kernels.includes('mod')) {\n const kernelMod = {\n kernelName: 'Mod',\n backendName: tf.getBackend(),\n kernelFunc: (op) => tf.tidy(() => tf.sub(op.inputs.a, tf.mul(tf.div(op.inputs.a, op.inputs.b), op.inputs.b))),\n };\n tf.registerKernel(kernelMod);\n env.kernels.push('mod');\n newKernels.push('mod');\n }\n if (!env.kernels.includes('floormod')) {\n const kernelFloorMod = {\n kernelName: 'FloorMod',\n backendName: tf.getBackend(),\n kernelFunc: (op) => tf.tidy(() => tf.add(tf.mul(tf.floorDiv(op.inputs.a, op.inputs.b), op.inputs.b), tf.mod(op.inputs.a, op.inputs.b))),\n };\n tf.registerKernel(kernelFloorMod);\n env.kernels.push('floormod');\n newKernels.push('floormod');\n }\n /*\n if (!env.kernels.includes('atan2') && config.softwareKernels) {\n const kernelAtan2 = {\n kernelName: 'Atan2',\n backendName: tf.getBackend(),\n kernelFunc: (op) => tf.tidy(() => {\n const backend = tf.getBackend();\n tf.setBackend('cpu');\n const t = tf.atan2(op.inputs.a, op.inputs.b);\n tf.setBackend(backend);\n return t;\n }),\n };\n if (config.debug) log('registered kernel:', 'atan2');\n log('registered kernel:', 'atan2');\n tf.registerKernel(kernelAtan2);\n env.kernels.push('atan2');\n newKernels.push('atan2');\n }\n */\n if (!env.kernels.includes('rotatewithoffset') && config.softwareKernels) {\n const kernelRotateWithOffset = {\n kernelName: 'RotateWithOffset',\n backendName: tf.getBackend(),\n kernelFunc: (op) => tf.tidy(() => {\n const backend = tf.getBackend();\n tf.setBackend('cpu'); // eslint-disable-line @typescript-eslint/no-floating-promises\n const t = tf.image.rotateWithOffset(op.inputs.image, op.attrs.radians, op.attrs.fillValue, op.attrs.center);\n tf.setBackend(backend); // eslint-disable-line @typescript-eslint/no-floating-promises\n return t;\n }),\n };\n tf.registerKernel(kernelRotateWithOffset);\n env.kernels.push('rotatewithoffset');\n newKernels.push('rotatewithoffset');\n }\n if ((newKernels.length > 0) && config.debug) log('registered kernels:', newKernels);\n}\n\nlet defaultFlags: Record = {};\n\nexport async function check(instance: Human, force = false) {\n instance.state = 'backend';\n if (instance.config.backend?.length === 0) instance.config.backend = await getBestBackend();\n if (force || env.initial || (instance.config.backend && (instance.config.backend.length > 0) && (tf.getBackend() !== instance.config.backend))) {\n const timeStamp = now();\n\n if (instance.config.backend && instance.config.backend.length > 0) {\n // detect web worker\n // @ts-ignore ignore missing type for WorkerGlobalScope as that is the point\n if (typeof window === 'undefined' && typeof WorkerGlobalScope !== 'undefined' && instance.config.debug) {\n if (instance.config.debug) log('running inside web worker');\n }\n\n // force browser vs node backend\n if (env.browser && instance.config.backend === 'tensorflow') {\n if (instance.config.debug) log('override: backend set to tensorflow while running in browser');\n instance.config.backend = 'webgl';\n }\n if (env.node && (instance.config.backend === 'webgl' || instance.config.backend === 'humangl')) {\n if (instance.config.debug) log(`override: backend set to ${instance.config.backend} while running in nodejs`);\n instance.config.backend = 'tensorflow';\n }\n\n // handle webgpu\n if (env.browser && instance.config.backend === 'webgpu') {\n if (typeof navigator === 'undefined' || typeof navigator.gpu === 'undefined') {\n log('override: backend set to webgpu but browser does not support webgpu');\n instance.config.backend = 'webgl';\n } else {\n const adapter = await navigator.gpu.requestAdapter();\n if (instance.config.debug) log('enumerated webgpu adapter:', adapter);\n if (!adapter) {\n log('override: backend set to webgpu but browser reports no available gpu');\n instance.config.backend = 'webgl';\n } else {\n // @ts-ignore requestAdapterInfo is not in tslib\n const adapterInfo = 'requestAdapterInfo' in adapter ? await adapter.requestAdapterInfo() : undefined;\n // if (adapter.features) adapter.features.forEach((feature) => log('webgpu features:', feature));\n log('webgpu adapter info:', adapterInfo);\n }\n }\n }\n\n // check available backends\n let available = Object.keys(tf.engine().registryFactory as Record);\n if (instance.config.backend === 'humangl' && !available.includes('humangl')) {\n humangl.register(instance);\n available = Object.keys(tf.engine().registryFactory as Record);\n }\n if (instance.config.debug) log('available backends:', available);\n\n if (!available.includes(instance.config.backend)) {\n log(`error: backend ${instance.config.backend} not found in registry`);\n instance.config.backend = env.node ? 'tensorflow' : 'webgl';\n if (instance.config.debug) log(`override: setting backend ${instance.config.backend}`);\n }\n\n if (instance.config.debug) log('setting backend:', [instance.config.backend]);\n\n // customize wasm\n if (instance.config.backend === 'wasm') {\n // @ts-ignore private property\n if (tf.env().flagRegistry.CANVAS2D_WILL_READ_FREQUENTLY) tf.env().set('CANVAS2D_WILL_READ_FREQUENTLY', true);\n if (instance.config.debug) log('wasm path:', instance.config.wasmPath);\n if (typeof tf.setWasmPaths !== 'undefined') tf.setWasmPaths(instance.config.wasmPath, instance.config.wasmPlatformFetch);\n else throw new Error('backend error: attempting to use wasm backend but wasm path is not set');\n let mt = false;\n let simd = false;\n try {\n mt = await tf.env().getAsync('WASM_HAS_MULTITHREAD_SUPPORT') as boolean;\n simd = await tf.env().getAsync('WASM_HAS_SIMD_SUPPORT') as boolean;\n if (instance.config.debug) log(`wasm execution: ${simd ? 'simd' : 'no simd'} ${mt ? 'multithreaded' : 'singlethreaded'}`);\n if (instance.config.debug && !simd) log('warning: wasm simd support is not enabled');\n } catch {\n log('wasm detection failed');\n }\n }\n\n try {\n await tf.setBackend(instance.config.backend);\n await tf.ready();\n } catch (err) {\n log('error: cannot set backend:', instance.config.backend, err);\n return false;\n }\n // @ts-ignore private property\n if (instance.config.debug) defaultFlags = JSON.parse(JSON.stringify(tf.env().flags));\n }\n\n // customize humangl\n if (tf.getBackend() === 'humangl' || tf.getBackend() === 'webgl') {\n // @ts-ignore private property\n if (tf.env().flagRegistry.WEBGL_USE_SHAPES_UNIFORMS) tf.env().set('WEBGL_USE_SHAPES_UNIFORMS', true); // default=false \n // @ts-ignore private property\n if (tf.env().flagRegistry.WEBGL_EXP_CONV) tf.env().set('WEBGL_EXP_CONV', true); // default=false \n // if (tf.env().flagRegistry['WEBGL_PACK_DEPTHWISECONV']) tf.env().set('WEBGL_PACK_DEPTHWISECONV', false); // default=true \n // if (tf.env().flagRegistry.USE_SETTIMEOUTCUSTOM) tf.env().set('USE_SETTIMEOUTCUSTOM', true); // default=false \n // if (tf.env().flagRegistry.CPU_HANDOFF_SIZE_THRESHOLD) tf.env().set('CPU_HANDOFF_SIZE_THRESHOLD', 1024); // default=1000\n // if (tf.env().flagRegistry['WEBGL_FORCE_F16_TEXTURES'] && !instance.config.object.enabled) tf.env().set('WEBGL_FORCE_F16_TEXTURES', true); // safe to use 16bit precision\n if (instance.config.debug && typeof instance.config.deallocate !== 'undefined' && instance.config.deallocate) { // hidden param\n log('changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:', true);\n tf.env().set('WEBGL_DELETE_TEXTURE_THRESHOLD', 0);\n }\n }\n\n // customize webgpu\n if (tf.getBackend() === 'webgpu') {\n // if (tf.env().flagRegistry['WEBGPU_CPU_HANDOFF_SIZE_THRESHOLD']) tf.env().set('WEBGPU_CPU_HANDOFF_SIZE_THRESHOLD', 512);\n // if (tf.env().flagRegistry['WEBGPU_DEFERRED_SUBMIT_BATCH_SIZE']) tf.env().set('WEBGPU_DEFERRED_SUBMIT_BATCH_SIZE', 0);\n // if (tf.env().flagRegistry['WEBGPU_CPU_FORWARD']) tf.env().set('WEBGPU_CPU_FORWARD', true);\n }\n\n if (instance.config.debug) {\n // @ts-ignore private property\n const newFlags = tf.env().flags;\n const updatedFlags = {};\n for (const key of Object.keys(newFlags)) {\n if (defaultFlags[key] === newFlags[key]) continue;\n updatedFlags[key] = newFlags[key];\n }\n if (instance.config.debug && Object.keys(updatedFlags).length > 0) log('backend:', tf.getBackend(), 'flags:', updatedFlags);\n }\n\n if (instance.config.flags && Object.keys(instance.config.flags).length > 0) {\n if (instance.config.debug) log('flags:', instance.config['flags']);\n for (const [key, val] of Object.entries(instance.config.flags)) {\n tf.env().set(key, val as number | boolean);\n }\n }\n\n tf.enableProdMode();\n constants.init();\n instance.performance.initBackend = Math.trunc(now() - timeStamp);\n instance.config.backend = tf.getBackend() as BackendEnum;\n await env.updateBackend(); // update env on backend init\n registerCustomOps(instance.config);\n // await env.updateBackend(); // update env on backend init\n env.initial = false;\n }\n return true;\n}\n\n// register fake missing tfjs ops\nexport function fakeOps(kernelNames: string[], config) {\n // if (config.debug) log('registerKernel:', kernelNames);\n for (const kernelName of kernelNames) {\n const kernelConfig = {\n kernelName,\n backendName: config.backend,\n kernelFunc: (param): TensorInfo => {\n if (config.debug) log('kernelFunc', kernelName, config.backend, param);\n return param?.inputs?.info as TensorInfo;\n },\n // setupFunc: () => { if (config.debug) log('kernelFunc', kernelName, config.backend); },\n // disposeFunc: () => { if (config.debug) log('kernelFunc', kernelName, config.backend); },\n };\n tf.registerKernel(kernelConfig);\n }\n env.kernels = tf.getKernelsForBackend(tf.getBackend()).map((kernel) => kernel.kernelName.toLowerCase()); // re-scan registered ops\n}\n", "/**\n * Module that implements helper draw functions, exposed as human.draw\n */\n\nimport { mergeDeep, now } from '../util/util';\nimport { env } from '../util/env';\nimport { getCanvasContext, rect } from './primitives';\nimport { options } from './options';\nimport { face } from './face';\nimport { body } from './body';\nimport { hand } from './hand';\nimport { object } from './object';\nimport { gesture } from './gesture';\nimport { defaultLabels } from './labels';\nimport type { Result, PersonResult } from '../result';\nimport type { AnyCanvas, DrawOptions } from '../exports';\n\nlet drawTime = 0;\n\nexport { options } from './options';\nexport { face } from './face';\nexport { body } from './body';\nexport { hand } from './hand';\nexport { object } from './object';\nexport { gesture } from './gesture';\n\n/** draw combined person results instead of individual detection result objects */\nexport function person(inCanvas: AnyCanvas, result: PersonResult[], drawOptions?: Partial) {\n const localOptions: DrawOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n const ctx = getCanvasContext(inCanvas) as CanvasRenderingContext2D;\n if (!ctx) return;\n ctx.lineJoin = 'round';\n ctx.font = localOptions.font;\n\n for (let i = 0; i < result.length; i++) {\n if (localOptions.drawBoxes) {\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n rect(ctx, result[i].box[0], result[i].box[1], result[i].box[2], result[i].box[3], localOptions);\n if (localOptions.drawLabels) {\n const label = `person #${i}`;\n if (localOptions.shadowColor && localOptions.shadowColor !== '') {\n ctx.fillStyle = localOptions.shadowColor;\n ctx.fillText(label, result[i].box[0] + 3, 1 + result[i].box[1] + localOptions.lineHeight, result[i].box[2]);\n }\n ctx.fillStyle = localOptions.labelColor;\n ctx.fillText(label, result[i].box[0] + 2, 0 + result[i].box[1] + localOptions.lineHeight, result[i].box[2]);\n }\n ctx.stroke();\n }\n }\n}\n\n/** draw processed canvas */\nexport function canvas(input: AnyCanvas | HTMLImageElement | HTMLVideoElement, output: AnyCanvas) {\n if (!input || !output) return;\n const ctx = getCanvasContext(output) as CanvasRenderingContext2D;\n if (!ctx) return;\n ctx.drawImage(input, 0, 0);\n}\n\n/** meta-function that performs draw for: canvas, face, body, hand */\nexport async function all(inCanvas: AnyCanvas, result: Result, drawOptions?: Partial) {\n if (!result?.performance || !inCanvas) return null;\n const timeStamp = now();\n const localOptions = mergeDeep(options, drawOptions);\n const promise = Promise.all([\n face(inCanvas, result.face, localOptions),\n body(inCanvas, result.body, localOptions),\n hand(inCanvas, result.hand, localOptions),\n object(inCanvas, result.object, localOptions),\n gesture(inCanvas, result.gesture, localOptions), // gestures do not have buffering\n // person(inCanvas, result.persons, localOptions); // already included above\n ]);\n drawTime = env.perfadd ? drawTime + Math.round(now() - timeStamp) : Math.round(now() - timeStamp);\n result.performance.draw = drawTime;\n return promise;\n}\n\n/** sets default label templates for face/body/hand/object/gestures */\nexport function init() {\n options.faceLabels = defaultLabels.face;\n options.bodyLabels = defaultLabels.body;\n options.bodyPartLabels = defaultLabels.bodyPart;\n options.handLabels = defaultLabels.hand;\n options.fingerLabels = defaultLabels.finger;\n options.objectLabels = defaultLabels.object;\n options.gestureLabels = defaultLabels.gesture;\n}\n", "import { log } from '../util/util';\nimport type { AnyCanvas } from '../exports';\nimport type { Point } from '../result';\nimport type { DrawOptions } from './options';\n\nexport const getCanvasContext = (input: AnyCanvas) => {\n if (!input) log('draw error: invalid canvas');\n else if (!input.getContext) log('draw error: canvas context not defined');\n else {\n const ctx = input.getContext('2d');\n if (!ctx) log('draw error: cannot get canvas context');\n else return ctx;\n }\n return null;\n};\n\nexport const rad2deg = (theta: number) => Math.round((theta * 180) / Math.PI);\n\nexport const replace = (str: string, source: string, target: string | number) => str.replace(source, typeof target === 'number' ? target.toFixed(1) : target);\n\nexport const colorDepth = (z: number | undefined, opt: DrawOptions): string => { // performance optimization needed\n if (!opt.useDepth || typeof z === 'undefined') return opt.color;\n const rgb = Uint8ClampedArray.from([127 + (2 * z), 127 - (2 * z), 255]);\n return `rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, ${opt.alpha})`;\n};\n\nexport function labels(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, str: string, startX: number, startY: number, localOptions: DrawOptions) {\n const line: string[] = str.replace(/\\[.*\\]/g, '').split('\\n').map((l) => l.trim()); // remove unmatched templates and split into array\n const x = Math.max(0, startX);\n for (let i = line.length - 1; i >= 0; i--) {\n const y = i * localOptions.lineHeight + startY;\n if (localOptions.shadowColor && localOptions.shadowColor !== '') {\n ctx.fillStyle = localOptions.shadowColor;\n ctx.fillText(line[i], x + 5, y + 16);\n }\n ctx.fillStyle = localOptions.labelColor;\n ctx.fillText(line[i], x + 4, y + 15);\n }\n}\n\nexport function point(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, x: number, y: number, z: number | undefined, localOptions: DrawOptions) {\n ctx.fillStyle = colorDepth(z, localOptions);\n ctx.beginPath();\n ctx.arc(x, y, localOptions.pointSize, 0, 2 * Math.PI);\n ctx.fill();\n}\n\nexport function rect(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, x: number, y: number, width: number, height: number, localOptions: DrawOptions) {\n ctx.beginPath();\n ctx.lineWidth = localOptions.lineWidth;\n if (localOptions.useCurves) {\n const cx = (x + x + width) / 2;\n const cy = (y + y + height) / 2;\n ctx.ellipse(cx, cy, width / 2, height / 2, 0, 0, 2 * Math.PI);\n } else {\n ctx.moveTo(x + localOptions.roundRect, y);\n ctx.lineTo(x + width - localOptions.roundRect, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + localOptions.roundRect);\n ctx.lineTo(x + width, y + height - localOptions.roundRect);\n ctx.quadraticCurveTo(x + width, y + height, x + width - localOptions.roundRect, y + height);\n ctx.lineTo(x + localOptions.roundRect, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - localOptions.roundRect);\n ctx.lineTo(x, y + localOptions.roundRect);\n ctx.quadraticCurveTo(x, y, x + localOptions.roundRect, y);\n ctx.closePath();\n }\n ctx.stroke();\n}\n\nexport function lines(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, points: Point[], localOptions: DrawOptions) {\n if (points.length < 2) return;\n ctx.beginPath();\n ctx.moveTo(points[0][0], points[0][1]);\n for (const pt of points) {\n ctx.strokeStyle = colorDepth(pt[2] || 0, localOptions);\n ctx.lineTo(Math.trunc(pt[0]), Math.trunc(pt[1]));\n }\n ctx.stroke();\n if (localOptions.fillPolygons) {\n ctx.closePath();\n ctx.fill();\n }\n}\n\nexport function curves(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, points: Point[], localOptions: DrawOptions) {\n if (points.length < 2) return;\n ctx.lineWidth = localOptions.lineWidth;\n if (!localOptions.useCurves || points.length <= 2) {\n lines(ctx, points, localOptions);\n return;\n }\n ctx.moveTo(points[0][0], points[0][1]);\n for (let i = 0; i < points.length - 2; i++) {\n const xc = (points[i][0] + points[i + 1][0]) / 2;\n const yc = (points[i][1] + points[i + 1][1]) / 2;\n ctx.quadraticCurveTo(points[i][0], points[i][1], xc, yc);\n }\n ctx.quadraticCurveTo(points[points.length - 2][0], points[points.length - 2][1], points[points.length - 1][0], points[points.length - 1][1]);\n ctx.stroke();\n if (localOptions.fillPolygons) {\n ctx.closePath();\n ctx.fill();\n }\n}\n\nexport function arrow(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, from: Point, to: Point, radius = 5) {\n let angle;\n let x;\n let y;\n ctx.beginPath();\n ctx.moveTo(from[0], from[1]);\n ctx.lineTo(to[0], to[1]);\n angle = Math.atan2(to[1] - from[1], to[0] - from[0]);\n x = radius * Math.cos(angle) + to[0];\n y = radius * Math.sin(angle) + to[1];\n ctx.moveTo(x, y);\n angle += (1.0 / 3.0) * (2 * Math.PI);\n x = radius * Math.cos(angle) + to[0];\n y = radius * Math.sin(angle) + to[1];\n ctx.lineTo(x, y);\n angle += (1.0 / 3.0) * (2 * Math.PI);\n x = radius * Math.cos(angle) + to[0];\n y = radius * Math.sin(angle) + to[1];\n ctx.lineTo(x, y);\n ctx.closePath();\n ctx.stroke();\n ctx.fill();\n}\n", "/** Draw Options\n * - Accessed via `human.draw.options` or provided per each draw method as the drawOptions optional parameter\n */\n\nexport interface DrawOptions {\n /** draw line color */\n color: string,\n /** alpha value used for lines */\n alpha: number,\n /** label color */\n labelColor: string,\n /** label shadow color */\n shadowColor: string,\n /** label font */\n font: string,\n /** line spacing between labels */\n lineHeight: number,\n /** line width for drawn lines */\n lineWidth: number,\n /** size of drawn points */\n pointSize: number,\n /** draw rounded boxes by n pixels */\n roundRect: number,\n /** should points be drawn? */\n drawPoints: boolean,\n /** should labels be drawn? */\n drawLabels: boolean,\n /** should face attention keypoints be highlighted */\n drawAttention: boolean;\n /** should detected gestures be drawn? */\n drawGestures: boolean,\n /** should draw boxes around detection results? */\n drawBoxes: boolean,\n /** should draw polygons from detection points? */\n drawPolygons: boolean,\n /** should draw gaze arrows? */\n drawGaze: boolean,\n /** should fill polygons? */\n fillPolygons: boolean,\n /** use z-coordinate when available */\n useDepth: boolean,\n /** should lines be curved? */\n useCurves: boolean,\n /** string template for face labels */\n faceLabels: string,\n /** string template for body labels */\n bodyLabels: string,\n /** string template for body part labels */\n bodyPartLabels: string,\n /** string template for hand labels */\n handLabels: string,\n /** string template for hand labels */\n fingerLabels: string,\n /** string template for object labels */\n objectLabels: string,\n /** string template for gesture labels */\n gestureLabels: string,\n}\n\n/** currently set draw options {@link DrawOptions} */\nexport const options: DrawOptions = {\n color: 'rgba(173, 216, 230, 0.6)' as string, // 'lightblue' with light alpha channel\n labelColor: 'rgba(173, 216, 230, 1)' as string, // 'lightblue' with dark alpha channel\n shadowColor: 'black' as string,\n alpha: 0.5 as number,\n font: 'small-caps 16px \"Segoe UI\"' as string,\n lineHeight: 18 as number,\n lineWidth: 4 as number,\n pointSize: 2 as number,\n roundRect: 8 as number,\n drawPoints: false as boolean,\n drawLabels: true as boolean,\n drawBoxes: true as boolean,\n drawAttention: true as boolean,\n drawGestures: true as boolean,\n drawPolygons: true as boolean,\n drawGaze: true as boolean,\n fillPolygons: false as boolean,\n useDepth: true as boolean,\n useCurves: false as boolean,\n faceLabels: '' as string,\n bodyLabels: '' as string,\n bodyPartLabels: '' as string,\n objectLabels: '' as string,\n handLabels: '' as string,\n fingerLabels: '' as string,\n gestureLabels: '' as string,\n};\n", "/**\n * BlazeFace, FaceMesh & Iris model implementation\n * See `facemesh.ts` for entry point\n */\n\nexport const meshAnnotations: Record = {\n silhouette: [\n 10, 338, 297, 332, 284, 251, 389, 356, 454, 323, 361, 288,\n 397, 365, 379, 378, 400, 377, 152, 148, 176, 149, 150, 136,\n 172, 58, 132, 93, 234, 127, 162, 21, 54, 103, 67, 109,\n ],\n // lipsUpperOuter: [61, 185, 40, 39, 37, 0, 267, 269, 270, 409, 291], // 11\n // lipsLowerOuter: [146, 91, 181, 84, 17, 314, 405, 321, 375, 291], // 10\n // lipsUpperInner: [78, 191, 80, 81, 82, 13, 312, 311, 310, 415, 308], // 11\n // lipsLowerInner: [78, 95, 88, 178, 87, 14, 317, 402, 318, 324, 308], // 11\n lipsUpperOuter: [185, 40, 39, 37, 0, 267, 269, 270, 409],\n lipsLowerOuter: [61, 146, 91, 181, 84, 17, 314, 405, 321, 375, 291],\n lipsUpperInner: [191, 80, 81, 82, 13, 312, 311, 310, 415],\n lipsLowerInner: [78, 95, 88, 178, 87, 14, 317, 402, 318, 324, 308],\n lipsLowerSemiOuter: [76, 77, 90, 180, 85, 16, 315, 404, 320, 307, 306],\n lipsUpperSemiOuter: [184, 74, 73, 72, 11, 302, 303, 304, 408],\n lipsLowerSemiInner: [62, 96, 89, 179, 86, 15, 316, 403, 319, 325, 292],\n lipsUpperSemiInner: [183, 42, 41, 38, 12, 268, 271, 272, 407],\n rightEyeUpper0: [246, 161, 160, 159, 158, 157, 173], // 7\n rightEyeLower0: [33, 7, 163, 144, 145, 153, 154, 155, 133], // 9\n rightEyeUpper1: [247, 30, 29, 27, 28, 56, 190], // 7\n rightEyeLower1: [130, 25, 110, 24, 23, 22, 26, 112, 243], // 9\n rightEyeUpper2: [113, 225, 224, 223, 222, 221, 189], // 7\n rightEyeLower2: [226, 31, 228, 229, 230, 231, 232, 233, 244], // 9\n rightEyeLower3: [143, 111, 117, 118, 119, 120, 121, 128, 245], // 9\n rightEyebrowUpper: [156, 70, 63, 105, 66, 107, 55, 193], // 8\n rightEyebrowLower: [35, 124, 46, 53, 52, 65], // 6\n rightEyeIris: [473, 474, 475, 476, 477], // 5\n leftEyeUpper0: [466, 388, 387, 386, 385, 384, 398],\n leftEyeLower0: [263, 249, 390, 373, 374, 380, 381, 382, 362],\n leftEyeUpper1: [467, 260, 259, 257, 258, 286, 414],\n leftEyeLower1: [359, 255, 339, 254, 253, 252, 256, 341, 463],\n leftEyeUpper2: [342, 445, 444, 443, 442, 441, 413],\n leftEyeLower2: [446, 261, 448, 449, 450, 451, 452, 453, 464],\n leftEyeLower3: [372, 340, 346, 347, 348, 349, 350, 357, 465],\n leftEyebrowUpper: [383, 300, 293, 334, 296, 336, 285, 417],\n leftEyebrowLower: [265, 353, 276, 283, 282, 295],\n leftEyeIris: [468, 469, 470, 471, 472],\n midwayBetweenEyes: [168],\n noseTip: [1],\n noseBottom: [2],\n noseRightCorner: [98],\n noseLeftCorner: [327],\n rightCheek: [205],\n leftCheek: [425],\n};\n\nexport const meshLandmarks: Record = {\n count: 468,\n mouth: 13,\n symmetryLine: [13, meshAnnotations.midwayBetweenEyes[0]],\n};\n\nexport const blazeFaceLandmarks: Record = {\n leftEye: 0,\n rightEye: 1,\n nose: 2,\n mouth: 3,\n leftEar: 4,\n rightEar: 5,\n symmetryLine: [3, 2],\n};\n\nexport const irisIndices: { key: string, indices: number[] }[] = [ // A mapping from facemesh model keypoints to iris model keypoints.\n { key: 'EyeUpper0', indices: [9, 10, 11, 12, 13, 14, 15] }, // 7 x 3d\n { key: 'EyeUpper1', indices: [25, 26, 27, 28, 29, 30, 31] }, // 7 x 3d\n { key: 'EyeUpper2', indices: [41, 42, 43, 44, 45, 46, 47] }, // 7 x 3d\n { key: 'EyeLower0', indices: [0, 1, 2, 3, 4, 5, 6, 7, 8] }, // 7 x 3d\n { key: 'EyeLower1', indices: [16, 17, 18, 19, 20, 21, 22, 23, 24] }, // 9 x 3d\n { key: 'EyeLower2', indices: [32, 33, 34, 35, 36, 37, 38, 39, 40] }, // 9 x 3d\n { key: 'EyeLower3', indices: [54, 55, 56, 57, 58, 59, 60, 61, 62] }, // 9 x 3d\n { key: 'EyebrowUpper', indices: [63, 64, 65, 66, 67, 68, 69, 70] }, // 8 x 3d\n { key: 'EyebrowLower', indices: [48, 49, 50, 51, 52, 53] }, // 6 x 3d\n];\n\nexport const UV468: [number, number][] = [\n [0.499976992607117, 0.652534008026123],\n [0.500025987625122, 0.547487020492554],\n [0.499974012374878, 0.602371990680695],\n [0.482113003730774, 0.471979022026062],\n [0.500150978565216, 0.527155995368958],\n [0.499909996986389, 0.498252987861633],\n [0.499523013830185, 0.40106201171875],\n [0.289712011814117, 0.380764007568359],\n [0.499954998493195, 0.312398016452789],\n [0.499987006187439, 0.269918978214264],\n [0.500023007392883, 0.107050001621246],\n [0.500023007392883, 0.666234016418457],\n [0.5000159740448, 0.679224014282227],\n [0.500023007392883, 0.692348003387451],\n [0.499976992607117, 0.695277988910675],\n [0.499976992607117, 0.70593398809433],\n [0.499976992607117, 0.719385027885437],\n [0.499976992607117, 0.737019002437592],\n [0.499967992305756, 0.781370997428894],\n [0.499816000461578, 0.562981009483337],\n [0.473773002624512, 0.573909997940063],\n [0.104906998574734, 0.254140973091125],\n [0.365929991006851, 0.409575998783112],\n [0.338757991790771, 0.41302502155304],\n [0.311120003461838, 0.409460008144379],\n [0.274657994508743, 0.389131009578705],\n [0.393361985683441, 0.403706014156342],\n [0.345234006643295, 0.344011008739471],\n [0.370094001293182, 0.346076011657715],\n [0.319321990013123, 0.347265005111694],\n [0.297903001308441, 0.353591024875641],\n [0.24779200553894, 0.410809993743896],\n [0.396889001131058, 0.842755019664764],\n [0.280097991228104, 0.375599980354309],\n [0.106310002505779, 0.399955987930298],\n [0.2099249958992, 0.391353011131287],\n [0.355807989835739, 0.534406006336212],\n [0.471751004457474, 0.65040397644043],\n [0.474155008792877, 0.680191993713379],\n [0.439785003662109, 0.657229006290436],\n [0.414617002010345, 0.66654098033905],\n [0.450374007225037, 0.680860996246338],\n [0.428770989179611, 0.682690978050232],\n [0.374971002340317, 0.727805018424988],\n [0.486716985702515, 0.547628998756409],\n [0.485300987958908, 0.527395009994507],\n [0.257764995098114, 0.314490020275116],\n [0.401223003864288, 0.455172002315521],\n [0.429818987846375, 0.548614978790283],\n [0.421351999044418, 0.533740997314453],\n [0.276895999908447, 0.532056987285614],\n [0.483370006084442, 0.499586999416351],\n [0.33721199631691, 0.282882988452911],\n [0.296391993761063, 0.293242990970612],\n [0.169294998049736, 0.193813979625702],\n [0.447580009698868, 0.302609980106354],\n [0.392390012741089, 0.353887975215912],\n [0.354490011930466, 0.696784019470215],\n [0.067304998636246, 0.730105042457581],\n [0.442739009857178, 0.572826027870178],\n [0.457098007202148, 0.584792017936707],\n [0.381974011659622, 0.694710969924927],\n [0.392388999462128, 0.694203019142151],\n [0.277076005935669, 0.271932005882263],\n [0.422551989555359, 0.563233017921448],\n [0.385919004678726, 0.281364023685455],\n [0.383103013038635, 0.255840003490448],\n [0.331431001424789, 0.119714021682739],\n [0.229923993349075, 0.232002973556519],\n [0.364500999450684, 0.189113974571228],\n [0.229622006416321, 0.299540996551514],\n [0.173287004232407, 0.278747975826263],\n [0.472878992557526, 0.666198015213013],\n [0.446828007698059, 0.668527007102966],\n [0.422762006521225, 0.673889994621277],\n [0.445307999849319, 0.580065965652466],\n [0.388103008270264, 0.693961024284363],\n [0.403039008378983, 0.706539988517761],\n [0.403629004955292, 0.693953037261963],\n [0.460041999816895, 0.557139039039612],\n [0.431158006191254, 0.692366003990173],\n [0.452181994915009, 0.692366003990173],\n [0.475387006998062, 0.692366003990173],\n [0.465828001499176, 0.779190003871918],\n [0.472328990697861, 0.736225962638855],\n [0.473087012767792, 0.717857003211975],\n [0.473122000694275, 0.704625964164734],\n [0.473033010959625, 0.695277988910675],\n [0.427942007780075, 0.695277988910675],\n [0.426479011774063, 0.703539967536926],\n [0.423162013292313, 0.711845993995667],\n [0.4183090031147, 0.720062971115112],\n [0.390094995498657, 0.639572978019714],\n [0.013953999616206, 0.560034036636353],\n [0.499913990497589, 0.58014702796936],\n [0.413199990987778, 0.69539999961853],\n [0.409626007080078, 0.701822996139526],\n [0.468080013990402, 0.601534962654114],\n [0.422728985548019, 0.585985004901886],\n [0.463079988956451, 0.593783974647522],\n [0.37211999297142, 0.47341400384903],\n [0.334562003612518, 0.496073007583618],\n [0.411671012639999, 0.546965003013611],\n [0.242175996303558, 0.14767599105835],\n [0.290776997804642, 0.201445996761322],\n [0.327338010072708, 0.256527006626129],\n [0.399509996175766, 0.748921036720276],\n [0.441727995872498, 0.261676013469696],\n [0.429764986038208, 0.187834024429321],\n [0.412198007106781, 0.108901023864746],\n [0.288955003023148, 0.398952007293701],\n [0.218936994671822, 0.435410976409912],\n [0.41278201341629, 0.398970007896423],\n [0.257135003805161, 0.355440020561218],\n [0.427684992551804, 0.437960982322693],\n [0.448339998722076, 0.536936044692993],\n [0.178560003638268, 0.45755398273468],\n [0.247308000922203, 0.457193970680237],\n [0.286267012357712, 0.467674970626831],\n [0.332827985286713, 0.460712015628815],\n [0.368755996227264, 0.447206974029541],\n [0.398963987827301, 0.432654976844788],\n [0.476410001516342, 0.405806005001068],\n [0.189241006970406, 0.523923993110657],\n [0.228962004184723, 0.348950982093811],\n [0.490725994110107, 0.562400996685028],\n [0.404670000076294, 0.485132992267609],\n [0.019469000399113, 0.401564002037048],\n [0.426243007183075, 0.420431017875671],\n [0.396993011236191, 0.548797011375427],\n [0.266469985246658, 0.376977026462555],\n [0.439121007919312, 0.51895797252655],\n [0.032313998788595, 0.644356966018677],\n [0.419054001569748, 0.387154996395111],\n [0.462783008813858, 0.505746960639954],\n [0.238978996872902, 0.779744982719421],\n [0.198220998048782, 0.831938028335571],\n [0.107550002634525, 0.540755033493042],\n [0.183610007166862, 0.740257024765015],\n [0.134409993886948, 0.333683013916016],\n [0.385764002799988, 0.883153975009918],\n [0.490967005491257, 0.579378008842468],\n [0.382384985685349, 0.508572995662689],\n [0.174399003386497, 0.397670984268188],\n [0.318785011768341, 0.39623498916626],\n [0.343364000320435, 0.400596976280212],\n [0.396100014448166, 0.710216999053955],\n [0.187885001301765, 0.588537991046906],\n [0.430987000465393, 0.944064974784851],\n [0.318993002176285, 0.898285031318665],\n [0.266247987747192, 0.869701027870178],\n [0.500023007392883, 0.190576016902924],\n [0.499976992607117, 0.954452991485596],\n [0.366169989109039, 0.398822009563446],\n [0.393207013607025, 0.39553701877594],\n [0.410373002290726, 0.391080021858215],\n [0.194993004202843, 0.342101991176605],\n [0.388664990663528, 0.362284004688263],\n [0.365961998701096, 0.355970978736877],\n [0.343364000320435, 0.355356991291046],\n [0.318785011768341, 0.35834002494812],\n [0.301414996385574, 0.363156020641327],\n [0.058132998645306, 0.319076001644135],\n [0.301414996385574, 0.387449026107788],\n [0.499987989664078, 0.618434011936188],\n [0.415838003158569, 0.624195992946625],\n [0.445681989192963, 0.566076993942261],\n [0.465844005346298, 0.620640993118286],\n [0.49992299079895, 0.351523995399475],\n [0.288718998432159, 0.819945991039276],\n [0.335278987884521, 0.852819979190826],\n [0.440512001514435, 0.902418971061707],\n [0.128294005990028, 0.791940987110138],\n [0.408771991729736, 0.373893976211548],\n [0.455606997013092, 0.451801002025604],\n [0.499877005815506, 0.908990025520325],\n [0.375436991453171, 0.924192011356354],\n [0.11421000212431, 0.615022003650665],\n [0.448662012815475, 0.695277988910675],\n [0.4480200111866, 0.704632043838501],\n [0.447111994028091, 0.715808033943176],\n [0.444831997156143, 0.730794012546539],\n [0.430011987686157, 0.766808986663818],\n [0.406787008047104, 0.685672998428345],\n [0.400738000869751, 0.681069016456604],\n [0.392399996519089, 0.677703022956848],\n [0.367855995893478, 0.663918972015381],\n [0.247923001646996, 0.601333022117615],\n [0.452769994735718, 0.420849978923798],\n [0.43639200925827, 0.359887003898621],\n [0.416164010763168, 0.368713974952698],\n [0.413385987281799, 0.692366003990173],\n [0.228018000721931, 0.683571994304657],\n [0.468268007040024, 0.352671027183533],\n [0.411361992359161, 0.804327011108398],\n [0.499989002943039, 0.469825029373169],\n [0.479153990745544, 0.442654013633728],\n [0.499974012374878, 0.439637005329132],\n [0.432112008333206, 0.493588984012604],\n [0.499886006116867, 0.866917014122009],\n [0.49991300702095, 0.821729004383087],\n [0.456548988819122, 0.819200992584229],\n [0.344549000263214, 0.745438992977142],\n [0.37890899181366, 0.574010014533997],\n [0.374292999505997, 0.780184984207153],\n [0.319687992334366, 0.570737957954407],\n [0.357154995203018, 0.604269981384277],\n [0.295284003019333, 0.621580958366394],\n [0.447750002145767, 0.862477004528046],\n [0.410986006259918, 0.508723020553589],\n [0.31395098567009, 0.775308012962341],\n [0.354128003120422, 0.812552988529205],\n [0.324548006057739, 0.703992962837219],\n [0.189096003770828, 0.646299958229065],\n [0.279776990413666, 0.71465802192688],\n [0.1338230073452, 0.682700991630554],\n [0.336768001317978, 0.644733011722565],\n [0.429883986711502, 0.466521978378296],\n [0.455527991056442, 0.548622965812683],\n [0.437114000320435, 0.558896005153656],\n [0.467287987470627, 0.529924988746643],\n [0.414712011814117, 0.335219979286194],\n [0.37704598903656, 0.322777986526489],\n [0.344107985496521, 0.320150971412659],\n [0.312875986099243, 0.32233202457428],\n [0.283526003360748, 0.333190023899078],\n [0.241245999932289, 0.382785975933075],\n [0.102986000478268, 0.468762993812561],\n [0.267612010240555, 0.424560010433197],\n [0.297879010438919, 0.433175981044769],\n [0.333433985710144, 0.433878004550934],\n [0.366427004337311, 0.426115989685059],\n [0.396012008190155, 0.416696012020111],\n [0.420121014118195, 0.41022801399231],\n [0.007561000064015, 0.480777025222778],\n [0.432949006557465, 0.569517970085144],\n [0.458638995885849, 0.479089021682739],\n [0.473466008901596, 0.545744001865387],\n [0.476087987422943, 0.563830018043518],\n [0.468472003936768, 0.555056989192963],\n [0.433990985155106, 0.582361996173859],\n [0.483518004417419, 0.562983989715576],\n [0.482482999563217, 0.57784903049469],\n [0.42645001411438, 0.389798998832703],\n [0.438998997211456, 0.39649498462677],\n [0.450067013502121, 0.400434017181396],\n [0.289712011814117, 0.368252992630005],\n [0.276670008897781, 0.363372981548309],\n [0.517862021923065, 0.471948027610779],\n [0.710287988185883, 0.380764007568359],\n [0.526226997375488, 0.573909997940063],\n [0.895093023777008, 0.254140973091125],\n [0.634069979190826, 0.409575998783112],\n [0.661242008209229, 0.41302502155304],\n [0.688880026340485, 0.409460008144379],\n [0.725341975688934, 0.389131009578705],\n [0.606630027294159, 0.40370500087738],\n [0.654766023159027, 0.344011008739471],\n [0.629905998706818, 0.346076011657715],\n [0.680678009986877, 0.347265005111694],\n [0.702096998691559, 0.353591024875641],\n [0.75221198797226, 0.410804986953735],\n [0.602918028831482, 0.842862963676453],\n [0.719901978969574, 0.375599980354309],\n [0.893692970275879, 0.399959981441498],\n [0.790081977844238, 0.391354024410248],\n [0.643998026847839, 0.534487962722778],\n [0.528249025344849, 0.65040397644043],\n [0.525849997997284, 0.680191040039062],\n [0.560214996337891, 0.657229006290436],\n [0.585384011268616, 0.66654098033905],\n [0.549625992774963, 0.680860996246338],\n [0.57122802734375, 0.682691991329193],\n [0.624852001667023, 0.72809898853302],\n [0.513050019741058, 0.547281980514526],\n [0.51509702205658, 0.527251958847046],\n [0.742246985435486, 0.314507007598877],\n [0.598631024360657, 0.454979002475739],\n [0.570338010787964, 0.548575043678284],\n [0.578631997108459, 0.533622980117798],\n [0.723087012767792, 0.532054007053375],\n [0.516445994377136, 0.499638974666595],\n [0.662801027297974, 0.282917976379395],\n [0.70362401008606, 0.293271005153656],\n [0.830704987049103, 0.193813979625702],\n [0.552385985851288, 0.302568018436432],\n [0.607609987258911, 0.353887975215912],\n [0.645429015159607, 0.696707010269165],\n [0.932694971561432, 0.730105042457581],\n [0.557260990142822, 0.572826027870178],\n [0.542901992797852, 0.584792017936707],\n [0.6180260181427, 0.694710969924927],\n [0.607590973377228, 0.694203019142151],\n [0.722943007946014, 0.271963000297546],\n [0.577413976192474, 0.563166975975037],\n [0.614082992076874, 0.281386971473694],\n [0.616907000541687, 0.255886018276215],\n [0.668509006500244, 0.119913995265961],\n [0.770092010498047, 0.232020974159241],\n [0.635536015033722, 0.189248979091644],\n [0.77039098739624, 0.299556016921997],\n [0.826722025871277, 0.278755009174347],\n [0.527121007442474, 0.666198015213013],\n [0.553171992301941, 0.668527007102966],\n [0.577238023281097, 0.673889994621277],\n [0.554691970348358, 0.580065965652466],\n [0.611896991729736, 0.693961024284363],\n [0.59696102142334, 0.706539988517761],\n [0.596370995044708, 0.693953037261963],\n [0.539958000183105, 0.557139039039612],\n [0.568841993808746, 0.692366003990173],\n [0.547818005084991, 0.692366003990173],\n [0.52461302280426, 0.692366003990173],\n [0.534089982509613, 0.779141008853912],\n [0.527670979499817, 0.736225962638855],\n [0.526912987232208, 0.717857003211975],\n [0.526877999305725, 0.704625964164734],\n [0.526966989040375, 0.695277988910675],\n [0.572058022022247, 0.695277988910675],\n [0.573521018028259, 0.703539967536926],\n [0.57683801651001, 0.711845993995667],\n [0.581691026687622, 0.720062971115112],\n [0.609944999217987, 0.639909982681274],\n [0.986046016216278, 0.560034036636353],\n [0.5867999792099, 0.69539999961853],\n [0.590372025966644, 0.701822996139526],\n [0.531915009021759, 0.601536989212036],\n [0.577268004417419, 0.585934996604919],\n [0.536915004253387, 0.593786001205444],\n [0.627542972564697, 0.473352015018463],\n [0.665585994720459, 0.495950996875763],\n [0.588353991508484, 0.546862006187439],\n [0.757824003696442, 0.14767599105835],\n [0.709249973297119, 0.201507985591888],\n [0.672684013843536, 0.256581008434296],\n [0.600408971309662, 0.74900496006012],\n [0.55826598405838, 0.261672019958496],\n [0.570303976535797, 0.187870979309082],\n [0.588165998458862, 0.109044015407562],\n [0.711045026779175, 0.398952007293701],\n [0.781069993972778, 0.435405015945435],\n [0.587247014045715, 0.398931980133057],\n [0.742869973182678, 0.355445981025696],\n [0.572156012058258, 0.437651991844177],\n [0.55186802148819, 0.536570012569427],\n [0.821442008018494, 0.457556009292603],\n [0.752701997756958, 0.457181990146637],\n [0.71375697851181, 0.467626988887787],\n [0.66711300611496, 0.460672974586487],\n [0.631101012229919, 0.447153985500336],\n [0.6008620262146, 0.432473003864288],\n [0.523481011390686, 0.405627012252808],\n [0.810747981071472, 0.523926019668579],\n [0.771045982837677, 0.348959028720856],\n [0.509127020835876, 0.562718033790588],\n [0.595292985439301, 0.485023975372314],\n [0.980530977249146, 0.401564002037048],\n [0.573499977588654, 0.420000016689301],\n [0.602994978427887, 0.548687994480133],\n [0.733529984951019, 0.376977026462555],\n [0.560611009597778, 0.519016981124878],\n [0.967685997486115, 0.644356966018677],\n [0.580985009670258, 0.387160003185272],\n [0.537728011608124, 0.505385041236877],\n [0.760966002941132, 0.779752969741821],\n [0.801778972148895, 0.831938028335571],\n [0.892440974712372, 0.54076099395752],\n [0.816350996494293, 0.740260004997253],\n [0.865594983100891, 0.333687007427216],\n [0.614073991775513, 0.883246004581451],\n [0.508952975273132, 0.579437971115112],\n [0.617941975593567, 0.508316040039062],\n [0.825608015060425, 0.397674977779388],\n [0.681214988231659, 0.39623498916626],\n [0.656635999679565, 0.400596976280212],\n [0.603900015354156, 0.710216999053955],\n [0.81208598613739, 0.588539004325867],\n [0.56801301240921, 0.944564998149872],\n [0.681007981300354, 0.898285031318665],\n [0.733752012252808, 0.869701027870178],\n [0.633830010890961, 0.398822009563446],\n [0.606792986392975, 0.39553701877594],\n [0.589659988880157, 0.391062021255493],\n [0.805015981197357, 0.342108011245728],\n [0.611334979534149, 0.362284004688263],\n [0.634037971496582, 0.355970978736877],\n [0.656635999679565, 0.355356991291046],\n [0.681214988231659, 0.35834002494812],\n [0.698584973812103, 0.363156020641327],\n [0.941866993904114, 0.319076001644135],\n [0.698584973812103, 0.387449026107788],\n [0.584177017211914, 0.624107003211975],\n [0.554318010807037, 0.566076993942261],\n [0.534153997898102, 0.62064003944397],\n [0.711217999458313, 0.819975018501282],\n [0.664629995822906, 0.852871000766754],\n [0.559099972248077, 0.902631998062134],\n [0.871706008911133, 0.791940987110138],\n [0.591234028339386, 0.373893976211548],\n [0.544341027736664, 0.451583981513977],\n [0.624562978744507, 0.924192011356354],\n [0.88577002286911, 0.615028977394104],\n [0.551338016986847, 0.695277988910675],\n [0.551980018615723, 0.704632043838501],\n [0.552887976169586, 0.715808033943176],\n [0.555167973041534, 0.730794012546539],\n [0.569944024085999, 0.767035007476807],\n [0.593203008174896, 0.685675978660583],\n [0.599261999130249, 0.681069016456604],\n [0.607599973678589, 0.677703022956848],\n [0.631937980651855, 0.663500010967255],\n [0.752032995223999, 0.601315021514893],\n [0.547226011753082, 0.420395016670227],\n [0.563543975353241, 0.359827995300293],\n [0.583841025829315, 0.368713974952698],\n [0.586614012718201, 0.692366003990173],\n [0.771915018558502, 0.683578014373779],\n [0.531597018241882, 0.352482974529266],\n [0.588370978832245, 0.804440975189209],\n [0.52079701423645, 0.442565023899078],\n [0.567984998226166, 0.493479013442993],\n [0.543282985687256, 0.819254994392395],\n [0.655317008495331, 0.745514988899231],\n [0.621008992195129, 0.574018001556396],\n [0.625559985637665, 0.78031200170517],\n [0.680198013782501, 0.570719003677368],\n [0.64276397228241, 0.604337990283966],\n [0.704662978649139, 0.621529996395111],\n [0.552012026309967, 0.862591981887817],\n [0.589071989059448, 0.508637011051178],\n [0.685944974422455, 0.775357007980347],\n [0.645735025405884, 0.812640011310577],\n [0.675342977046967, 0.703978002071381],\n [0.810858011245728, 0.646304965019226],\n [0.72012197971344, 0.714666962623596],\n [0.866151988506317, 0.682704985141754],\n [0.663187026977539, 0.644596993923187],\n [0.570082008838654, 0.466325998306274],\n [0.544561982154846, 0.548375964164734],\n [0.562758982181549, 0.558784961700439],\n [0.531987011432648, 0.530140042304993],\n [0.585271000862122, 0.335177004337311],\n [0.622952997684479, 0.32277899980545],\n [0.655896008014679, 0.320163011550903],\n [0.687132000923157, 0.322345972061157],\n [0.716481983661652, 0.333200991153717],\n [0.758756995201111, 0.382786989212036],\n [0.897013008594513, 0.468769013881683],\n [0.732392013072968, 0.424547016620636],\n [0.70211398601532, 0.433162987232208],\n [0.66652500629425, 0.433866024017334],\n [0.633504986763, 0.426087975502014],\n [0.603875994682312, 0.416586995124817],\n [0.579657971858978, 0.409945011138916],\n [0.992439985275269, 0.480777025222778],\n [0.567192018032074, 0.569419980049133],\n [0.54136598110199, 0.478899002075195],\n [0.526564002037048, 0.546118021011353],\n [0.523913025856018, 0.563830018043518],\n [0.531529009342194, 0.555056989192963],\n [0.566035985946655, 0.582329034805298],\n [0.51631098985672, 0.563053965568542],\n [0.5174720287323, 0.577877044677734],\n [0.573594987392426, 0.389806985855103],\n [0.560697972774506, 0.395331978797913],\n [0.549755990505219, 0.399751007556915],\n [0.710287988185883, 0.368252992630005],\n [0.723330020904541, 0.363372981548309],\n];\n\nexport const TRI468: number[] = [\n 127, 34, 139, 11, 0, 37, 232, 231, 120, 72, 37, 39, 128, 121, 47, 232, 121, 128, 104, 69, 67, 175, 171, 148, 157, 154, 155, 118, 50, 101, 73, 39, 40, 9,\n 151, 108, 48, 115, 131, 194, 204, 211, 74, 40, 185, 80, 42, 183, 40, 92, 186, 230, 229, 118, 202, 212, 214, 83, 18, 17, 76, 61, 146, 160, 29, 30, 56,\n 157, 173, 106, 204, 194, 135, 214, 192, 203, 165, 98, 21, 71, 68, 51, 45, 4, 144, 24, 23, 77, 146, 91, 205, 50, 187, 201, 200, 18, 91, 106, 182, 90, 91,\n 181, 85, 84, 17, 206, 203, 36, 148, 171, 140, 92, 40, 39, 193, 189, 244, 159, 158, 28, 247, 246, 161, 236, 3, 196, 54, 68, 104, 193, 168, 8, 117,\n 228, 31, 189, 193, 55, 98, 97, 99, 126, 47, 100, 166, 79, 218, 155, 154, 26, 209, 49, 131, 135, 136, 150, 47, 126, 217, 223, 52, 53, 45, 51, 134, 211,\n 170, 140, 67, 69, 108, 43, 106, 91, 230, 119, 120, 226, 130, 247, 63, 53, 52, 238, 20, 242, 46, 70, 156, 78, 62, 96, 46, 53, 63, 143, 34, 227, 173,\n 155, 133, 123, 117, 111, 44, 125, 19, 236, 134, 51, 216, 206, 205, 154, 153, 22, 39, 37, 167, 200, 201, 208, 36, 142, 100, 57, 212, 202, 20, 60, 99, 28,\n 158, 157, 35, 226, 113, 160, 159, 27, 204, 202, 210, 113, 225, 46, 43, 202, 204, 62, 76, 77, 137, 123, 116, 41, 38, 72, 203, 129, 142, 64, 98, 240, 49,\n 102, 64, 41, 73, 74, 212, 216, 207, 42, 74, 184, 169, 170, 211, 170, 149, 176, 105, 66, 69, 122, 6, 168, 123, 147, 187, 96, 77, 90, 65, 55, 107, 89,\n 90, 180, 101, 100, 120, 63, 105, 104, 93, 137, 227, 15, 86, 85, 129, 102, 49, 14, 87, 86, 55, 8, 9, 100, 47, 121, 145, 23, 22, 88, 89, 179, 6, 122,\n 196, 88, 95, 96, 138, 172, 136, 215, 58, 172, 115, 48, 219, 42, 80, 81, 195, 3, 51, 43, 146, 61, 171, 175, 199, 81, 82, 38, 53, 46, 225, 144, 163, 110,\n 246, 33, 7, 52, 65, 66, 229, 228, 117, 34, 127, 234, 107, 108, 69, 109, 108, 151, 48, 64, 235, 62, 78, 191, 129, 209, 126, 111, 35, 143, 163, 161, 246,\n 117, 123, 50, 222, 65, 52, 19, 125, 141, 221, 55, 65, 3, 195, 197, 25, 7, 33, 220, 237, 44, 70, 71, 139, 122, 193, 245, 247, 130, 33, 71, 21, 162,\n 153, 158, 159, 170, 169, 150, 188, 174, 196, 216, 186, 92, 144, 160, 161, 2, 97, 167, 141, 125, 241, 164, 167, 37, 72, 38, 12, 145, 159, 160, 38, 82, 13,\n 63, 68, 71, 226, 35, 111, 158, 153, 154, 101, 50, 205, 206, 92, 165, 209, 198, 217, 165, 167, 97, 220, 115, 218, 133, 112, 243, 239, 238, 241, 214,\n 135, 169, 190, 173, 133, 171, 208, 32, 125, 44, 237, 86, 87, 178, 85, 86, 179, 84, 85, 180, 83, 84, 181, 201, 83, 182, 137, 93, 132, 76, 62, 183, 61,\n 76, 184, 57, 61, 185, 212, 57, 186, 214, 207, 187, 34, 143, 156, 79, 239, 237, 123, 137, 177, 44, 1, 4, 201, 194, 32, 64, 102, 129, 213, 215, 138, 59,\n 166, 219, 242, 99, 97, 2, 94, 141, 75, 59, 235, 24, 110, 228, 25, 130, 226, 23, 24, 229, 22, 23, 230, 26, 22, 231, 112, 26, 232, 189, 190, 243, 221, 56,\n 190, 28, 56, 221, 27, 28, 222, 29, 27, 223, 30, 29, 224, 247, 30, 225, 238, 79, 20, 166, 59, 75, 60, 75, 240, 147, 177, 215, 20, 79, 166, 187, 147, 213,\n 112, 233, 244, 233, 128, 245, 128, 114, 188, 114, 217, 174, 131, 115, 220, 217, 198, 236, 198, 131, 134, 177, 132, 58, 143, 35, 124, 110, 163, 7, 228,\n 110, 25, 356, 389, 368, 11, 302, 267, 452, 350, 349, 302, 303, 269, 357, 343, 277, 452, 453, 357, 333, 332, 297, 175, 152, 377, 384, 398, 382, 347,\n 348, 330, 303, 304, 270, 9, 336, 337, 278, 279, 360, 418, 262, 431, 304, 408, 409, 310, 415, 407, 270, 409, 410, 450, 348, 347, 422, 430, 434, 313,\n 314, 17, 306, 307, 375, 387, 388, 260, 286, 414, 398, 335, 406, 418, 364, 367, 416, 423, 358, 327, 251, 284, 298, 281, 5, 4, 373, 374, 253, 307, 320,\n 321, 425, 427, 411, 421, 313, 18, 321, 405, 406, 320, 404, 405, 315, 16, 17, 426, 425, 266, 377, 400, 369, 322, 391, 269, 417, 465, 464, 386, 257, 258,\n 466, 260, 388, 456, 399, 419, 284, 332, 333, 417, 285, 8, 346, 340, 261, 413, 441, 285, 327, 460, 328, 355, 371, 329, 392, 439, 438, 382, 341, 256,\n 429, 420, 360, 364, 394, 379, 277, 343, 437, 443, 444, 283, 275, 440, 363, 431, 262, 369, 297, 338, 337, 273, 375, 321, 450, 451, 349, 446, 342, 467,\n 293, 334, 282, 458, 461, 462, 276, 353, 383, 308, 324, 325, 276, 300, 293, 372, 345, 447, 382, 398, 362, 352, 345, 340, 274, 1, 19, 456, 248, 281, 436,\n 427, 425, 381, 256, 252, 269, 391, 393, 200, 199, 428, 266, 330, 329, 287, 273, 422, 250, 462, 328, 258, 286, 384, 265, 353, 342, 387, 259, 257, 424,\n 431, 430, 342, 353, 276, 273, 335, 424, 292, 325, 307, 366, 447, 345, 271, 303, 302, 423, 266, 371, 294, 455, 460, 279, 278, 294, 271, 272, 304, 432,\n 434, 427, 272, 407, 408, 394, 430, 431, 395, 369, 400, 334, 333, 299, 351, 417, 168, 352, 280, 411, 325, 319, 320, 295, 296, 336, 319, 403, 404, 330,\n 348, 349, 293, 298, 333, 323, 454, 447, 15, 16, 315, 358, 429, 279, 14, 15, 316, 285, 336, 9, 329, 349, 350, 374, 380, 252, 318, 402, 403, 6, 197, 419,\n 318, 319, 325, 367, 364, 365, 435, 367, 397, 344, 438, 439, 272, 271, 311, 195, 5, 281, 273, 287, 291, 396, 428, 199, 311, 271, 268, 283, 444, 445,\n 373, 254, 339, 263, 466, 249, 282, 334, 296, 449, 347, 346, 264, 447, 454, 336, 296, 299, 338, 10, 151, 278, 439, 455, 292, 407, 415, 358, 371, 355,\n 340, 345, 372, 390, 249, 466, 346, 347, 280, 442, 443, 282, 19, 94, 370, 441, 442, 295, 248, 419, 197, 263, 255, 359, 440, 275, 274, 300, 383, 368,\n 351, 412, 465, 263, 467, 466, 301, 368, 389, 380, 374, 386, 395, 378, 379, 412, 351, 419, 436, 426, 322, 373, 390, 388, 2, 164, 393, 370, 462, 461,\n 164, 0, 267, 302, 11, 12, 374, 373, 387, 268, 12, 13, 293, 300, 301, 446, 261, 340, 385, 384, 381, 330, 266, 425, 426, 423, 391, 429, 355, 437, 391,\n 327, 326, 440, 457, 438, 341, 382, 362, 459, 457, 461, 434, 430, 394, 414, 463, 362, 396, 369, 262, 354, 461, 457, 316, 403, 402, 315, 404, 403, 314,\n 405, 404, 313, 406, 405, 421, 418, 406, 366, 401, 361, 306, 408, 407, 291, 409, 408, 287, 410, 409, 432, 436, 410, 434, 416, 411, 264, 368, 383, 309,\n 438, 457, 352, 376, 401, 274, 275, 4, 421, 428, 262, 294, 327, 358, 433, 416, 367, 289, 455, 439, 462, 370, 326, 2, 326, 370, 305, 460, 455, 254,\n 449, 448, 255, 261, 446, 253, 450, 449, 252, 451, 450, 256, 452, 451, 341, 453, 452, 413, 464, 463, 441, 413, 414, 258, 442, 441, 257, 443, 442, 259,\n 444, 443, 260, 445, 444, 467, 342, 445, 459, 458, 250, 289, 392, 290, 290, 328, 460, 376, 433, 435, 250, 290, 392, 411, 416, 433, 341, 463, 464, 453,\n 464, 465, 357, 465, 412, 343, 412, 399, 360, 363, 440, 437, 399, 456, 420, 456, 363, 401, 435, 288, 372, 383, 353, 339, 255, 249, 448, 261, 255, 133,\n 243, 190, 133, 155, 112, 33, 246, 247, 33, 130, 25, 398, 384, 286, 362, 398, 414, 362, 463, 341, 263, 359, 467, 263, 249, 255, 466, 467, 260, 75, 60,\n 166, 238, 239, 79, 162, 127, 139, 72, 11, 37, 121, 232, 120, 73, 72, 39, 114, 128, 47, 233, 232, 128, 103, 104, 67, 152, 175, 148, 173, 157, 155,\n 119, 118, 101, 74, 73, 40, 107, 9, 108, 49, 48, 131, 32, 194, 211, 184, 74, 185, 191, 80, 183, 185, 40, 186, 119, 230, 118, 210, 202, 214, 84, 83, 17,\n 77, 76, 146, 161, 160, 30, 190, 56, 173, 182, 106, 194, 138, 135, 192, 129, 203, 98, 54, 21, 68, 5, 51, 4, 145, 144, 23, 90, 77, 91, 207, 205, 187, 83,\n 201, 18, 181, 91, 182, 180, 90, 181, 16, 85, 17, 205, 206, 36, 176, 148, 140, 165, 92, 39, 245, 193, 244, 27, 159, 28, 30, 247, 161, 174, 236, 196,\n 103, 54, 104, 55, 193, 8, 111, 117, 31, 221, 189, 55, 240, 98, 99, 142, 126, 100, 219, 166, 218, 112, 155, 26, 198, 209, 131, 169, 135, 150, 114, 47,\n 217, 224, 223, 53, 220, 45, 134, 32, 211, 140, 109, 67, 108, 146, 43, 91, 231, 230, 120, 113, 226, 247, 105, 63, 52, 241, 238, 242, 124, 46, 156, 95,\n 78, 96, 70, 46, 63, 116, 143, 227, 116, 123, 111, 1, 44, 19, 3, 236, 51, 207, 216, 205, 26, 154, 22, 165, 39, 167, 199, 200, 208, 101, 36, 100, 43,\n 57, 202, 242, 20, 99, 56, 28, 157, 124, 35, 113, 29, 160, 27, 211, 204, 210, 124, 113, 46, 106, 43, 204, 96, 62, 77, 227, 137, 116, 73, 41, 72, 36, 203,\n 142, 235, 64, 240, 48, 49, 64, 42, 41, 74, 214, 212, 207, 183, 42, 184, 210, 169, 211, 140, 170, 176, 104, 105, 69, 193, 122, 168, 50, 123, 187, 89, 96,\n 90, 66, 65, 107, 179, 89, 180, 119, 101, 120, 68, 63, 104, 234, 93, 227, 16, 15, 85, 209, 129, 49, 15, 14, 86, 107, 55, 9, 120, 100, 121, 153, 145, 22,\n 178, 88, 179, 197, 6, 196, 89, 88, 96, 135, 138, 136, 138, 215, 172, 218, 115, 219, 41, 42, 81, 5, 195, 51, 57, 43, 61, 208, 171, 199, 41, 81, 38,\n 224, 53, 225, 24, 144, 110, 105, 52, 66, 118, 229, 117, 227, 34, 234, 66, 107, 69, 10, 109, 151, 219, 48, 235, 183, 62, 191, 142, 129, 126, 116, 111,\n 143, 7, 163, 246, 118, 117, 50, 223, 222, 52, 94, 19, 141, 222, 221, 65, 196, 3, 197, 45, 220, 44, 156, 70, 139, 188, 122, 245, 139, 71, 162, 145,\n 153, 159, 149, 170, 150, 122, 188, 196, 206, 216, 92, 163, 144, 161, 164, 2, 167, 242, 141, 241, 0, 164, 37, 11, 72, 12, 144, 145, 160, 12, 38, 13, 70,\n 63, 71, 31, 226, 111, 157, 158, 154, 36, 101, 205, 203, 206, 165, 126, 209, 217, 98, 165, 97, 237, 220, 218, 237, 239, 241, 210, 214, 169, 140, 171, 32,\n 241, 125, 237, 179, 86, 178, 180, 85, 179, 181, 84, 180, 182, 83, 181, 194, 201, 182, 177, 137, 132, 184, 76, 183, 185, 61, 184, 186, 57, 185, 216, 212,\n 186, 192, 214, 187, 139, 34, 156, 218, 79, 237, 147, 123, 177, 45, 44, 4, 208, 201, 32, 98, 64, 129, 192, 213, 138, 235, 59, 219, 141, 242, 97, 97, 2,\n 141, 240, 75, 235, 229, 24, 228, 31, 25, 226, 230, 23, 229, 231, 22, 230, 232, 26, 231, 233, 112, 232, 244, 189, 243, 189, 221, 190, 222, 28, 221,\n 223, 27, 222, 224, 29, 223, 225, 30, 224, 113, 247, 225, 99, 60, 240, 213, 147, 215, 60, 20, 166, 192, 187, 213, 243, 112, 244, 244, 233, 245, 245,\n 128, 188, 188, 114, 174, 134, 131, 220, 174, 217, 236, 236, 198, 134, 215, 177, 58, 156, 143, 124, 25, 110, 7, 31, 228, 25, 264, 356, 368, 0, 11, 267,\n 451, 452, 349, 267, 302, 269, 350, 357, 277, 350, 452, 357, 299, 333, 297, 396, 175, 377, 381, 384, 382, 280, 347, 330, 269, 303, 270, 151, 9, 337,\n 344, 278, 360, 424, 418, 431, 270, 304, 409, 272, 310, 407, 322, 270, 410, 449, 450, 347, 432, 422, 434, 18, 313, 17, 291, 306, 375, 259, 387, 260,\n 424, 335, 418, 434, 364, 416, 391, 423, 327, 301, 251, 298, 275, 281, 4, 254, 373, 253, 375, 307, 321, 280, 425, 411, 200, 421, 18, 335, 321, 406,\n 321, 320, 405, 314, 315, 17, 423, 426, 266, 396, 377, 369, 270, 322, 269, 413, 417, 464, 385, 386, 258, 248, 456, 419, 298, 284, 333, 168, 417, 8,\n 448, 346, 261, 417, 413, 285, 326, 327, 328, 277, 355, 329, 309, 392, 438, 381, 382, 256, 279, 429, 360, 365, 364, 379, 355, 277, 437, 282, 443, 283,\n 281, 275, 363, 395, 431, 369, 299, 297, 337, 335, 273, 321, 348, 450, 349, 359, 446, 467, 283, 293, 282, 250, 458, 462, 300, 276, 383, 292, 308, 325,\n 283, 276, 293, 264, 372, 447, 346, 352, 340, 354, 274, 19, 363, 456, 281, 426, 436, 425, 380, 381, 252, 267, 269, 393, 421, 200, 428, 371, 266, 329,\n 432, 287, 422, 290, 250, 328, 385, 258, 384, 446, 265, 342, 386, 387, 257, 422, 424, 430, 445, 342, 276, 422, 273, 424, 306, 292, 307, 352, 366, 345,\n 268, 271, 302, 358, 423, 371, 327, 294, 460, 331, 279, 294, 303, 271, 304, 436, 432, 427, 304, 272, 408, 395, 394, 431, 378, 395, 400, 296, 334, 299,\n 6, 351, 168, 376, 352, 411, 307, 325, 320, 285, 295, 336, 320, 319, 404, 329, 330, 349, 334, 293, 333, 366, 323, 447, 316, 15, 315, 331, 358, 279,\n 317, 14, 316, 8, 285, 9, 277, 329, 350, 253, 374, 252, 319, 318, 403, 351, 6, 419, 324, 318, 325, 397, 367, 365, 288, 435, 397, 278, 344, 439, 310,\n 272, 311, 248, 195, 281, 375, 273, 291, 175, 396, 199, 312, 311, 268, 276, 283, 445, 390, 373, 339, 295, 282, 296, 448, 449, 346, 356, 264, 454, 337,\n 336, 299, 337, 338, 151, 294, 278, 455, 308, 292, 415, 429, 358, 355, 265, 340, 372, 388, 390, 466, 352, 346, 280, 295, 442, 282, 354, 19, 370, 285,\n 441, 295, 195, 248, 197, 457, 440, 274, 301, 300, 368, 417, 351, 465, 251, 301, 389, 385, 380, 386, 394, 395, 379, 399, 412, 419, 410, 436, 322, 387,\n 373, 388, 326, 2, 393, 354, 370, 461, 393, 164, 267, 268, 302, 12, 386, 374, 387, 312, 268, 13, 298, 293, 301, 265, 446, 340, 380, 385, 381, 280, 330,\n 425, 322, 426, 391, 420, 429, 437, 393, 391, 326, 344, 440, 438, 458, 459, 461, 364, 434, 394, 428, 396, 262, 274, 354, 457, 317, 316, 402, 316, 315,\n 403, 315, 314, 404, 314, 313, 405, 313, 421, 406, 323, 366, 361, 292, 306, 407, 306, 291, 408, 291, 287, 409, 287, 432, 410, 427, 434, 411, 372, 264,\n 383, 459, 309, 457, 366, 352, 401, 1, 274, 4, 418, 421, 262, 331, 294, 358, 435, 433, 367, 392, 289, 439, 328, 462, 326, 94, 2, 370, 289, 305, 455, 339,\n 254, 448, 359, 255, 446, 254, 253, 449, 253, 252, 450, 252, 256, 451, 256, 341, 452, 414, 413, 463, 286, 441, 414, 286, 258, 441, 258, 257, 442, 257,\n 259, 443, 259, 260, 444, 260, 467, 445, 309, 459, 250, 305, 289, 290, 305, 290, 460, 401, 376, 435, 309, 250, 392, 376, 411, 433, 453, 341, 464, 357,\n 453, 465, 343, 357, 412, 437, 343, 399, 344, 360, 440, 420, 437, 456, 360, 420, 363, 361, 401, 288, 265, 372, 353, 390, 339, 249, 339, 448, 255];\n\nexport const TRI68: number[] = [0, 1, 36, 0, 36, 17, 1, 2, 41, 1, 41, 36, 2, 3, 31, 2, 31, 41, 3, 4, 48, 3, 48, 31, 4, 5, 48, 5, 6, 48, 6, 7, 59, 6, 59, 48, 7, 8, 58, 7, 58, 59,\n 8, 9, 56, 8, 56, 57, 8, 57, 58, 9, 10, 55, 9, 55, 56, 10, 11, 54, 10, 54, 55, 11, 12, 54, 12, 13, 54, 13, 14, 35, 13, 35, 54, 14, 15, 46, 14, 46, 35, 15, 16,\n 45, 15, 45, 46, 16, 26, 45, 17, 36, 18, 18, 37, 19, 18, 36, 37, 19, 38, 20, 19, 37, 38, 20, 39, 21, 20, 38, 39, 21, 39, 27, 22, 42, 23, 22, 27, 42, 23, 43, 24,\n 23, 42, 43, 24, 44, 25, 24, 43, 44, 25, 45, 26, 25, 44, 45, 27, 39, 28, 27, 28, 42, 28, 39, 29, 28, 29, 42, 29, 31, 30, 29, 30, 35, 29, 40, 31, 29, 35, 47, 29,\n 39, 40, 29, 47, 42, 30, 31, 32, 30, 32, 33, 30, 33, 34, 30, 34, 35, 31, 50, 32, 31, 40, 41, 31, 48, 49, 31, 49, 50, 32, 51, 33, 32, 50, 51, 33, 51, 34, 34, 52,\n 35, 34, 51, 52, 35, 46, 47, 35, 52, 53, 35, 53, 54, 36, 41, 37, 37, 40, 38, 37, 41, 40, 38, 40, 39, 42, 47, 43, 43, 47, 44, 44, 46, 45, 44, 47, 46, 48, 60, 49,\n 48, 59, 60, 49, 61, 50, 49, 60, 61, 50, 62, 51, 50, 61, 62, 51, 62, 52, 52, 63, 53, 52, 62, 63, 53, 64, 54, 53, 63, 64, 54, 64, 55, 55, 65, 56, 55, 64, 65, 56,\n 66, 57, 56, 65, 66, 57, 66, 58, 58, 67, 59, 58, 66, 67, 59, 67, 60, 60, 67, 61, 61, 66, 62, 61, 67, 66, 62, 66, 63, 63, 65, 64, 63, 66, 65, 21, 27, 22];\n\nexport const TRI33: number[] = [\n /* eyes */ 0, 8, 7, 7, 8, 1, 2, 10, 9, 9, 10, 3,\n /* brows */ 17, 0, 18, 18, 0, 7, 18, 7, 19, 19, 7, 1, 19, 1, 11, 19, 11, 20, 21, 3, 22, 21, 9, 3, 20, 9, 21, 20, 2, 9, 20, 11, 2,\n /* 4head */ 23, 17, 18, 25, 21, 22, 24, 19, 20, 24, 18, 19, 24, 20, 21, 24, 23, 18, 24, 21, 25,\n /* nose */ 11, 12, 4, 11, 4, 13, 1, 12, 11, 11, 13, 2, 12, 14, 4, 4, 14, 13,\n /* up-lip */ 14, 5, 15, 14, 15, 6, 12, 5, 14, 14, 6, 13,\n /* cheeks */ 8, 12, 1, 2, 13, 10, 8, 26, 12, 10, 13, 27, 26, 5, 12, 13, 6, 27, 0, 26, 8, 10, 27, 3,\n /* chin */ 5, 32, 16, 16, 32, 6, 5, 30, 32, 6, 32, 31,\n /* cont */ 26, 30, 5, 27, 6, 31, 0, 28, 26, 3, 27, 29, 17, 28, 0, 3, 29, 22, 23, 28, 17, 22, 29, 25, 28, 30, 26, 27, 31, 29,\n];\n\nexport const TRI7: number[] = [0, 4, 1, 2, 4, 3, 4, 5, 6];\n\nexport const VTX68: number[] = [\n /* cont */ 127, 234, 132, 58, 172, 150, 149, 148, 152, 377, 378, 379, 397, 288, 361, 454, 356,\n /* brows */ 70, 63, 105, 66, 107, 336, 296, 334, 293, 300,\n /* nose */ 168, 6, 195, 4, 98, 97, 2, 326, 327,\n /* eyes */ 33, 160, 158, 133, 153, 144, 362, 385, 387, 263, 373, 380,\n /* lip */ 57, 40, 37, 0, 267, 270, 287, 321, 314, 17, 84, 91,\n /* mouth */ 78, 81, 13, 311, 308, 402, 14, 178,\n];\n\nexport const VTX33: number[] = [33, 133, 362, 263, 1, 62, 308, 159, 145, 386, 374, 6, 102, 331, 2, 13, 14, 70, 105, 107, 336, 334, 300, 54, 10, 284, 50, 280, 234, 454, 58, 288, 152];\n\nexport const VTX7: number[] = [33, 133, 362, 263, 1, 78, 308];\n\nexport const UV68 = VTX68.map((x) => UV468[x]);\n\nexport const UV33 = VTX33.map((x) => UV468[x]);\n\nexport const UV7 = VTX7.map((x) => UV468[x]);\n\n// https://github.com/tensorflow/tfjs-models/blob/master/face-landmarks-detection/src/constants.ts\n// https://github.com/google/mediapipe/mediapipe/python/solutions/face_mesh_connections.py\n\ntype PairArray = [number, number][];\n\nfunction connectionsToIndices(connections: PairArray) {\n const indices = connections.map((connection) => connection[0]);\n indices.push(connections[connections.length - 1][1]);\n return indices;\n}\n\nexport const pairsLips: PairArray = [\n [61, 146], [146, 91], [91, 181], [181, 84], [84, 17], [17, 314], [314, 405], [405, 321], [321, 375], [375, 291], [61, 185], [185, 40], [40, 39], [39, 37], [37, 0], [0, 267], [267, 269], [269, 270], [270, 409], [409, 291],\n [78, 95], [95, 88], [88, 178], [178, 87], [87, 14], [14, 317], [317, 402], [402, 318], [318, 324], [324, 308], [78, 191], [191, 80], [80, 81], [81, 82], [82, 13], [13, 312], [312, 311], [311, 310], [310, 415], [415, 308],\n];\n\nexport const pairsLeftEye: PairArray = [[263, 249], [249, 390], [390, 373], [373, 374], [374, 380], [380, 381], [381, 382], [382, 362], [263, 466], [466, 388], [388, 387], [387, 386], [386, 385], [385, 384], [384, 398], [398, 362]];\n\nexport const pairsLeftEyebrow: PairArray = [[276, 283], [283, 282], [282, 295], [295, 285], [300, 293], [293, 334], [334, 296], [296, 336]];\n\nexport const pairsLeftIris: PairArray = [[474, 475], [475, 476], [476, 477], [477, 474]];\n\nexport const pairsRightEye: PairArray = [[33, 7], [7, 163], [163, 144], [144, 145], [145, 153], [153, 154], [154, 155], [155, 133], [33, 246], [246, 161], [161, 160], [160, 159], [159, 158], [158, 157], [157, 173], [173, 133]];\n\nexport const pairsRightEyebrow: PairArray = [[46, 53], [53, 52], [52, 65], [65, 55], [70, 63], [63, 105], [105, 66], [66, 107]];\n\nexport const pairsRightIris: PairArray = [[469, 470], [470, 471], [471, 472], [472, 469]];\n\nexport const pairsFaceContour: PairArray = [\n [10, 338], [338, 297], [297, 332], [332, 284], [284, 251], [251, 389],\n [389, 356], [356, 454], [454, 323], [323, 361], [361, 288], [288, 397],\n [397, 365], [365, 379], [379, 378], [378, 400], [400, 377], [377, 152],\n [152, 148], [148, 176], [176, 149], [149, 150], [150, 136], [136, 172],\n [172, 58], [58, 132], [132, 93], [93, 234], [234, 127], [127, 162],\n [162, 21], [21, 54], [54, 103], [103, 67], [67, 109], [109, 10],\n];\n\nexport const contourKeypoints = {\n lips: connectionsToIndices(pairsLips),\n leftEye: connectionsToIndices(pairsLeftEye),\n leftEyebrow: connectionsToIndices(pairsLeftEyebrow),\n leftIris: connectionsToIndices(pairsLeftIris),\n rightEye: connectionsToIndices(pairsRightEye),\n rightEyebrow: connectionsToIndices(pairsRightEyebrow),\n rightIris: connectionsToIndices(pairsRightIris),\n faceOval: connectionsToIndices(pairsFaceContour),\n};\n\nexport const pairsFaceMesh: PairArray = [\n [127, 34], [34, 139], [139, 127], [11, 0], [0, 37], [37, 11],\n [232, 231], [231, 120], [120, 232], [72, 37], [37, 39], [39, 72],\n [128, 121], [121, 47], [47, 128], [232, 121], [121, 128], [128, 232],\n [104, 69], [69, 67], [67, 104], [175, 171], [171, 148], [148, 175],\n [118, 50], [50, 101], [101, 118], [73, 39], [39, 40], [40, 73],\n [9, 151], [151, 108], [108, 9], [48, 115], [115, 131], [131, 48],\n [194, 204], [204, 211], [211, 194], [74, 40], [40, 185], [185, 74],\n [80, 42], [42, 183], [183, 80], [40, 92], [92, 186], [186, 40],\n [230, 229], [229, 118], [118, 230], [202, 212], [212, 214], [214, 202],\n [83, 18], [18, 17], [17, 83], [76, 61], [61, 146], [146, 76],\n [160, 29], [29, 30], [30, 160], [56, 157], [157, 173], [173, 56],\n [106, 204], [204, 194], [194, 106], [135, 214], [214, 192], [192, 135],\n [203, 165], [165, 98], [98, 203], [21, 71], [71, 68], [68, 21],\n [51, 45], [45, 4], [4, 51], [144, 24], [24, 23], [23, 144],\n [77, 146], [146, 91], [91, 77], [205, 50], [50, 187], [187, 205],\n [201, 200], [200, 18], [18, 201], [91, 106], [106, 182], [182, 91],\n [90, 91], [91, 181], [181, 90], [85, 84], [84, 17], [17, 85],\n [206, 203], [203, 36], [36, 206], [148, 171], [171, 140], [140, 148],\n [92, 40], [40, 39], [39, 92], [193, 189], [189, 244], [244, 193],\n [159, 158], [158, 28], [28, 159], [247, 246], [246, 161], [161, 247],\n [236, 3], [3, 196], [196, 236], [54, 68], [68, 104], [104, 54],\n [193, 168], [168, 8], [8, 193], [117, 228], [228, 31], [31, 117],\n [189, 193], [193, 55], [55, 189], [98, 97], [97, 99], [99, 98],\n [126, 47], [47, 100], [100, 126], [166, 79], [79, 218], [218, 166],\n [155, 154], [154, 26], [26, 155], [209, 49], [49, 131], [131, 209],\n [135, 136], [136, 150], [150, 135], [47, 126], [126, 217], [217, 47],\n [223, 52], [52, 53], [53, 223], [45, 51], [51, 134], [134, 45],\n [211, 170], [170, 140], [140, 211], [67, 69], [69, 108], [108, 67],\n [43, 106], [106, 91], [91, 43], [230, 119], [119, 120], [120, 230],\n [226, 130], [130, 247], [247, 226], [63, 53], [53, 52], [52, 63],\n [238, 20], [20, 242], [242, 238], [46, 70], [70, 156], [156, 46],\n [78, 62], [62, 96], [96, 78], [46, 53], [53, 63], [63, 46],\n [143, 34], [34, 227], [227, 143], [123, 117], [117, 111], [111, 123],\n [44, 125], [125, 19], [19, 44], [236, 134], [134, 51], [51, 236],\n [216, 206], [206, 205], [205, 216], [154, 153], [153, 22], [22, 154],\n [39, 37], [37, 167], [167, 39], [200, 201], [201, 208], [208, 200],\n [36, 142], [142, 100], [100, 36], [57, 212], [212, 202], [202, 57],\n [20, 60], [60, 99], [99, 20], [28, 158], [158, 157], [157, 28],\n [35, 226], [226, 113], [113, 35], [160, 159], [159, 27], [27, 160],\n [204, 202], [202, 210], [210, 204], [113, 225], [225, 46], [46, 113],\n [43, 202], [202, 204], [204, 43], [62, 76], [76, 77], [77, 62],\n [137, 123], [123, 116], [116, 137], [41, 38], [38, 72], [72, 41],\n [203, 129], [129, 142], [142, 203], [64, 98], [98, 240], [240, 64],\n [49, 102], [102, 64], [64, 49], [41, 73], [73, 74], [74, 41],\n [212, 216], [216, 207], [207, 212], [42, 74], [74, 184], [184, 42],\n [169, 170], [170, 211], [211, 169], [170, 149], [149, 176], [176, 170],\n [105, 66], [66, 69], [69, 105], [122, 6], [6, 168], [168, 122],\n [123, 147], [147, 187], [187, 123], [96, 77], [77, 90], [90, 96],\n [65, 55], [55, 107], [107, 65], [89, 90], [90, 180], [180, 89],\n [101, 100], [100, 120], [120, 101], [63, 105], [105, 104], [104, 63],\n [93, 137], [137, 227], [227, 93], [15, 86], [86, 85], [85, 15],\n [129, 102], [102, 49], [49, 129], [14, 87], [87, 86], [86, 14],\n [55, 8], [8, 9], [9, 55], [100, 47], [47, 121], [121, 100],\n [145, 23], [23, 22], [22, 145], [88, 89], [89, 179], [179, 88],\n [6, 122], [122, 196], [196, 6], [88, 95], [95, 96], [96, 88],\n [138, 172], [172, 136], [136, 138], [215, 58], [58, 172], [172, 215],\n [115, 48], [48, 219], [219, 115], [42, 80], [80, 81], [81, 42],\n [195, 3], [3, 51], [51, 195], [43, 146], [146, 61], [61, 43],\n [171, 175], [175, 199], [199, 171], [81, 82], [82, 38], [38, 81],\n [53, 46], [46, 225], [225, 53], [144, 163], [163, 110], [110, 144],\n [52, 65], [65, 66], [66, 52], [229, 228], [228, 117], [117, 229],\n [34, 127], [127, 234], [234, 34], [107, 108], [108, 69], [69, 107],\n [109, 108], [108, 151], [151, 109], [48, 64], [64, 235], [235, 48],\n [62, 78], [78, 191], [191, 62], [129, 209], [209, 126], [126, 129],\n [111, 35], [35, 143], [143, 111], [117, 123], [123, 50], [50, 117],\n [222, 65], [65, 52], [52, 222], [19, 125], [125, 141], [141, 19],\n [221, 55], [55, 65], [65, 221], [3, 195], [195, 197], [197, 3],\n [25, 7], [7, 33], [33, 25], [220, 237], [237, 44], [44, 220],\n [70, 71], [71, 139], [139, 70], [122, 193], [193, 245], [245, 122],\n [247, 130], [130, 33], [33, 247], [71, 21], [21, 162], [162, 71],\n [170, 169], [169, 150], [150, 170], [188, 174], [174, 196], [196, 188],\n [216, 186], [186, 92], [92, 216], [2, 97], [97, 167], [167, 2],\n [141, 125], [125, 241], [241, 141], [164, 167], [167, 37], [37, 164],\n [72, 38], [38, 12], [12, 72], [38, 82], [82, 13], [13, 38],\n [63, 68], [68, 71], [71, 63], [226, 35], [35, 111], [111, 226],\n [101, 50], [50, 205], [205, 101], [206, 92], [92, 165], [165, 206],\n [209, 198], [198, 217], [217, 209], [165, 167], [167, 97], [97, 165],\n [220, 115], [115, 218], [218, 220], [133, 112], [112, 243], [243, 133],\n [239, 238], [238, 241], [241, 239], [214, 135], [135, 169], [169, 214],\n [190, 173], [173, 133], [133, 190], [171, 208], [208, 32], [32, 171],\n [125, 44], [44, 237], [237, 125], [86, 87], [87, 178], [178, 86],\n [85, 86], [86, 179], [179, 85], [84, 85], [85, 180], [180, 84],\n [83, 84], [84, 181], [181, 83], [201, 83], [83, 182], [182, 201],\n [137, 93], [93, 132], [132, 137], [76, 62], [62, 183], [183, 76],\n [61, 76], [76, 184], [184, 61], [57, 61], [61, 185], [185, 57],\n [212, 57], [57, 186], [186, 212], [214, 207], [207, 187], [187, 214],\n [34, 143], [143, 156], [156, 34], [79, 239], [239, 237], [237, 79],\n [123, 137], [137, 177], [177, 123], [44, 1], [1, 4], [4, 44],\n [201, 194], [194, 32], [32, 201], [64, 102], [102, 129], [129, 64],\n [213, 215], [215, 138], [138, 213], [59, 166], [166, 219], [219, 59],\n [242, 99], [99, 97], [97, 242], [2, 94], [94, 141], [141, 2],\n [75, 59], [59, 235], [235, 75], [24, 110], [110, 228], [228, 24],\n [25, 130], [130, 226], [226, 25], [23, 24], [24, 229], [229, 23],\n [22, 23], [23, 230], [230, 22], [26, 22], [22, 231], [231, 26],\n [112, 26], [26, 232], [232, 112], [189, 190], [190, 243], [243, 189],\n [221, 56], [56, 190], [190, 221], [28, 56], [56, 221], [221, 28],\n [27, 28], [28, 222], [222, 27], [29, 27], [27, 223], [223, 29],\n [30, 29], [29, 224], [224, 30], [247, 30], [30, 225], [225, 247],\n [238, 79], [79, 20], [20, 238], [166, 59], [59, 75], [75, 166],\n [60, 75], [75, 240], [240, 60], [147, 177], [177, 215], [215, 147],\n [20, 79], [79, 166], [166, 20], [187, 147], [147, 213], [213, 187],\n [112, 233], [233, 244], [244, 112], [233, 128], [128, 245], [245, 233],\n [128, 114], [114, 188], [188, 128], [114, 217], [217, 174], [174, 114],\n [131, 115], [115, 220], [220, 131], [217, 198], [198, 236], [236, 217],\n [198, 131], [131, 134], [134, 198], [177, 132], [132, 58], [58, 177],\n [143, 35], [35, 124], [124, 143], [110, 163], [163, 7], [7, 110],\n [228, 110], [110, 25], [25, 228], [356, 389], [389, 368], [368, 356],\n [11, 302], [302, 267], [267, 11], [452, 350], [350, 349], [349, 452],\n [302, 303], [303, 269], [269, 302], [357, 343], [343, 277], [277, 357],\n [452, 453], [453, 357], [357, 452], [333, 332], [332, 297], [297, 333],\n [175, 152], [152, 377], [377, 175], [347, 348], [348, 330], [330, 347],\n [303, 304], [304, 270], [270, 303], [9, 336], [336, 337], [337, 9],\n [278, 279], [279, 360], [360, 278], [418, 262], [262, 431], [431, 418],\n [304, 408], [408, 409], [409, 304], [310, 415], [415, 407], [407, 310],\n [270, 409], [409, 410], [410, 270], [450, 348], [348, 347], [347, 450],\n [422, 430], [430, 434], [434, 422], [313, 314], [314, 17], [17, 313],\n [306, 307], [307, 375], [375, 306], [387, 388], [388, 260], [260, 387],\n [286, 414], [414, 398], [398, 286], [335, 406], [406, 418], [418, 335],\n [364, 367], [367, 416], [416, 364], [423, 358], [358, 327], [327, 423],\n [251, 284], [284, 298], [298, 251], [281, 5], [5, 4], [4, 281],\n [373, 374], [374, 253], [253, 373], [307, 320], [320, 321], [321, 307],\n [425, 427], [427, 411], [411, 425], [421, 313], [313, 18], [18, 421],\n [321, 405], [405, 406], [406, 321], [320, 404], [404, 405], [405, 320],\n [315, 16], [16, 17], [17, 315], [426, 425], [425, 266], [266, 426],\n [377, 400], [400, 369], [369, 377], [322, 391], [391, 269], [269, 322],\n [417, 465], [465, 464], [464, 417], [386, 257], [257, 258], [258, 386],\n [466, 260], [260, 388], [388, 466], [456, 399], [399, 419], [419, 456],\n [284, 332], [332, 333], [333, 284], [417, 285], [285, 8], [8, 417],\n [346, 340], [340, 261], [261, 346], [413, 441], [441, 285], [285, 413],\n [327, 460], [460, 328], [328, 327], [355, 371], [371, 329], [329, 355],\n [392, 439], [439, 438], [438, 392], [382, 341], [341, 256], [256, 382],\n [429, 420], [420, 360], [360, 429], [364, 394], [394, 379], [379, 364],\n [277, 343], [343, 437], [437, 277], [443, 444], [444, 283], [283, 443],\n [275, 440], [440, 363], [363, 275], [431, 262], [262, 369], [369, 431],\n [297, 338], [338, 337], [337, 297], [273, 375], [375, 321], [321, 273],\n [450, 451], [451, 349], [349, 450], [446, 342], [342, 467], [467, 446],\n [293, 334], [334, 282], [282, 293], [458, 461], [461, 462], [462, 458],\n [276, 353], [353, 383], [383, 276], [308, 324], [324, 325], [325, 308],\n [276, 300], [300, 293], [293, 276], [372, 345], [345, 447], [447, 372],\n [352, 345], [345, 340], [340, 352], [274, 1], [1, 19], [19, 274],\n [456, 248], [248, 281], [281, 456], [436, 427], [427, 425], [425, 436],\n [381, 256], [256, 252], [252, 381], [269, 391], [391, 393], [393, 269],\n [200, 199], [199, 428], [428, 200], [266, 330], [330, 329], [329, 266],\n [287, 273], [273, 422], [422, 287], [250, 462], [462, 328], [328, 250],\n [258, 286], [286, 384], [384, 258], [265, 353], [353, 342], [342, 265],\n [387, 259], [259, 257], [257, 387], [424, 431], [431, 430], [430, 424],\n [342, 353], [353, 276], [276, 342], [273, 335], [335, 424], [424, 273],\n [292, 325], [325, 307], [307, 292], [366, 447], [447, 345], [345, 366],\n [271, 303], [303, 302], [302, 271], [423, 266], [266, 371], [371, 423],\n [294, 455], [455, 460], [460, 294], [279, 278], [278, 294], [294, 279],\n [271, 272], [272, 304], [304, 271], [432, 434], [434, 427], [427, 432],\n [272, 407], [407, 408], [408, 272], [394, 430], [430, 431], [431, 394],\n [395, 369], [369, 400], [400, 395], [334, 333], [333, 299], [299, 334],\n [351, 417], [417, 168], [168, 351], [352, 280], [280, 411], [411, 352],\n [325, 319], [319, 320], [320, 325], [295, 296], [296, 336], [336, 295],\n [319, 403], [403, 404], [404, 319], [330, 348], [348, 349], [349, 330],\n [293, 298], [298, 333], [333, 293], [323, 454], [454, 447], [447, 323],\n [15, 16], [16, 315], [315, 15], [358, 429], [429, 279], [279, 358],\n [14, 15], [15, 316], [316, 14], [285, 336], [336, 9], [9, 285],\n [329, 349], [349, 350], [350, 329], [374, 380], [380, 252], [252, 374],\n [318, 402], [402, 403], [403, 318], [6, 197], [197, 419], [419, 6],\n [318, 319], [319, 325], [325, 318], [367, 364], [364, 365], [365, 367],\n [435, 367], [367, 397], [397, 435], [344, 438], [438, 439], [439, 344],\n [272, 271], [271, 311], [311, 272], [195, 5], [5, 281], [281, 195],\n [273, 287], [287, 291], [291, 273], [396, 428], [428, 199], [199, 396],\n [311, 271], [271, 268], [268, 311], [283, 444], [444, 445], [445, 283],\n [373, 254], [254, 339], [339, 373], [282, 334], [334, 296], [296, 282],\n [449, 347], [347, 346], [346, 449], [264, 447], [447, 454], [454, 264],\n [336, 296], [296, 299], [299, 336], [338, 10], [10, 151], [151, 338],\n [278, 439], [439, 455], [455, 278], [292, 407], [407, 415], [415, 292],\n [358, 371], [371, 355], [355, 358], [340, 345], [345, 372], [372, 340],\n [346, 347], [347, 280], [280, 346], [442, 443], [443, 282], [282, 442],\n [19, 94], [94, 370], [370, 19], [441, 442], [442, 295], [295, 441],\n [248, 419], [419, 197], [197, 248], [263, 255], [255, 359], [359, 263],\n [440, 275], [275, 274], [274, 440], [300, 383], [383, 368], [368, 300],\n [351, 412], [412, 465], [465, 351], [263, 467], [467, 466], [466, 263],\n [301, 368], [368, 389], [389, 301], [395, 378], [378, 379], [379, 395],\n [412, 351], [351, 419], [419, 412], [436, 426], [426, 322], [322, 436],\n [2, 164], [164, 393], [393, 2], [370, 462], [462, 461], [461, 370],\n [164, 0], [0, 267], [267, 164], [302, 11], [11, 12], [12, 302],\n [268, 12], [12, 13], [13, 268], [293, 300], [300, 301], [301, 293],\n [446, 261], [261, 340], [340, 446], [330, 266], [266, 425], [425, 330],\n [426, 423], [423, 391], [391, 426], [429, 355], [355, 437], [437, 429],\n [391, 327], [327, 326], [326, 391], [440, 457], [457, 438], [438, 440],\n [341, 382], [382, 362], [362, 341], [459, 457], [457, 461], [461, 459],\n [434, 430], [430, 394], [394, 434], [414, 463], [463, 362], [362, 414],\n [396, 369], [369, 262], [262, 396], [354, 461], [461, 457], [457, 354],\n [316, 403], [403, 402], [402, 316], [315, 404], [404, 403], [403, 315],\n [314, 405], [405, 404], [404, 314], [313, 406], [406, 405], [405, 313],\n [421, 418], [418, 406], [406, 421], [366, 401], [401, 361], [361, 366],\n [306, 408], [408, 407], [407, 306], [291, 409], [409, 408], [408, 291],\n [287, 410], [410, 409], [409, 287], [432, 436], [436, 410], [410, 432],\n [434, 416], [416, 411], [411, 434], [264, 368], [368, 383], [383, 264],\n [309, 438], [438, 457], [457, 309], [352, 376], [376, 401], [401, 352],\n [274, 275], [275, 4], [4, 274], [421, 428], [428, 262], [262, 421],\n [294, 327], [327, 358], [358, 294], [433, 416], [416, 367], [367, 433],\n [289, 455], [455, 439], [439, 289], [462, 370], [370, 326], [326, 462],\n [2, 326], [326, 370], [370, 2], [305, 460], [460, 455], [455, 305],\n [254, 449], [449, 448], [448, 254], [255, 261], [261, 446], [446, 255],\n [253, 450], [450, 449], [449, 253], [252, 451], [451, 450], [450, 252],\n [256, 452], [452, 451], [451, 256], [341, 453], [453, 452], [452, 341],\n [413, 464], [464, 463], [463, 413], [441, 413], [413, 414], [414, 441],\n [258, 442], [442, 441], [441, 258], [257, 443], [443, 442], [442, 257],\n [259, 444], [444, 443], [443, 259], [260, 445], [445, 444], [444, 260],\n [467, 342], [342, 445], [445, 467], [459, 458], [458, 250], [250, 459],\n [289, 392], [392, 290], [290, 289], [290, 328], [328, 460], [460, 290],\n [376, 433], [433, 435], [435, 376], [250, 290], [290, 392], [392, 250],\n [411, 416], [416, 433], [433, 411], [341, 463], [463, 464], [464, 341],\n [453, 464], [464, 465], [465, 453], [357, 465], [465, 412], [412, 357],\n [343, 412], [412, 399], [399, 343], [360, 363], [363, 440], [440, 360],\n [437, 399], [399, 456], [456, 437], [420, 456], [456, 363], [363, 420],\n [401, 435], [435, 288], [288, 401], [372, 383], [383, 353], [353, 372],\n [339, 255], [255, 249], [249, 339], [448, 261], [261, 255], [255, 448],\n [133, 243], [243, 190], [190, 133], [133, 155], [155, 112], [112, 133],\n [33, 246], [246, 247], [247, 33], [33, 130], [130, 25], [25, 33],\n [398, 384], [384, 286], [286, 398], [362, 398], [398, 414], [414, 362],\n [362, 463], [463, 341], [341, 362], [263, 359], [359, 467], [467, 263],\n [263, 249], [249, 255], [255, 263], [466, 467], [467, 260], [260, 466],\n [75, 60], [60, 166], [166, 75], [238, 239], [239, 79], [79, 238],\n [162, 127], [127, 139], [139, 162], [72, 11], [11, 37], [37, 72],\n [121, 232], [232, 120], [120, 121], [73, 72], [72, 39], [39, 73],\n [114, 128], [128, 47], [47, 114], [233, 232], [232, 128], [128, 233],\n [103, 104], [104, 67], [67, 103], [152, 175], [175, 148], [148, 152],\n [119, 118], [118, 101], [101, 119], [74, 73], [73, 40], [40, 74],\n [107, 9], [9, 108], [108, 107], [49, 48], [48, 131], [131, 49],\n [32, 194], [194, 211], [211, 32], [184, 74], [74, 185], [185, 184],\n [191, 80], [80, 183], [183, 191], [185, 40], [40, 186], [186, 185],\n [119, 230], [230, 118], [118, 119], [210, 202], [202, 214], [214, 210],\n [84, 83], [83, 17], [17, 84], [77, 76], [76, 146], [146, 77],\n [161, 160], [160, 30], [30, 161], [190, 56], [56, 173], [173, 190],\n [182, 106], [106, 194], [194, 182], [138, 135], [135, 192], [192, 138],\n [129, 203], [203, 98], [98, 129], [54, 21], [21, 68], [68, 54],\n [5, 51], [51, 4], [4, 5], [145, 144], [144, 23], [23, 145],\n [90, 77], [77, 91], [91, 90], [207, 205], [205, 187], [187, 207],\n [83, 201], [201, 18], [18, 83], [181, 91], [91, 182], [182, 181],\n [180, 90], [90, 181], [181, 180], [16, 85], [85, 17], [17, 16],\n [205, 206], [206, 36], [36, 205], [176, 148], [148, 140], [140, 176],\n [165, 92], [92, 39], [39, 165], [245, 193], [193, 244], [244, 245],\n [27, 159], [159, 28], [28, 27], [30, 247], [247, 161], [161, 30],\n [174, 236], [236, 196], [196, 174], [103, 54], [54, 104], [104, 103],\n [55, 193], [193, 8], [8, 55], [111, 117], [117, 31], [31, 111],\n [221, 189], [189, 55], [55, 221], [240, 98], [98, 99], [99, 240],\n [142, 126], [126, 100], [100, 142], [219, 166], [166, 218], [218, 219],\n [112, 155], [155, 26], [26, 112], [198, 209], [209, 131], [131, 198],\n [169, 135], [135, 150], [150, 169], [114, 47], [47, 217], [217, 114],\n [224, 223], [223, 53], [53, 224], [220, 45], [45, 134], [134, 220],\n [32, 211], [211, 140], [140, 32], [109, 67], [67, 108], [108, 109],\n [146, 43], [43, 91], [91, 146], [231, 230], [230, 120], [120, 231],\n [113, 226], [226, 247], [247, 113], [105, 63], [63, 52], [52, 105],\n [241, 238], [238, 242], [242, 241], [124, 46], [46, 156], [156, 124],\n [95, 78], [78, 96], [96, 95], [70, 46], [46, 63], [63, 70],\n [116, 143], [143, 227], [227, 116], [116, 123], [123, 111], [111, 116],\n [1, 44], [44, 19], [19, 1], [3, 236], [236, 51], [51, 3],\n [207, 216], [216, 205], [205, 207], [26, 154], [154, 22], [22, 26],\n [165, 39], [39, 167], [167, 165], [199, 200], [200, 208], [208, 199],\n [101, 36], [36, 100], [100, 101], [43, 57], [57, 202], [202, 43],\n [242, 20], [20, 99], [99, 242], [56, 28], [28, 157], [157, 56],\n [124, 35], [35, 113], [113, 124], [29, 160], [160, 27], [27, 29],\n [211, 204], [204, 210], [210, 211], [124, 113], [113, 46], [46, 124],\n [106, 43], [43, 204], [204, 106], [96, 62], [62, 77], [77, 96],\n [227, 137], [137, 116], [116, 227], [73, 41], [41, 72], [72, 73],\n [36, 203], [203, 142], [142, 36], [235, 64], [64, 240], [240, 235],\n [48, 49], [49, 64], [64, 48], [42, 41], [41, 74], [74, 42],\n [214, 212], [212, 207], [207, 214], [183, 42], [42, 184], [184, 183],\n [210, 169], [169, 211], [211, 210], [140, 170], [170, 176], [176, 140],\n [104, 105], [105, 69], [69, 104], [193, 122], [122, 168], [168, 193],\n [50, 123], [123, 187], [187, 50], [89, 96], [96, 90], [90, 89],\n [66, 65], [65, 107], [107, 66], [179, 89], [89, 180], [180, 179],\n [119, 101], [101, 120], [120, 119], [68, 63], [63, 104], [104, 68],\n [234, 93], [93, 227], [227, 234], [16, 15], [15, 85], [85, 16],\n [209, 129], [129, 49], [49, 209], [15, 14], [14, 86], [86, 15],\n [107, 55], [55, 9], [9, 107], [120, 100], [100, 121], [121, 120],\n [153, 145], [145, 22], [22, 153], [178, 88], [88, 179], [179, 178],\n [197, 6], [6, 196], [196, 197], [89, 88], [88, 96], [96, 89],\n [135, 138], [138, 136], [136, 135], [138, 215], [215, 172], [172, 138],\n [218, 115], [115, 219], [219, 218], [41, 42], [42, 81], [81, 41],\n [5, 195], [195, 51], [51, 5], [57, 43], [43, 61], [61, 57],\n [208, 171], [171, 199], [199, 208], [41, 81], [81, 38], [38, 41],\n [224, 53], [53, 225], [225, 224], [24, 144], [144, 110], [110, 24],\n [105, 52], [52, 66], [66, 105], [118, 229], [229, 117], [117, 118],\n [227, 34], [34, 234], [234, 227], [66, 107], [107, 69], [69, 66],\n [10, 109], [109, 151], [151, 10], [219, 48], [48, 235], [235, 219],\n [183, 62], [62, 191], [191, 183], [142, 129], [129, 126], [126, 142],\n [116, 111], [111, 143], [143, 116], [118, 117], [117, 50], [50, 118],\n [223, 222], [222, 52], [52, 223], [94, 19], [19, 141], [141, 94],\n [222, 221], [221, 65], [65, 222], [196, 3], [3, 197], [197, 196],\n [45, 220], [220, 44], [44, 45], [156, 70], [70, 139], [139, 156],\n [188, 122], [122, 245], [245, 188], [139, 71], [71, 162], [162, 139],\n [149, 170], [170, 150], [150, 149], [122, 188], [188, 196], [196, 122],\n [206, 216], [216, 92], [92, 206], [164, 2], [2, 167], [167, 164],\n [242, 141], [141, 241], [241, 242], [0, 164], [164, 37], [37, 0],\n [11, 72], [72, 12], [12, 11], [12, 38], [38, 13], [13, 12],\n [70, 63], [63, 71], [71, 70], [31, 226], [226, 111], [111, 31],\n [36, 101], [101, 205], [205, 36], [203, 206], [206, 165], [165, 203],\n [126, 209], [209, 217], [217, 126], [98, 165], [165, 97], [97, 98],\n [237, 220], [220, 218], [218, 237], [237, 239], [239, 241], [241, 237],\n [210, 214], [214, 169], [169, 210], [140, 171], [171, 32], [32, 140],\n [241, 125], [125, 237], [237, 241], [179, 86], [86, 178], [178, 179],\n [180, 85], [85, 179], [179, 180], [181, 84], [84, 180], [180, 181],\n [182, 83], [83, 181], [181, 182], [194, 201], [201, 182], [182, 194],\n [177, 137], [137, 132], [132, 177], [184, 76], [76, 183], [183, 184],\n [185, 61], [61, 184], [184, 185], [186, 57], [57, 185], [185, 186],\n [216, 212], [212, 186], [186, 216], [192, 214], [214, 187], [187, 192],\n [139, 34], [34, 156], [156, 139], [218, 79], [79, 237], [237, 218],\n [147, 123], [123, 177], [177, 147], [45, 44], [44, 4], [4, 45],\n [208, 201], [201, 32], [32, 208], [98, 64], [64, 129], [129, 98],\n [192, 213], [213, 138], [138, 192], [235, 59], [59, 219], [219, 235],\n [141, 242], [242, 97], [97, 141], [97, 2], [2, 141], [141, 97],\n [240, 75], [75, 235], [235, 240], [229, 24], [24, 228], [228, 229],\n [31, 25], [25, 226], [226, 31], [230, 23], [23, 229], [229, 230],\n [231, 22], [22, 230], [230, 231], [232, 26], [26, 231], [231, 232],\n [233, 112], [112, 232], [232, 233], [244, 189], [189, 243], [243, 244],\n [189, 221], [221, 190], [190, 189], [222, 28], [28, 221], [221, 222],\n [223, 27], [27, 222], [222, 223], [224, 29], [29, 223], [223, 224],\n [225, 30], [30, 224], [224, 225], [113, 247], [247, 225], [225, 113],\n [99, 60], [60, 240], [240, 99], [213, 147], [147, 215], [215, 213],\n [60, 20], [20, 166], [166, 60], [192, 187], [187, 213], [213, 192],\n [243, 112], [112, 244], [244, 243], [244, 233], [233, 245], [245, 244],\n [245, 128], [128, 188], [188, 245], [188, 114], [114, 174], [174, 188],\n [134, 131], [131, 220], [220, 134], [174, 217], [217, 236], [236, 174],\n [236, 198], [198, 134], [134, 236], [215, 177], [177, 58], [58, 215],\n [156, 143], [143, 124], [124, 156], [25, 110], [110, 7], [7, 25],\n [31, 228], [228, 25], [25, 31], [264, 356], [356, 368], [368, 264],\n [0, 11], [11, 267], [267, 0], [451, 452], [452, 349], [349, 451],\n [267, 302], [302, 269], [269, 267], [350, 357], [357, 277], [277, 350],\n [350, 452], [452, 357], [357, 350], [299, 333], [333, 297], [297, 299],\n [396, 175], [175, 377], [377, 396], [280, 347], [347, 330], [330, 280],\n [269, 303], [303, 270], [270, 269], [151, 9], [9, 337], [337, 151],\n [344, 278], [278, 360], [360, 344], [424, 418], [418, 431], [431, 424],\n [270, 304], [304, 409], [409, 270], [272, 310], [310, 407], [407, 272],\n [322, 270], [270, 410], [410, 322], [449, 450], [450, 347], [347, 449],\n [432, 422], [422, 434], [434, 432], [18, 313], [313, 17], [17, 18],\n [291, 306], [306, 375], [375, 291], [259, 387], [387, 260], [260, 259],\n [424, 335], [335, 418], [418, 424], [434, 364], [364, 416], [416, 434],\n [391, 423], [423, 327], [327, 391], [301, 251], [251, 298], [298, 301],\n [275, 281], [281, 4], [4, 275], [254, 373], [373, 253], [253, 254],\n [375, 307], [307, 321], [321, 375], [280, 425], [425, 411], [411, 280],\n [200, 421], [421, 18], [18, 200], [335, 321], [321, 406], [406, 335],\n [321, 320], [320, 405], [405, 321], [314, 315], [315, 17], [17, 314],\n [423, 426], [426, 266], [266, 423], [396, 377], [377, 369], [369, 396],\n [270, 322], [322, 269], [269, 270], [413, 417], [417, 464], [464, 413],\n [385, 386], [386, 258], [258, 385], [248, 456], [456, 419], [419, 248],\n [298, 284], [284, 333], [333, 298], [168, 417], [417, 8], [8, 168],\n [448, 346], [346, 261], [261, 448], [417, 413], [413, 285], [285, 417],\n [326, 327], [327, 328], [328, 326], [277, 355], [355, 329], [329, 277],\n [309, 392], [392, 438], [438, 309], [381, 382], [382, 256], [256, 381],\n [279, 429], [429, 360], [360, 279], [365, 364], [364, 379], [379, 365],\n [355, 277], [277, 437], [437, 355], [282, 443], [443, 283], [283, 282],\n [281, 275], [275, 363], [363, 281], [395, 431], [431, 369], [369, 395],\n [299, 297], [297, 337], [337, 299], [335, 273], [273, 321], [321, 335],\n [348, 450], [450, 349], [349, 348], [359, 446], [446, 467], [467, 359],\n [283, 293], [293, 282], [282, 283], [250, 458], [458, 462], [462, 250],\n [300, 276], [276, 383], [383, 300], [292, 308], [308, 325], [325, 292],\n [283, 276], [276, 293], [293, 283], [264, 372], [372, 447], [447, 264],\n [346, 352], [352, 340], [340, 346], [354, 274], [274, 19], [19, 354],\n [363, 456], [456, 281], [281, 363], [426, 436], [436, 425], [425, 426],\n [380, 381], [381, 252], [252, 380], [267, 269], [269, 393], [393, 267],\n [421, 200], [200, 428], [428, 421], [371, 266], [266, 329], [329, 371],\n [432, 287], [287, 422], [422, 432], [290, 250], [250, 328], [328, 290],\n [385, 258], [258, 384], [384, 385], [446, 265], [265, 342], [342, 446],\n [386, 387], [387, 257], [257, 386], [422, 424], [424, 430], [430, 422],\n [445, 342], [342, 276], [276, 445], [422, 273], [273, 424], [424, 422],\n [306, 292], [292, 307], [307, 306], [352, 366], [366, 345], [345, 352],\n [268, 271], [271, 302], [302, 268], [358, 423], [423, 371], [371, 358],\n [327, 294], [294, 460], [460, 327], [331, 279], [279, 294], [294, 331],\n [303, 271], [271, 304], [304, 303], [436, 432], [432, 427], [427, 436],\n [304, 272], [272, 408], [408, 304], [395, 394], [394, 431], [431, 395],\n [378, 395], [395, 400], [400, 378], [296, 334], [334, 299], [299, 296],\n [6, 351], [351, 168], [168, 6], [376, 352], [352, 411], [411, 376],\n [307, 325], [325, 320], [320, 307], [285, 295], [295, 336], [336, 285],\n [320, 319], [319, 404], [404, 320], [329, 330], [330, 349], [349, 329],\n [334, 293], [293, 333], [333, 334], [366, 323], [323, 447], [447, 366],\n [316, 15], [15, 315], [315, 316], [331, 358], [358, 279], [279, 331],\n [317, 14], [14, 316], [316, 317], [8, 285], [285, 9], [9, 8],\n [277, 329], [329, 350], [350, 277], [253, 374], [374, 252], [252, 253],\n [319, 318], [318, 403], [403, 319], [351, 6], [6, 419], [419, 351],\n [324, 318], [318, 325], [325, 324], [397, 367], [367, 365], [365, 397],\n [288, 435], [435, 397], [397, 288], [278, 344], [344, 439], [439, 278],\n [310, 272], [272, 311], [311, 310], [248, 195], [195, 281], [281, 248],\n [375, 273], [273, 291], [291, 375], [175, 396], [396, 199], [199, 175],\n [312, 311], [311, 268], [268, 312], [276, 283], [283, 445], [445, 276],\n [390, 373], [373, 339], [339, 390], [295, 282], [282, 296], [296, 295],\n [448, 449], [449, 346], [346, 448], [356, 264], [264, 454], [454, 356],\n [337, 336], [336, 299], [299, 337], [337, 338], [338, 151], [151, 337],\n [294, 278], [278, 455], [455, 294], [308, 292], [292, 415], [415, 308],\n [429, 358], [358, 355], [355, 429], [265, 340], [340, 372], [372, 265],\n [352, 346], [346, 280], [280, 352], [295, 442], [442, 282], [282, 295],\n [354, 19], [19, 370], [370, 354], [285, 441], [441, 295], [295, 285],\n [195, 248], [248, 197], [197, 195], [457, 440], [440, 274], [274, 457],\n [301, 300], [300, 368], [368, 301], [417, 351], [351, 465], [465, 417],\n [251, 301], [301, 389], [389, 251], [394, 395], [395, 379], [379, 394],\n [399, 412], [412, 419], [419, 399], [410, 436], [436, 322], [322, 410],\n [326, 2], [2, 393], [393, 326], [354, 370], [370, 461], [461, 354],\n [393, 164], [164, 267], [267, 393], [268, 302], [302, 12], [12, 268],\n [312, 268], [268, 13], [13, 312], [298, 293], [293, 301], [301, 298],\n [265, 446], [446, 340], [340, 265], [280, 330], [330, 425], [425, 280],\n [322, 426], [426, 391], [391, 322], [420, 429], [429, 437], [437, 420],\n [393, 391], [391, 326], [326, 393], [344, 440], [440, 438], [438, 344],\n [458, 459], [459, 461], [461, 458], [364, 434], [434, 394], [394, 364],\n [428, 396], [396, 262], [262, 428], [274, 354], [354, 457], [457, 274],\n [317, 316], [316, 402], [402, 317], [316, 315], [315, 403], [403, 316],\n [315, 314], [314, 404], [404, 315], [314, 313], [313, 405], [405, 314],\n [313, 421], [421, 406], [406, 313], [323, 366], [366, 361], [361, 323],\n [292, 306], [306, 407], [407, 292], [306, 291], [291, 408], [408, 306],\n [291, 287], [287, 409], [409, 291], [287, 432], [432, 410], [410, 287],\n [427, 434], [434, 411], [411, 427], [372, 264], [264, 383], [383, 372],\n [459, 309], [309, 457], [457, 459], [366, 352], [352, 401], [401, 366],\n [1, 274], [274, 4], [4, 1], [418, 421], [421, 262], [262, 418],\n [331, 294], [294, 358], [358, 331], [435, 433], [433, 367], [367, 435],\n [392, 289], [289, 439], [439, 392], [328, 462], [462, 326], [326, 328],\n [94, 2], [2, 370], [370, 94], [289, 305], [305, 455], [455, 289],\n [339, 254], [254, 448], [448, 339], [359, 255], [255, 446], [446, 359],\n [254, 253], [253, 449], [449, 254], [253, 252], [252, 450], [450, 253],\n [252, 256], [256, 451], [451, 252], [256, 341], [341, 452], [452, 256],\n [414, 413], [413, 463], [463, 414], [286, 441], [441, 414], [414, 286],\n [286, 258], [258, 441], [441, 286], [258, 257], [257, 442], [442, 258],\n [257, 259], [259, 443], [443, 257], [259, 260], [260, 444], [444, 259],\n [260, 467], [467, 445], [445, 260], [309, 459], [459, 250], [250, 309],\n [305, 289], [289, 290], [290, 305], [305, 290], [290, 460], [460, 305],\n [401, 376], [376, 435], [435, 401], [309, 250], [250, 392], [392, 309],\n [376, 411], [411, 433], [433, 376], [453, 341], [341, 464], [464, 453],\n [357, 453], [453, 465], [465, 357], [343, 357], [357, 412], [412, 343],\n [437, 343], [343, 399], [399, 437], [344, 360], [360, 440], [440, 344],\n [420, 437], [437, 456], [456, 420], [360, 420], [420, 363], [363, 360],\n [361, 401], [401, 288], [288, 361], [265, 372], [372, 353], [353, 265],\n [390, 339], [339, 249], [249, 390], [339, 448], [448, 255], [255, 339],\n];\n", "// @tensorflow/tfjs-models/face-landmark-detection/src/constants.ts\n// https://github.com/google/mediapipe/mediapipe/python/solutions/face_mesh_connections.py\n\ntype PairArray = [number, number][];\n\nconst LIPS_CONNECTIONS: PairArray = [\n [61, 146], [146, 91], [91, 181], [181, 84], [84, 17], [17, 314], [314, 405], [405, 321], [321, 375], [375, 291], [61, 185], [185, 40], [40, 39], [39, 37], [37, 0], [0, 267], [267, 269], [269, 270], [270, 409], [409, 291],\n [78, 95], [95, 88], [88, 178], [178, 87], [87, 14], [14, 317], [317, 402], [402, 318], [318, 324], [324, 308], [78, 191], [191, 80], [80, 81], [81, 82], [82, 13], [13, 312], [312, 311], [311, 310], [310, 415], [415, 308],\n];\n\nconst LEFT_EYE_CONNECTIONS: PairArray = [[263, 249], [249, 390], [390, 373], [373, 374], [374, 380], [380, 381], [381, 382], [382, 362], [263, 466], [466, 388], [388, 387], [387, 386], [386, 385], [385, 384], [384, 398], [398, 362]];\n\nconst LEFT_EYEBROW_CONNECTIONS: PairArray = [[276, 283], [283, 282], [282, 295], [295, 285], [300, 293], [293, 334], [334, 296], [296, 336]];\n\nconst LEFT_IRIS_CONNECTIONS: PairArray = [[474, 475], [475, 476], [476, 477], [477, 474]];\n\nconst RIGHT_EYE_CONNECTIONS: PairArray = [[33, 7], [7, 163], [163, 144], [144, 145], [145, 153], [153, 154], [154, 155], [155, 133], [33, 246], [246, 161], [161, 160], [160, 159], [159, 158], [158, 157], [157, 173], [173, 133]];\n\nconst RIGHT_EYEBROW_CONNECTIONS: PairArray = [[46, 53], [53, 52], [52, 65], [65, 55], [70, 63], [63, 105], [105, 66], [66, 107]];\n\nconst RIGHT_IRIS_CONNECTIONS: PairArray = [[469, 470], [470, 471], [471, 472], [472, 469]];\n\nconst FACE_OVAL_CONNECTIONS: PairArray = [\n [10, 338], [338, 297], [297, 332], [332, 284], [284, 251], [251, 389], [389, 356], [356, 454], [454, 323], [323, 361], [361, 288], [288, 397], [397, 365], [365, 379], [379, 378], [378, 400], [400, 377], [377, 152],\n [152, 148], [148, 176], [176, 149], [149, 150], [150, 136], [136, 172], [172, 58], [58, 132], [132, 93], [93, 234], [234, 127], [127, 162], [162, 21], [21, 54], [54, 103], [103, 67], [67, 109], [109, 10],\n];\n\nexport const MEDIAPIPE_FACE_MESH_CONNECTED_KEYPOINTS_PAIRS: PairArray = [\n [127, 34], [34, 139], [139, 127], [11, 0], [0, 37], [37, 11], [232, 231], [231, 120], [120, 232], [72, 37], [37, 39], [39, 72], [128, 121], [121, 47], [47, 128], [232, 121], [121, 128], [128, 232],\n [104, 69], [69, 67], [67, 104], [175, 171], [171, 148], [148, 175], [118, 50], [50, 101], [101, 118], [73, 39], [39, 40], [40, 73], [9, 151], [151, 108], [108, 9], [48, 115], [115, 131], [131, 48],\n [194, 204], [204, 211], [211, 194], [74, 40], [40, 185], [185, 74], [80, 42], [42, 183], [183, 80], [40, 92], [92, 186], [186, 40], [230, 229], [229, 118], [118, 230], [202, 212], [212, 214], [214, 202],\n [83, 18], [18, 17], [17, 83], [76, 61], [61, 146], [146, 76], [160, 29], [29, 30], [30, 160], [56, 157], [157, 173], [173, 56], [106, 204], [204, 194], [194, 106], [135, 214], [214, 192], [192, 135],\n [203, 165], [165, 98], [98, 203], [21, 71], [71, 68], [68, 21], [51, 45], [45, 4], [4, 51], [144, 24], [24, 23], [23, 144], [77, 146], [146, 91], [91, 77], [205, 50], [50, 187], [187, 205],\n [201, 200], [200, 18], [18, 201], [91, 106], [106, 182], [182, 91], [90, 91], [91, 181], [181, 90], [85, 84], [84, 17], [17, 85], [206, 203], [203, 36], [36, 206], [148, 171], [171, 140], [140, 148],\n [92, 40], [40, 39], [39, 92], [193, 189], [189, 244], [244, 193], [159, 158], [158, 28], [28, 159], [247, 246], [246, 161], [161, 247], [236, 3], [3, 196], [196, 236], [54, 68], [68, 104], [104, 54],\n [193, 168], [168, 8], [8, 193], [117, 228], [228, 31], [31, 117], [189, 193], [193, 55], [55, 189], [98, 97], [97, 99], [99, 98], [126, 47], [47, 100], [100, 126], [166, 79], [79, 218], [218, 166],\n [155, 154], [154, 26], [26, 155], [209, 49], [49, 131], [131, 209], [135, 136], [136, 150], [150, 135], [47, 126], [126, 217], [217, 47], [223, 52], [52, 53], [53, 223], [45, 51], [51, 134], [134, 45],\n [211, 170], [170, 140], [140, 211], [67, 69], [69, 108], [108, 67], [43, 106], [106, 91], [91, 43], [230, 119], [119, 120], [120, 230], [226, 130], [130, 247], [247, 226], [63, 53], [53, 52], [52, 63],\n [238, 20], [20, 242], [242, 238], [46, 70], [70, 156], [156, 46], [78, 62], [62, 96], [96, 78], [46, 53], [53, 63], [63, 46], [143, 34], [34, 227], [227, 143], [123, 117], [117, 111], [111, 123],\n [44, 125], [125, 19], [19, 44], [236, 134], [134, 51], [51, 236], [216, 206], [206, 205], [205, 216], [154, 153], [153, 22], [22, 154], [39, 37], [37, 167], [167, 39], [200, 201], [201, 208], [208, 200],\n [36, 142], [142, 100], [100, 36], [57, 212], [212, 202], [202, 57], [20, 60], [60, 99], [99, 20], [28, 158], [158, 157], [157, 28], [35, 226], [226, 113], [113, 35], [160, 159], [159, 27], [27, 160],\n [204, 202], [202, 210], [210, 204], [113, 225], [225, 46], [46, 113], [43, 202], [202, 204], [204, 43], [62, 76], [76, 77], [77, 62], [137, 123], [123, 116], [116, 137], [41, 38], [38, 72], [72, 41],\n [203, 129], [129, 142], [142, 203], [64, 98], [98, 240], [240, 64], [49, 102], [102, 64], [64, 49], [41, 73], [73, 74], [74, 41], [212, 216], [216, 207], [207, 212], [42, 74], [74, 184], [184, 42],\n [169, 170], [170, 211], [211, 169], [170, 149], [149, 176], [176, 170], [105, 66], [66, 69], [69, 105], [122, 6], [6, 168], [168, 122], [123, 147], [147, 187], [187, 123], [96, 77], [77, 90], [90, 96],\n [65, 55], [55, 107], [107, 65], [89, 90], [90, 180], [180, 89], [101, 100], [100, 120], [120, 101], [63, 105], [105, 104], [104, 63], [93, 137], [137, 227], [227, 93], [15, 86], [86, 85], [85, 15],\n [129, 102], [102, 49], [49, 129], [14, 87], [87, 86], [86, 14], [55, 8], [8, 9], [9, 55], [100, 47], [47, 121], [121, 100], [145, 23], [23, 22], [22, 145], [88, 89], [89, 179], [179, 88],\n [6, 122], [122, 196], [196, 6], [88, 95], [95, 96], [96, 88], [138, 172], [172, 136], [136, 138], [215, 58], [58, 172], [172, 215], [115, 48], [48, 219], [219, 115], [42, 80], [80, 81], [81, 42],\n [195, 3], [3, 51], [51, 195], [43, 146], [146, 61], [61, 43], [171, 175], [175, 199], [199, 171], [81, 82], [82, 38], [38, 81], [53, 46], [46, 225], [225, 53], [144, 163], [163, 110], [110, 144],\n [52, 65], [65, 66], [66, 52], [229, 228], [228, 117], [117, 229], [34, 127], [127, 234], [234, 34], [107, 108], [108, 69], [69, 107], [109, 108], [108, 151], [151, 109], [48, 64], [64, 235], [235, 48],\n [62, 78], [78, 191], [191, 62], [129, 209], [209, 126], [126, 129], [111, 35], [35, 143], [143, 111], [117, 123], [123, 50], [50, 117], [222, 65], [65, 52], [52, 222], [19, 125], [125, 141], [141, 19],\n [221, 55], [55, 65], [65, 221], [3, 195], [195, 197], [197, 3], [25, 7], [7, 33], [33, 25], [220, 237], [237, 44], [44, 220], [70, 71], [71, 139], [139, 70], [122, 193], [193, 245], [245, 122],\n [247, 130], [130, 33], [33, 247], [71, 21], [21, 162], [162, 71], [170, 169], [169, 150], [150, 170], [188, 174], [174, 196], [196, 188], [216, 186], [186, 92], [92, 216], [2, 97], [97, 167], [167, 2],\n [141, 125], [125, 241], [241, 141], [164, 167], [167, 37], [37, 164], [72, 38], [38, 12], [12, 72], [38, 82], [82, 13], [13, 38], [63, 68], [68, 71], [71, 63], [226, 35], [35, 111], [111, 226],\n [101, 50], [50, 205], [205, 101], [206, 92], [92, 165], [165, 206], [209, 198], [198, 217], [217, 209], [165, 167], [167, 97], [97, 165], [220, 115], [115, 218], [218, 220], [133, 112], [112, 243], [243, 133],\n [239, 238], [238, 241], [241, 239], [214, 135], [135, 169], [169, 214], [190, 173], [173, 133], [133, 190], [171, 208], [208, 32], [32, 171], [125, 44], [44, 237], [237, 125], [86, 87], [87, 178], [178, 86],\n [85, 86], [86, 179], [179, 85], [84, 85], [85, 180], [180, 84], [83, 84], [84, 181], [181, 83], [201, 83], [83, 182], [182, 201], [137, 93], [93, 132], [132, 137], [76, 62], [62, 183], [183, 76],\n [61, 76], [76, 184], [184, 61], [57, 61], [61, 185], [185, 57], [212, 57], [57, 186], [186, 212], [214, 207], [207, 187], [187, 214], [34, 143], [143, 156], [156, 34], [79, 239], [239, 237], [237, 79],\n [123, 137], [137, 177], [177, 123], [44, 1], [1, 4], [4, 44], [201, 194], [194, 32], [32, 201], [64, 102], [102, 129], [129, 64], [213, 215], [215, 138], [138, 213], [59, 166], [166, 219], [219, 59],\n [242, 99], [99, 97], [97, 242], [2, 94], [94, 141], [141, 2], [75, 59], [59, 235], [235, 75], [24, 110], [110, 228], [228, 24], [25, 130], [130, 226], [226, 25], [23, 24], [24, 229], [229, 23],\n [22, 23], [23, 230], [230, 22], [26, 22], [22, 231], [231, 26], [112, 26], [26, 232], [232, 112], [189, 190], [190, 243], [243, 189], [221, 56], [56, 190], [190, 221], [28, 56], [56, 221], [221, 28],\n [27, 28], [28, 222], [222, 27], [29, 27], [27, 223], [223, 29], [30, 29], [29, 224], [224, 30], [247, 30], [30, 225], [225, 247], [238, 79], [79, 20], [20, 238], [166, 59], [59, 75], [75, 166],\n [60, 75], [75, 240], [240, 60], [147, 177], [177, 215], [215, 147], [20, 79], [79, 166], [166, 20], [187, 147], [147, 213], [213, 187], [112, 233], [233, 244], [244, 112], [233, 128], [128, 245], [245, 233],\n [128, 114], [114, 188], [188, 128], [114, 217], [217, 174], [174, 114], [131, 115], [115, 220], [220, 131], [217, 198], [198, 236], [236, 217], [198, 131], [131, 134], [134, 198], [177, 132], [132, 58], [58, 177],\n [143, 35], [35, 124], [124, 143], [110, 163], [163, 7], [7, 110], [228, 110], [110, 25], [25, 228], [356, 389], [389, 368], [368, 356], [11, 302], [302, 267], [267, 11], [452, 350], [350, 349], [349, 452],\n [302, 303], [303, 269], [269, 302], [357, 343], [343, 277], [277, 357], [452, 453], [453, 357], [357, 452], [333, 332], [332, 297], [297, 333], [175, 152], [152, 377], [377, 175], [347, 348], [348, 330], [330, 347],\n [303, 304], [304, 270], [270, 303], [9, 336], [336, 337], [337, 9], [278, 279], [279, 360], [360, 278], [418, 262], [262, 431], [431, 418], [304, 408], [408, 409], [409, 304], [310, 415], [415, 407], [407, 310],\n [270, 409], [409, 410], [410, 270], [450, 348], [348, 347], [347, 450], [422, 430], [430, 434], [434, 422], [313, 314], [314, 17], [17, 313], [306, 307], [307, 375], [375, 306], [387, 388], [388, 260], [260, 387],\n [286, 414], [414, 398], [398, 286], [335, 406], [406, 418], [418, 335], [364, 367], [367, 416], [416, 364], [423, 358], [358, 327], [327, 423], [251, 284], [284, 298], [298, 251], [281, 5], [5, 4], [4, 281],\n [373, 374], [374, 253], [253, 373], [307, 320], [320, 321], [321, 307], [425, 427], [427, 411], [411, 425], [421, 313], [313, 18], [18, 421], [321, 405], [405, 406], [406, 321], [320, 404], [404, 405], [405, 320],\n [315, 16], [16, 17], [17, 315], [426, 425], [425, 266], [266, 426], [377, 400], [400, 369], [369, 377], [322, 391], [391, 269], [269, 322], [417, 465], [465, 464], [464, 417], [386, 257], [257, 258], [258, 386],\n [466, 260], [260, 388], [388, 466], [456, 399], [399, 419], [419, 456], [284, 332], [332, 333], [333, 284], [417, 285], [285, 8], [8, 417], [346, 340], [340, 261], [261, 346], [413, 441], [441, 285], [285, 413],\n [327, 460], [460, 328], [328, 327], [355, 371], [371, 329], [329, 355], [392, 439], [439, 438], [438, 392], [382, 341], [341, 256], [256, 382], [429, 420], [420, 360], [360, 429], [364, 394], [394, 379], [379, 364],\n [277, 343], [343, 437], [437, 277], [443, 444], [444, 283], [283, 443], [275, 440], [440, 363], [363, 275], [431, 262], [262, 369], [369, 431], [297, 338], [338, 337], [337, 297], [273, 375], [375, 321], [321, 273],\n [450, 451], [451, 349], [349, 450], [446, 342], [342, 467], [467, 446], [293, 334], [334, 282], [282, 293], [458, 461], [461, 462], [462, 458], [276, 353], [353, 383], [383, 276], [308, 324], [324, 325], [325, 308],\n [276, 300], [300, 293], [293, 276], [372, 345], [345, 447], [447, 372], [352, 345], [345, 340], [340, 352], [274, 1], [1, 19], [19, 274], [456, 248], [248, 281], [281, 456], [436, 427], [427, 425], [425, 436],\n [381, 256], [256, 252], [252, 381], [269, 391], [391, 393], [393, 269], [200, 199], [199, 428], [428, 200], [266, 330], [330, 329], [329, 266], [287, 273], [273, 422], [422, 287], [250, 462], [462, 328], [328, 250],\n [258, 286], [286, 384], [384, 258], [265, 353], [353, 342], [342, 265], [387, 259], [259, 257], [257, 387], [424, 431], [431, 430], [430, 424], [342, 353], [353, 276], [276, 342], [273, 335], [335, 424], [424, 273],\n [292, 325], [325, 307], [307, 292], [366, 447], [447, 345], [345, 366], [271, 303], [303, 302], [302, 271], [423, 266], [266, 371], [371, 423], [294, 455], [455, 460], [460, 294], [279, 278], [278, 294], [294, 279],\n [271, 272], [272, 304], [304, 271], [432, 434], [434, 427], [427, 432], [272, 407], [407, 408], [408, 272], [394, 430], [430, 431], [431, 394], [395, 369], [369, 400], [400, 395], [334, 333], [333, 299], [299, 334],\n [351, 417], [417, 168], [168, 351], [352, 280], [280, 411], [411, 352], [325, 319], [319, 320], [320, 325], [295, 296], [296, 336], [336, 295], [319, 403], [403, 404], [404, 319], [330, 348], [348, 349], [349, 330],\n [293, 298], [298, 333], [333, 293], [323, 454], [454, 447], [447, 323], [15, 16], [16, 315], [315, 15], [358, 429], [429, 279], [279, 358], [14, 15], [15, 316], [316, 14], [285, 336], [336, 9], [9, 285],\n [329, 349], [349, 350], [350, 329], [374, 380], [380, 252], [252, 374], [318, 402], [402, 403], [403, 318], [6, 197], [197, 419], [419, 6], [318, 319], [319, 325], [325, 318], [367, 364], [364, 365], [365, 367],\n [435, 367], [367, 397], [397, 435], [344, 438], [438, 439], [439, 344], [272, 271], [271, 311], [311, 272], [195, 5], [5, 281], [281, 195], [273, 287], [287, 291], [291, 273], [396, 428], [428, 199], [199, 396],\n [311, 271], [271, 268], [268, 311], [283, 444], [444, 445], [445, 283], [373, 254], [254, 339], [339, 373], [282, 334], [334, 296], [296, 282], [449, 347], [347, 346], [346, 449], [264, 447], [447, 454], [454, 264],\n [336, 296], [296, 299], [299, 336], [338, 10], [10, 151], [151, 338], [278, 439], [439, 455], [455, 278], [292, 407], [407, 415], [415, 292], [358, 371], [371, 355], [355, 358], [340, 345], [345, 372], [372, 340],\n [346, 347], [347, 280], [280, 346], [442, 443], [443, 282], [282, 442], [19, 94], [94, 370], [370, 19], [441, 442], [442, 295], [295, 441], [248, 419], [419, 197], [197, 248], [263, 255], [255, 359], [359, 263],\n [440, 275], [275, 274], [274, 440], [300, 383], [383, 368], [368, 300], [351, 412], [412, 465], [465, 351], [263, 467], [467, 466], [466, 263], [301, 368], [368, 389], [389, 301], [395, 378], [378, 379], [379, 395],\n [412, 351], [351, 419], [419, 412], [436, 426], [426, 322], [322, 436], [2, 164], [164, 393], [393, 2], [370, 462], [462, 461], [461, 370], [164, 0], [0, 267], [267, 164], [302, 11], [11, 12], [12, 302],\n [268, 12], [12, 13], [13, 268], [293, 300], [300, 301], [301, 293], [446, 261], [261, 340], [340, 446], [330, 266], [266, 425], [425, 330], [426, 423], [423, 391], [391, 426], [429, 355], [355, 437], [437, 429],\n [391, 327], [327, 326], [326, 391], [440, 457], [457, 438], [438, 440], [341, 382], [382, 362], [362, 341], [459, 457], [457, 461], [461, 459], [434, 430], [430, 394], [394, 434], [414, 463], [463, 362], [362, 414],\n [396, 369], [369, 262], [262, 396], [354, 461], [461, 457], [457, 354], [316, 403], [403, 402], [402, 316], [315, 404], [404, 403], [403, 315], [314, 405], [405, 404], [404, 314], [313, 406], [406, 405], [405, 313],\n [421, 418], [418, 406], [406, 421], [366, 401], [401, 361], [361, 366], [306, 408], [408, 407], [407, 306], [291, 409], [409, 408], [408, 291], [287, 410], [410, 409], [409, 287], [432, 436], [436, 410], [410, 432],\n [434, 416], [416, 411], [411, 434], [264, 368], [368, 383], [383, 264], [309, 438], [438, 457], [457, 309], [352, 376], [376, 401], [401, 352], [274, 275], [275, 4], [4, 274], [421, 428], [428, 262], [262, 421],\n [294, 327], [327, 358], [358, 294], [433, 416], [416, 367], [367, 433], [289, 455], [455, 439], [439, 289], [462, 370], [370, 326], [326, 462], [2, 326], [326, 370], [370, 2], [305, 460], [460, 455], [455, 305],\n [254, 449], [449, 448], [448, 254], [255, 261], [261, 446], [446, 255], [253, 450], [450, 449], [449, 253], [252, 451], [451, 450], [450, 252], [256, 452], [452, 451], [451, 256], [341, 453], [453, 452], [452, 341],\n [413, 464], [464, 463], [463, 413], [441, 413], [413, 414], [414, 441], [258, 442], [442, 441], [441, 258], [257, 443], [443, 442], [442, 257], [259, 444], [444, 443], [443, 259], [260, 445], [445, 444], [444, 260],\n [467, 342], [342, 445], [445, 467], [459, 458], [458, 250], [250, 459], [289, 392], [392, 290], [290, 289], [290, 328], [328, 460], [460, 290], [376, 433], [433, 435], [435, 376], [250, 290], [290, 392], [392, 250],\n [411, 416], [416, 433], [433, 411], [341, 463], [463, 464], [464, 341], [453, 464], [464, 465], [465, 453], [357, 465], [465, 412], [412, 357], [343, 412], [412, 399], [399, 343], [360, 363], [363, 440], [440, 360],\n [437, 399], [399, 456], [456, 437], [420, 456], [456, 363], [363, 420], [401, 435], [435, 288], [288, 401], [372, 383], [383, 353], [353, 372], [339, 255], [255, 249], [249, 339], [448, 261], [261, 255], [255, 448],\n [133, 243], [243, 190], [190, 133], [133, 155], [155, 112], [112, 133], [33, 246], [246, 247], [247, 33], [33, 130], [130, 25], [25, 33], [398, 384], [384, 286], [286, 398], [362, 398], [398, 414], [414, 362],\n [362, 463], [463, 341], [341, 362], [263, 359], [359, 467], [467, 263], [263, 249], [249, 255], [255, 263], [466, 467], [467, 260], [260, 466], [75, 60], [60, 166], [166, 75], [238, 239], [239, 79], [79, 238],\n [162, 127], [127, 139], [139, 162], [72, 11], [11, 37], [37, 72], [121, 232], [232, 120], [120, 121], [73, 72], [72, 39], [39, 73], [114, 128], [128, 47], [47, 114], [233, 232], [232, 128], [128, 233],\n [103, 104], [104, 67], [67, 103], [152, 175], [175, 148], [148, 152], [119, 118], [118, 101], [101, 119], [74, 73], [73, 40], [40, 74], [107, 9], [9, 108], [108, 107], [49, 48], [48, 131], [131, 49],\n [32, 194], [194, 211], [211, 32], [184, 74], [74, 185], [185, 184], [191, 80], [80, 183], [183, 191], [185, 40], [40, 186], [186, 185], [119, 230], [230, 118], [118, 119], [210, 202], [202, 214], [214, 210],\n [84, 83], [83, 17], [17, 84], [77, 76], [76, 146], [146, 77], [161, 160], [160, 30], [30, 161], [190, 56], [56, 173], [173, 190], [182, 106], [106, 194], [194, 182], [138, 135], [135, 192], [192, 138],\n [129, 203], [203, 98], [98, 129], [54, 21], [21, 68], [68, 54], [5, 51], [51, 4], [4, 5], [145, 144], [144, 23], [23, 145], [90, 77], [77, 91], [91, 90], [207, 205], [205, 187], [187, 207],\n [83, 201], [201, 18], [18, 83], [181, 91], [91, 182], [182, 181], [180, 90], [90, 181], [181, 180], [16, 85], [85, 17], [17, 16], [205, 206], [206, 36], [36, 205], [176, 148], [148, 140], [140, 176],\n [165, 92], [92, 39], [39, 165], [245, 193], [193, 244], [244, 245], [27, 159], [159, 28], [28, 27], [30, 247], [247, 161], [161, 30], [174, 236], [236, 196], [196, 174], [103, 54], [54, 104], [104, 103],\n [55, 193], [193, 8], [8, 55], [111, 117], [117, 31], [31, 111], [221, 189], [189, 55], [55, 221], [240, 98], [98, 99], [99, 240], [142, 126], [126, 100], [100, 142], [219, 166], [166, 218], [218, 219],\n [112, 155], [155, 26], [26, 112], [198, 209], [209, 131], [131, 198], [169, 135], [135, 150], [150, 169], [114, 47], [47, 217], [217, 114], [224, 223], [223, 53], [53, 224], [220, 45], [45, 134], [134, 220],\n [32, 211], [211, 140], [140, 32], [109, 67], [67, 108], [108, 109], [146, 43], [43, 91], [91, 146], [231, 230], [230, 120], [120, 231], [113, 226], [226, 247], [247, 113], [105, 63], [63, 52], [52, 105],\n [241, 238], [238, 242], [242, 241], [124, 46], [46, 156], [156, 124], [95, 78], [78, 96], [96, 95], [70, 46], [46, 63], [63, 70], [116, 143], [143, 227], [227, 116], [116, 123], [123, 111], [111, 116],\n [1, 44], [44, 19], [19, 1], [3, 236], [236, 51], [51, 3], [207, 216], [216, 205], [205, 207], [26, 154], [154, 22], [22, 26], [165, 39], [39, 167], [167, 165], [199, 200], [200, 208], [208, 199],\n [101, 36], [36, 100], [100, 101], [43, 57], [57, 202], [202, 43], [242, 20], [20, 99], [99, 242], [56, 28], [28, 157], [157, 56], [124, 35], [35, 113], [113, 124], [29, 160], [160, 27], [27, 29],\n [211, 204], [204, 210], [210, 211], [124, 113], [113, 46], [46, 124], [106, 43], [43, 204], [204, 106], [96, 62], [62, 77], [77, 96], [227, 137], [137, 116], [116, 227], [73, 41], [41, 72], [72, 73],\n [36, 203], [203, 142], [142, 36], [235, 64], [64, 240], [240, 235], [48, 49], [49, 64], [64, 48], [42, 41], [41, 74], [74, 42], [214, 212], [212, 207], [207, 214], [183, 42], [42, 184], [184, 183],\n [210, 169], [169, 211], [211, 210], [140, 170], [170, 176], [176, 140], [104, 105], [105, 69], [69, 104], [193, 122], [122, 168], [168, 193], [50, 123], [123, 187], [187, 50], [89, 96], [96, 90], [90, 89],\n [66, 65], [65, 107], [107, 66], [179, 89], [89, 180], [180, 179], [119, 101], [101, 120], [120, 119], [68, 63], [63, 104], [104, 68], [234, 93], [93, 227], [227, 234], [16, 15], [15, 85], [85, 16],\n [209, 129], [129, 49], [49, 209], [15, 14], [14, 86], [86, 15], [107, 55], [55, 9], [9, 107], [120, 100], [100, 121], [121, 120], [153, 145], [145, 22], [22, 153], [178, 88], [88, 179], [179, 178],\n [197, 6], [6, 196], [196, 197], [89, 88], [88, 96], [96, 89], [135, 138], [138, 136], [136, 135], [138, 215], [215, 172], [172, 138], [218, 115], [115, 219], [219, 218], [41, 42], [42, 81], [81, 41],\n [5, 195], [195, 51], [51, 5], [57, 43], [43, 61], [61, 57], [208, 171], [171, 199], [199, 208], [41, 81], [81, 38], [38, 41], [224, 53], [53, 225], [225, 224], [24, 144], [144, 110], [110, 24],\n [105, 52], [52, 66], [66, 105], [118, 229], [229, 117], [117, 118], [227, 34], [34, 234], [234, 227], [66, 107], [107, 69], [69, 66], [10, 109], [109, 151], [151, 10], [219, 48], [48, 235], [235, 219],\n [183, 62], [62, 191], [191, 183], [142, 129], [129, 126], [126, 142], [116, 111], [111, 143], [143, 116], [118, 117], [117, 50], [50, 118], [223, 222], [222, 52], [52, 223], [94, 19], [19, 141], [141, 94],\n [222, 221], [221, 65], [65, 222], [196, 3], [3, 197], [197, 196], [45, 220], [220, 44], [44, 45], [156, 70], [70, 139], [139, 156], [188, 122], [122, 245], [245, 188], [139, 71], [71, 162], [162, 139],\n [149, 170], [170, 150], [150, 149], [122, 188], [188, 196], [196, 122], [206, 216], [216, 92], [92, 206], [164, 2], [2, 167], [167, 164], [242, 141], [141, 241], [241, 242], [0, 164], [164, 37], [37, 0],\n [11, 72], [72, 12], [12, 11], [12, 38], [38, 13], [13, 12], [70, 63], [63, 71], [71, 70], [31, 226], [226, 111], [111, 31], [36, 101], [101, 205], [205, 36], [203, 206], [206, 165], [165, 203],\n [126, 209], [209, 217], [217, 126], [98, 165], [165, 97], [97, 98], [237, 220], [220, 218], [218, 237], [237, 239], [239, 241], [241, 237], [210, 214], [214, 169], [169, 210], [140, 171], [171, 32], [32, 140],\n [241, 125], [125, 237], [237, 241], [179, 86], [86, 178], [178, 179], [180, 85], [85, 179], [179, 180], [181, 84], [84, 180], [180, 181], [182, 83], [83, 181], [181, 182], [194, 201], [201, 182], [182, 194],\n [177, 137], [137, 132], [132, 177], [184, 76], [76, 183], [183, 184], [185, 61], [61, 184], [184, 185], [186, 57], [57, 185], [185, 186], [216, 212], [212, 186], [186, 216], [192, 214], [214, 187], [187, 192],\n [139, 34], [34, 156], [156, 139], [218, 79], [79, 237], [237, 218], [147, 123], [123, 177], [177, 147], [45, 44], [44, 4], [4, 45], [208, 201], [201, 32], [32, 208], [98, 64], [64, 129], [129, 98],\n [192, 213], [213, 138], [138, 192], [235, 59], [59, 219], [219, 235], [141, 242], [242, 97], [97, 141], [97, 2], [2, 141], [141, 97], [240, 75], [75, 235], [235, 240], [229, 24], [24, 228], [228, 229],\n [31, 25], [25, 226], [226, 31], [230, 23], [23, 229], [229, 230], [231, 22], [22, 230], [230, 231], [232, 26], [26, 231], [231, 232], [233, 112], [112, 232], [232, 233], [244, 189], [189, 243], [243, 244],\n [189, 221], [221, 190], [190, 189], [222, 28], [28, 221], [221, 222], [223, 27], [27, 222], [222, 223], [224, 29], [29, 223], [223, 224], [225, 30], [30, 224], [224, 225], [113, 247], [247, 225], [225, 113],\n [99, 60], [60, 240], [240, 99], [213, 147], [147, 215], [215, 213], [60, 20], [20, 166], [166, 60], [192, 187], [187, 213], [213, 192], [243, 112], [112, 244], [244, 243], [244, 233], [233, 245], [245, 244],\n [245, 128], [128, 188], [188, 245], [188, 114], [114, 174], [174, 188], [134, 131], [131, 220], [220, 134], [174, 217], [217, 236], [236, 174], [236, 198], [198, 134], [134, 236], [215, 177], [177, 58], [58, 215],\n [156, 143], [143, 124], [124, 156], [25, 110], [110, 7], [7, 25], [31, 228], [228, 25], [25, 31], [264, 356], [356, 368], [368, 264], [0, 11], [11, 267], [267, 0], [451, 452], [452, 349], [349, 451],\n [267, 302], [302, 269], [269, 267], [350, 357], [357, 277], [277, 350], [350, 452], [452, 357], [357, 350], [299, 333], [333, 297], [297, 299], [396, 175], [175, 377], [377, 396], [280, 347], [347, 330], [330, 280],\n [269, 303], [303, 270], [270, 269], [151, 9], [9, 337], [337, 151], [344, 278], [278, 360], [360, 344], [424, 418], [418, 431], [431, 424], [270, 304], [304, 409], [409, 270], [272, 310], [310, 407], [407, 272],\n [322, 270], [270, 410], [410, 322], [449, 450], [450, 347], [347, 449], [432, 422], [422, 434], [434, 432], [18, 313], [313, 17], [17, 18], [291, 306], [306, 375], [375, 291], [259, 387], [387, 260], [260, 259],\n [424, 335], [335, 418], [418, 424], [434, 364], [364, 416], [416, 434], [391, 423], [423, 327], [327, 391], [301, 251], [251, 298], [298, 301], [275, 281], [281, 4], [4, 275], [254, 373], [373, 253], [253, 254],\n [375, 307], [307, 321], [321, 375], [280, 425], [425, 411], [411, 280], [200, 421], [421, 18], [18, 200], [335, 321], [321, 406], [406, 335], [321, 320], [320, 405], [405, 321], [314, 315], [315, 17], [17, 314],\n [423, 426], [426, 266], [266, 423], [396, 377], [377, 369], [369, 396], [270, 322], [322, 269], [269, 270], [413, 417], [417, 464], [464, 413], [385, 386], [386, 258], [258, 385], [248, 456], [456, 419], [419, 248],\n [298, 284], [284, 333], [333, 298], [168, 417], [417, 8], [8, 168], [448, 346], [346, 261], [261, 448], [417, 413], [413, 285], [285, 417], [326, 327], [327, 328], [328, 326], [277, 355], [355, 329], [329, 277],\n [309, 392], [392, 438], [438, 309], [381, 382], [382, 256], [256, 381], [279, 429], [429, 360], [360, 279], [365, 364], [364, 379], [379, 365], [355, 277], [277, 437], [437, 355], [282, 443], [443, 283], [283, 282],\n [281, 275], [275, 363], [363, 281], [395, 431], [431, 369], [369, 395], [299, 297], [297, 337], [337, 299], [335, 273], [273, 321], [321, 335], [348, 450], [450, 349], [349, 348], [359, 446], [446, 467], [467, 359],\n [283, 293], [293, 282], [282, 283], [250, 458], [458, 462], [462, 250], [300, 276], [276, 383], [383, 300], [292, 308], [308, 325], [325, 292], [283, 276], [276, 293], [293, 283], [264, 372], [372, 447], [447, 264],\n [346, 352], [352, 340], [340, 346], [354, 274], [274, 19], [19, 354], [363, 456], [456, 281], [281, 363], [426, 436], [436, 425], [425, 426], [380, 381], [381, 252], [252, 380], [267, 269], [269, 393], [393, 267],\n [421, 200], [200, 428], [428, 421], [371, 266], [266, 329], [329, 371], [432, 287], [287, 422], [422, 432], [290, 250], [250, 328], [328, 290], [385, 258], [258, 384], [384, 385], [446, 265], [265, 342], [342, 446],\n [386, 387], [387, 257], [257, 386], [422, 424], [424, 430], [430, 422], [445, 342], [342, 276], [276, 445], [422, 273], [273, 424], [424, 422], [306, 292], [292, 307], [307, 306], [352, 366], [366, 345], [345, 352],\n [268, 271], [271, 302], [302, 268], [358, 423], [423, 371], [371, 358], [327, 294], [294, 460], [460, 327], [331, 279], [279, 294], [294, 331], [303, 271], [271, 304], [304, 303], [436, 432], [432, 427], [427, 436],\n [304, 272], [272, 408], [408, 304], [395, 394], [394, 431], [431, 395], [378, 395], [395, 400], [400, 378], [296, 334], [334, 299], [299, 296], [6, 351], [351, 168], [168, 6], [376, 352], [352, 411], [411, 376],\n [307, 325], [325, 320], [320, 307], [285, 295], [295, 336], [336, 285], [320, 319], [319, 404], [404, 320], [329, 330], [330, 349], [349, 329], [334, 293], [293, 333], [333, 334], [366, 323], [323, 447], [447, 366],\n [316, 15], [15, 315], [315, 316], [331, 358], [358, 279], [279, 331], [317, 14], [14, 316], [316, 317], [8, 285], [285, 9], [9, 8], [277, 329], [329, 350], [350, 277], [253, 374], [374, 252], [252, 253],\n [319, 318], [318, 403], [403, 319], [351, 6], [6, 419], [419, 351], [324, 318], [318, 325], [325, 324], [397, 367], [367, 365], [365, 397], [288, 435], [435, 397], [397, 288], [278, 344], [344, 439], [439, 278],\n [310, 272], [272, 311], [311, 310], [248, 195], [195, 281], [281, 248], [375, 273], [273, 291], [291, 375], [175, 396], [396, 199], [199, 175], [312, 311], [311, 268], [268, 312], [276, 283], [283, 445], [445, 276],\n [390, 373], [373, 339], [339, 390], [295, 282], [282, 296], [296, 295], [448, 449], [449, 346], [346, 448], [356, 264], [264, 454], [454, 356], [337, 336], [336, 299], [299, 337], [337, 338], [338, 151], [151, 337],\n [294, 278], [278, 455], [455, 294], [308, 292], [292, 415], [415, 308], [429, 358], [358, 355], [355, 429], [265, 340], [340, 372], [372, 265], [352, 346], [346, 280], [280, 352], [295, 442], [442, 282], [282, 295],\n [354, 19], [19, 370], [370, 354], [285, 441], [441, 295], [295, 285], [195, 248], [248, 197], [197, 195], [457, 440], [440, 274], [274, 457], [301, 300], [300, 368], [368, 301], [417, 351], [351, 465], [465, 417],\n [251, 301], [301, 389], [389, 251], [394, 395], [395, 379], [379, 394], [399, 412], [412, 419], [419, 399], [410, 436], [436, 322], [322, 410], [326, 2], [2, 393], [393, 326], [354, 370], [370, 461], [461, 354],\n [393, 164], [164, 267], [267, 393], [268, 302], [302, 12], [12, 268], [312, 268], [268, 13], [13, 312], [298, 293], [293, 301], [301, 298], [265, 446], [446, 340], [340, 265], [280, 330], [330, 425], [425, 280],\n [322, 426], [426, 391], [391, 322], [420, 429], [429, 437], [437, 420], [393, 391], [391, 326], [326, 393], [344, 440], [440, 438], [438, 344], [458, 459], [459, 461], [461, 458], [364, 434], [434, 394], [394, 364],\n [428, 396], [396, 262], [262, 428], [274, 354], [354, 457], [457, 274], [317, 316], [316, 402], [402, 317], [316, 315], [315, 403], [403, 316], [315, 314], [314, 404], [404, 315], [314, 313], [313, 405], [405, 314],\n [313, 421], [421, 406], [406, 313], [323, 366], [366, 361], [361, 323], [292, 306], [306, 407], [407, 292], [306, 291], [291, 408], [408, 306], [291, 287], [287, 409], [409, 291], [287, 432], [432, 410], [410, 287],\n [427, 434], [434, 411], [411, 427], [372, 264], [264, 383], [383, 372], [459, 309], [309, 457], [457, 459], [366, 352], [352, 401], [401, 366], [1, 274], [274, 4], [4, 1], [418, 421], [421, 262], [262, 418],\n [331, 294], [294, 358], [358, 331], [435, 433], [433, 367], [367, 435], [392, 289], [289, 439], [439, 392], [328, 462], [462, 326], [326, 328], [94, 2], [2, 370], [370, 94], [289, 305], [305, 455], [455, 289],\n [339, 254], [254, 448], [448, 339], [359, 255], [255, 446], [446, 359], [254, 253], [253, 449], [449, 254], [253, 252], [252, 450], [450, 253], [252, 256], [256, 451], [451, 252], [256, 341], [341, 452], [452, 256],\n [414, 413], [413, 463], [463, 414], [286, 441], [441, 414], [414, 286], [286, 258], [258, 441], [441, 286], [258, 257], [257, 442], [442, 258], [257, 259], [259, 443], [443, 257], [259, 260], [260, 444], [444, 259],\n [260, 467], [467, 445], [445, 260], [309, 459], [459, 250], [250, 309], [305, 289], [289, 290], [290, 305], [305, 290], [290, 460], [460, 305], [401, 376], [376, 435], [435, 401], [309, 250], [250, 392], [392, 309],\n [376, 411], [411, 433], [433, 376], [453, 341], [341, 464], [464, 453], [357, 453], [453, 465], [465, 357], [343, 357], [357, 412], [412, 343], [437, 343], [343, 399], [399, 437], [344, 360], [360, 440], [440, 344],\n [420, 437], [437, 456], [456, 420], [360, 420], [420, 363], [363, 360], [361, 401], [401, 288], [288, 361], [265, 372], [372, 353], [353, 265], [390, 339], [339, 249], [249, 390], [339, 448], [448, 255], [255, 339],\n];\n\nfunction connectionsToIndices(connections: PairArray) {\n const indices = connections.map((connection) => connection[0]);\n indices.push(connections[connections.length - 1][1]);\n return indices;\n}\n\nexport const MEDIAPIPE_FACE_MESH_KEYPOINTS_BY_CONTOUR = {\n lips: connectionsToIndices(LIPS_CONNECTIONS),\n leftEye: connectionsToIndices(LEFT_EYE_CONNECTIONS),\n leftEyebrow: connectionsToIndices(LEFT_EYEBROW_CONNECTIONS),\n leftIris: connectionsToIndices(LEFT_IRIS_CONNECTIONS),\n rightEye: connectionsToIndices(RIGHT_EYE_CONNECTIONS),\n rightEyebrow: connectionsToIndices(RIGHT_EYEBROW_CONNECTIONS),\n rightIris: connectionsToIndices(RIGHT_IRIS_CONNECTIONS),\n faceOval: connectionsToIndices(FACE_OVAL_CONNECTIONS),\n};\n\nconst indexLabelPairs: [number, string][] = Object.entries(MEDIAPIPE_FACE_MESH_KEYPOINTS_BY_CONTOUR)\n .map(([label, indices]) => indices.map((index) => [index, label] as [number, string]))\n .flat();\n\nexport const MEDIAPIPE_FACE_MESH_KEYPOINTS = new Map(indexLabelPairs);\n\ntype AssignAverage = number[];\nexport interface LandmarksRefinementConfig {\n indexesMapping: number[]; // Maps indexes of the given set of landmarks to indexes of the resulting set of landmarks. Should be non empty and contain the same amount of indexes as landmarks in the corresponding input\n zRefinement: 'none'|'copy'|AssignAverage; // Z refinement instructions.\n}\n\nexport const LANDMARKS_REFINEMENT_LIPS_CONFIG = [\n 61, 146, 91, 181, 84, 17, 314, 405, 321, 375, 291, // Lower outer.\n 185, 40, 39, 37, 0, 267, 269, 270, 409, // Upper outer(excluding corners).\n 78, 95, 88, 178, 87, 14, 317, 402, 318, 324, 308, // Lower inner.\n 191, 80, 81, 82, 13, 312, 311, 310, 415, // Upper inner(excluding corners).\n 76, 77, 90, 180, 85, 16, 315, 404, 320, 307, 306, // Lower semi - outer.\n 184, 74, 73, 72, 11, 302, 303, 304, 408, // Upper semi - outer(excluding corners).\n 62, 96, 89, 179, 86, 15, 316, 403, 319, 325, 292, // Lower semi - inner.\n 183, 42, 41, 38, 12, 268, 271, 272, 407, // Upper semi - inner(excluding corners).\n];\n\nexport const LANDMARKS_REFINEMENT_LEFT_EYE_CONFIG = [\n 33, 7, 163, 144, 145, 153, 154, 155, 133, // Lower contour.\n 246, 161, 160, 159, 158, 157, 173, // upper contour (excluding corners).\n 130, 25, 110, 24, 23, 22, 26, 112, 243, // Halo x2 lower contour.\n 247, 30, 29, 27, 28, 56, 190, // Halo x2 upper contour (excluding corners).\n 226, 31, 228, 229, 230, 231, 232, 233, 244, // Halo x3 lower contour.\n 113, 225, 224, 223, 222, 221, 189, // Halo x3 upper contour (excluding corners).\n 35, 124, 46, 53, 52, 65, // Halo x4 upper contour (no lower because of mesh structure) or eyebrow inner contour.\n 143, 111, 117, 118, 119, 120, 121, 128, 245, // Halo x5 lower contour.\n 156, 70, 63, 105, 66, 107, 55, 193, // Halo x5 upper contour (excluding corners) or eyebrow outer contour.\n];\n\nexport const LANDMARKS_REFINEMENT_RIGHT_EYE_CONFIG = [\n 263, 249, 390, 373, 374, 380, 381, 382, 362, // Lower contour.\n 466, 388, 387, 386, 385, 384, 398, // Upper contour (excluding corners).\n 359, 255, 339, 254, 253, 252, 256, 341, 463, // Halo x2 lower contour.\n 467, 260, 259, 257, 258, 286, 414, // Halo x2 upper contour (excluding corners).\n 446, 261, 448, 449, 450, 451, 452, 453, 464, // Halo x3 lower contour.\n 342, 445, 444, 443, 442, 441, 413, // Halo x3 upper contour (excluding corners).\n 265, 353, 276, 283, 282, 295, // Halo x4 upper contour (no lower because of mesh structure) or/ eyebrow inner contour.\n 372, 340, 346, 347, 348, 349, 350, 357, 465, // Halo x5 lower contour.\n 383, 300, 293, 334, 296, 336, 285, 417, // Halo x5 upper contour (excluding corners) or eyebrow outer contour.\n];\n\nexport const LANDMARKS_REFINEMENT_LEFT_IRIS_CONFIG = [\n 468, // Center.\n 469, // Iris right edge.\n 470, // Iris top edge.\n 471, // Iris left edge.\n 472, // Iris bottom edge.\n];\n/*\nzRefinement: [\n 33, 7, 163, 144, 145, 153, 154, 155, 133, // Lower contour.\n 246, 161, 160, 159, 158, 157, 173, // Upper contour (excluding corners).\n];\n*/\n\nexport const LANDMARKS_REFINEMENT_RIGHT_IRIS_CONFIG = [\n 473, // Center.\n 474, // Iris right edge.\n 475, // Iris top edge.\n 476, // Iris left edge.\n 477, // Iris bottom edge.\n];\n/*\nzRefinement: [\n 263, 249, 390, 373, 374, 380, 381, 382, 362, // Lower contour.\n 466, 388, 387, 386, 385, 384, 398, // Upper contour (excluding corners).\n];\n*/\n", "import { TRI468 as triangulation } from '../face/facemeshcoords';\nimport { mergeDeep } from '../util/util';\nimport { getCanvasContext, rad2deg, rect, point, lines, arrow, labels, replace } from './primitives';\nimport { options } from './options';\nimport * as facemeshConstants from '../face/constants';\nimport type { FaceResult } from '../result';\nimport type { AnyCanvas, DrawOptions } from '../exports';\n\nlet localOptions: DrawOptions;\n\nfunction drawLabels(f: FaceResult, ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D) {\n if (!localOptions.drawLabels || (localOptions.faceLabels?.length === 0)) return;\n let l = localOptions.faceLabels.slice();\n if (f.score) l = replace(l, '[score]', 100 * f.score);\n if (f.gender) l = replace(l, '[gender]', f.gender);\n if (f.genderScore) l = replace(l, '[genderScore]', 100 * f.genderScore);\n if (f.age) l = replace(l, '[age]', f.age);\n if (f.distance) l = replace(l, '[distance]', 100 * f.distance);\n if (f.real) l = replace(l, '[real]', 100 * f.real);\n if (f.live) l = replace(l, '[live]', 100 * f.live);\n if (f.emotion && f.emotion.length > 0) {\n const emotion = f.emotion.map((a) => `${Math.trunc(100 * a.score)}% ${a.emotion}`);\n if (emotion.length > 3) emotion.length = 3;\n l = replace(l, '[emotions]', emotion.join(' '));\n }\n if (f.rotation?.angle?.roll) l = replace(l, '[roll]', rad2deg(f.rotation.angle.roll));\n if (f.rotation?.angle?.yaw) l = replace(l, '[yaw]', rad2deg(f.rotation.angle.yaw));\n if (f.rotation?.angle?.pitch) l = replace(l, '[pitch]', rad2deg(f.rotation.angle.pitch));\n if (f.rotation?.gaze?.bearing) l = replace(l, '[gaze]', rad2deg(f.rotation.gaze.bearing));\n labels(ctx, l, f.box[0], f.box[1], localOptions);\n}\n\nfunction drawIrisElipse(f: FaceResult, ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D) {\n // iris: array[center, left, top, right, bottom]\n if (f.annotations?.leftEyeIris && f.annotations?.leftEyeIris[0]) {\n ctx.strokeStyle = localOptions.useDepth ? 'rgba(255, 200, 255, 0.3)' : localOptions.color;\n ctx.beginPath();\n const sizeX = Math.abs(f.annotations.leftEyeIris[3][0] - f.annotations.leftEyeIris[1][0]) / 2;\n const sizeY = Math.abs(f.annotations.leftEyeIris[4][1] - f.annotations.leftEyeIris[2][1]) / 2;\n ctx.ellipse(f.annotations.leftEyeIris[0][0], f.annotations.leftEyeIris[0][1], sizeX, sizeY, 0, 0, 2 * Math.PI);\n ctx.stroke();\n if (localOptions.fillPolygons) {\n ctx.fillStyle = localOptions.useDepth ? 'rgba(255, 255, 200, 0.3)' : localOptions.color;\n ctx.fill();\n }\n }\n if (f.annotations?.rightEyeIris && f.annotations?.rightEyeIris[0]) {\n ctx.strokeStyle = localOptions.useDepth ? 'rgba(255, 200, 255, 0.3)' : localOptions.color;\n ctx.beginPath();\n const sizeX = Math.abs(f.annotations.rightEyeIris[3][0] - f.annotations.rightEyeIris[1][0]) / 2;\n const sizeY = Math.abs(f.annotations.rightEyeIris[4][1] - f.annotations.rightEyeIris[2][1]) / 2;\n ctx.ellipse(f.annotations.rightEyeIris[0][0], f.annotations.rightEyeIris[0][1], sizeX, sizeY, 0, 0, 2 * Math.PI);\n ctx.stroke();\n if (localOptions.fillPolygons) {\n ctx.fillStyle = localOptions.useDepth ? 'rgba(255, 255, 200, 0.3)' : localOptions.color;\n ctx.fill();\n }\n }\n}\n\nfunction drawGazeSpheres(f: FaceResult, ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D) {\n if (localOptions.drawGaze && f.rotation?.angle && typeof Path2D !== 'undefined') {\n ctx.strokeStyle = 'pink';\n const valX = (f.box[0] + f.box[2] / 2) - (f.box[3] * rad2deg(f.rotation.angle.yaw) / 90);\n const valY = (f.box[1] + f.box[3] / 2) + (f.box[2] * rad2deg(f.rotation.angle.pitch) / 90);\n const pathV = new Path2D(`\n M ${f.box[0] + f.box[2] / 2} ${f.box[1]}\n C\n ${valX} ${f.box[1]},\n ${valX} ${f.box[1] + f.box[3]},\n ${f.box[0] + f.box[2] / 2} ${f.box[1] + f.box[3]}\n `);\n const pathH = new Path2D(`\n M ${f.box[0]} ${f.box[1] + f.box[3] / 2}\n C \n ${f.box[0]} ${valY},\n ${f.box[0] + f.box[2]} ${valY},\n ${f.box[0] + f.box[2]} ${f.box[1] + f.box[3] / 2}\n `);\n ctx.stroke(pathH);\n ctx.stroke(pathV);\n }\n}\n\nfunction drawGazeArrows(f: FaceResult, ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D) {\n if (localOptions.drawGaze && f.rotation?.gaze.strength && f.rotation.gaze.bearing && f.annotations.leftEyeIris && f.annotations.rightEyeIris && f.annotations.leftEyeIris[0] && f.annotations.rightEyeIris[0]) {\n ctx.strokeStyle = 'pink';\n ctx.fillStyle = 'pink';\n const leftGaze = [\n f.annotations.leftEyeIris[0][0] + (Math.sin(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[3]),\n f.annotations.leftEyeIris[0][1] + (Math.cos(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[2]),\n ];\n arrow(ctx, [f.annotations.leftEyeIris[0][0], f.annotations.leftEyeIris[0][1]], [leftGaze[0], leftGaze[1]], 4);\n const rightGaze = [\n f.annotations.rightEyeIris[0][0] + (Math.sin(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[3]),\n f.annotations.rightEyeIris[0][1] + (Math.cos(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[2]),\n ];\n arrow(ctx, [f.annotations.rightEyeIris[0][0], f.annotations.rightEyeIris[0][1]], [rightGaze[0], rightGaze[1]], 4);\n }\n}\n\nfunction drawFacePolygons(f: FaceResult, ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D) {\n if (localOptions.drawPolygons && f.mesh.length >= 468) {\n ctx.lineWidth = 1;\n for (let i = 0; i < triangulation.length / 3; i++) {\n const points = [triangulation[i * 3 + 0], triangulation[i * 3 + 1], triangulation[i * 3 + 2]].map((index) => f.mesh[index]);\n lines(ctx, points, localOptions);\n }\n drawIrisElipse(f, ctx);\n }\n /*\n if (localOptions.drawPolygons && f.contours.length > 1) {\n ctx.lineWidth = 5;\n lines(ctx, f.contours, opt);\n }\n ctx.lineWidth = 1;\n */\n}\n\nfunction drawFacePoints(f: FaceResult, ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D) {\n if (localOptions.drawPoints && f.mesh.length >= 468) {\n for (let i = 0; i < f.mesh.length; i++) {\n point(ctx, f.mesh[i][0], f.mesh[i][1], f.mesh[i][2], localOptions);\n if (localOptions.drawAttention) {\n if (facemeshConstants.LANDMARKS_REFINEMENT_LIPS_CONFIG.includes(i)) point(ctx, f.mesh[i][0], f.mesh[i][1], (f.mesh[i][2] as number) + 127, localOptions);\n if (facemeshConstants.LANDMARKS_REFINEMENT_LEFT_EYE_CONFIG.includes(i)) point(ctx, f.mesh[i][0], f.mesh[i][1], (f.mesh[i][2] as number) - 127, localOptions);\n if (facemeshConstants.LANDMARKS_REFINEMENT_RIGHT_EYE_CONFIG.includes(i)) point(ctx, f.mesh[i][0], f.mesh[i][1], (f.mesh[i][2] as number) - 127, localOptions);\n }\n }\n }\n}\n\nfunction drawFaceBoxes(f: FaceResult, ctx) {\n if (localOptions.drawBoxes) {\n rect(ctx, f.box[0], f.box[1], f.box[2], f.box[3], localOptions);\n }\n}\n\n/** draw detected faces */\nexport function face(inCanvas: AnyCanvas, result: FaceResult[], drawOptions?: Partial) {\n localOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n const ctx = getCanvasContext(inCanvas) as CanvasRenderingContext2D;\n if (!ctx) return;\n ctx.font = localOptions.font;\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n for (const f of result) {\n drawFaceBoxes(f, ctx);\n drawLabels(f, ctx);\n if (f.mesh && f.mesh.length > 0) {\n drawFacePoints(f, ctx);\n drawFacePolygons(f, ctx);\n drawGazeSpheres(f, ctx);\n drawGazeArrows(f, ctx);\n }\n }\n}\n", "import { mergeDeep } from '../util/util';\nimport { getCanvasContext, rect, point, curves, colorDepth, replace, labels } from './primitives';\nimport { options } from './options';\nimport type { BodyResult } from '../result';\nimport type { AnyCanvas, DrawOptions } from '../exports';\n\n/** draw detected bodies */\nexport function body(inCanvas: AnyCanvas, result: BodyResult[], drawOptions?: Partial) {\n const localOptions: DrawOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n const ctx = getCanvasContext(inCanvas) as CanvasRenderingContext2D;\n if (!ctx) return;\n ctx.lineJoin = 'round';\n for (let i = 0; i < result.length; i++) {\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n ctx.lineWidth = localOptions.lineWidth;\n ctx.font = localOptions.font;\n if (localOptions.drawBoxes && result[i].box && result[i].box.length === 4) {\n rect(ctx, result[i].box[0], result[i].box[1], result[i].box[2], result[i].box[3], localOptions);\n if (localOptions.drawLabels && (localOptions.bodyLabels?.length > 0)) {\n let l = localOptions.bodyLabels.slice();\n l = replace(l, '[score]', 100 * result[i].score);\n labels(ctx, l, result[i].box[0], result[i].box[1], localOptions);\n }\n }\n if (localOptions.drawPoints && result[i].keypoints) {\n for (let pt = 0; pt < result[i].keypoints.length; pt++) {\n if (!result[i].keypoints[pt].score || (result[i].keypoints[pt].score === 0)) continue;\n ctx.fillStyle = colorDepth(result[i].keypoints[pt].position[2], localOptions);\n point(ctx, result[i].keypoints[pt].position[0], result[i].keypoints[pt].position[1], 0, localOptions);\n }\n }\n if (localOptions.drawLabels && (localOptions.bodyPartLabels?.length > 0) && result[i].keypoints) {\n ctx.font = localOptions.font;\n for (const pt of result[i].keypoints) {\n if (!pt.score || (pt.score === 0)) continue;\n let l = localOptions.bodyPartLabels.slice();\n l = replace(l, '[label]', pt.part);\n l = replace(l, '[score]', 100 * pt.score);\n labels(ctx, l, pt.position[0], pt.position[1], localOptions);\n }\n }\n if (localOptions.drawPolygons && result[i].keypoints && result[i].annotations) {\n for (const part of Object.values(result[i].annotations)) {\n for (const connected of part) curves(ctx, connected, localOptions);\n }\n }\n }\n}\n", "import { mergeDeep } from '../util/util';\nimport { getCanvasContext, rect, point, colorDepth, replace, labels } from './primitives';\nimport { options } from './options';\nimport type { HandResult } from '../result';\nimport type { AnyCanvas, DrawOptions, Point } from '../exports';\n\n/** draw detected hands */\nexport function hand(inCanvas: AnyCanvas, result: HandResult[], drawOptions?: Partial) {\n const localOptions: DrawOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n const ctx = getCanvasContext(inCanvas) as CanvasRenderingContext2D;\n if (!ctx) return;\n ctx.lineJoin = 'round';\n ctx.font = localOptions.font;\n for (const h of result) {\n if (localOptions.drawBoxes) {\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n rect(ctx, h.box[0], h.box[1], h.box[2], h.box[3], localOptions);\n if (localOptions.drawLabels && (localOptions.handLabels?.length > 0)) {\n let l = localOptions.handLabels.slice();\n l = replace(l, '[label]', h.label);\n l = replace(l, '[score]', 100 * h.score);\n labels(ctx, l, h.box[0], h.box[1], localOptions);\n }\n ctx.stroke();\n }\n if (localOptions.drawPoints) {\n if (h.keypoints && h.keypoints.length > 0) {\n for (const pt of h.keypoints) {\n ctx.fillStyle = colorDepth(pt[2], localOptions);\n point(ctx, pt[0], pt[1], 0, localOptions);\n }\n }\n }\n if (localOptions.drawLabels && h.annotations && (localOptions.fingerLabels?.length > 0)) {\n for (const [part, pt] of Object.entries(h.annotations)) {\n let l = localOptions.fingerLabels.slice();\n l = replace(l, '[label]', part);\n labels(ctx, l, pt[pt.length - 1][0], pt[pt.length - 1][1], localOptions);\n }\n }\n if (localOptions.drawPolygons && h.annotations) {\n const addHandLine = (part: Point[]) => {\n if (!part || part.length === 0 || !part[0]) return;\n for (let i = 0; i < part.length; i++) {\n ctx.beginPath();\n const z = part[i][2] || 0;\n ctx.strokeStyle = colorDepth(i * z, localOptions);\n ctx.moveTo(part[i > 0 ? i - 1 : 0][0], part[i > 0 ? i - 1 : 0][1]);\n ctx.lineTo(part[i][0], part[i][1]);\n ctx.stroke();\n }\n };\n ctx.lineWidth = localOptions.lineWidth;\n addHandLine(h.annotations.index);\n addHandLine(h.annotations.middle);\n addHandLine(h.annotations.ring);\n addHandLine(h.annotations.pinky);\n addHandLine(h.annotations.thumb);\n // addPart(h.annotations.palm);\n }\n }\n}\n", "import { mergeDeep } from '../util/util';\nimport { getCanvasContext, rect, replace, labels } from './primitives';\nimport { options } from './options';\nimport type { ObjectResult } from '../result';\nimport type { AnyCanvas, DrawOptions } from '../exports';\n\n/** draw detected objects */\nexport function object(inCanvas: AnyCanvas, result: ObjectResult[], drawOptions?: Partial) {\n const localOptions: DrawOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n const ctx = getCanvasContext(inCanvas) as CanvasRenderingContext2D;\n if (!ctx) return;\n ctx.lineJoin = 'round';\n ctx.font = localOptions.font;\n for (const h of result) {\n if (localOptions.drawBoxes) {\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n rect(ctx, h.box[0], h.box[1], h.box[2], h.box[3], localOptions);\n if (localOptions.drawLabels && (localOptions.objectLabels?.length > 0)) {\n let l = localOptions.objectLabels.slice();\n l = replace(l, '[label]', h.label);\n l = replace(l, '[score]', 100 * h.score);\n labels(ctx, l, h.box[0], h.box[1], localOptions);\n }\n ctx.stroke();\n }\n }\n}\n", "import { mergeDeep } from '../util/util';\nimport { getCanvasContext, replace, labels } from './primitives';\nimport { options } from './options';\nimport type { GestureResult } from '../result';\nimport type { AnyCanvas, DrawOptions } from '../exports';\n\n/** draw detected gestures */\nexport function gesture(inCanvas: AnyCanvas, result: GestureResult[], drawOptions?: Partial) {\n const localOptions: DrawOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n if (localOptions.drawGestures && (localOptions.gestureLabels?.length > 0)) {\n const ctx = getCanvasContext(inCanvas) as CanvasRenderingContext2D;\n if (!ctx) return;\n ctx.font = localOptions.font;\n ctx.fillStyle = localOptions.color;\n let i = 1;\n for (let j = 0; j < result.length; j++) {\n const [where, what] = Object.entries(result[j]);\n if ((what.length > 1) && ((what[1] as string).length > 0)) {\n const who = where[1] as number > 0 ? `#${where[1]}` : '';\n let l = localOptions.gestureLabels.slice();\n l = replace(l, '[where]', where[0]);\n l = replace(l, '[who]', who);\n l = replace(l, '[what]', what[1]);\n labels(ctx, l, 8, 2 + (i * localOptions.lineHeight), localOptions);\n i += 1;\n }\n }\n }\n}\n", "export const defaultLabels = {\n face: `face\n confidence: [score]%\n [gender] [genderScore]%\n age: [age] years\n distance: [distance]cm\n real: [real]%\n live: [live]%\n [emotions]\n roll: [roll]\u00B0 yaw:[yaw]\u00B0 pitch:[pitch]\u00B0\n gaze: [gaze]\u00B0`,\n body: 'body [score]%',\n bodyPart: '[label] [score]%',\n object: '[label] [score]%',\n hand: '[label] [score]%',\n finger: '[label]',\n gesture: '[where] [who]: [what]',\n};\n", "/* eslint-disable no-multi-spaces */\n\nexport const kpt: string[] = [\n 'nose', // 0\n 'leftEyeInside', // 1\n 'leftEye', // 2\n 'leftEyeOutside', // 3\n 'rightEyeInside', // 4\n 'rightEye', // 5\n 'rightEyeOutside', // 6\n 'leftEar', // 7\n 'rightEar', // 8\n 'leftMouth', // 9\n 'rightMouth', // 10\n 'leftShoulder', // 11\n 'rightShoulder', // 12\n 'leftElbow', // 13\n 'rightElbow', // 14\n 'leftWrist', // 15\n 'rightWrist', // 16\n 'leftPinky', // 17\n 'rightPinky', // 18\n 'leftIndex', // 19\n 'rightIndex', // 20\n 'leftThumb', // 21\n 'rightThumb', // 22\n 'leftHip', // 23\n 'rightHip', // 24\n 'leftKnee', // 25\n 'rightKnee', // 26\n 'leftAnkle', // 27\n 'rightAnkle', // 28\n 'leftHeel', // 29\n 'rightHeel', // 30\n 'leftFoot', // 31\n 'rightFoot', // 32\n 'bodyCenter', // 33\n 'bodyTop', // 34\n 'leftPalm', // 35 // z-coord not ok\n 'leftHand', // 36 // similar to wrist but z-coord not ok\n 'rightPalm', // 37 // z-coord not ok\n 'rightHand', // 38 // similar to wrist but z-coord not ok\n];\n\nexport const connected: Record = {\n shoulders: ['leftShoulder', 'rightShoulder'],\n hips: ['rightHip', 'leftHip'],\n mouth: ['leftMouth', 'rightMouth'],\n leftLegUpper: ['leftHip', 'leftKnee'],\n leftLegLower: ['leftKnee', 'leftAnkle'],\n leftFoot: ['leftAnkle', 'leftHeel', 'leftFoot'],\n leftTorso: ['leftShoulder', 'leftHip'],\n leftArmUpper: ['leftShoulder', 'leftElbow'],\n leftArmLower: ['leftElbow', 'leftWrist'],\n leftHand: ['leftWrist', 'leftPalm'],\n leftHandPinky: ['leftPalm', 'leftPinky'],\n leftHandIndex: ['leftPalm', 'leftIndex'],\n leftHandThumb: ['leftPalm', 'leftThumb'],\n leftEyeOutline: ['leftEyeInside', 'leftEyeOutside'],\n rightLegUpper: ['rightHip', 'rightKnee'],\n rightLegLower: ['rightKnee', 'rightAnkle'],\n rightFoot: ['rightAnkle', 'rightHeel', 'rightFoot'],\n rightTorso: ['rightShoulder', 'rightHip'],\n rightArmUpper: ['rightShoulder', 'rightElbow'],\n rightArmLower: ['rightElbow', 'rightWrist'],\n rightHand: ['rightWrist', 'rightPalm'],\n rightHandPinky: ['rightPalm', 'rightPinky'],\n rightHandIndex: ['rightPalm', 'rightIndex'],\n rightHandThumb: ['rightPalm', 'rightThumb'],\n rightEyeOutline: ['rightEyeInside', 'rightEyeOutside'],\n};\n", "import * as tf from 'dist/tfjs.esm.js';\nimport { log } from '../util/util';\nimport { env } from '../util/env';\nimport { loadModel } from '../tfjs/load';\nimport type { Box } from '../result';\nimport type { Config } from '../config';\nimport type { GraphModel, Tensor, Tensor1D, Tensor2D } from '../tfjs/types';\n\nexport interface DetectedBox { box: Box, boxRaw: Box, score: number }\n\nlet model: GraphModel | null;\nlet inputSize = 224;\nlet anchorTensor: { x, y };\nconst numLayers = 5;\nconst strides = [8, 16, 32, 32, 32];\n\nexport function createAnchors() {\n const anchors: { x: number, y: number }[] = [];\n let layerId = 0;\n while (layerId < numLayers) {\n let anchorCount = 0;\n let lastSameStrideLayer = layerId;\n while (lastSameStrideLayer < strides.length && strides[lastSameStrideLayer] === strides[layerId]) {\n anchorCount += 2;\n lastSameStrideLayer++;\n }\n const stride = strides[layerId];\n const featureMapHeight = Math.ceil(inputSize / stride);\n const featureMapWidth = Math.ceil(inputSize / stride);\n for (let y = 0; y < featureMapHeight; ++y) {\n for (let x = 0; x < featureMapWidth; ++x) {\n for (let anchorId = 0; anchorId < anchorCount; ++anchorId) {\n anchors.push({ x: (x + 0.5) / featureMapWidth, y: (y + 0.5) / featureMapHeight });\n }\n }\n }\n layerId = lastSameStrideLayer;\n }\n anchorTensor = { x: tf.tensor1d(anchors.map((a) => a.x)), y: tf.tensor1d(anchors.map((a) => a.y)) };\n}\n\nexport async function loadDetector(config: Config): Promise {\n if (env.initial) model = null;\n if (!model && config.body['detector'] && config.body['detector'].modelPath || '') {\n model = await loadModel(config.body['detector'].modelPath);\n const inputs = model?.['executor'] ? Object.values(model.modelSignature['inputs']) : undefined;\n inputSize = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;\n } else if (config.debug && model) log('cached model:', model['modelUrl']);\n createAnchors();\n return model as GraphModel;\n}\n\nconst cropFactor = [5.0, 5.0];\nexport function decodeBoxes(boxesTensor, anchor) {\n return tf.tidy(() => {\n const split = tf.split(boxesTensor, 12, 1); // first 4 are box data [x,y,w,h] and 4 are keypoints data [x,y] for total of 12\n let xCenter = tf.squeeze(split[0]);\n let yCenter = tf.squeeze(split[1]);\n let width = tf.squeeze(split[2]);\n let height = tf.squeeze(split[3]);\n xCenter = tf.add(tf.div(xCenter, inputSize), anchor.x);\n yCenter = tf.add(tf.div(yCenter, inputSize), anchor.y);\n width = tf.mul(tf.div(width, inputSize), cropFactor[0]);\n height = tf.mul(tf.div(height, inputSize), cropFactor[1]);\n const xMin = tf.sub(xCenter, tf.div(width, 2));\n const yMin = tf.sub(yCenter, tf.div(height, 2));\n const xMax = tf.add(xMin, width);\n const yMax = tf.add(yMin, height);\n const boxes = tf.stack([xMin, yMin, xMax, yMax], 1);\n return boxes;\n });\n}\n\nasync function decodeResults(boxesTensor: Tensor, logitsTensor: Tensor, config: Config, outputSize: [number, number]): Promise {\n const detectedBoxes: DetectedBox[] = [];\n const t: Record = {};\n t.boxes = decodeBoxes(boxesTensor, anchorTensor);\n t.scores = tf.sigmoid(logitsTensor);\n t.nms = await tf.image.nonMaxSuppressionAsync(t.boxes as Tensor2D, t.scores as Tensor1D, 1, config.body['detector']?.minConfidence || 0.1, config.body['detector']?.iouThreshold || 0.1);\n const nms = await t.nms.data();\n const scores = await t.scores.data();\n const boxes = await t.boxes.array();\n for (const i of Array.from(nms)) {\n const score = scores[i];\n const boxRaw: Box = boxes[i];\n const box: Box = [Math.round(boxRaw[0] * outputSize[0]), Math.round(boxRaw[1] * outputSize[1]), Math.round(boxRaw[2] * outputSize[0]), Math.round(boxRaw[3] * outputSize[1])];\n const detectedBox: DetectedBox = { score, boxRaw, box };\n detectedBoxes.push(detectedBox);\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return detectedBoxes;\n}\n\nexport async function detectBoxes(input: Tensor, config: Config, outputSize: [number, number]) {\n const t: Record = {};\n t.res = model?.execute(input, ['Identity']) as Tensor; //\n t.logitsRaw = tf.slice(t.res, [0, 0, 0], [1, -1, 1]);\n t.boxesRaw = tf.slice(t.res, [0, 0, 1], [1, -1, -1]);\n t.logits = tf.squeeze(t.logitsRaw);\n t.boxes = tf.squeeze(t.boxesRaw);\n const boxes = await decodeResults(t.boxes, t.logits, config, outputSize);\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return boxes;\n}\n", "import type { Point, Box } from '../result';\n\nexport function calc(keypoints: Point[], outputSize: [number, number] = [1, 1]) {\n const coords = [keypoints.map((pt) => pt[0]), keypoints.map((pt) => pt[1])]; // all x/y coords\n const min = [Math.min(...coords[0]), Math.min(...coords[1])];\n const max = [Math.max(...coords[0]), Math.max(...coords[1])];\n const box: Box = [min[0], min[1], max[0] - min[0], max[1] - min[1]];\n const boxRaw: Box = [box[0] / outputSize[0], box[1] / outputSize[1], box[2] / outputSize[0], box[3] / outputSize[1]];\n return { box, boxRaw };\n}\n\nexport function square(keypoints: Point[], outputSize: [number, number] = [1, 1]) {\n const coords = [keypoints.map((pt) => pt[0]), keypoints.map((pt) => pt[1])]; // all x/y coords\n const min = [Math.min(...coords[0]), Math.min(...coords[1])];\n const max = [Math.max(...coords[0]), Math.max(...coords[1])];\n const center = [(min[0] + max[0]) / 2, (min[1] + max[1]) / 2]; // find center x and y coord of all fingers\n const dist = Math.max(center[0] - min[0], center[1] - min[1], -center[0] + max[0], -center[1] + max[1]); // largest distance from center in any direction\n const box: Box = [Math.trunc(center[0] - dist), Math.trunc(center[1] - dist), Math.trunc(2 * dist), Math.trunc(2 * dist)];\n const boxRaw: Box = [box[0] / outputSize[0], box[1] / outputSize[1], box[2] / outputSize[0], box[3] / outputSize[1]];\n return { box, boxRaw };\n}\n\nexport function scale(box: Box, scaleFact: number) {\n const dist = [box[2] * scaleFact, box[3] * scaleFact];\n const newBox: Box = [\n box[0] - (dist[0] - box[2]) / 2,\n box[1] - (dist[1] - box[3]) / 2,\n dist[0],\n dist[1],\n ];\n return newBox;\n}\n\nexport function crop(box: Box) { // [y1, x1, y2, x2] clamped to 0..1\n const yxBox: Box = [Math.max(0, box[1]), Math.max(0, box[0]), Math.min(1, box[3] + box[1]), Math.min(1, box[2] + box[0])];\n return yxBox;\n}\n", "/**\n * BlazePose model implementation\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { loadModel } from '../tfjs/load';\nimport { constants } from '../tfjs/constants';\nimport { log, now } from '../util/util';\nimport type { BodyKeypoint, BodyResult, BodyLandmark, Box, Point, BodyAnnotation } from '../result';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport * as coords from './blazeposecoords';\nimport { loadDetector, detectBoxes, DetectedBox } from './blazeposedetector';\nimport * as box from '../util/box';\nimport { env } from '../util/env';\n\n// const models: [GraphModel | null, GraphModel | null] = [null, null];\nlet model: GraphModel | null;\nlet inputSize = 256;\nlet skipped = Number.MAX_SAFE_INTEGER;\nconst outputNodes: { detector: string[], landmarks: string[] } = {\n landmarks: ['ld_3d', 'activation_segmentation', 'activation_heatmap', 'world_3d', 'output_poseflag'],\n detector: [],\n};\n\nconst cache: BodyResult[] = [];\nlet padding: [number, number][] = [[0, 0], [0, 0], [0, 0], [0, 0]];\nlet lastTime = 0;\n\nconst sigmoid = (x) => (1 - (1 / (1 + Math.exp(x))));\n\nexport const loadDetect = (config: Config): Promise => loadDetector(config);\n\nexport async function loadPose(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) {\n model = await loadModel(config.body.modelPath);\n const inputs = model?.['executor'] ? Object.values(model.modelSignature['inputs']) : undefined;\n inputSize = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;\n } else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nfunction prepareImage(input: Tensor4D, size: number, cropBox?: Box): Tensor {\n const t: Record = {};\n if (!input?.shape?.[1] || !input?.shape?.[2]) return input;\n let final: Tensor;\n if (cropBox) {\n t.cropped = tf.image.cropAndResize(input, [cropBox], [0], [input.shape[1], input.shape[2]]); // if we have cached box use it to crop input\n }\n if (input.shape[1] !== input.shape[2]) { // only pad if width different than height\n const height: [number, number] = [\n input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0,\n input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0,\n ];\n const width: [number, number] = [\n input.shape[1] > input.shape[2] ? Math.trunc((input.shape[1] - input.shape[2]) / 2) : 0,\n input.shape[1] > input.shape[2] ? Math.trunc((input.shape[1] - input.shape[2]) / 2) : 0,\n ];\n padding = [\n [0, 0], // dont touch batch\n height, // height before&after\n width, // width before&after\n [0, 0], // dont touch rbg\n ];\n t.pad = tf.pad(t.cropped || input, padding); // use cropped box if it exists\n t.resize = tf.image.resizeBilinear(t.pad as Tensor4D, [size, size]);\n final = tf.div(t.resize, constants.tf255);\n } else if (input.shape[1] !== size) { // if input needs resizing\n t.resize = tf.image.resizeBilinear(t.cropped as Tensor4D || input, [size, size]);\n final = tf.div(t.resize, constants.tf255);\n } else { // if input is already in a correct resolution just normalize it\n final = tf.div(t.cropped || input, constants.tf255);\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return final;\n}\n\nfunction rescaleKeypoints(keypoints: BodyKeypoint[], outputSize: [number, number], cropBox?: Box): BodyKeypoint[] {\n for (const kpt of keypoints) { // first rescale due to padding\n kpt.position = [\n Math.trunc(kpt.position[0] * (outputSize[0] + padding[2][0] + padding[2][1]) / outputSize[0] - padding[2][0]),\n Math.trunc(kpt.position[1] * (outputSize[1] + padding[1][0] + padding[1][1]) / outputSize[1] - padding[1][0]),\n kpt.position[2] as number,\n ];\n kpt.positionRaw = [kpt.position[0] / outputSize[0], kpt.position[1] / outputSize[1], 2 * (kpt.position[2] as number) / (outputSize[0] + outputSize[1])];\n }\n if (cropBox) { // second rescale due to cropping\n const width = cropBox[2] - cropBox[0];\n const height = cropBox[3] - cropBox[1];\n for (const kpt of keypoints) {\n kpt.positionRaw = [\n kpt.positionRaw[0] / height + cropBox[1], // correct offset due to crop\n kpt.positionRaw[1] / width + cropBox[0], // correct offset due to crop\n kpt.positionRaw[2] as number,\n ];\n kpt.position = [\n Math.trunc(kpt.positionRaw[0] * outputSize[0]),\n Math.trunc(kpt.positionRaw[1] * outputSize[1]),\n kpt.positionRaw[2] as number,\n ];\n }\n }\n return keypoints;\n}\n\nfunction fixKeypoints(keypoints: BodyKeypoint[]) {\n // palm z-coord is incorrect around near-zero so we approximate it\n const leftPalm = keypoints.find((k) => k.part === 'leftPalm') as BodyKeypoint;\n const leftWrist = keypoints.find((k) => k.part === 'leftWrist') as BodyKeypoint;\n const leftIndex = keypoints.find((k) => k.part === 'leftIndex') as BodyKeypoint;\n leftPalm.position[2] = ((leftWrist.position[2] || 0) + (leftIndex.position[2] || 0)) / 2;\n const rightPalm = keypoints.find((k) => k.part === 'rightPalm') as BodyKeypoint;\n const rightWrist = keypoints.find((k) => k.part === 'rightWrist') as BodyKeypoint;\n const rightIndex = keypoints.find((k) => k.part === 'rightIndex') as BodyKeypoint;\n rightPalm.position[2] = ((rightWrist.position[2] || 0) + (rightIndex.position[2] || 0)) / 2;\n}\n\nasync function detectLandmarks(input: Tensor, config: Config, outputSize: [number, number]): Promise {\n /**\n * t.ld: 39 keypoints [x,y,z,score,presence] normalized to input size\n * t.segmentation:\n * t.heatmap:\n * t.world: 39 keypoints [x,y,z] normalized to -1..1\n * t.poseflag: body score\n */\n if (!model?.['executor']) return null;\n const t: Record = {};\n [t.ld/* 1,195(39*5) */, t.segmentation/* 1,256,256,1 */, t.heatmap/* 1,64,64,39 */, t.world/* 1,117(39*3) */, t.poseflag/* 1,1 */] = model?.execute(input, outputNodes.landmarks) as Tensor[]; // run model\n const poseScore = (await t.poseflag.data())[0];\n const points = await t.ld.data();\n const distances = await t.world.data();\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor])); // dont need tensors after this\n const keypointsRelative: BodyKeypoint[] = [];\n const depth = 5; // each points has x,y,z,visibility,presence\n for (let i = 0; i < points.length / depth; i++) {\n const score = sigmoid(points[depth * i + 3]);\n const presence = sigmoid(points[depth * i + 4]);\n const adjScore = Math.trunc(100 * score * presence * poseScore) / 100;\n const positionRaw: Point = [points[depth * i + 0] / inputSize, points[depth * i + 1] / inputSize, points[depth * i + 2] + 0];\n const position: Point = [Math.trunc(outputSize[0] * positionRaw[0]), Math.trunc(outputSize[1] * positionRaw[1]), positionRaw[2] as number];\n const distance: Point = [distances[depth * i + 0], distances[depth * i + 1], distances[depth * i + 2] + 0];\n keypointsRelative.push({ part: coords.kpt[i] as BodyLandmark, positionRaw, position, distance, score: adjScore });\n }\n if (poseScore < (config.body.minConfidence || 0)) return null;\n fixKeypoints(keypointsRelative);\n const keypoints: BodyKeypoint[] = rescaleKeypoints(keypointsRelative, outputSize); // keypoints were relative to input image which is padded\n const kpts = keypoints.map((k) => k.position);\n const boxes = box.calc(kpts, [outputSize[0], outputSize[1]]); // now find boxes based on rescaled keypoints\n const annotations: Record = {} as Record;\n for (const [name, indexes] of Object.entries(coords.connected)) {\n const pt: Point[][] = [];\n for (let i = 0; i < indexes.length - 1; i++) {\n const pt0 = keypoints.find((kpt) => kpt.part === indexes[i]);\n const pt1 = keypoints.find((kpt) => kpt.part === indexes[i + 1]);\n if (pt0 && pt1) pt.push([pt0.position, pt1.position]);\n }\n annotations[name] = pt;\n }\n const body = { id: 0, score: Math.trunc(100 * poseScore) / 100, box: boxes.box, boxRaw: boxes.boxRaw, keypoints, annotations };\n return body;\n}\n\nexport async function predict(input: Tensor4D, config: Config): Promise {\n const outputSize: [number, number] = [input.shape[2] || 0, input.shape[1] || 0];\n const skipTime = (config.body.skipTime || 0) > (now() - lastTime);\n const skipFrame = skipped < (config.body.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame && cache !== null) {\n skipped++;\n } else {\n let boxes: DetectedBox[] = [];\n if (config.body?.['detector']?.['enabled']) {\n const preparedImage = prepareImage(input, 224);\n boxes = await detectBoxes(preparedImage, config, outputSize);\n tf.dispose(preparedImage);\n } else {\n boxes = [{ box: [0, 0, 0, 0] as Box, boxRaw: [0, 0, 1, 1], score: 0 }]; // running without detector\n }\n for (let i = 0; i < boxes.length; i++) {\n const preparedBox = prepareImage(input, 256, boxes[i]?.boxRaw); // padded and resized\n cache.length = 0;\n const bodyResult = await detectLandmarks(preparedBox, config, outputSize);\n tf.dispose(preparedBox);\n if (!bodyResult) continue;\n bodyResult.id = i;\n // bodyResult.score = 0; // TBD\n cache.push(bodyResult);\n }\n /*\n cropBox = [0, 0, 1, 1]; // reset crop coordinates\n if (cache?.boxRaw && config.skipAllowed) {\n const cx = (2.0 * cache.boxRaw[0] + cache.boxRaw[2]) / 2;\n const cy = (2.0 * cache.boxRaw[1] + cache.boxRaw[3]) / 2;\n let size = cache.boxRaw[2] > cache.boxRaw[3] ? cache.boxRaw[2] : cache.boxRaw[3];\n size = (size * 1.0) / 2; // enlarge and half it\n if (cx > 0.1 && cx < 0.9 && cy > 0.1 && cy < 0.9 && size > 0.1) { // only update if box is sane\n const y = 0; // cy - size;\n const x = cx - size;\n cropBox = [y, x, y + 1, x + 1]; // [y0,x0,y1,x1] used for cropping but width/height are not yet implemented so we only reposition image to center of body\n }\n }\n */\n lastTime = now();\n skipped = 0;\n }\n return cache;\n}\n", "/**\n * CoCo Labels used by object detection implementations\n */\nexport const labels = [\n { class: 1, label: 'person' },\n { class: 2, label: 'bicycle' },\n { class: 3, label: 'car' },\n { class: 4, label: 'motorcycle' },\n { class: 5, label: 'airplane' },\n { class: 6, label: 'bus' },\n { class: 7, label: 'train' },\n { class: 8, label: 'truck' },\n { class: 9, label: 'boat' },\n { class: 10, label: 'traffic light' },\n { class: 11, label: 'fire hydrant' },\n { class: 12, label: 'stop sign' },\n { class: 13, label: 'parking meter' },\n { class: 14, label: 'bench' },\n { class: 15, label: 'bird' },\n { class: 16, label: 'cat' },\n { class: 17, label: 'dog' },\n { class: 18, label: 'horse' },\n { class: 19, label: 'sheep' },\n { class: 20, label: 'cow' },\n { class: 21, label: 'elephant' },\n { class: 22, label: 'bear' },\n { class: 23, label: 'zebra' },\n { class: 24, label: 'giraffe' },\n { class: 25, label: 'backpack' },\n { class: 26, label: 'umbrella' },\n { class: 27, label: 'handbag' },\n { class: 28, label: 'tie' },\n { class: 29, label: 'suitcase' },\n { class: 30, label: 'frisbee' },\n { class: 31, label: 'skis' },\n { class: 32, label: 'snowboard' },\n { class: 33, label: 'sports ball' },\n { class: 34, label: 'kite' },\n { class: 35, label: 'baseball bat' },\n { class: 36, label: 'baseball glove' },\n { class: 37, label: 'skateboard' },\n { class: 38, label: 'surfboard' },\n { class: 39, label: 'tennis racket' },\n { class: 40, label: 'bottle' },\n { class: 41, label: 'wine glass' },\n { class: 42, label: 'cup' },\n { class: 43, label: 'fork' },\n { class: 44, label: 'knife' },\n { class: 45, label: 'spoon' },\n { class: 46, label: 'bowl' },\n { class: 47, label: 'banana' },\n { class: 48, label: 'apple' },\n { class: 49, label: 'sandwich' },\n { class: 50, label: 'orange' },\n { class: 51, label: 'broccoli' },\n { class: 52, label: 'carrot' },\n { class: 53, label: 'hot dog' },\n { class: 54, label: 'pizza' },\n { class: 55, label: 'donut' },\n { class: 56, label: 'cake' },\n { class: 57, label: 'chair' },\n { class: 58, label: 'couch' },\n { class: 59, label: 'potted plant' },\n { class: 60, label: 'bed' },\n { class: 61, label: 'dining table' },\n { class: 62, label: 'toilet' },\n { class: 63, label: 'tv' },\n { class: 64, label: 'laptop' },\n { class: 65, label: 'mouse' },\n { class: 66, label: 'remote' },\n { class: 67, label: 'keyboard' },\n { class: 68, label: 'cell phone' },\n { class: 69, label: 'microwave' },\n { class: 70, label: 'oven' },\n { class: 71, label: 'toaster' },\n { class: 72, label: 'sink' },\n { class: 73, label: 'refrigerator' },\n { class: 74, label: 'book' },\n { class: 75, label: 'clock' },\n { class: 76, label: 'vase' },\n { class: 77, label: 'scissors' },\n { class: 78, label: 'teddy bear' },\n { class: 79, label: 'hair drier' },\n { class: 80, label: 'toothbrush' },\n];\n", "/**\n * CenterNet object detection model implementation\n *\n * Based on: [**MB3-CenterNet**](https://github.com/610265158/mobilenetv3_centernet)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport { labels } from './labels';\nimport type { ObjectResult, ObjectType, Box } from '../result';\nimport type { GraphModel, Tensor, Tensor1D, Tensor2D, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nlet model: GraphModel | null;\nlet inputSize = 0;\nlet last: ObjectResult[] = [];\nlet lastTime = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) {\n // fakeOps(['floormod'], config);\n model = await loadModel(config.object.modelPath);\n const inputs = model?.['executor'] ? Object.values(model.modelSignature['inputs']) : undefined;\n inputSize = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;\n } else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nasync function process(res: Tensor | null, outputShape: [number, number], config: Config) {\n if (!res) return [];\n const t: Record = {};\n const results: ObjectResult[] = [];\n const detections = await res.array() as number[][][];\n t.squeeze = tf.squeeze(res);\n const arr = tf.split(t.squeeze, 6, 1); // x1, y1, x2, y2, score, class\n t.stack = tf.stack([arr[1], arr[0], arr[3], arr[2]], 1); // reorder dims as tf.nms expects y, x\n t.boxes = tf.squeeze(t.stack);\n t.scores = tf.squeeze(arr[4]);\n t.classes = tf.squeeze(arr[5]);\n tf.dispose([res, ...arr]);\n t.nms = await tf.image.nonMaxSuppressionAsync(t.boxes as Tensor2D, t.scores as Tensor1D, config.object.maxDetected || 0, config.object.iouThreshold, (config.object.minConfidence || 0));\n const nms = await t.nms.data();\n let i = 0;\n for (const id of Array.from(nms)) {\n const score = Math.trunc(100 * detections[0][id][4]) / 100;\n const classVal = detections[0][id][5];\n if (Number.isNaN(classVal)) continue;\n const label = labels[classVal].label as ObjectType;\n const [x, y] = [\n detections[0][id][0] / inputSize,\n detections[0][id][1] / inputSize,\n ];\n const boxRaw: Box = [\n x,\n y,\n detections[0][id][2] / inputSize - x,\n detections[0][id][3] / inputSize - y,\n ];\n const box: Box = [\n Math.trunc(boxRaw[0] * outputShape[0]),\n Math.trunc(boxRaw[1] * outputShape[1]),\n Math.trunc(boxRaw[2] * outputShape[0]),\n Math.trunc(boxRaw[3] * outputShape[1]),\n ];\n results.push({ id: i++, score, class: classVal, label, box, boxRaw });\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return results;\n}\n\nexport async function predict(input: Tensor4D, config: Config): Promise {\n if (!model?.['executor']) return [];\n const skipTime = (config.object.skipTime || 0) > (now() - lastTime);\n const skipFrame = skipped < (config.object.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame && (last.length > 0)) {\n skipped++;\n return last;\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const outputSize = [input.shape[2] || 0, input.shape[1] || 0] as [number, number];\n const resize = tf.image.resizeBilinear(input, [inputSize, inputSize]);\n const objectT = config.object.enabled ? model?.execute(resize, ['tower_0/detections']) as Tensor : null;\n lastTime = now();\n tf.dispose(resize);\n\n const obj = await process(objectT, outputSize, config);\n last = obj;\n\n resolve(obj);\n });\n}\n", "export const kpt: string[] = [\n 'head',\n 'neck',\n 'rightShoulder',\n 'rightElbow',\n 'rightWrist',\n 'chest',\n 'leftShoulder',\n 'leftElbow',\n 'leftWrist',\n 'bodyCenter',\n 'rightHip',\n 'rightKnee',\n 'rightAnkle',\n 'leftHip',\n 'leftKnee',\n 'leftAnkle',\n];\n\nexport const connected: Record = {\n leftLeg: ['leftHip', 'leftKnee', 'leftAnkle'],\n rightLeg: ['rightHip', 'rightKnee', 'rightAnkle'],\n torso: ['leftShoulder', 'rightShoulder', 'rightHip', 'leftHip', 'leftShoulder'],\n leftArm: ['leftShoulder', 'leftElbow', 'leftWrist'],\n rightArm: ['rightShoulder', 'rightElbow', 'rightWrist'],\n head: [],\n};\n", "/**\n * EfficientPose model implementation\n *\n * Based on: [**EfficientPose**](https://github.com/daniegr/EfficientPose)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport * as coords from './efficientposecoords';\nimport { constants } from '../tfjs/constants';\nimport type { BodyResult, Point, BodyLandmark, BodyAnnotation } from '../result';\nimport type { GraphModel, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nlet model: GraphModel | null;\nlet lastTime = 0;\nconst cache: BodyResult = { id: 0, keypoints: [], box: [0, 0, 0, 0], boxRaw: [0, 0, 0, 0], score: 0, annotations: {} as Record };\n\n// const keypoints: Array = [];\n// let box: Box = [0, 0, 0, 0];\n// let boxRaw: Box = [0, 0, 0, 0];\n// let score = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.body.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\n// performs argmax and max functions on a 2d tensor\nasync function max2d(inputs, minScore): Promise<[number, number, number]> {\n const [width, height] = inputs.shape;\n const reshaped = tf.reshape(inputs, [height * width]); // combine all data\n const max = tf.max(reshaped, 0);\n const newScore: number = (await max.data())[0]; // get highest score\n if (newScore > minScore) { // skip coordinate calculation is score is too low\n const coordinates = tf.argMax(reshaped, 0);\n const mod = tf.mod(coordinates, width);\n const x = (await mod.data())[0];\n const div = tf.div(coordinates, width);\n const y: number = (await div.data())[0];\n tf.dispose([reshaped, max, coordinates, mod, div]);\n return [x, y, newScore];\n }\n tf.dispose([reshaped, max]);\n return [0, 0, newScore];\n}\n\nexport async function predict(image: Tensor4D, config: Config): Promise {\n if (!model?.['executor'] || !model?.inputs[0].shape) return [];\n const skipTime = (config.body.skipTime || 0) > (now() - lastTime);\n const skipFrame = skipped < (config.body.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame && Object.keys(cache.keypoints).length > 0) {\n skipped++;\n return [cache];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const tensor = tf.tidy(() => {\n const resize = tf.image.resizeBilinear(image, [model?.inputs[0].shape?.[2] || 0, model?.inputs[0].shape?.[1] || 0], false);\n const enhance = tf.mul(resize, constants.tf2);\n const norm = tf.sub(enhance, constants.tf1);\n return norm;\n });\n let resT;\n if (config.body.enabled) resT = model?.execute(tensor);\n lastTime = now();\n tf.dispose(tensor);\n\n if (resT) {\n cache.keypoints.length = 0;\n const squeeze = tf.squeeze(resT);\n tf.dispose(resT);\n // body parts are basically just a stack of 2d tensors\n const stack = tf.unstack(squeeze, 2);\n tf.dispose(squeeze);\n\n // process each unstacked tensor as a separate body part\n for (let id = 0; id < stack.length; id++) {\n // actual processing to get coordinates and score\n const [x, y, partScore] = await max2d(stack[id], config.body.minConfidence);\n if (partScore > (config.body.minConfidence || 0)) {\n cache.keypoints.push({\n score: Math.round(100 * partScore) / 100,\n part: coords.kpt[id] as BodyLandmark,\n positionRaw: [ // normalized to 0..1\n // @ts-ignore model is not undefined here\n x / model.inputs[0].shape[2], y / model.inputs[0].shape[1],\n ],\n position: [ // normalized to input image size\n // @ts-ignore model is not undefined here\n Math.round(image.shape[2] * x / model.inputs[0].shape[2]), Math.round(image.shape[1] * y / model.inputs[0].shape[1]),\n ],\n });\n }\n }\n stack.forEach((s) => tf.dispose(s));\n }\n cache.score = cache.keypoints.reduce((prev, curr) => (curr.score > prev ? curr.score : prev), 0);\n const x = cache.keypoints.map((a) => a.position[0]);\n const y = cache.keypoints.map((a) => a.position[1]);\n cache.box = [\n Math.min(...x),\n Math.min(...y),\n Math.max(...x) - Math.min(...x),\n Math.max(...y) - Math.min(...y),\n ];\n const xRaw = cache.keypoints.map((a) => a.positionRaw[0]);\n const yRaw = cache.keypoints.map((a) => a.positionRaw[1]);\n cache.boxRaw = [\n Math.min(...xRaw),\n Math.min(...yRaw),\n Math.max(...xRaw) - Math.min(...xRaw),\n Math.max(...yRaw) - Math.min(...yRaw),\n ];\n for (const [name, indexes] of Object.entries(coords.connected)) {\n const pt: Point[][] = [];\n for (let i = 0; i < indexes.length - 1; i++) {\n const pt0 = cache.keypoints.find((kpt) => kpt.part === indexes[i]);\n const pt1 = cache.keypoints.find((kpt) => kpt.part === indexes[i + 1]);\n if (pt0 && pt1 && pt0.score > (config.body.minConfidence || 0) && pt1.score > (config.body.minConfidence || 0)) pt.push([pt0.position, pt1.position]);\n }\n cache.annotations[name] = pt;\n }\n resolve([cache]);\n });\n}\n", "/**\n * BlazeFace, FaceMesh & Iris model implementation\n * See `facemesh.ts` for entry point\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport * as coords from './facemeshcoords';\nimport { constants } from '../tfjs/constants';\nimport type { Box, Point } from '../result';\nimport { env } from '../util/env';\n\nexport const createBox = (startEndTensor) => ({ startPoint: tf.slice(startEndTensor, [0, 0], [-1, 2]), endPoint: tf.slice(startEndTensor, [0, 2], [-1, 2]) });\n\nexport const disposeBox = (t) => tf.dispose([t.startPoint, t.endPoint]);\n\nexport const getBoxSize = (box): [number, number] => [Math.abs(box.endPoint[0] - box.startPoint[0]), Math.abs(box.endPoint[1] - box.startPoint[1])];\n\nexport const getBoxCenter = (box): [number, number, number] => [box.startPoint[0] + (box.endPoint[0] - box.startPoint[0]) / 2, box.startPoint[1] + (box.endPoint[1] - box.startPoint[1]) / 2, 1];\n\nexport const clampBox = (box, input): Box => (box ? [\n Math.trunc(Math.max(0, box.startPoint[0])),\n Math.trunc(Math.max(0, box.startPoint[1])),\n Math.trunc(Math.min((input.shape[2] || 0), box.endPoint[0]) - Math.max(0, box.startPoint[0])),\n Math.trunc(Math.min((input.shape[1] || 0), box.endPoint[1]) - Math.max(0, box.startPoint[1])),\n] : [0, 0, 0, 0]);\n\nexport const getRawBox = (box, input): Box => (box ? [\n box.startPoint[0] / (input.shape[2] || 0),\n box.startPoint[1] / (input.shape[1] || 0),\n (box.endPoint[0] - box.startPoint[0]) / (input.shape[2] || 0),\n (box.endPoint[1] - box.startPoint[1]) / (input.shape[1] || 0),\n] : [0, 0, 0, 0]);\n\nexport const scaleBoxCoordinates = (box, factor) => {\n const startPoint: Point = [box.startPoint[0] * factor[0], box.startPoint[1] * factor[1]];\n const endPoint: Point = [box.endPoint[0] * factor[0], box.endPoint[1] * factor[1]];\n return { startPoint, endPoint, landmarks: box.landmarks, confidence: box.confidence };\n};\n\nexport const cutAndResize = (box, image, cropSize) => {\n const h = image.shape[1];\n const w = image.shape[2];\n const cutBox = [box.startPoint[1] / h, box.startPoint[0] / w, box.endPoint[1] / h, box.endPoint[0] / w];\n const crop = tf.image.cropAndResize(image, [cutBox], [0], cropSize);\n const norm = tf.div(crop, constants.tf255);\n tf.dispose(crop);\n return norm;\n};\n\nexport const enlargeBox = (box, factor) => {\n const center = getBoxCenter(box);\n const size = getBoxSize(box);\n const halfSize: [number, number] = [factor * size[0] / 2, factor * size[1] / 2];\n return { startPoint: [center[0] - halfSize[0], center[1] - halfSize[1]] as Point, endPoint: [center[0] + halfSize[0], center[1] + halfSize[1]] as Point, landmarks: box.landmarks, confidence: box.confidence };\n};\n\nexport const squarifyBox = (box) => {\n const centers = getBoxCenter(box);\n const size = getBoxSize(box);\n const halfSize = Math.max(...size) / 2;\n return { startPoint: [Math.round(centers[0] - halfSize), Math.round(centers[1] - halfSize)] as Point, endPoint: [Math.round(centers[0] + halfSize), Math.round(centers[1] + halfSize)] as Point, landmarks: box.landmarks, confidence: box.confidence };\n};\n\nexport const calculateLandmarksBoundingBox = (landmarks) => {\n const x = landmarks.map((d) => d[0]);\n const y = landmarks.map((d) => d[1]);\n return { startPoint: [Math.min(...x), Math.min(...y)] as Point, endPoint: [Math.max(...x), Math.max(...y)] as Point, landmarks };\n};\n\nexport const fixedRotationMatrix = [[1, 0, 0], [0, 1, 0], [0, 0, 1]];\n\nexport const normalizeRadians = (angle: number) => angle - 2 * Math.PI * Math.floor((angle + Math.PI) / (2 * Math.PI));\n\nexport const computeRotation = (point1, point2) => normalizeRadians(Math.PI / 2 - Math.atan2(-(point2[1] - point1[1]), point2[0] - point1[0]));\n\nexport const radToDegrees = (rad) => rad * 180 / Math.PI;\n\nexport const buildTranslationMatrix = (x, y) => [[1, 0, x], [0, 1, y], [0, 0, 1]];\n\nexport const dot = (v1: number[], v2: number[]) => {\n let product = 0;\n for (let i = 0; i < v1.length; i++) product += v1[i] * v2[i];\n return product;\n};\n\nexport const getColumnFrom2DArr = (arr, columnIndex) => {\n const column: number[] = [];\n for (let i = 0; i < arr.length; i++) column.push(arr[i][columnIndex]);\n return column;\n};\n\nexport const multiplyTransformMatrices = (mat1, mat2) => {\n const product: number[][] = [];\n const size = mat1.length;\n for (let row = 0; row < size; row++) {\n product.push([]);\n for (let col = 0; col < size; col++) product[row].push(dot(mat1[row], getColumnFrom2DArr(mat2, col)));\n }\n return product;\n};\n\nexport const buildRotationMatrix = (rotation, center) => {\n const cosA = Math.cos(rotation);\n const sinA = Math.sin(rotation);\n const rotationMatrix = [[cosA, -sinA, 0], [sinA, cosA, 0], [0, 0, 1]];\n const translationMatrix = buildTranslationMatrix(center[0], center[1]);\n const translationTimesRotation = multiplyTransformMatrices(translationMatrix, rotationMatrix);\n const negativeTranslationMatrix = buildTranslationMatrix(-center[0], -center[1]);\n return multiplyTransformMatrices(translationTimesRotation, negativeTranslationMatrix);\n};\n\nexport const invertTransformMatrix = (matrix) => {\n const rotationComponent = [[matrix[0][0], matrix[1][0]], [matrix[0][1], matrix[1][1]]];\n const translationComponent = [matrix[0][2], matrix[1][2]];\n const invertedTranslation = [-dot(rotationComponent[0], translationComponent), -dot(rotationComponent[1], translationComponent)];\n return [rotationComponent[0].concat(invertedTranslation[0]), rotationComponent[1].concat(invertedTranslation[1]), [0, 0, 1]];\n};\n\nexport const rotatePoint = (homogeneousCoordinate, rotationMatrix) => [dot(homogeneousCoordinate, rotationMatrix[0]), dot(homogeneousCoordinate, rotationMatrix[1])];\n\nexport const xyDistanceBetweenPoints = (a, b) => Math.sqrt(((a[0] - b[0]) ** 2) + ((a[1] - b[1]) ** 2));\n\nexport function generateAnchors(inputSize: number) {\n const spec = inputSize === 192\n ? { strides: [4], anchors: [1] } // facemesh-detector\n : { strides: [inputSize / 16, inputSize / 8], anchors: [2, 6] }; // blazeface\n const anchors: [number, number][] = [];\n for (let i = 0; i < spec.strides.length; i++) {\n const stride = spec.strides[i];\n const gridRows = Math.floor((inputSize + stride - 1) / stride);\n const gridCols = Math.floor((inputSize + stride - 1) / stride);\n const anchorsNum = spec.anchors[i];\n for (let gridY = 0; gridY < gridRows; gridY++) {\n const anchorY = stride * (gridY + 0.5);\n for (let gridX = 0; gridX < gridCols; gridX++) {\n const anchorX = stride * (gridX + 0.5);\n for (let n = 0; n < anchorsNum; n++) anchors.push([anchorX, anchorY]);\n }\n }\n }\n return anchors;\n}\n\nexport function transformRawCoords(coordsRaw, box, angle, rotationMatrix, inputSize) {\n const boxSize = getBoxSize(box);\n const coordsScaled = coordsRaw.map((coord) => ([ // scaled around zero-point\n (boxSize[0] / inputSize) * (coord[0] - (inputSize / 2)),\n (boxSize[1] / inputSize) * (coord[1] - (inputSize / 2)),\n (coord[2] || 0),\n ]));\n const largeAngle = angle && (angle !== 0) && (Math.abs(angle) > 0.2);\n const coordsRotationMatrix = largeAngle ? buildRotationMatrix(angle, [0, 0]) : fixedRotationMatrix;\n const coordsRotated = largeAngle ? coordsScaled.map((coord) => ([...rotatePoint(coord, coordsRotationMatrix), coord[2]])) : coordsScaled;\n const inverseRotationMatrix = largeAngle ? invertTransformMatrix(rotationMatrix) : fixedRotationMatrix;\n const boxCenter = getBoxCenter(box);\n const offsets = [dot(boxCenter, inverseRotationMatrix[0]), dot(boxCenter, inverseRotationMatrix[1])];\n return coordsRotated.map((coord) => ([\n Math.trunc(coord[0] + offsets[0]),\n Math.trunc(coord[1] + offsets[1]),\n Math.trunc(coord[2] || 0),\n ]));\n}\n\nexport function correctFaceRotation(rotate, box, input, inputSize) {\n const symmetryLine = (box.landmarks.length >= coords.meshLandmarks.count)\n ? coords.meshLandmarks.symmetryLine\n : coords.blazeFaceLandmarks.symmetryLine;\n let angle = 0; // default\n let rotationMatrix = fixedRotationMatrix; // default\n let face; // default\n\n if (rotate && env.kernels.includes('rotatewithoffset')) {\n angle = computeRotation(box.landmarks[symmetryLine[0]], box.landmarks[symmetryLine[1]]);\n const largeAngle = angle && (angle !== 0) && (Math.abs(angle) > 0.2);\n if (largeAngle) { // perform rotation only if angle is sufficiently high\n const center: Point = getBoxCenter(box);\n const centerRaw: Point = [center[0] / input.shape[2], center[1] / input.shape[1]];\n const rotated = tf.image.rotateWithOffset(input, angle, 0, [centerRaw[0], centerRaw[1]]);\n rotationMatrix = buildRotationMatrix(-angle, center);\n face = cutAndResize(box, rotated, [inputSize, inputSize]);\n tf.dispose(rotated);\n } else {\n face = cutAndResize(box, input, [inputSize, inputSize]);\n }\n } else {\n face = cutAndResize(box, input, [inputSize, inputSize]);\n }\n return [angle, rotationMatrix, face];\n}\n\nexport const findFaceCenter = (mesh) => {\n const x = mesh.map((m) => m[0]);\n const y = mesh.map((m) => m[1]);\n // weighted center\n /*\n const sum = (arr: number[]) => arr.reduce((prev, curr) => prev + curr, 0);\n return [sum(x) / mesh.length, sum(y) / mesh.length];\n */\n // absolute center\n return [Math.min(...x) + (Math.max(...x) - Math.min(...x)) / 2, Math.min(...y) + (Math.max(...y) - Math.min(...y)) / 2];\n};\n\nexport const calculateFaceBox = (mesh, previousBox) => {\n const center = findFaceCenter(mesh);\n const boxSize = getBoxSize(previousBox);\n const calculatedBox = {\n startPoint: [center[0] - boxSize[0] / 2, center[1] - boxSize[1] / 2] as Point,\n endPoint: [center[0] + boxSize[0] / 2, center[1] + boxSize[1] / 2] as Point,\n };\n return calculatedBox;\n};\n", "/**\n * BlazeFace, FaceMesh & Iris model implementation\n * See `facemesh.ts` for entry point\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log } from '../util/util';\nimport * as util from './facemeshutil';\nimport { loadModel } from '../tfjs/load';\nimport { constants } from '../tfjs/constants';\nimport type { Config } from '../config';\nimport type { Tensor, GraphModel, Tensor1D, Tensor2D, Tensor4D } from '../tfjs/types';\nimport { env } from '../util/env';\nimport type { Point } from '../result';\n\nconst keypointsCount = 6;\nconst faceBoxScaleFactor = 1.4;\nlet model: GraphModel | null;\nlet anchors: Tensor | null = null;\nlet inputSize = 0;\nlet inputSizeT: Tensor | null = null;\n\ninterface DetectBox { startPoint: Point, endPoint: Point, landmarks: Point[], confidence: number }\n\nexport const size = () => inputSize;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face.detector?.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n inputSize = (model['executor'] && model.inputs[0].shape) ? model.inputs[0].shape[2] : 256;\n inputSizeT = tf.scalar(inputSize, 'int32') as Tensor;\n anchors = tf.tensor2d(util.generateAnchors(inputSize)) as Tensor;\n return model;\n}\n\nfunction decodeBoxes(boxOutputs: Tensor) {\n if (!anchors || !inputSizeT) return tf.zeros([0, 0]);\n const t: Record = {};\n t.boxStarts = tf.slice(boxOutputs, [0, 1], [-1, 2]);\n t.centers = tf.add(t.boxStarts, anchors);\n t.boxSizes = tf.slice(boxOutputs, [0, 3], [-1, 2]);\n t.boxSizesNormalized = tf.div(t.boxSizes, inputSizeT);\n t.centersNormalized = tf.div(t.centers, inputSizeT);\n t.halfBoxSize = tf.div(t.boxSizesNormalized, constants.tf2);\n t.starts = tf.sub(t.centersNormalized, t.halfBoxSize);\n t.ends = tf.add(t.centersNormalized, t.halfBoxSize);\n t.startNormalized = tf.mul(t.starts, inputSizeT);\n t.endNormalized = tf.mul(t.ends, inputSizeT);\n const boxes = tf.concat2d([t.startNormalized as Tensor2D, t.endNormalized as Tensor2D], 1);\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return boxes;\n}\n\nexport async function getBoxes(inputImage: Tensor4D, config: Config) {\n // sanity check on input\n if ((!inputImage) || (inputImage['isDisposedInternal']) || (inputImage.shape.length !== 4) || (inputImage.shape[1] < 1) || (inputImage.shape[2] < 1)) return [];\n const t: Record = {};\n t.resized = tf.image.resizeBilinear(inputImage, [inputSize, inputSize]);\n t.div = tf.div(t.resized, constants.tf127);\n t.normalized = tf.sub(t.div, constants.tf05);\n const res = model?.execute(t.normalized) as Tensor[];\n if (Array.isArray(res) && res.length > 2) { // pinto converted model?\n const sorted = res.sort((a, b) => a.size - b.size);\n t.concat384 = tf.concat([sorted[0], sorted[2]], 2); // dim: 384, 1 + 16\n t.concat512 = tf.concat([sorted[1], sorted[3]], 2); // dim: 512, 1 + 16\n t.concat = tf.concat([t.concat512, t.concat384], 1);\n t.batch = tf.squeeze(t.concat, [0]);\n } else if (Array.isArray(res)) { // new facemesh-detection tfhub model\n t.batch = tf.squeeze(res[0]);\n } else { // original blazeface tfhub model\n t.batch = tf.squeeze(res);\n }\n tf.dispose(res);\n t.boxes = decodeBoxes(t.batch);\n t.logits = tf.slice(t.batch, [0, 0], [-1, 1]);\n t.sigmoid = tf.sigmoid(t.logits);\n t.scores = tf.squeeze(t.sigmoid);\n t.nms = await tf.image.nonMaxSuppressionAsync(t.boxes as Tensor2D, t.scores as Tensor1D, (config.face.detector?.maxDetected || 0), (config.face.detector?.iouThreshold || 0), (config.face.detector?.minConfidence || 0));\n const nms = await t.nms.array() as number[];\n const boxes: DetectBox[] = [];\n const scores = await t.scores.data();\n for (let i = 0; i < nms.length; i++) {\n const confidence = scores[nms[i]];\n if (confidence > (config.face.detector?.minConfidence || 0)) {\n const b: Record = {};\n b.bbox = tf.slice(t.boxes, [nms[i], 0], [1, -1]);\n b.slice = tf.slice(t.batch, [nms[i], keypointsCount - 1], [1, -1]);\n b.squeeze = tf.squeeze(b.slice);\n b.landmarks = tf.reshape(b.squeeze, [keypointsCount, -1]);\n const points = await b.bbox.data();\n const rawBox = {\n startPoint: [points[0], points[1]] as Point,\n endPoint: [points[2], points[3]] as Point,\n landmarks: (await b.landmarks.array()) as Point[],\n confidence,\n };\n const scaledBox = util.scaleBoxCoordinates(rawBox, [(inputImage.shape[2] || 0) / inputSize, (inputImage.shape[1] || 0) / inputSize]);\n const enlargedBox = util.enlargeBox(scaledBox, config.face['scale'] || faceBoxScaleFactor);\n const squaredBox = util.squarifyBox(enlargedBox);\n boxes.push(squaredBox);\n Object.keys(b).forEach((tensor) => tf.dispose(b[tensor]));\n }\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return boxes;\n}\n", "import * as tf from 'dist/tfjs.esm.js';\nimport * as coords from './facemeshcoords';\nimport * as util from './facemeshutil';\nimport type { Tensor, GraphModel } from '../tfjs/types';\nimport { env } from '../util/env';\nimport { log } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport type { Config } from '../config';\nimport type { Point } from '../result';\n\nlet model: GraphModel | null;\nlet inputSize = 0;\n\nconst irisEnlarge = 2.3;\n\nconst leftOutline = coords.meshAnnotations.leftEyeLower0;\nconst rightOutline = coords.meshAnnotations.rightEyeLower0;\n\nconst eyeLandmarks = {\n leftBounds: [leftOutline[0], leftOutline[leftOutline.length - 1]],\n rightBounds: [rightOutline[0], rightOutline[rightOutline.length - 1]],\n};\n\nconst irisLandmarks = {\n upperCenter: 3,\n lowerCenter: 4,\n index: 71,\n numCoordinates: 76,\n};\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face.iris?.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n inputSize = (model?.['executor'] && model.inputs?.[0].shape) ? model.inputs[0].shape[2] : 0;\n if (inputSize === -1) inputSize = 64;\n return model;\n}\n\n// Replace the raw coordinates returned by facemesh with refined iris model coordinates and update the z coordinate to be an average of the original and the new.\nexport function replaceIrisCoords(rawCoords, newCoords, prefix, keys) {\n for (let i = 0; i < coords.irisIndices.length; i++) {\n const { key, indices } = coords.irisIndices[i];\n const originalIndices = coords.meshAnnotations[`${prefix}${key}`];\n if (!keys || keys.includes(key)) {\n for (let j = 0; j < indices.length; j++) {\n const index = indices[j];\n rawCoords[originalIndices[j]] = [\n newCoords[index][0],\n newCoords[index][1],\n (newCoords[index][2] + rawCoords[originalIndices[j]][2]) / 2,\n ];\n }\n }\n }\n}\n\nexport const getLeftToRightEyeDepthDifference = (rawCoords) => {\n const leftEyeZ = rawCoords[eyeLandmarks.leftBounds[0]][2];\n const rightEyeZ = rawCoords[eyeLandmarks.rightBounds[0]][2];\n return leftEyeZ - rightEyeZ;\n};\n\n// Returns a box describing a cropped region around the eye fit for passing to the iris model.\nexport const getEyeBox = (rawCoords, face, eyeInnerCornerIndex, eyeOuterCornerIndex, meshSize, flip = false) => {\n const box = util.squarifyBox(util.enlargeBox(util.calculateLandmarksBoundingBox([rawCoords[eyeInnerCornerIndex], rawCoords[eyeOuterCornerIndex]]), irisEnlarge));\n const boxSize = util.getBoxSize(box);\n let crop = tf.image.cropAndResize(face, [[\n box.startPoint[1] / meshSize,\n box.startPoint[0] / meshSize, box.endPoint[1] / meshSize,\n box.endPoint[0] / meshSize,\n ]], [0], [inputSize, inputSize]);\n if (flip && env.kernels.includes('flipleftright')) {\n const flipped = tf.image.flipLeftRight(crop); // flipLeftRight is not defined for tfjs-node\n tf.dispose(crop);\n crop = flipped;\n }\n return { box, boxSize, crop };\n};\n\n// Given a cropped image of an eye, returns the coordinates of the contours surrounding the eye and the iris.\nexport const getEyeCoords = (eyeData, eyeBox, eyeBoxSize, flip = false) => {\n const eyeRawCoords: Point[] = [];\n for (let i = 0; i < irisLandmarks.numCoordinates; i++) {\n const x = eyeData[i * 3];\n const y = eyeData[i * 3 + 1];\n const z = eyeData[i * 3 + 2];\n eyeRawCoords.push([\n (flip ? (1 - (x / inputSize)) : (x / inputSize)) * eyeBoxSize[0] + eyeBox.startPoint[0],\n (y / inputSize) * eyeBoxSize[1] + eyeBox.startPoint[1], z,\n ]);\n }\n return { rawCoords: eyeRawCoords, iris: eyeRawCoords.slice(irisLandmarks.index) };\n};\n\n// The z-coordinates returned for the iris are unreliable, so we take the z values from the surrounding keypoints.\nexport const getAdjustedIrisCoords = (rawCoords, irisCoords, direction) => {\n const upperCenterZ = rawCoords[coords.meshAnnotations[`${direction}EyeUpper0`][irisLandmarks.upperCenter]][2];\n const lowerCenterZ = rawCoords[coords.meshAnnotations[`${direction}EyeLower0`][irisLandmarks.lowerCenter]][2];\n const averageZ = (upperCenterZ + lowerCenterZ) / 2;\n // Iris indices: 0: center | 1: right | 2: above | 3: left | 4: below\n return irisCoords.map((coord, i) => {\n let z = averageZ;\n if (i === 2) {\n z = upperCenterZ;\n } else if (i === 4) {\n z = lowerCenterZ;\n }\n return [coord[0], coord[1], z];\n });\n};\n\nexport async function augmentIris(rawCoords, face, meshSize) {\n if (!model?.['executor']) return rawCoords;\n const { box: leftEyeBox, boxSize: leftEyeBoxSize, crop: leftEyeCrop } = getEyeBox(rawCoords, face, eyeLandmarks.leftBounds[0], eyeLandmarks.leftBounds[1], meshSize, true);\n const { box: rightEyeBox, boxSize: rightEyeBoxSize, crop: rightEyeCrop } = getEyeBox(rawCoords, face, eyeLandmarks.rightBounds[0], eyeLandmarks.rightBounds[1], meshSize, true);\n const combined = tf.concat([leftEyeCrop, rightEyeCrop]);\n tf.dispose(leftEyeCrop);\n tf.dispose(rightEyeCrop);\n const eyePredictions = model.execute(combined) as Tensor;\n tf.dispose(combined);\n const eyePredictionsData = await eyePredictions.data();\n tf.dispose(eyePredictions);\n const leftEyeData = eyePredictionsData.slice(0, irisLandmarks.numCoordinates * 3);\n const { rawCoords: leftEyeRawCoords, iris: leftIrisRawCoords } = getEyeCoords(leftEyeData, leftEyeBox, leftEyeBoxSize, true);\n const rightEyeData = eyePredictionsData.slice(irisLandmarks.numCoordinates * 3);\n const { rawCoords: rightEyeRawCoords, iris: rightIrisRawCoords } = getEyeCoords(rightEyeData, rightEyeBox, rightEyeBoxSize, false);\n const leftToRightEyeDepthDifference = getLeftToRightEyeDepthDifference(rawCoords);\n if (Math.abs(leftToRightEyeDepthDifference) < 30) { // User is looking straight ahead.\n replaceIrisCoords(rawCoords, leftEyeRawCoords, 'left', null);\n replaceIrisCoords(rawCoords, rightEyeRawCoords, 'right', null);\n // If the user is looking to the left or to the right, the iris coordinates tend to diverge too much from the mesh coordinates for them to be merged so we only update a single contour line above and below the eye.\n } else if (leftToRightEyeDepthDifference < 1) { // User is looking towards the right.\n replaceIrisCoords(rawCoords, leftEyeRawCoords, 'left', ['EyeUpper0', 'EyeLower0']);\n } else { // User is looking towards the left.\n replaceIrisCoords(rawCoords, rightEyeRawCoords, 'right', ['EyeUpper0', 'EyeLower0']);\n }\n const adjustedLeftIrisCoords = getAdjustedIrisCoords(rawCoords, leftIrisRawCoords, 'left');\n const adjustedRightIrisCoords = getAdjustedIrisCoords(rawCoords, rightIrisRawCoords, 'right');\n const newCoords = rawCoords.concat(adjustedLeftIrisCoords).concat(adjustedRightIrisCoords);\n return newCoords;\n}\n", "import * as constants from './constants';\nimport type { Tensor } from '../tfjs/types';\n\nexport async function augment(rawCoords, results: Tensor[]) {\n const t: Record = { // all attention models produce 2d results so it needs to be later augmented with correct z-coords\n // mesh: results[0], // already have it in rawCoords // output_mesh_identity\n // flag: results[1], // already processed in parent // conv_faceflag\n lips: await results.filter((r) => r.size === 160)?.[0]?.data() as Float32Array, // 80 x 2d = 160 // output_lips\n irisL: await results.filter((r) => r.size === 10)?.[0]?.data() as Float32Array, // 5 x 2d = 10 // output_right_iris\n eyeL: await results.filter((r) => r.size === 142)?.[0]?.data() as Float32Array, // 71 x 2d = 142 // output_right_eye\n irisR: await results.filter((r) => r.size === 10)?.[1]?.data() as Float32Array, // 5 x 2d = 10 // output_left_iris\n eyeR: await results.filter((r) => r.size === 142)?.[1]?.data() as Float32Array, // 71 x 2d = 142// output_left_eye\n };\n for (const val of Object.values(t)) {\n if (!val) return rawCoords; // could not find tensor\n }\n\n // augment iris: adds additional 5 keypoints per eye\n const irisLDepth = constants.LANDMARKS_REFINEMENT_LEFT_EYE_CONFIG.reduce((prev, curr) => prev += rawCoords[curr][2], 0) / constants.LANDMARKS_REFINEMENT_LEFT_EYE_CONFIG.length; // get average z-coord for iris\n for (let i = 0; i < t.irisL.length / 2; i++) rawCoords.push([t.irisL[2 * i + 0], t.irisL[2 * i + 1], irisLDepth]);\n const irisRDepth = constants.LANDMARKS_REFINEMENT_RIGHT_EYE_CONFIG.reduce((prev, curr) => prev += rawCoords[curr][2], 0) / constants.LANDMARKS_REFINEMENT_RIGHT_EYE_CONFIG.length; // get average z-coord for iris\n for (let i = 0; i < t.irisR.length / 2; i++) rawCoords.push([t.irisR[2 * i + 0], t.irisR[2 * i + 1], irisRDepth]);\n\n // augment eyes: replaces eye keypoints based on heuristic mapping\n for (let i = 0; i < t.eyeL.length / 2; i++) rawCoords[constants.LANDMARKS_REFINEMENT_LEFT_EYE_CONFIG[i]] = [t.eyeL[2 * i + 0], t.eyeL[2 * i + 1], rawCoords[constants.LANDMARKS_REFINEMENT_LEFT_EYE_CONFIG[i]][2]];\n for (let i = 0; i < t.eyeR.length / 2; i++) rawCoords[constants.LANDMARKS_REFINEMENT_RIGHT_EYE_CONFIG[i]] = [t.eyeR[2 * i + 0], t.eyeR[2 * i + 1], rawCoords[constants.LANDMARKS_REFINEMENT_RIGHT_EYE_CONFIG[i]][2]];\n\n // augment lips: replaces eye keypoints based on heuristic mapping\n for (let i = 0; i < t.lips.length / 2; i++) rawCoords[constants.LANDMARKS_REFINEMENT_LIPS_CONFIG[i]] = [t.lips[2 * i + 0], t.lips[2 * i + 1], rawCoords[constants.LANDMARKS_REFINEMENT_LIPS_CONFIG[i]][2]];\n\n return rawCoords;\n}\n", "/**\n * BlazeFace, FaceMesh & Iris model implementation\n *\n * Based on:\n * - [**MediaPipe BlazeFace**](https://drive.google.com/file/d/1f39lSzU5Oq-j_OXgS67KfN5wNsoeAZ4V/view)\n * - Facial Spacial Geometry: [**MediaPipe FaceMesh**](https://drive.google.com/file/d/1VFC_wIpw4O7xBOiTgUldl79d9LA-LsnA/view)\n * - Eye Iris Details: [**MediaPipe Iris**](https://drive.google.com/file/d/1bsWbokp9AklH2ANjCfmjqEzzxO1CNbMu/view)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport * as blazeface from './blazeface';\nimport * as util from './facemeshutil';\nimport * as coords from './facemeshcoords';\nimport * as iris from './iris';\nimport * as attention from './attention';\nimport { histogramEqualization } from '../image/enhance';\nimport { env } from '../util/env';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport type { FaceResult, FaceLandmark, Point } from '../result';\nimport type { Config } from '../config';\n\ninterface DetectBox { startPoint: Point, endPoint: Point, landmarks: Point[], confidence: number }\n\nconst cache = {\n boxes: [] as DetectBox[],\n skipped: Number.MAX_SAFE_INTEGER,\n timestamp: 0,\n};\n\nlet model: GraphModel | null = null;\nlet inputSize = 0;\n\nexport async function predict(input: Tensor4D, config: Config): Promise {\n if (!model?.['executor']) return [];\n // reset cached boxes\n const skipTime = (config.face.detector?.skipTime || 0) > (now() - cache.timestamp);\n const skipFrame = cache.skipped < (config.face.detector?.skipFrames || 0);\n if (!config.skipAllowed || !skipTime || !skipFrame || cache.boxes.length === 0) {\n cache.boxes = await blazeface.getBoxes(input, config); // get results from blazeface detector\n cache.timestamp = now();\n cache.skipped = 0;\n } else {\n cache.skipped++;\n }\n const faces: FaceResult[] = [];\n const newCache: DetectBox[] = [];\n let id = 0;\n const size = inputSize;\n for (let i = 0; i < cache.boxes.length; i++) {\n const box = cache.boxes[i];\n let angle = 0;\n let rotationMatrix;\n const face: FaceResult = { // init face result\n id: id++,\n mesh: [],\n meshRaw: [],\n box: [0, 0, 0, 0],\n boxRaw: [0, 0, 0, 0],\n score: 0,\n boxScore: 0,\n faceScore: 0,\n // contoursRaw: [],\n // contours: [],\n annotations: {} as Record,\n };\n\n // optional rotation correction based on detector data only if mesh is disabled otherwise perform it later when we have more accurate mesh data. if no rotation correction this function performs crop\n [angle, rotationMatrix, face.tensor] = util.correctFaceRotation(config.face.detector?.rotation, box, input, config.face.mesh?.enabled ? inputSize : blazeface.size());\n if (config.filter.equalization) {\n const equilized = face.tensor ? await histogramEqualization(face.tensor) : undefined;\n tf.dispose(face.tensor);\n if (equilized) face.tensor = equilized;\n }\n face.boxScore = Math.round(100 * box.confidence) / 100;\n if (!config.face.mesh?.enabled) { // mesh not enabled, return resuts from detector only\n face.box = util.clampBox(box, input);\n face.boxRaw = util.getRawBox(box, input);\n face.score = face.boxScore;\n face.mesh = box.landmarks.map((pt) => [\n ((box.startPoint[0] + box.endPoint[0])) / 2 + ((box.endPoint[0] + box.startPoint[0]) * pt[0] / blazeface.size()),\n ((box.startPoint[1] + box.endPoint[1])) / 2 + ((box.endPoint[1] + box.startPoint[1]) * pt[1] / blazeface.size()),\n ]);\n face.meshRaw = face.mesh.map((pt) => [pt[0] / (input.shape[2] || 0), pt[1] / (input.shape[1] || 0), (pt[2] || 0) / size]);\n for (const key of Object.keys(coords.blazeFaceLandmarks)) {\n face.annotations[key] = [face.mesh[coords.blazeFaceLandmarks[key] as number]]; // add annotations\n }\n } else if (!model) { // mesh enabled, but not loaded\n if (config.debug) log('face mesh detection requested, but model is not loaded');\n } else { // mesh enabled\n if (config.face.attention?.enabled && !env.kernels.includes('atan2')) {\n config.face.attention.enabled = false;\n tf.dispose(face.tensor);\n return faces;\n }\n const results = model.execute(face.tensor as Tensor) as Tensor[];\n const confidenceT = results.find((t) => t.shape[t.shape.length - 1] === 1) as Tensor;\n const faceConfidence = await confidenceT.data();\n face.faceScore = Math.round(100 * faceConfidence[0]) / 100;\n if (face.faceScore < (config.face.detector?.minConfidence || 1)) { // low confidence in detected mesh\n box.confidence = face.faceScore; // reset confidence of cached box\n if (config.face.mesh.keepInvalid) {\n face.box = util.clampBox(box, input);\n face.boxRaw = util.getRawBox(box, input);\n face.score = face.boxScore;\n face.mesh = box.landmarks.map((pt) => [\n ((box.startPoint[0] + box.endPoint[0])) / 2 + ((box.endPoint[0] + box.startPoint[0]) * pt[0] / blazeface.size()),\n ((box.startPoint[1] + box.endPoint[1])) / 2 + ((box.endPoint[1] + box.startPoint[1]) * pt[1] / blazeface.size()),\n ]);\n face.meshRaw = face.mesh.map((pt) => [pt[0] / (input.shape[2] || 1), pt[1] / (input.shape[1] || 1), (pt[2] || 0) / size]);\n for (const key of Object.keys(coords.blazeFaceLandmarks)) {\n face.annotations[key] = [face.mesh[coords.blazeFaceLandmarks[key] as number]]; // add annotations\n }\n }\n } else {\n const meshT = results.find((t) => t.shape[t.shape.length - 1] === 1404) as Tensor;\n const coordsReshaped = tf.reshape(meshT, [-1, 3]);\n let rawCoords = await coordsReshaped.array();\n tf.dispose(coordsReshaped);\n if (config.face.attention?.enabled) {\n rawCoords = await attention.augment(rawCoords, results); // augment iris results using attention model results\n } else if (config.face.iris?.enabled) {\n rawCoords = await iris.augmentIris(rawCoords, face.tensor, inputSize); // run iris model and augment results\n }\n face.mesh = util.transformRawCoords(rawCoords, box, angle, rotationMatrix, inputSize); // get processed mesh\n face.meshRaw = face.mesh.map((pt) => [pt[0] / (input.shape[2] || 0), pt[1] / (input.shape[1] || 0), (pt[2] || 0) / size]);\n for (const key of Object.keys(coords.meshAnnotations)) face.annotations[key] = coords.meshAnnotations[key].map((index) => face.mesh[index]); // add annotations\n face.score = face.faceScore;\n const calculatedBox = { ...util.calculateFaceBox(face.mesh, box), confidence: box.confidence, landmarks: box.landmarks };\n face.box = util.clampBox(calculatedBox, input);\n face.boxRaw = util.getRawBox(calculatedBox, input);\n /*\n const contoursT = results.find((t) => t.shape[t.shape.length - 1] === 266) as Tensor;\n const contoursData = contoursT && await contoursT.data(); // 133 x 2d points\n face.contoursRaw = [];\n for (let j = 0; j < contoursData.length / 2; j++) face.contoursRaw.push([contoursData[2 * j + 0] / inputSize, contoursData[2 * j + 1] / inputSize]);\n face.contours = face.contoursRaw.map((c) => [Math.trunc((input.shape[2] || 1) * c[0]), Math.trunc((input.shape[1] || 1) * c[1])]);\n */\n newCache.push(calculatedBox);\n }\n tf.dispose(results);\n }\n if (face.score > (config.face.detector?.minConfidence || 1)) faces.push(face);\n else tf.dispose(face.tensor);\n }\n cache.boxes = newCache; // reset cache\n return faces;\n}\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (config.face.attention?.enabled && model?.['signature']) {\n if (Object.keys(model?.['signature']?.outputs || {}).length < 6) model = null;\n }\n if (!model) {\n if (config.face.attention?.enabled) model = await loadModel(config.face.attention.modelPath);\n else model = await loadModel(config.face.mesh?.modelPath);\n } else if (config.debug) {\n log('cached model:', model['modelUrl']);\n }\n inputSize = (model['executor'] && model?.inputs?.[0].shape) ? model?.inputs?.[0].shape[2] : 256;\n return model;\n}\n\nexport const triangulation = coords.TRI468;\nexport const uvmap = coords.UV468;\n", "/**\n * Emotion model implementation\n *\n * [**Oarriaga**](https://github.com/oarriaga/face_classification)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport type { Emotion } from '../result';\nimport { log, now } from '../util/util';\nimport type { Config } from '../config';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport { loadModel } from '../tfjs/load';\nimport { env } from '../util/env';\nimport { constants } from '../tfjs/constants';\n\nconst annotations = ['angry', 'disgust', 'fear', 'happy', 'sad', 'surprise', 'neutral'];\nlet model: GraphModel | null;\nconst last: { score: number, emotion: Emotion }[][] = [];\nlet lastCount = 0;\nlet lastTime = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face.emotion?.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(image: Tensor4D, config: Config, idx: number, count: number): Promise<{ score: number, emotion: Emotion }[]> {\n if (!model) return [];\n const skipFrame = skipped < (config.face.emotion?.skipFrames || 0);\n const skipTime = (config.face.emotion?.skipTime || 0) > (now() - lastTime);\n if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && last[idx] && (last[idx].length > 0)) {\n skipped++;\n return last[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const obj: { score: number, emotion: Emotion }[] = [];\n if (config.face.emotion?.enabled) {\n const t: Record = {};\n const inputSize = model?.inputs[0].shape ? model.inputs[0].shape[2] : 0;\n t.resize = tf.image.resizeBilinear(image, [inputSize, inputSize], false);\n // const box = [[0.15, 0.15, 0.85, 0.85]]; // empyrical values for top, left, bottom, right\n // const resize = tf.image.cropAndResize(image, box, [0], [inputSize, inputSize]);\n // [t.red, t.green, t.blue] = tf.split(t.resize, 3, 3);\n // weighted rgb to grayscale: https://www.mathworks.com/help/matlab/ref/rgb2gray.html\n // t.redNorm = tf.mul(t.red, rgb[0]);\n // t.greenNorm = tf.mul(t.green, rgb[1]);\n // t.blueNorm = tf.mul(t.blue, rgb[2]);\n // t.grayscale = tf.addN([t.redNorm, t.greenNorm, t.blueNorm]);\n t.channels = tf.mul(t.resize, constants.rgb);\n t.grayscale = tf.sum(t.channels, 3, true);\n t.grayscaleSub = tf.sub(t.grayscale, constants.tf05);\n t.grayscaleMul = tf.mul(t.grayscaleSub, constants.tf2);\n t.emotion = model?.execute(t.grayscaleMul) as Tensor; // result is already in range 0..1, no need for additional activation\n lastTime = now();\n const data = await t.emotion.data();\n for (let i = 0; i < data.length; i++) {\n if (data[i] > (config.face.emotion.minConfidence || 0)) obj.push({ score: Math.min(0.99, Math.trunc(100 * data[i]) / 100), emotion: annotations[i] as Emotion });\n }\n obj.sort((a, b) => b.score - a.score);\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n }\n last[idx] = obj;\n lastCount = count;\n resolve(obj);\n });\n}\n", "/**\n * FaceRes model implementation\n *\n * Returns Age, Gender, Descriptor\n * Implements Face similarity function\n *\n * Based on: [**HSE-FaceRes**](https://github.com/HSE-asavchenko/HSE_FaceRec_tf)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { env } from '../util/env';\nimport { loadModel } from '../tfjs/load';\nimport { constants } from '../tfjs/constants';\nimport type { Tensor, GraphModel, Tensor4D, Tensor1D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport type { Gender, Race } from '../result';\n\nexport interface FaceRes { age: number, gender: Gender, genderScore: number, descriptor: number[], race?: { score: number, race: Race }[] }\n\nlet model: GraphModel | null;\nconst last: FaceRes[] = [];\n\nlet lastTime = 0;\nlet lastCount = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face.description?.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport function enhance(input): Tensor {\n const tensor = (input.image || input.tensor || input) as Tensor4D; // input received from detector is already normalized to 0..1, input is also assumed to be straightened\n if (!model?.inputs[0].shape) return tensor; // model has no shape so no point continuing\n const crop: Tensor = tf.image.resizeBilinear(tensor, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n const norm: Tensor = tf.mul(crop, constants.tf255);\n tf.dispose(crop);\n return norm;\n /*\n // do a tight crop of image and resize it to fit the model\n const box = [[0.05, 0.15, 0.85, 0.85]]; // empyrical values for top, left, bottom, right\n const crop = (tensor.shape.length === 3)\n ? tf.image.cropAndResize(tf.expandDims(tensor, 0), box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]) // add batch dimension if missing\n : tf.image.cropAndResize(tensor, box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n */\n /*\n // convert to black&white to avoid colorization impact\n const rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when converting to grayscale: https://www.mathworks.com/help/matlab/ref/rgb2gray.html\n const [red, green, blue] = tf.split(crop, 3, 3);\n const redNorm = tf.mul(red, rgb[0]);\n const greenNorm = tf.mul(green, rgb[1]);\n const blueNorm = tf.mul(blue, rgb[2]);\n const grayscale = tf.addN([redNorm, greenNorm, blueNorm]);\n const merge = tf.stack([grayscale, grayscale, grayscale], 3).squeeze(4);\n */\n}\n\nexport async function predict(image: Tensor4D, config: Config, idx: number, count: number): Promise {\n const obj: FaceRes = {\n age: 0 as number,\n gender: 'unknown' as Gender,\n genderScore: 0 as number,\n descriptor: [] as number[],\n };\n if (!model?.['executor']) return obj;\n const skipFrame = skipped < (config.face.description?.skipFrames || 0);\n const skipTime = (config.face.description?.skipTime || 0) > (now() - lastTime);\n if (config.skipAllowed && skipFrame && skipTime && (lastCount === count) && (last?.[idx]?.age > 0) && (last?.[idx]?.genderScore > 0)) {\n skipped++;\n return last[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n if (config.face.description?.enabled) {\n const enhanced = enhance(image);\n const resT = model?.execute(enhanced) as Tensor[];\n lastTime = now();\n tf.dispose(enhanced);\n const genderT = resT.find((t) => t.shape[1] === 1) as Tensor;\n const gender = await genderT.data();\n const confidence = Math.trunc(200 * Math.abs((gender[0] - 0.5))) / 100;\n if (confidence > (config.face.description.minConfidence || 0)) {\n obj.gender = gender[0] <= 0.5 ? 'female' : 'male';\n obj.genderScore = Math.min(0.99, confidence);\n }\n const argmax = tf.argMax(resT.find((t) => t.shape[1] === 100) as Tensor1D, 1);\n const ageIdx: number = (await argmax.data())[0];\n tf.dispose(argmax);\n const ageT = resT.find((t) => t.shape[1] === 100) as Tensor;\n const all = await ageT.data();\n obj.age = Math.round(all[ageIdx - 1] > all[ageIdx + 1] ? 10 * ageIdx - 100 * all[ageIdx - 1] : 10 * ageIdx + 100 * all[ageIdx + 1]) / 10;\n\n if (Number.isNaN(gender[0]) || Number.isNaN(all[0])) log('faceres error:', { model, result: resT });\n\n const desc = resT.find((t) => t.shape[1] === 1024);\n // const reshape = desc.reshape([128, 8]); // reshape large 1024-element descriptor to 128 x 8\n // const reduce = reshape.logSumExp(1); // reduce 2nd dimension by calculating logSumExp on it which leaves us with 128-element descriptor\n const descriptor = desc ? await desc.data() : [] as number[];\n obj.descriptor = Array.from(descriptor);\n resT.forEach((t) => tf.dispose(t));\n }\n last[idx] = obj;\n lastCount = count;\n resolve(obj);\n });\n}\n", "import type { Tensor } from '../tfjs/types';\nimport type { FaceResult } from '../result';\n// import * as tf from 'dist/tfjs.esm.js';\nimport { meshAnnotations } from './facemeshcoords';\n\nconst expandFact = 0.1;\nconst alpha = 0.5;\n\n// point inclusion in polygon based on https://wrf.ecse.rpi.edu/Research/Short_Notes/pnpoly.html\nfunction insidePoly(x: number, y: number, polygon: { x: number, y: number }[]): boolean {\n let inside = false;\n let j = polygon.length - 1;\n for (let i = 0; i < polygon.length; j = i++) {\n if (((polygon[i].y > y) !== (polygon[j].y > y)) && (x < (polygon[j].x - polygon[i].x) * (y - polygon[i].y) / (polygon[j].y - polygon[i].y) + polygon[i].x)) inside = !inside;\n }\n return inside;\n}\n\nexport async function mask(face: FaceResult): Promise {\n if (!face.tensor) return face.tensor;\n if (!face.mesh || face.mesh.length < 100) return face.tensor;\n const width = face.tensor.shape[2] || 0;\n const height = face.tensor.shape[1] || 0;\n const buffer = await face.tensor.buffer();\n let silhouette: { x: number, y: number }[] = [];\n for (const pt of meshAnnotations.silhouette) silhouette.push({ x: (face.mesh[pt][0] - face.box[0]) / face.box[2], y: (face.mesh[pt][1] - face.box[1]) / face.box[3] }); // add all silhouette points scaled to local box\n if (expandFact && expandFact > 0) silhouette = silhouette.map((pt) => ({ x: pt.x > 0.5 ? pt.x + expandFact : pt.x - expandFact, y: pt.y > 0.5 ? pt.y + expandFact : pt.y - expandFact })); // expand silhouette\n for (let x = 0; x < width; x++) {\n for (let y = 0; y < height; y++) {\n const inside = insidePoly(x / width, y / width, silhouette);\n if (!inside) {\n buffer.set(alpha * buffer.get(0, y, x, 0), 0, y, x, 0);\n buffer.set(alpha * buffer.get(0, y, x, 1), 0, y, x, 1);\n buffer.set(alpha * buffer.get(0, y, x, 2), 0, y, x, 2);\n }\n }\n }\n const output = buffer.toTensor();\n // tf.dispose(buffer);\n return output;\n}\n", "/**\n * Anti-spoofing model implementation\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport type { Config } from '../config';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport { loadModel } from '../tfjs/load';\nimport { env } from '../util/env';\n\nlet model: GraphModel | null;\nconst cached: number[] = [];\nlet skipped = Number.MAX_SAFE_INTEGER;\nlet lastCount = 0;\nlet lastTime = 0;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face.antispoof?.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(image: Tensor4D, config: Config, idx: number, count: number): Promise {\n if (!model?.['executor']) return 0;\n const skipTime = (config.face.antispoof?.skipTime || 0) > (now() - lastTime);\n const skipFrame = skipped < (config.face.antispoof?.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && cached[idx]) {\n skipped++;\n return cached[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const resize = tf.image.resizeBilinear(image, [model?.inputs[0].shape ? model.inputs[0].shape[2] : 0, model?.inputs[0].shape ? model.inputs[0].shape[1] : 0], false);\n const res = model?.execute(resize) as Tensor;\n const num = (await res.data())[0];\n cached[idx] = Math.round(100 * num) / 100;\n lastCount = count;\n lastTime = now();\n tf.dispose([resize, res]);\n resolve(cached[idx]);\n });\n}\n", "/**\n * Anti-spoofing model implementation\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport type { Config } from '../config';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport { env } from '../util/env';\n\nlet model: GraphModel | null;\nconst cached: number[] = [];\nlet skipped = Number.MAX_SAFE_INTEGER;\nlet lastCount = 0;\nlet lastTime = 0;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face.liveness?.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(image: Tensor4D, config: Config, idx: number, count: number): Promise {\n if (!model?.['executor']) return 0;\n const skipTime = (config.face.liveness?.skipTime || 0) > (now() - lastTime);\n const skipFrame = skipped < (config.face.liveness?.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && cached[idx]) {\n skipped++;\n return cached[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const resize = tf.image.resizeBilinear(image, [model?.inputs[0].shape ? model.inputs[0].shape[2] : 0, model?.inputs[0].shape ? model.inputs[0].shape[1] : 0], false);\n const res = model?.execute(resize) as Tensor;\n const num = (await res.data())[0];\n cached[idx] = Math.round(100 * num) / 100;\n lastCount = count;\n lastTime = now();\n tf.dispose([resize, res]);\n resolve(cached[idx]);\n });\n}\n", "/**\n * GEAR [gender/emotion/age/race] model implementation\n *\n * Based on: [**GEAR Predictor**](https://github.com/Udolf15/GEAR-Predictor)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport type { Gender, Race } from '../result';\nimport type { Config } from '../config';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport { env } from '../util/env';\n\nexport interface GearType { age: number, gender: Gender, genderScore: number, race: { score: number, race: Race }[] }\nlet model: GraphModel | null;\nconst last: GearType[] = [];\nconst raceNames = ['white', 'black', 'asian', 'indian', 'other'];\nconst ageWeights = [15, 23, 28, 35.5, 45.5, 55.5, 65];\nlet lastCount = 0;\nlet lastTime = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config: Config) {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face.gear?.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(image: Tensor4D, config: Config, idx: number, count: number): Promise {\n if (!model) return { age: 0, gender: 'unknown', genderScore: 0, race: [] };\n const skipFrame = skipped < (config.face.gear?.skipFrames || 0);\n const skipTime = (config.face.gear?.skipTime || 0) > (now() - lastTime);\n if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && last[idx]) {\n skipped++;\n return last[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n if (!model?.inputs[0].shape) return;\n const t: Record = {};\n // t.resize = tf.image.resizeBilinear(image, [model?.inputs[0].shape[2], model?.inputs[0].shape[1]], false);\n const box = [[0.0, 0.10, 0.90, 0.90]]; // empyrical values for top, left, bottom, right\n t.resize = tf.image.cropAndResize(image, box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n const obj: GearType = { age: 0, gender: 'unknown', genderScore: 0, race: [] };\n if (config.face.gear?.enabled) [t.age, t.gender, t.race] = model.execute(t.resize, ['age_output', 'gender_output', 'race_output']) as Tensor[];\n const gender = await t.gender.data();\n obj.gender = gender[0] > gender[1] ? 'male' : 'female';\n obj.genderScore = Math.round(100 * (gender[0] > gender[1] ? gender[0] : gender[1])) / 100;\n const race = await t.race.data();\n for (let i = 0; i < race.length; i++) {\n if (race[i] > (config.face.gear?.minConfidence || 0.2)) obj.race.push({ score: Math.round(100 * race[i]) / 100, race: raceNames[i] as Race });\n }\n obj.race.sort((a, b) => b.score - a.score);\n // {0: 'Below20', 1: '21-25', 2: '26-30', 3: '31-40',4: '41-50', 5: '51-60', 6: 'Above60'}\n const ageDistribution = Array.from(await t.age.data());\n const ageSorted = ageDistribution.map((a, i) => [ageWeights[i], a]).sort((a, b) => b[1] - a[1]);\n let age = ageSorted[0][0]; // pick best starting point\n for (let i = 1; i < ageSorted.length; i++) age += ageSorted[i][1] * (ageSorted[i][0] - age); // adjust with each other choice by weight\n obj.age = Math.round(10 * age) / 10;\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n last[idx] = obj;\n lastCount = count;\n lastTime = now();\n resolve(obj);\n });\n}\n", "/**\n * Age model implementation\n *\n * Based on: [**SSR-Net**](https://github.com/shamangary/SSR-Net)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport { env } from '../util/env';\nimport { constants } from '../tfjs/constants';\nimport type { Config } from '../config';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\n\nlet model: GraphModel | null;\nconst last: { age: number }[] = [];\nlet lastCount = 0;\nlet lastTime = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config: Config) {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face['ssrnet'].modelPathAge);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(image: Tensor4D, config: Config, idx: number, count: number): Promise<{ age: number }> {\n if (!model) return { age: 0 };\n const skipFrame = skipped < (config.face['ssrnet']?.skipFrames || 0);\n const skipTime = (config.face['ssrnet']?.skipTime || 0) > (now() - lastTime);\n if (config.skipAllowed && skipFrame && skipTime && (lastCount === count) && last[idx]?.age && (last[idx]?.age > 0)) {\n skipped++;\n return last[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n if (!model?.inputs || !model.inputs[0] || !model.inputs[0].shape) return;\n const t: Record = {};\n t.resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n t.enhance = tf.mul(t.resize, constants.tf255);\n const obj = { age: 0 };\n if (config.face['ssrnet']?.enabled) t.age = model.execute(t.enhance) as Tensor;\n if (t.age) {\n const data = await t.age.data();\n obj.age = Math.trunc(10 * data[0]) / 10;\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n last[idx] = obj;\n lastCount = count;\n lastTime = now();\n resolve(obj);\n });\n}\n", "/**\n * Gender model implementation\n *\n * Based on: [**SSR-Net**](https://github.com/shamangary/SSR-Net)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport { constants } from '../tfjs/constants';\nimport type { Gender } from '../result';\nimport type { Config } from '../config';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport { env } from '../util/env';\n\nlet model: GraphModel | null;\nconst last: { gender: Gender, genderScore: number }[] = [];\nlet lastCount = 0;\nlet lastTime = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\n// tuning values\nconst rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when converting to grayscale\n\nexport async function load(config: Config) {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face['ssrnet']?.modelPathGender);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(image: Tensor4D, config: Config, idx, count): Promise<{ gender: Gender, genderScore: number }> {\n if (!model) return { gender: 'unknown', genderScore: 0 };\n const skipFrame = skipped < (config.face['ssrnet']?.skipFrames || 0);\n const skipTime = (config.face['ssrnet']?.skipTime || 0) > (now() - lastTime);\n if (config.skipAllowed && skipFrame && skipTime && (lastCount === count) && last[idx]?.gender && (last[idx]?.genderScore > 0)) {\n skipped++;\n return last[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n if (!model?.inputs[0].shape) return;\n const t: Record = {};\n t.resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n t.enhance = tf.tidy(() => {\n const [red, green, blue] = tf.split(t.resize, 3, 3);\n const redNorm = tf.mul(red, rgb[0]);\n const greenNorm = tf.mul(green, rgb[1]);\n const blueNorm = tf.mul(blue, rgb[2]);\n const grayscale = tf.addN([redNorm, greenNorm, blueNorm]);\n const normalize = tf.mul(tf.sub(grayscale, constants.tf05), 2); // range grayscale:-1..1\n return normalize;\n });\n const obj: { gender: Gender, genderScore: number } = { gender: 'unknown', genderScore: 0 };\n if (config.face['ssrnet']?.enabled) t.gender = model.execute(t.enhance) as Tensor;\n const data = await t.gender.data();\n obj.gender = data[0] > data[1] ? 'female' : 'male'; // returns two values 0..1, bigger one is prediction\n obj.genderScore = data[0] > data[1] ? (Math.trunc(100 * data[0]) / 100) : (Math.trunc(100 * data[1]) / 100);\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n last[idx] = obj;\n lastCount = count;\n lastTime = now();\n resolve(obj);\n });\n}\n", "/**\n * MobileFaceNet model implementation\n *\n * Based on: [**BecauseofAI MobileFace**](https://github.com/becauseofAI/MobileFace)\n *\n * Obsolete and replaced by `faceres` that performs age/gender/descriptor analysis\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport type { Tensor, Tensor4D, GraphModel } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nlet model: GraphModel | null;\nconst last: number[][] = [];\nlet lastCount = 0;\nlet lastTime = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face['mobilefacenet']?.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\n/*\n// convert to black&white to avoid colorization impact\nconst rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when converting to grayscale: https://www.mathworks.com/help/matlab/ref/rgb2gray.html\nconst [red, green, blue] = tf.split(crop, 3, 3);\nconst redNorm = tf.mul(red, rgb[0]);\nconst greenNorm = tf.mul(green, rgb[1]);\nconst blueNorm = tf.mul(blue, rgb[2]);\nconst grayscale = tf.addN([redNorm, greenNorm, blueNorm]);\nconst merge = tf.stack([grayscale, grayscale, grayscale], 3).squeeze(4);\n\n// optional increase image contrast\n// or do it per-channel so mean is done on each channel\n// or do it based on histogram\nconst mean = merge.mean();\nconst factor = 5;\nconst contrast = merge.sub(mean).mul(factor).add(mean);\n*/\n\nexport async function predict(input: Tensor4D, config: Config, idx, count): Promise {\n if (!model?.['executor']) return [];\n const skipFrame = skipped < (config.face['mobilefacenet']?.skipFrames || 0);\n const skipTime = (config.face['mobilefacenet']?.skipTime || 0) > (now() - lastTime);\n if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && last[idx]) {\n skipped++;\n return last[idx];\n }\n return new Promise(async (resolve) => {\n let data: number[] = [];\n if (config.face['mobilefacenet']?.enabled && model?.inputs[0].shape) {\n const t: Record = {};\n t.crop = tf.image.resizeBilinear(input, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false); // just resize to fit the embedding model\n // do a tight crop of image and resize it to fit the model\n // const box = [[0.05, 0.15, 0.85, 0.85]]; // empyrical values for top, left, bottom, right\n // t.crop = tf.image.cropAndResize(input, box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n t.data = model.execute(t.crop) as Tensor;\n /*\n // optional normalize outputs with l2 normalization\n const scaled = tf.tidy(() => {\n const l2 = res.norm('euclidean');\n const scale = res.div(l2);\n return scale;\n });\n\n // optional reduce feature vector complexity\n const reshape = tf.reshape(res, [128, 2]); // split 256 vectors into 128 x 2\n const reduce = reshape.logSumExp(1); // reduce 2nd dimension by calculating logSumExp on it\n */\n const output = await t.data.data();\n data = Array.from(output); // convert typed array to simple array\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n }\n last[idx] = data;\n lastCount = count;\n lastTime = now();\n resolve(data);\n });\n}\n", "/**\n * InsightFace model implementation\n *\n * Based on: [**DeepInsight InsightFace**](https://github.com/deepinsight/insightface)\n *\n * Alternative face embedding detection\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport type { Tensor, Tensor4D, GraphModel } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nlet model: GraphModel | null;\nconst last: number[][] = [];\nlet lastCount = 0;\nlet lastTime = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face['insightface'].modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(input: Tensor4D, config: Config, idx, count): Promise {\n if (!model?.['executor']) return [];\n const skipFrame = skipped < (config.face['insightface']?.skipFrames || 0);\n const skipTime = (config.face['insightface']?.skipTime || 0) > (now() - lastTime);\n if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && last[idx]) {\n skipped++;\n return last[idx];\n }\n return new Promise(async (resolve) => {\n let data: number[] = [];\n if (config.face['insightface']?.enabled && model?.inputs[0].shape) {\n const t: Record = {};\n t.crop = tf.image.resizeBilinear(input, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false); // just resize to fit the embedding model\n // do a tight crop of image and resize it to fit the model\n // const box = [[0.05, 0.15, 0.85, 0.85]]; // empyrical values for top, left, bottom, right\n // t.crop = tf.image.cropAndResize(input, box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n t.data = model.execute(t.crop) as Tensor;\n const output = await t.data.data();\n data = Array.from(output); // convert typed array to simple array\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n }\n last[idx] = data;\n lastCount = count;\n lastTime = now();\n resolve(data);\n });\n}\n", "import type { Point, FaceResult } from '../result';\n\ntype Vector = [number, number, number];\n\nconst calculateGaze = (face: FaceResult): { bearing: number, strength: number } => {\n const radians = (pt1: Point, pt2: Point) => Math.atan2(pt1[1] - pt2[1], pt1[0] - pt2[0]); // function to calculate angle between any two points\n if (!face.annotations.rightEyeIris || !face.annotations.leftEyeIris) return { bearing: 0, strength: 0 };\n\n const offsetIris = [0, -0.1]; // iris center may not align with average of eye extremes\n const eyeRatio = 1; // factor to normalize changes x vs y\n\n const left = (face.mesh[33][2] || 0) > (face.mesh[263][2] || 0); // pick left or right eye depending which one is closer bazed on outsize point z axis\n const irisCenter = left ? face.mesh[473] : face.mesh[468];\n const eyeCenter = left // eye center is average of extreme points on x axis for both x and y, ignoring y extreme points as eyelids naturally open/close more when gazing up/down so relative point is less precise\n ? [(face.mesh[133][0] + face.mesh[33][0]) / 2, (face.mesh[133][1] + face.mesh[33][1]) / 2]\n : [(face.mesh[263][0] + face.mesh[362][0]) / 2, (face.mesh[263][1] + face.mesh[362][1]) / 2];\n const eyeSize = left // eye size is difference between extreme points for both x and y, used to normalize & squarify eye dimensions\n ? [face.mesh[133][0] - face.mesh[33][0], face.mesh[23][1] - face.mesh[27][1]]\n : [face.mesh[263][0] - face.mesh[362][0], face.mesh[253][1] - face.mesh[257][1]];\n const eyeDiff: Point = [ // x distance between extreme point and center point normalized with eye size\n (eyeCenter[0] - irisCenter[0]) / eyeSize[0] - offsetIris[0],\n eyeRatio * (irisCenter[1] - eyeCenter[1]) / eyeSize[1] - offsetIris[1],\n ];\n let strength = Math.sqrt((eyeDiff[0] * eyeDiff[0]) + (eyeDiff[1] * eyeDiff[1])); // vector length is a diagonal between two differences\n strength = Math.min(strength, face.boxRaw[2] / 2, face.boxRaw[3] / 2); // limit strength to half of box size to avoid clipping due to low precision\n const bearing = (radians([0, 0], eyeDiff) + (Math.PI / 2)) % Math.PI; // using eyeDiff instead eyeCenter/irisCenter combo due to manual adjustments and rotate clockwise 90degrees\n return { bearing, strength };\n};\n\nexport const calculateFaceAngle = (face: FaceResult, imageSize: [number, number]): {\n angle: { pitch: number, yaw: number, roll: number },\n matrix: [number, number, number, number, number, number, number, number, number],\n gaze: { bearing: number, strength: number },\n} => {\n // const degrees = (theta) => Math.abs(((theta * 180) / Math.PI) % 360);\n const normalize = (v: Vector): Vector => { // normalize vector\n const length = Math.sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]);\n v[0] /= length;\n v[1] /= length;\n v[2] /= length;\n return v;\n };\n const subVectors = (a: Vector, b: Vector): Vector => { // vector subtraction (a - b)\n const x = a[0] - b[0];\n const y = a[1] - b[1];\n const z = a[2] - b[2];\n return [x, y, z];\n };\n const crossVectors = (a: Vector, b: Vector): Vector => { // vector cross product (a x b)\n const x = a[1] * b[2] - a[2] * b[1];\n const y = a[2] * b[0] - a[0] * b[2];\n const z = a[0] * b[1] - a[1] * b[0];\n return [x, y, z];\n };\n // 3x3 rotation matrix to Euler angles based on https://www.geometrictools.com/Documentation/EulerAngles.pdf\n const rotationMatrixToEulerAngle = (r: number[]): { pitch: number, yaw: number, roll: number } => {\n const [r00, _r01, _r02, r10, r11, r12, r20, r21, r22] = r; // eslint-disable-line @typescript-eslint/no-unused-vars\n let thetaX: number;\n let thetaY: number;\n let thetaZ: number;\n if (r10 < 1) { // YZX calculation\n if (r10 > -1) {\n thetaZ = Math.asin(r10);\n thetaY = Math.atan2(-r20, r00);\n thetaX = Math.atan2(-r12, r11);\n } else {\n thetaZ = -Math.PI / 2;\n thetaY = -Math.atan2(r21, r22);\n thetaX = 0;\n }\n } else {\n thetaZ = Math.PI / 2;\n thetaY = Math.atan2(r21, r22);\n thetaX = 0;\n }\n if (Number.isNaN(thetaX)) thetaX = 0;\n if (Number.isNaN(thetaY)) thetaY = 0;\n if (Number.isNaN(thetaZ)) thetaZ = 0;\n return { pitch: 2 * -thetaX, yaw: 2 * -thetaY, roll: 2 * -thetaZ };\n };\n\n /*\n const meshToEulerAngle = (mesh) => { // simple Euler angle calculation based existing 3D mesh\n const radians = (a1, a2, b1, b2) => Math.atan2(b2 - a2, b1 - a1);\n return { // values are in radians in range of -pi/2 to pi/2 which is -90 to +90 degrees, value of 0 means center\n pitch: radians(mesh[10][1], mesh[10][2], mesh[152][1], mesh[152][2]), // looking at y,z of top and bottom points of the face // pitch is face move up/down\n yaw: radians(mesh[33][0], mesh[33][2], mesh[263][0], mesh[263][2]), // looking at x,z of outside corners of leftEye and rightEye // yaw is face turn left/right\n roll: radians(mesh[33][0], mesh[33][1], mesh[263][0], mesh[263][1]), // looking at x,y of outside corners of leftEye and rightEye // roll is face lean left/right\n };\n };\n */\n\n // initialize gaze and mesh\n const mesh = face.meshRaw;\n if (!mesh || mesh.length < 300) return { angle: { pitch: 0, yaw: 0, roll: 0 }, matrix: [1, 0, 0, 0, 1, 0, 0, 0, 1], gaze: { bearing: 0, strength: 0 } };\n\n const size = Math.max(face.boxRaw[2] * imageSize[0], face.boxRaw[3] * imageSize[1]) / 1.5;\n // top, bottom, left, right\n const pts: Point[] = [mesh[10], mesh[152], mesh[234], mesh[454]].map((pt) => [pt[0] * imageSize[0] / size, pt[1] * imageSize[1] / size, pt[2]] as Point); // make the xyz coordinates proportional, independent of the image/box size\n\n const yAxis = normalize(subVectors(pts[1] as Vector, pts[0] as Vector));\n let xAxis = normalize(subVectors(pts[3] as Vector, pts[2] as Vector));\n const zAxis = normalize(crossVectors(xAxis, yAxis));\n // adjust xAxis to make sure that all axes are perpendicular to each other\n xAxis = crossVectors(yAxis, zAxis);\n\n // Rotation Matrix from Axis Vectors - http://renderdan.blogspot.com/2006/05/rotation-matrix-from-axis-vectors.html\n // 3x3 rotation matrix is flatten to array in row-major order. Note that the rotation represented by this matrix is inverted.\n const matrix: [number, number, number, number, number, number, number, number, number] = [\n xAxis[0], xAxis[1], xAxis[2],\n yAxis[0], yAxis[1], yAxis[2],\n zAxis[0], zAxis[1], zAxis[2],\n ];\n const angle = rotationMatrixToEulerAngle(matrix);\n // const angle = meshToEulerAngle(mesh);\n\n // we have iris keypoints so we can calculate gaze direction\n const gaze = mesh.length === 478 ? calculateGaze(face) : { bearing: 0, strength: 0 };\n\n return { angle, matrix, gaze };\n};\n", "import type { FaceResult } from '../result';\n\nexport function calculateCameraDistance(face: FaceResult, width: number): number {\n // iris points are [center, left, top, right, bottom]\n // average size of human iris is 11.7mm - fairly constant for all ages/genders/races\n const f = face?.annotations;\n if (!f) return 0;\n // get size of left and right iris in pixels, pick larger one as its likely to be more accurate and normalize to 0..1 range instead of pixels\n const irisSize = Math.max(Math.abs(f.leftEyeIris[3][0] - f.leftEyeIris[1][0]), Math.abs(f.rightEyeIris[3][0] - f.rightEyeIris[1][0])) / width;\n // distance of eye from camera in meters\n const cameraDistance = Math.round(1.17 / irisSize) / 100;\n return cameraDistance;\n}\n\nexport function calculateEyesDistance(face: FaceResult, width: number): number {\n // average distance between eyes is 65mm - fairly constant for typical adult male, but varies otherwise\n const f = face?.annotations;\n if (!f) return 0;\n // get size of left and right iris in pixels, pick larger one as its likely to be more accurate and normalize to 0..1 range instead of pixels\n const irisSize = Math.max(Math.abs(f.leftEyeIris[3][0] - f.leftEyeIris[1][0]), Math.abs(f.rightEyeIris[3][0] - f.rightEyeIris[1][0])) / width;\n // pixel x and y distance of centers of left and right iris, you can use edges instead\n const irisDistanceXY = [f.leftEyeIris[0][0] - f.rightEyeIris[0][0], f.leftEyeIris[0][1] - f.rightEyeIris[0][1]];\n // absolute distance bewtween eyes in 0..1 range to account for head pitch (we can ignore yaw)\n const irisDistance = Math.sqrt((irisDistanceXY[0] * irisDistanceXY[0]) + (irisDistanceXY[1] * irisDistanceXY[1])) / width;\n // distance between eyes in meters\n const eyesDistance = Math.round(1.17 * irisDistance / irisSize) / 100;\n return eyesDistance;\n}\n", "/**\n * Face algorithm implementation\n * Uses FaceMesh, Emotion and FaceRes models to create a unified pipeline\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { env } from '../util/env';\nimport * as facemesh from './facemesh';\nimport * as emotion from '../gear/emotion';\nimport * as faceres from './faceres';\nimport * as mask from './mask';\nimport * as antispoof from './antispoof';\nimport * as liveness from './liveness';\nimport * as gear from '../gear/gear';\nimport * as ssrnetAge from '../gear/ssrnet-age';\nimport * as ssrnetGender from '../gear/ssrnet-gender';\nimport * as mobilefacenet from './mobilefacenet';\nimport * as insightface from './insightface';\nimport type { FaceResult, Emotion, Gender, Race } from '../result';\nimport type { Tensor4D } from '../tfjs/types';\nimport type { Human } from '../human';\nimport { calculateFaceAngle } from './angles';\nimport { calculateCameraDistance } from './anthropometry';\n\ninterface DescRes { age: number, gender: Gender, genderScore: number, descriptor: number[], race?: { score: number, race: Race }[] }\n\nexport const detectFace = async (instance: Human /* instance of human */, input: Tensor4D): Promise => {\n // run facemesh, includes blazeface and iris\n let timeStamp: number = now();\n let ageRes: { age: number } | Promise<{ age: number }> | null;\n let gearRes: gear.GearType | Promise | null;\n let genderRes: { gender: string, genderScore: number } | Promise<{ gender: string, genderScore: number }> | null;\n let emotionRes: { score: number, emotion: Emotion }[] | Promise<{ score: number, emotion: Emotion }[]>;\n let mobilefacenetRes: number[] | Promise | null;\n let insightfaceRes: number[] | Promise | null;\n let antispoofRes: number | Promise | null;\n let livenessRes: number | Promise | null;\n let descRes: DescRes | Promise | null;\n\n const faceRes: FaceResult[] = [];\n instance.state = 'run:face';\n\n const faces: FaceResult[] = await facemesh.predict(input, instance.config);\n instance.performance.face = env.perfadd ? (instance.performance.face || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n if (!input.shape || input.shape.length !== 4) return [];\n if (!faces) return [];\n // for (const face of faces) {\n for (let i = 0; i < faces.length; i++) {\n instance.analyze('Get Face');\n\n // is something went wrong, skip the face\n // @ts-ignore possibly undefied\n if (!faces[i].tensor || faces[i].tensor.isDisposedInternal) {\n log('Face object is disposed:', faces[i].tensor);\n continue;\n }\n\n // optional face mask\n if (instance.config.face.detector?.mask) {\n const masked = await mask.mask(faces[i]);\n tf.dispose(faces[i].tensor);\n if (masked) faces[i].tensor = masked;\n }\n\n // calculate face angles\n const rotation = faces[i].mesh && (faces[i].mesh.length > 200) ? calculateFaceAngle(faces[i], [input.shape[2], input.shape[1]]) : null;\n\n // run emotion, inherits face from blazeface\n instance.analyze('Start Emotion:');\n if (instance.config.async) {\n emotionRes = instance.config.face.emotion?.enabled ? emotion.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : [];\n } else {\n instance.state = 'run:emotion';\n timeStamp = now();\n emotionRes = instance.config.face.emotion?.enabled ? await emotion.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : [];\n instance.performance.emotion = env.perfadd ? (instance.performance.emotion || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n }\n instance.analyze('End Emotion:');\n\n // run antispoof, inherits face from blazeface\n instance.analyze('Start AntiSpoof:');\n if (instance.config.async) {\n antispoofRes = instance.config.face.antispoof?.enabled ? antispoof.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : 0;\n } else {\n instance.state = 'run:antispoof';\n timeStamp = now();\n antispoofRes = instance.config.face.antispoof?.enabled ? await antispoof.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : 0;\n instance.performance.antispoof = env.perfadd ? (instance.performance.antispoof || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n }\n instance.analyze('End AntiSpoof:');\n\n // run liveness, inherits face from blazeface\n instance.analyze('Start Liveness:');\n if (instance.config.async) {\n livenessRes = instance.config.face.liveness?.enabled ? liveness.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : 0;\n } else {\n instance.state = 'run:liveness';\n timeStamp = now();\n livenessRes = instance.config.face.liveness?.enabled ? await liveness.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : 0;\n instance.performance.liveness = env.perfadd ? (instance.performance.antispoof || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n }\n instance.analyze('End Liveness:');\n\n // run gear, inherits face from blazeface\n instance.analyze('Start GEAR:');\n if (instance.config.async) {\n gearRes = instance.config.face.gear?.enabled ? gear.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n } else {\n instance.state = 'run:gear';\n timeStamp = now();\n gearRes = instance.config.face.gear?.enabled ? await gear.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n instance.performance.gear = Math.trunc(now() - timeStamp);\n }\n instance.analyze('End GEAR:');\n\n // run gear, inherits face from blazeface\n instance.analyze('Start SSRNet:');\n if (instance.config.async) {\n ageRes = instance.config.face['ssrnet']?.enabled ? ssrnetAge.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n genderRes = instance.config.face['ssrnet']?.enabled ? ssrnetGender.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n } else {\n instance.state = 'run:ssrnet';\n timeStamp = now();\n ageRes = instance.config.face['ssrnet']?.enabled ? await ssrnetAge.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n genderRes = instance.config.face['ssrnet']?.enabled ? await ssrnetGender.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n instance.performance.ssrnet = Math.trunc(now() - timeStamp);\n }\n instance.analyze('End SSRNet:');\n\n // run mobilefacenet alternative, inherits face from blazeface\n instance.analyze('Start MobileFaceNet:');\n if (instance.config.async) {\n mobilefacenetRes = instance.config.face['mobilefacenet']?.enabled ? mobilefacenet.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n } else {\n instance.state = 'run:mobilefacenet';\n timeStamp = now();\n mobilefacenetRes = instance.config.face['mobilefacenet']?.enabled ? await mobilefacenet.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n instance.performance.mobilefacenet = Math.trunc(now() - timeStamp);\n }\n instance.analyze('End MobileFaceNet:');\n\n // run insightface alternative, inherits face from blazeface\n instance.analyze('Start InsightFace:');\n if (instance.config.async) {\n insightfaceRes = instance.config.face['insightface']?.enabled ? insightface.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n } else {\n instance.state = 'run:mobilefacenet';\n timeStamp = now();\n insightfaceRes = instance.config.face['insightface']?.enabled ? await insightface.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n instance.performance.mobilefacenet = Math.trunc(now() - timeStamp);\n }\n instance.analyze('End InsightFace:');\n\n // run faceres, inherits face from blazeface\n instance.analyze('Start Description:');\n if (instance.config.async) {\n descRes = faceres.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length);\n } else {\n instance.state = 'run:description';\n timeStamp = now();\n descRes = await faceres.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length);\n instance.performance.description = env.perfadd ? (instance.performance.description || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n }\n instance.analyze('End Description:');\n\n // if async wait for results\n if (instance.config.async) {\n [ageRes, genderRes, emotionRes, mobilefacenetRes, insightfaceRes, descRes, gearRes, antispoofRes, livenessRes] = await Promise.all([ageRes, genderRes, emotionRes, mobilefacenetRes, insightfaceRes, descRes, gearRes, antispoofRes, livenessRes]);\n }\n instance.analyze('Finish Face:');\n\n if (instance.config.face['ssrnet']?.enabled && ageRes && genderRes) { // override age/gender if ssrnet model is used\n descRes = {\n ...(descRes as DescRes),\n age: (ageRes as { age: number}).age,\n gender: (genderRes as { gender: Gender, genderScore: number }).gender,\n genderScore: (genderRes as { gender: Gender, genderScore: number }).genderScore,\n };\n }\n if (instance.config.face.gear?.enabled && gearRes) { // override age/gender/race if gear model is used\n descRes = {\n ...(descRes as DescRes),\n age: (gearRes as gear.GearType).age,\n gender: (gearRes as gear.GearType).gender,\n genderScore: (gearRes as gear.GearType).genderScore,\n race: (gearRes as gear.GearType).race,\n };\n }\n if (instance.config.face['mobilefacenet']?.enabled && mobilefacenetRes) { // override descriptor if mobilefacenet model is used\n (descRes as DescRes).descriptor = mobilefacenetRes as number[];\n }\n\n if (instance.config.face['insightface']?.enabled && insightfaceRes) { // override descriptor if insightface model is used\n (descRes as DescRes).descriptor = insightfaceRes as number[];\n }\n\n const irisSize = instance.config.face.iris?.enabled ? calculateCameraDistance(faces[i], input.shape[2]) : 0;\n\n // optionally return tensor\n const tensor = instance.config.face.detector?.return ? tf.squeeze(faces[i].tensor as Tensor4D) : null;\n // dispose original face tensor\n tf.dispose(faces[i].tensor);\n // delete temp face image\n if (faces[i].tensor) delete faces[i].tensor;\n // combine results\n const res: FaceResult = {\n ...faces[i],\n id: i,\n };\n if ((descRes as DescRes).age) res.age = (descRes as DescRes).age;\n if ((descRes as DescRes).gender) res.gender = (descRes as DescRes).gender;\n if ((descRes as DescRes).genderScore) res.genderScore = (descRes as DescRes).genderScore;\n if ((descRes as DescRes).descriptor) res.embedding = (descRes as DescRes).descriptor;\n if ((descRes as DescRes).race) res.race = (descRes as DescRes).race as { score: number, race: Race }[];\n if (emotionRes) res.emotion = emotionRes as { score: number, emotion: Emotion }[];\n if (antispoofRes) res.real = antispoofRes as number;\n if (livenessRes) res.live = livenessRes as number;\n if (irisSize > 0) res.distance = irisSize;\n if (rotation) res.rotation = rotation;\n if (tensor) res.tensor = tensor;\n faceRes.push(res);\n instance.analyze('End Face');\n }\n instance.analyze('End FaceMesh:');\n if (instance.config.async) {\n if (instance.performance.face) delete instance.performance.face;\n if (instance.performance.age) delete instance.performance.age;\n if (instance.performance.gender) delete instance.performance.gender;\n if (instance.performance.emotion) delete instance.performance.emotion;\n }\n return faceRes;\n};\n", "/**\n * FingerPose algorithm implementation\n * See `fingerpose.ts` for entry point\n */\n\nexport const Finger = {\n thumb: 0,\n index: 1,\n middle: 2,\n ring: 3,\n pinky: 4,\n all: [0, 1, 2, 3, 4], // just for convenience\n nameMapping: { 0: 'thumb', 1: 'index', 2: 'middle', 3: 'ring', 4: 'pinky' },\n // Describes mapping of joints based on the 21 points returned by handpose.\n // [0] Palm\n // [1-4] Thumb\n // [5-8] Index\n // [9-12] Middle\n // [13-16] Ring\n // [17-20] Pinky\n pointsMapping: {\n 0: [[0, 1], [1, 2], [2, 3], [3, 4]],\n 1: [[0, 5], [5, 6], [6, 7], [7, 8]],\n 2: [[0, 9], [9, 10], [10, 11], [11, 12]],\n 3: [[0, 13], [13, 14], [14, 15], [15, 16]],\n 4: [[0, 17], [17, 18], [18, 19], [19, 20]],\n },\n getName: (value) => Finger.nameMapping[value],\n getPoints: (value) => Finger.pointsMapping[value],\n};\n\nexport const FingerCurl = {\n none: 0,\n half: 1,\n full: 2,\n nameMapping: { 0: 'none', 1: 'half', 2: 'full' },\n getName: (value) => FingerCurl.nameMapping[value],\n};\n\nexport const FingerDirection = {\n verticalUp: 0,\n verticalDown: 1,\n horizontalLeft: 2,\n horizontalRight: 3,\n diagonalUpRight: 4,\n diagonalUpLeft: 5,\n diagonalDownRight: 6,\n diagonalDownLeft: 7,\n nameMapping: { 0: 'verticalUp', 1: 'verticalDown', 2: 'horizontalLeft', 3: 'horizontalRight', 4: 'diagonalUpRight', 5: 'diagonalUpLeft', 6: 'diagonalDownRight', 7: 'diagonalDownLeft' },\n getName: (value) => FingerDirection.nameMapping[value],\n};\n\nexport class FingerGesture {\n name;\n curls;\n directions;\n weights;\n weightsRelative;\n\n constructor(name) {\n // name (should be unique)\n this.name = name;\n this.curls = {};\n this.directions = {};\n this.weights = [1.0, 1.0, 1.0, 1.0, 1.0];\n this.weightsRelative = [1.0, 1.0, 1.0, 1.0, 1.0];\n }\n\n curl(finger, curl, confidence) {\n if (typeof this.curls[finger] === 'undefined') this.curls[finger] = [];\n this.curls[finger].push([curl, confidence]);\n }\n\n direction(finger, position, confidence) {\n if (!this.directions[finger]) this.directions[finger] = [];\n this.directions[finger].push([position, confidence]);\n }\n\n weight(finger, weight) {\n this.weights[finger] = weight;\n // recalculate relative weights\n const total = this.weights.reduce((a, b) => a + b, 0);\n this.weightsRelative = this.weights.map((el) => el * 5 / total);\n }\n\n matchAgainst(detectedCurls, detectedDirections) {\n let confidence = 0.0;\n // look at the detected curl of each finger and compare with\n // the expected curl of this finger inside current gesture\n for (const fingerIdx in detectedCurls) {\n const detectedCurl = detectedCurls[fingerIdx];\n const expectedCurls = this.curls[fingerIdx];\n if (typeof expectedCurls === 'undefined') {\n // no curl description available for this finger\n // add default confidence of \"1\"\n confidence += this.weightsRelative[fingerIdx];\n continue;\n }\n // compare to each possible curl of this specific finger\n for (const [expectedCurl, score] of expectedCurls) {\n if (detectedCurl === expectedCurl) {\n confidence += score * this.weightsRelative[fingerIdx];\n break;\n }\n }\n }\n // same for detected direction of each finger\n for (const fingerIdx in detectedDirections) {\n const detectedDirection = detectedDirections[fingerIdx];\n const expectedDirections = this.directions[fingerIdx];\n if (typeof expectedDirections === 'undefined') {\n // no direction description available for this finger\n // add default confidence of \"1\"\n confidence += this.weightsRelative[fingerIdx];\n continue;\n }\n // compare to each possible direction of this specific finger\n for (const [expectedDirection, score] of expectedDirections) {\n if (detectedDirection === expectedDirection) {\n confidence += score * this.weightsRelative[fingerIdx];\n break;\n }\n }\n }\n return confidence / 10;\n }\n}\n", "/**\n * FingerPose algorithm implementation\n * See `fingerpose.ts` for entry point\n */\n\nimport { Finger, FingerCurl, FingerDirection, FingerGesture } from './fingerdef';\n\nexport const { thumb, index, middle, ring, pinky } = Finger;\nexport const { none, half, full } = FingerCurl;\nexport const { verticalUp, verticalDown, horizontalLeft, horizontalRight, diagonalUpRight, diagonalUpLeft, diagonalDownRight, diagonalDownLeft } = FingerDirection;\n\n// describe thumbs up gesture \uD83D\uDC4D\nconst ThumbsUp = new FingerGesture('thumbs up');\nThumbsUp.curl(thumb, none, 1.0);\nThumbsUp.direction(thumb, verticalUp, 1.0);\nThumbsUp.direction(thumb, diagonalUpLeft, 0.25);\nThumbsUp.direction(thumb, diagonalUpRight, 0.25);\nfor (const finger of [Finger.index, Finger.middle, Finger.ring, Finger.pinky]) {\n ThumbsUp.curl(finger, full, 1.0);\n ThumbsUp.direction(finger, horizontalLeft, 1.0);\n ThumbsUp.direction(finger, horizontalRight, 1.0);\n}\n\n// describe Victory gesture \u270C\uFE0F\nconst Victory = new FingerGesture('victory');\nVictory.curl(thumb, half, 0.5);\nVictory.curl(thumb, none, 0.5);\nVictory.direction(thumb, verticalUp, 1.0);\nVictory.direction(thumb, diagonalUpLeft, 1.0);\nVictory.curl(index, none, 1.0);\nVictory.direction(index, verticalUp, 0.75);\nVictory.direction(index, diagonalUpLeft, 1.0);\nVictory.curl(middle, none, 1.0);\nVictory.direction(middle, verticalUp, 1.0);\nVictory.direction(middle, diagonalUpLeft, 0.75);\nVictory.curl(ring, full, 1.0);\nVictory.direction(ring, verticalUp, 0.2);\nVictory.direction(ring, diagonalUpLeft, 1.0);\nVictory.direction(ring, horizontalLeft, 0.2);\nVictory.curl(pinky, full, 1.0);\nVictory.direction(pinky, verticalUp, 0.2);\nVictory.direction(pinky, diagonalUpLeft, 1.0);\nVictory.direction(pinky, horizontalLeft, 0.2);\nVictory.weight(index, 2);\nVictory.weight(middle, 2);\n\n// describe Point gesture \u270C\uFE0F\nconst Point = new FingerGesture('point');\nPoint.curl(thumb, full, 1.0);\nPoint.curl(index, none, 0.5);\nPoint.curl(middle, full, 0.5);\nPoint.curl(ring, full, 0.5);\nPoint.curl(pinky, full, 0.5);\nPoint.weight(index, 2);\nPoint.weight(middle, 2);\n\n// describe Point gesture \u270C\uFE0F\nconst MiddleFinger = new FingerGesture('middle finger');\nMiddleFinger.curl(thumb, none, 1.0);\nMiddleFinger.curl(index, full, 0.5);\nMiddleFinger.curl(middle, full, 0.5);\nMiddleFinger.curl(ring, full, 0.5);\nMiddleFinger.curl(pinky, full, 0.5);\nMiddleFinger.weight(index, 2);\nMiddleFinger.weight(middle, 2);\n\n// describe Open Palm gesture \u270C\uFE0F\nconst OpenPalm = new FingerGesture('open palm');\nOpenPalm.curl(thumb, none, 0.75);\nOpenPalm.curl(index, none, 0.75);\nOpenPalm.curl(middle, none, 0.75);\nOpenPalm.curl(ring, none, 0.75);\nOpenPalm.curl(pinky, none, 0.75);\n\nexport default [ThumbsUp, Victory, Point, MiddleFinger, OpenPalm];\n", "/**\n * FingerPose algorithm implementation constants\n *\n * Based on: [**FingerPose***](https://github.com/andypotato/fingerpose)\n */\n\n/* eslint-disable camelcase */\n\nimport { Finger, FingerCurl, FingerDirection } from './fingerdef';\nimport Gestures from '../hand/fingergesture';\n\nconst minConfidence = 0.7;\nconst options = {\n // curl estimation\n HALF_CURL_START_LIMIT: 60.0,\n NO_CURL_START_LIMIT: 130.0,\n // direction estimation\n DISTANCE_VOTE_POWER: 1.1,\n SINGLE_ANGLE_VOTE_POWER: 0.9,\n TOTAL_ANGLE_VOTE_POWER: 1.6,\n};\n\nfunction calculateSlope(point1x, point1y, point2x, point2y) {\n const value = (point1y - point2y) / (point1x - point2x);\n let slope = Math.atan(value) * 180 / Math.PI;\n if (slope <= 0) slope = -slope;\n else if (slope > 0) slope = 180 - slope;\n return slope;\n}\n\n// point1, point2 are 2d or 3d point arrays (xy[z])\n// returns either a single scalar (2d) or array of two slopes (3d)\nfunction getSlopes(point1, point2) {\n if (!point1 || !point2) return [0, 0];\n const slopeXY = calculateSlope(point1[0], point1[1], point2[0], point2[1]);\n if (point1.length === 2) return slopeXY;\n const slopeYZ = calculateSlope(point1[1], point1[2], point2[1], point2[2]);\n return [slopeXY, slopeYZ];\n}\n\nfunction angleOrientationAt(angle, weightageAt = 1.0) {\n let isVertical = 0;\n let isDiagonal = 0;\n let isHorizontal = 0;\n if (angle >= 75.0 && angle <= 105.0) isVertical = 1 * weightageAt;\n else if (angle >= 25.0 && angle <= 155.0) isDiagonal = 1 * weightageAt;\n else isHorizontal = 1 * weightageAt;\n return [isVertical, isDiagonal, isHorizontal];\n}\n\nfunction estimateFingerCurl(startPoint, midPoint, endPoint) {\n const start_mid_x_dist = startPoint[0] - midPoint[0];\n const start_end_x_dist = startPoint[0] - endPoint[0];\n const mid_end_x_dist = midPoint[0] - endPoint[0];\n const start_mid_y_dist = startPoint[1] - midPoint[1];\n const start_end_y_dist = startPoint[1] - endPoint[1];\n const mid_end_y_dist = midPoint[1] - endPoint[1];\n const start_mid_z_dist = startPoint[2] - midPoint[2];\n const start_end_z_dist = startPoint[2] - endPoint[2];\n const mid_end_z_dist = midPoint[2] - endPoint[2];\n const start_mid_dist = Math.sqrt(start_mid_x_dist * start_mid_x_dist + start_mid_y_dist * start_mid_y_dist + start_mid_z_dist * start_mid_z_dist);\n const start_end_dist = Math.sqrt(start_end_x_dist * start_end_x_dist + start_end_y_dist * start_end_y_dist + start_end_z_dist * start_end_z_dist);\n const mid_end_dist = Math.sqrt(mid_end_x_dist * mid_end_x_dist + mid_end_y_dist * mid_end_y_dist + mid_end_z_dist * mid_end_z_dist);\n let cos_in = (mid_end_dist * mid_end_dist + start_mid_dist * start_mid_dist - start_end_dist * start_end_dist) / (2 * mid_end_dist * start_mid_dist);\n if (cos_in > 1.0) cos_in = 1.0;\n else if (cos_in < -1.0) cos_in = -1.0;\n let angleOfCurve = Math.acos(cos_in);\n angleOfCurve = (57.2958 * angleOfCurve) % 180;\n let fingerCurl;\n if (angleOfCurve > options.NO_CURL_START_LIMIT) fingerCurl = FingerCurl.none;\n else if (angleOfCurve > options.HALF_CURL_START_LIMIT) fingerCurl = FingerCurl.half;\n else fingerCurl = FingerCurl.full;\n return fingerCurl;\n}\n\nfunction estimateHorizontalDirection(start_end_x_dist, start_mid_x_dist, mid_end_x_dist, max_dist_x) {\n let estimatedDirection;\n if (max_dist_x === Math.abs(start_end_x_dist)) {\n if (start_end_x_dist > 0) estimatedDirection = FingerDirection.horizontalLeft;\n else estimatedDirection = FingerDirection.horizontalRight;\n } else if (max_dist_x === Math.abs(start_mid_x_dist)) {\n if (start_mid_x_dist > 0) estimatedDirection = FingerDirection.horizontalLeft;\n else estimatedDirection = FingerDirection.horizontalRight;\n } else {\n if (mid_end_x_dist > 0) estimatedDirection = FingerDirection.horizontalLeft;\n else estimatedDirection = FingerDirection.horizontalRight;\n }\n return estimatedDirection;\n}\n\nfunction estimateVerticalDirection(start_end_y_dist, start_mid_y_dist, mid_end_y_dist, max_dist_y) {\n let estimatedDirection;\n if (max_dist_y === Math.abs(start_end_y_dist)) {\n if (start_end_y_dist < 0) estimatedDirection = FingerDirection.verticalDown;\n else estimatedDirection = FingerDirection.verticalUp;\n } else if (max_dist_y === Math.abs(start_mid_y_dist)) {\n if (start_mid_y_dist < 0) estimatedDirection = FingerDirection.verticalDown;\n else estimatedDirection = FingerDirection.verticalUp;\n } else {\n if (mid_end_y_dist < 0) estimatedDirection = FingerDirection.verticalDown;\n else estimatedDirection = FingerDirection.verticalUp;\n }\n return estimatedDirection;\n}\n\nfunction estimateDiagonalDirection(start_end_y_dist, start_mid_y_dist, mid_end_y_dist, max_dist_y, start_end_x_dist, start_mid_x_dist, mid_end_x_dist, max_dist_x) {\n let estimatedDirection;\n const reqd_vertical_direction = estimateVerticalDirection(start_end_y_dist, start_mid_y_dist, mid_end_y_dist, max_dist_y);\n const reqd_horizontal_direction = estimateHorizontalDirection(start_end_x_dist, start_mid_x_dist, mid_end_x_dist, max_dist_x);\n if (reqd_vertical_direction === FingerDirection.verticalUp) {\n if (reqd_horizontal_direction === FingerDirection.horizontalLeft) estimatedDirection = FingerDirection.diagonalUpLeft;\n else estimatedDirection = FingerDirection.diagonalUpRight;\n } else {\n if (reqd_horizontal_direction === FingerDirection.horizontalLeft) estimatedDirection = FingerDirection.diagonalDownLeft;\n else estimatedDirection = FingerDirection.diagonalDownRight;\n }\n return estimatedDirection;\n}\n\nfunction calculateFingerDirection(startPoint, midPoint, endPoint, fingerSlopes) {\n const start_mid_x_dist = startPoint[0] - midPoint[0];\n const start_end_x_dist = startPoint[0] - endPoint[0];\n const mid_end_x_dist = midPoint[0] - endPoint[0];\n const start_mid_y_dist = startPoint[1] - midPoint[1];\n const start_end_y_dist = startPoint[1] - endPoint[1];\n const mid_end_y_dist = midPoint[1] - endPoint[1];\n const max_dist_x = Math.max(Math.abs(start_mid_x_dist), Math.abs(start_end_x_dist), Math.abs(mid_end_x_dist));\n const max_dist_y = Math.max(Math.abs(start_mid_y_dist), Math.abs(start_end_y_dist), Math.abs(mid_end_y_dist));\n let voteVertical = 0.0;\n let voteDiagonal = 0.0;\n let voteHorizontal = 0.0;\n const start_end_x_y_dist_ratio = max_dist_y / (max_dist_x + 0.00001);\n if (start_end_x_y_dist_ratio > 1.5) voteVertical += options.DISTANCE_VOTE_POWER;\n else if (start_end_x_y_dist_ratio > 0.66) voteDiagonal += options.DISTANCE_VOTE_POWER;\n else voteHorizontal += options.DISTANCE_VOTE_POWER;\n const start_mid_dist = Math.sqrt(start_mid_x_dist * start_mid_x_dist + start_mid_y_dist * start_mid_y_dist);\n const start_end_dist = Math.sqrt(start_end_x_dist * start_end_x_dist + start_end_y_dist * start_end_y_dist);\n const mid_end_dist = Math.sqrt(mid_end_x_dist * mid_end_x_dist + mid_end_y_dist * mid_end_y_dist);\n const max_dist = Math.max(start_mid_dist, start_end_dist, mid_end_dist);\n let calc_start_point_x = startPoint[0];\n let calc_start_point_y = startPoint[1];\n let calc_end_point_x = endPoint[0];\n let calc_end_point_y = endPoint[1];\n if (max_dist === start_mid_dist) {\n calc_end_point_x = endPoint[0];\n calc_end_point_y = endPoint[1];\n } else if (max_dist === mid_end_dist) {\n calc_start_point_x = midPoint[0];\n calc_start_point_y = midPoint[1];\n }\n const calcStartPoint = [calc_start_point_x, calc_start_point_y];\n const calcEndPoint = [calc_end_point_x, calc_end_point_y];\n const totalAngle = getSlopes(calcStartPoint, calcEndPoint);\n const votes = angleOrientationAt(totalAngle, options.TOTAL_ANGLE_VOTE_POWER);\n voteVertical += votes[0];\n voteDiagonal += votes[1];\n voteHorizontal += votes[2];\n for (const fingerSlope of fingerSlopes) {\n const fingerVotes = angleOrientationAt(fingerSlope, options.SINGLE_ANGLE_VOTE_POWER);\n voteVertical += fingerVotes[0];\n voteDiagonal += fingerVotes[1];\n voteHorizontal += fingerVotes[2];\n }\n // in case of tie, highest preference goes to Vertical,\n // followed by horizontal and then diagonal\n let estimatedDirection;\n if (voteVertical === Math.max(voteVertical, voteDiagonal, voteHorizontal)) {\n estimatedDirection = estimateVerticalDirection(start_end_y_dist, start_mid_y_dist, mid_end_y_dist, max_dist_y);\n } else if (voteHorizontal === Math.max(voteDiagonal, voteHorizontal)) {\n estimatedDirection = estimateHorizontalDirection(start_end_x_dist, start_mid_x_dist, mid_end_x_dist, max_dist_x);\n } else {\n estimatedDirection = estimateDiagonalDirection(start_end_y_dist, start_mid_y_dist, mid_end_y_dist, max_dist_y, start_end_x_dist, start_mid_x_dist, mid_end_x_dist, max_dist_x);\n }\n return estimatedDirection;\n}\n\nfunction estimate(landmarks) {\n // step 1: calculate slopes\n const slopesXY: number[][] = [];\n const slopesYZ: number[][] = [];\n const fingerCurls: number[] = [];\n const fingerDirections: number[] = [];\n if (!landmarks) return { curls: fingerCurls, directions: fingerDirections };\n\n // step 1: calculate slopes\n for (const finger of Finger.all) {\n const points = Finger.getPoints(finger);\n const slopeAtXY: number[] = [];\n const slopeAtYZ: number[] = [];\n for (const point of points) {\n const point1 = landmarks[point[0]];\n const point2 = landmarks[point[1]];\n // calculate single slope\n const slopes = getSlopes(point1, point2);\n const slopeXY = slopes[0];\n const slopeYZ = slopes[1];\n slopeAtXY.push(slopeXY);\n slopeAtYZ.push(slopeYZ);\n }\n slopesXY.push(slopeAtXY);\n slopesYZ.push(slopeAtYZ);\n }\n\n // step 2: calculate orientations\n for (const finger of Finger.all) {\n // start finger predictions from palm - except for thumb\n const pointIndexAt = (finger === Finger.thumb) ? 1 : 0;\n const fingerPointsAt = Finger.getPoints(finger);\n const startPoint = landmarks[fingerPointsAt[pointIndexAt][0]];\n const midPoint = landmarks[fingerPointsAt[pointIndexAt + 1][1]];\n const endPoint = landmarks[fingerPointsAt[3][1]];\n // check if finger is curled\n const fingerCurled = estimateFingerCurl(startPoint, midPoint, endPoint);\n const fingerPosition = calculateFingerDirection(startPoint, midPoint, endPoint, slopesXY[finger].slice(pointIndexAt));\n fingerCurls[finger] = fingerCurled;\n fingerDirections[finger] = fingerPosition;\n }\n return { curls: fingerCurls, directions: fingerDirections };\n}\n\nexport function analyze(keypoints) { // get estimations of curl / direction for each finger\n if (!keypoints || keypoints.length === 0) return null;\n const estimatorRes = estimate(keypoints);\n const landmarks = {};\n for (const fingerIdx of Finger.all) {\n landmarks[Finger.getName(fingerIdx)] = {\n curl: FingerCurl.getName(estimatorRes.curls[fingerIdx]),\n direction: FingerDirection.getName(estimatorRes.directions[fingerIdx]),\n };\n }\n return landmarks;\n}\n\nexport function match(keypoints) { // compare gesture description to each known gesture\n const poses: { name: string, confidence: number }[] = [];\n if (!keypoints || keypoints.length === 0) return poses;\n const estimatorRes = estimate(keypoints);\n for (const gesture of Gestures) {\n const confidence = gesture.matchAgainst(estimatorRes.curls, estimatorRes.directions);\n if (confidence >= minConfidence) poses.push({ name: gesture.name, confidence });\n }\n return poses;\n}\n", "/**\n * Gesture detection algorithm\n */\n\nimport type { GestureResult, BodyResult, FaceResult, HandResult, Point } from '../result';\nimport * as fingerPose from '../hand/fingerpose';\n\n/** face gesture type */\nexport type FaceGesture =\n `facing ${'left' | 'center' | 'right'}`\n | `blink ${'left' | 'right'} eye`\n | `mouth ${number}% open`\n | `head ${'up' | 'down'}`;\n\n/** iris gesture type */\nexport type IrisGesture =\n 'facing center'\n | `looking ${'left' | 'right' | 'up' | 'down'}`\n | 'looking center';\n\n/** body gesture type */\nexport type BodyGesture =\n `leaning ${'left' | 'right'}`\n | `raise ${'left' | 'right'} hand`\n | 'i give up';\n\n/** hand gesture type */\nexport type HandGesture =\n `${'thumb' | 'index' | 'middle' | 'ring' | 'pinky'} forward`\n | `${'thumb' | 'index' | 'middle' | 'ring' | 'pinky'} up`\n | 'victory'\n | 'thumbs up';\n\nexport const body = (res: BodyResult[]): GestureResult[] => {\n if (!res) return [];\n const gestures: { body: number, gesture: BodyGesture }[] = [];\n for (let i = 0; i < res.length; i++) {\n // raising hands\n const leftWrist = res[i].keypoints.find((a) => (a.part === 'leftWrist'));\n const rightWrist = res[i].keypoints.find((a) => (a.part === 'rightWrist'));\n const nose = res[i].keypoints.find((a) => (a.part === 'nose'));\n if (nose && leftWrist && rightWrist && (leftWrist.position[1] < nose.position[1]) && (rightWrist.position[1] < nose.position[1])) gestures.push({ body: i, gesture: 'i give up' });\n else if (nose && leftWrist && (leftWrist.position[1] < nose.position[1])) gestures.push({ body: i, gesture: 'raise left hand' });\n else if (nose && rightWrist && (rightWrist.position[1] < nose.position[1])) gestures.push({ body: i, gesture: 'raise right hand' });\n\n // leaning\n const leftShoulder = res[i].keypoints.find((a) => (a.part === 'leftShoulder'));\n const rightShoulder = res[i].keypoints.find((a) => (a.part === 'rightShoulder'));\n if (leftShoulder && rightShoulder && Math.abs(leftShoulder.positionRaw[1] - rightShoulder.positionRaw[1]) > 0.1) {\n gestures.push({ body: i, gesture: `leaning ${(leftShoulder.position[1] > rightShoulder.position[1]) ? 'left' : 'right'}` });\n }\n }\n return gestures;\n};\n\nexport const face = (res: FaceResult[]): GestureResult[] => {\n if (!res) return [];\n const gestures: { face: number, gesture: FaceGesture }[] = [];\n for (let i = 0; i < res.length; i++) {\n if (res[i].mesh && res[i].mesh.length > 450) {\n const zDiff = (res[i].mesh[33][2] || 0) - (res[i].mesh[263][2] || 0);\n const xDiff = res[i].mesh[33][0] - res[i].mesh[263][0];\n if (Math.abs(zDiff / xDiff) <= 0.15) gestures.push({ face: i, gesture: 'facing center' });\n else gestures.push({ face: i, gesture: `facing ${zDiff < 0 ? 'left' : 'right'}` });\n const openLeft = Math.abs(res[i].mesh[374][1] - res[i].mesh[386][1]) / Math.abs(res[i].mesh[443][1] - res[i].mesh[450][1]); // center of eye inner lid y coord div center of wider eye border y coord\n if (openLeft < 0.2) gestures.push({ face: i, gesture: 'blink left eye' });\n const openRight = Math.abs(res[i].mesh[145][1] - res[i].mesh[159][1]) / Math.abs(res[i].mesh[223][1] - res[i].mesh[230][1]); // center of eye inner lid y coord div center of wider eye border y coord\n if (openRight < 0.2) gestures.push({ face: i, gesture: 'blink right eye' });\n const mouthOpen = Math.min(100, 500 * Math.abs(res[i].mesh[13][1] - res[i].mesh[14][1]) / Math.abs(res[i].mesh[10][1] - res[i].mesh[152][1]));\n if (mouthOpen > 10) gestures.push({ face: i, gesture: `mouth ${Math.trunc(mouthOpen)}% open` });\n const chinDepth = res[i].mesh[152][2] || 0;\n if (Math.abs(chinDepth) > 10) gestures.push({ face: i, gesture: `head ${chinDepth < 0 ? 'up' : 'down'}` });\n }\n }\n return gestures;\n};\n\nexport const iris = (res: FaceResult[]): GestureResult[] => {\n if (!res) return [];\n const gestures: { iris: number, gesture: IrisGesture }[] = [];\n for (let i = 0; i < res.length; i++) {\n if (!res[i].annotations?.leftEyeIris?.[0] || !res[i].annotations?.rightEyeIris?.[0]) continue;\n const sizeXLeft = res[i].annotations.leftEyeIris[3][0] - res[i].annotations.leftEyeIris[1][0];\n const sizeYLeft = res[i].annotations.leftEyeIris[4][1] - res[i].annotations.leftEyeIris[2][1];\n const areaLeft = Math.abs(sizeXLeft * sizeYLeft);\n\n const sizeXRight = res[i].annotations.rightEyeIris[3][0] - res[i].annotations.rightEyeIris[1][0];\n const sizeYRight = res[i].annotations.rightEyeIris[4][1] - res[i].annotations.rightEyeIris[2][1];\n const areaRight = Math.abs(sizeXRight * sizeYRight);\n\n let center = false;\n const difference = Math.abs(areaLeft - areaRight) / Math.max(areaLeft, areaRight);\n if (difference < 0.25) {\n center = true;\n gestures.push({ iris: i, gesture: 'facing center' });\n }\n\n const leftIrisCenterX = Math.abs(res[i].mesh[263][0] - res[i].annotations.leftEyeIris[0][0]) / res[i].box[2];\n const rightIrisCenterX = Math.abs(res[i].mesh[33][0] - res[i].annotations.rightEyeIris[0][0]) / res[i].box[2];\n if (leftIrisCenterX > 0.06 || rightIrisCenterX > 0.06) center = false;\n if (leftIrisCenterX > rightIrisCenterX) { // check eye with bigger offset\n if (leftIrisCenterX > 0.05) gestures.push({ iris: i, gesture: 'looking right' });\n } else {\n if (rightIrisCenterX > 0.05) gestures.push({ iris: i, gesture: 'looking left' });\n }\n\n const rightIrisCenterY = Math.abs(res[i].mesh[145][1] - res[i].annotations.rightEyeIris[0][1]) / res[i].box[3];\n const leftIrisCenterY = Math.abs(res[i].mesh[374][1] - res[i].annotations.leftEyeIris[0][1]) / res[i].box[3];\n if (leftIrisCenterY < 0.01 || rightIrisCenterY < 0.01 || leftIrisCenterY > 0.022 || rightIrisCenterY > 0.022) center = false;\n if (leftIrisCenterY < 0.01 || rightIrisCenterY < 0.01) gestures.push({ iris: i, gesture: 'looking down' });\n if (leftIrisCenterY > 0.022 || rightIrisCenterY > 0.022) gestures.push({ iris: i, gesture: 'looking up' });\n\n // still center;\n if (center) gestures.push({ iris: i, gesture: 'looking center' });\n }\n return gestures;\n};\n\nexport const hand = (res: HandResult[]): GestureResult[] => {\n if (!res) return [];\n const gestures: { hand: number, gesture: HandGesture }[] = [];\n for (let i = 0; i < res.length; i++) {\n const fingers: { name: string, position: Point }[] = [];\n if (res[i].annotations) {\n for (const [finger, pos] of Object.entries(res[i].annotations)) {\n if (finger !== 'palmBase' && Array.isArray(pos) && pos[0]) fingers.push({ name: finger.toLowerCase(), position: pos[0] }); // get tip of each finger\n }\n }\n if (fingers && fingers.length > 0) {\n const closest = fingers.reduce((best, a) => ((best.position[2] || 0) < (a.position[2] || 0) ? best : a));\n gestures.push({ hand: i, gesture: `${closest.name} forward` as HandGesture });\n const highest = fingers.reduce((best, a) => (best.position[1] < a.position[1] ? best : a));\n gestures.push({ hand: i, gesture: `${highest.name} up` as HandGesture });\n }\n if (res[i].keypoints) {\n const poses = fingerPose.match(res[i].keypoints);\n for (const pose of poses) gestures.push({ hand: i, gesture: pose.name as HandGesture });\n }\n }\n return gestures;\n};\n", "import * as tf from 'dist/tfjs.esm.js';\nimport type { Point } from '../result';\n\nexport function getBoxSize(box) {\n return [\n Math.abs(box.endPoint[0] - box.startPoint[0]),\n Math.abs(box.endPoint[1] - box.startPoint[1]),\n ];\n}\n\nexport function getBoxCenter(box) {\n return [\n box.startPoint[0] + (box.endPoint[0] - box.startPoint[0]) / 2,\n box.startPoint[1] + (box.endPoint[1] - box.startPoint[1]) / 2,\n ];\n}\n\nexport function cutBoxFromImageAndResize(box, image, cropSize) {\n const h = image.shape[1];\n const w = image.shape[2];\n const boxes = [[\n box.startPoint[1] / h,\n box.startPoint[0] / w,\n box.endPoint[1] / h,\n box.endPoint[0] / w,\n ]];\n return tf.image.cropAndResize(image, boxes, [0], cropSize);\n}\n\nexport function scaleBoxCoordinates(box, factor) {\n const startPoint = [box.startPoint[0] * factor[0], box.startPoint[1] * factor[1]] as Point;\n const endPoint = [box.endPoint[0] * factor[0], box.endPoint[1] * factor[1]] as Point;\n const palmLandmarks = box.palmLandmarks.map((coord) => {\n const scaledCoord = [coord[0] * factor[0], coord[1] * factor[1]];\n return scaledCoord;\n });\n return { startPoint, endPoint, palmLandmarks, confidence: box.confidence };\n}\n\nexport function enlargeBox(box, factor = 1.5) {\n const center = getBoxCenter(box);\n const size = getBoxSize(box);\n const newHalfSize = [factor * size[0] / 2, factor * size[1] / 2];\n const startPoint = [center[0] - newHalfSize[0], center[1] - newHalfSize[1]] as Point;\n const endPoint = [center[0] + newHalfSize[0], center[1] + newHalfSize[1]] as Point;\n return { startPoint, endPoint, palmLandmarks: box.palmLandmarks };\n}\n\nexport function squarifyBox(box) {\n const centers = getBoxCenter(box);\n const size = getBoxSize(box);\n const maxEdge = Math.max(...size);\n const halfSize = maxEdge / 2;\n const startPoint = [centers[0] - halfSize, centers[1] - halfSize] as Point;\n const endPoint = [centers[0] + halfSize, centers[1] + halfSize] as Point;\n return { startPoint, endPoint, palmLandmarks: box.palmLandmarks };\n}\n\nexport function shiftBox(box, shiftFactor) {\n const boxSize = [\n box.endPoint[0] - box.startPoint[0],\n box.endPoint[1] - box.startPoint[1],\n ];\n const shiftVector = [boxSize[0] * shiftFactor[0], boxSize[1] * shiftFactor[1]];\n const startPoint = [box.startPoint[0] + shiftVector[0], box.startPoint[1] + shiftVector[1]] as Point;\n const endPoint = [box.endPoint[0] + shiftVector[0], box.endPoint[1] + shiftVector[1]] as Point;\n return { startPoint, endPoint, palmLandmarks: box.palmLandmarks };\n}\n\nexport function normalizeRadians(angle) {\n return angle - 2 * Math.PI * Math.floor((angle + Math.PI) / (2 * Math.PI));\n}\n\nexport function computeRotation(point1, point2) {\n const radians = Math.PI / 2 - Math.atan2(-(point2[1] - point1[1]), point2[0] - point1[0]);\n return normalizeRadians(radians);\n}\n\nexport const buildTranslationMatrix = (x, y) => [[1, 0, x], [0, 1, y], [0, 0, 1]];\n\nexport function dot(v1, v2) {\n let product = 0;\n for (let i = 0; i < v1.length; i++) {\n product += v1[i] * v2[i];\n }\n return product;\n}\n\nexport function getColumnFrom2DArr(arr, columnIndex) {\n const column: number[] = [];\n for (let i = 0; i < arr.length; i++) {\n column.push(arr[i][columnIndex]);\n }\n return column;\n}\n\nexport function multiplyTransformMatrices(mat1, mat2) {\n const product: number[][] = [];\n const size = mat1.length;\n for (let row = 0; row < size; row++) {\n product.push([]);\n for (let col = 0; col < size; col++) {\n product[row].push(dot(mat1[row], getColumnFrom2DArr(mat2, col)));\n }\n }\n return product;\n}\n\nexport function buildRotationMatrix(rotation, center) {\n const cosA = Math.cos(rotation);\n const sinA = Math.sin(rotation);\n const rotationMatrix = [[cosA, -sinA, 0], [sinA, cosA, 0], [0, 0, 1]];\n const translationMatrix = buildTranslationMatrix(center[0], center[1]);\n const translationTimesRotation = multiplyTransformMatrices(translationMatrix, rotationMatrix);\n const negativeTranslationMatrix = buildTranslationMatrix(-center[0], -center[1]);\n return multiplyTransformMatrices(translationTimesRotation, negativeTranslationMatrix);\n}\n\nexport function invertTransformMatrix(matrix) {\n const rotationComponent = [[matrix[0][0], matrix[1][0]], [matrix[0][1], matrix[1][1]]];\n const translationComponent = [matrix[0][2], matrix[1][2]];\n const invertedTranslation = [\n -dot(rotationComponent[0], translationComponent),\n -dot(rotationComponent[1], translationComponent),\n ];\n return [\n rotationComponent[0].concat(invertedTranslation[0]),\n rotationComponent[1].concat(invertedTranslation[1]),\n [0, 0, 1],\n ];\n}\n\nexport function rotatePoint(homogeneousCoordinate, rotationMatrix) {\n return [\n dot(homogeneousCoordinate, rotationMatrix[0]),\n dot(homogeneousCoordinate, rotationMatrix[1]),\n ];\n}\n", "/**\n * HandPose model implementation constants\n * See `handpose.ts` for entry point\n */\n\nexport const anchors = [\n { x: 0.015625, y: 0.015625 },\n { x: 0.015625, y: 0.015625 },\n { x: 0.046875, y: 0.015625 },\n { x: 0.046875, y: 0.015625 },\n { x: 0.078125, y: 0.015625 },\n { x: 0.078125, y: 0.015625 },\n { x: 0.109375, y: 0.015625 },\n { x: 0.109375, y: 0.015625 },\n { x: 0.140625, y: 0.015625 },\n { x: 0.140625, y: 0.015625 },\n { x: 0.171875, y: 0.015625 },\n { x: 0.171875, y: 0.015625 },\n { x: 0.203125, y: 0.015625 },\n { x: 0.203125, y: 0.015625 },\n { x: 0.234375, y: 0.015625 },\n { x: 0.234375, y: 0.015625 },\n { x: 0.265625, y: 0.015625 },\n { x: 0.265625, y: 0.015625 },\n { x: 0.296875, y: 0.015625 },\n { x: 0.296875, y: 0.015625 },\n { x: 0.328125, y: 0.015625 },\n { x: 0.328125, y: 0.015625 },\n { x: 0.359375, y: 0.015625 },\n { x: 0.359375, y: 0.015625 },\n { x: 0.390625, y: 0.015625 },\n { x: 0.390625, y: 0.015625 },\n { x: 0.421875, y: 0.015625 },\n { x: 0.421875, y: 0.015625 },\n { x: 0.453125, y: 0.015625 },\n { x: 0.453125, y: 0.015625 },\n { x: 0.484375, y: 0.015625 },\n { x: 0.484375, y: 0.015625 },\n { x: 0.515625, y: 0.015625 },\n { x: 0.515625, y: 0.015625 },\n { x: 0.546875, y: 0.015625 },\n { x: 0.546875, y: 0.015625 },\n { x: 0.578125, y: 0.015625 },\n { x: 0.578125, y: 0.015625 },\n { x: 0.609375, y: 0.015625 },\n { x: 0.609375, y: 0.015625 },\n { x: 0.640625, y: 0.015625 },\n { x: 0.640625, y: 0.015625 },\n { x: 0.671875, y: 0.015625 },\n { x: 0.671875, y: 0.015625 },\n { x: 0.703125, y: 0.015625 },\n { x: 0.703125, y: 0.015625 },\n { x: 0.734375, y: 0.015625 },\n { x: 0.734375, y: 0.015625 },\n { x: 0.765625, y: 0.015625 },\n { x: 0.765625, y: 0.015625 },\n { x: 0.796875, y: 0.015625 },\n { x: 0.796875, y: 0.015625 },\n { x: 0.828125, y: 0.015625 },\n { x: 0.828125, y: 0.015625 },\n { x: 0.859375, y: 0.015625 },\n { x: 0.859375, y: 0.015625 },\n { x: 0.890625, y: 0.015625 },\n { x: 0.890625, y: 0.015625 },\n { x: 0.921875, y: 0.015625 },\n { x: 0.921875, y: 0.015625 },\n { x: 0.953125, y: 0.015625 },\n { x: 0.953125, y: 0.015625 },\n { x: 0.984375, y: 0.015625 },\n { x: 0.984375, y: 0.015625 },\n { x: 0.015625, y: 0.046875 },\n { x: 0.015625, y: 0.046875 },\n { x: 0.046875, y: 0.046875 },\n { x: 0.046875, y: 0.046875 },\n { x: 0.078125, y: 0.046875 },\n { x: 0.078125, y: 0.046875 },\n { x: 0.109375, y: 0.046875 },\n { x: 0.109375, y: 0.046875 },\n { x: 0.140625, y: 0.046875 },\n { x: 0.140625, y: 0.046875 },\n { x: 0.171875, y: 0.046875 },\n { x: 0.171875, y: 0.046875 },\n { x: 0.203125, y: 0.046875 },\n { x: 0.203125, y: 0.046875 },\n { x: 0.234375, y: 0.046875 },\n { x: 0.234375, y: 0.046875 },\n { x: 0.265625, y: 0.046875 },\n { x: 0.265625, y: 0.046875 },\n { x: 0.296875, y: 0.046875 },\n { x: 0.296875, y: 0.046875 },\n { x: 0.328125, y: 0.046875 },\n { x: 0.328125, y: 0.046875 },\n { x: 0.359375, y: 0.046875 },\n { x: 0.359375, y: 0.046875 },\n { x: 0.390625, y: 0.046875 },\n { x: 0.390625, y: 0.046875 },\n { x: 0.421875, y: 0.046875 },\n { x: 0.421875, y: 0.046875 },\n { x: 0.453125, y: 0.046875 },\n { x: 0.453125, y: 0.046875 },\n { x: 0.484375, y: 0.046875 },\n { x: 0.484375, y: 0.046875 },\n { x: 0.515625, y: 0.046875 },\n { x: 0.515625, y: 0.046875 },\n { x: 0.546875, y: 0.046875 },\n { x: 0.546875, y: 0.046875 },\n { x: 0.578125, y: 0.046875 },\n { x: 0.578125, y: 0.046875 },\n { x: 0.609375, y: 0.046875 },\n { x: 0.609375, y: 0.046875 },\n { x: 0.640625, y: 0.046875 },\n { x: 0.640625, y: 0.046875 },\n { x: 0.671875, y: 0.046875 },\n { x: 0.671875, y: 0.046875 },\n { x: 0.703125, y: 0.046875 },\n { x: 0.703125, y: 0.046875 },\n { x: 0.734375, y: 0.046875 },\n { x: 0.734375, y: 0.046875 },\n { x: 0.765625, y: 0.046875 },\n { x: 0.765625, y: 0.046875 },\n { x: 0.796875, y: 0.046875 },\n { x: 0.796875, y: 0.046875 },\n { x: 0.828125, y: 0.046875 },\n { x: 0.828125, y: 0.046875 },\n { x: 0.859375, y: 0.046875 },\n { x: 0.859375, y: 0.046875 },\n { x: 0.890625, y: 0.046875 },\n { x: 0.890625, y: 0.046875 },\n { x: 0.921875, y: 0.046875 },\n { x: 0.921875, y: 0.046875 },\n { x: 0.953125, y: 0.046875 },\n { x: 0.953125, y: 0.046875 },\n { x: 0.984375, y: 0.046875 },\n { x: 0.984375, y: 0.046875 },\n { x: 0.015625, y: 0.078125 },\n { x: 0.015625, y: 0.078125 },\n { x: 0.046875, y: 0.078125 },\n { x: 0.046875, y: 0.078125 },\n { x: 0.078125, y: 0.078125 },\n { x: 0.078125, y: 0.078125 },\n { x: 0.109375, y: 0.078125 },\n { x: 0.109375, y: 0.078125 },\n { x: 0.140625, y: 0.078125 },\n { x: 0.140625, y: 0.078125 },\n { x: 0.171875, y: 0.078125 },\n { x: 0.171875, y: 0.078125 },\n { x: 0.203125, y: 0.078125 },\n { x: 0.203125, y: 0.078125 },\n { x: 0.234375, y: 0.078125 },\n { x: 0.234375, y: 0.078125 },\n { x: 0.265625, y: 0.078125 },\n { x: 0.265625, y: 0.078125 },\n { x: 0.296875, y: 0.078125 },\n { x: 0.296875, y: 0.078125 },\n { x: 0.328125, y: 0.078125 },\n { x: 0.328125, y: 0.078125 },\n { x: 0.359375, y: 0.078125 },\n { x: 0.359375, y: 0.078125 },\n { x: 0.390625, y: 0.078125 },\n { x: 0.390625, y: 0.078125 },\n { x: 0.421875, y: 0.078125 },\n { x: 0.421875, y: 0.078125 },\n { x: 0.453125, y: 0.078125 },\n { x: 0.453125, y: 0.078125 },\n { x: 0.484375, y: 0.078125 },\n { x: 0.484375, y: 0.078125 },\n { x: 0.515625, y: 0.078125 },\n { x: 0.515625, y: 0.078125 },\n { x: 0.546875, y: 0.078125 },\n { x: 0.546875, y: 0.078125 },\n { x: 0.578125, y: 0.078125 },\n { x: 0.578125, y: 0.078125 },\n { x: 0.609375, y: 0.078125 },\n { x: 0.609375, y: 0.078125 },\n { x: 0.640625, y: 0.078125 },\n { x: 0.640625, y: 0.078125 },\n { x: 0.671875, y: 0.078125 },\n { x: 0.671875, y: 0.078125 },\n { x: 0.703125, y: 0.078125 },\n { x: 0.703125, y: 0.078125 },\n { x: 0.734375, y: 0.078125 },\n { x: 0.734375, y: 0.078125 },\n { x: 0.765625, y: 0.078125 },\n { x: 0.765625, y: 0.078125 },\n { x: 0.796875, y: 0.078125 },\n { x: 0.796875, y: 0.078125 },\n { x: 0.828125, y: 0.078125 },\n { x: 0.828125, y: 0.078125 },\n { x: 0.859375, y: 0.078125 },\n { x: 0.859375, y: 0.078125 },\n { x: 0.890625, y: 0.078125 },\n { x: 0.890625, y: 0.078125 },\n { x: 0.921875, y: 0.078125 },\n { x: 0.921875, y: 0.078125 },\n { x: 0.953125, y: 0.078125 },\n { x: 0.953125, y: 0.078125 },\n { x: 0.984375, y: 0.078125 },\n { x: 0.984375, y: 0.078125 },\n { x: 0.015625, y: 0.109375 },\n { x: 0.015625, y: 0.109375 },\n { x: 0.046875, y: 0.109375 },\n { x: 0.046875, y: 0.109375 },\n { x: 0.078125, y: 0.109375 },\n { x: 0.078125, y: 0.109375 },\n { x: 0.109375, y: 0.109375 },\n { x: 0.109375, y: 0.109375 },\n { x: 0.140625, y: 0.109375 },\n { x: 0.140625, y: 0.109375 },\n { x: 0.171875, y: 0.109375 },\n { x: 0.171875, y: 0.109375 },\n { x: 0.203125, y: 0.109375 },\n { x: 0.203125, y: 0.109375 },\n { x: 0.234375, y: 0.109375 },\n { x: 0.234375, y: 0.109375 },\n { x: 0.265625, y: 0.109375 },\n { x: 0.265625, y: 0.109375 },\n { x: 0.296875, y: 0.109375 },\n { x: 0.296875, y: 0.109375 },\n { x: 0.328125, y: 0.109375 },\n { x: 0.328125, y: 0.109375 },\n { x: 0.359375, y: 0.109375 },\n { x: 0.359375, y: 0.109375 },\n { x: 0.390625, y: 0.109375 },\n { x: 0.390625, y: 0.109375 },\n { x: 0.421875, y: 0.109375 },\n { x: 0.421875, y: 0.109375 },\n { x: 0.453125, y: 0.109375 },\n { x: 0.453125, y: 0.109375 },\n { x: 0.484375, y: 0.109375 },\n { x: 0.484375, y: 0.109375 },\n { x: 0.515625, y: 0.109375 },\n { x: 0.515625, y: 0.109375 },\n { x: 0.546875, y: 0.109375 },\n { x: 0.546875, y: 0.109375 },\n { x: 0.578125, y: 0.109375 },\n { x: 0.578125, y: 0.109375 },\n { x: 0.609375, y: 0.109375 },\n { x: 0.609375, y: 0.109375 },\n { x: 0.640625, y: 0.109375 },\n { x: 0.640625, y: 0.109375 },\n { x: 0.671875, y: 0.109375 },\n { x: 0.671875, y: 0.109375 },\n { x: 0.703125, y: 0.109375 },\n { x: 0.703125, y: 0.109375 },\n { x: 0.734375, y: 0.109375 },\n { x: 0.734375, y: 0.109375 },\n { x: 0.765625, y: 0.109375 },\n { x: 0.765625, y: 0.109375 },\n { x: 0.796875, y: 0.109375 },\n { x: 0.796875, y: 0.109375 },\n { x: 0.828125, y: 0.109375 },\n { x: 0.828125, y: 0.109375 },\n { x: 0.859375, y: 0.109375 },\n { x: 0.859375, y: 0.109375 },\n { x: 0.890625, y: 0.109375 },\n { x: 0.890625, y: 0.109375 },\n { x: 0.921875, y: 0.109375 },\n { x: 0.921875, y: 0.109375 },\n { x: 0.953125, y: 0.109375 },\n { x: 0.953125, y: 0.109375 },\n { x: 0.984375, y: 0.109375 },\n { x: 0.984375, y: 0.109375 },\n { x: 0.015625, y: 0.140625 },\n { x: 0.015625, y: 0.140625 },\n { x: 0.046875, y: 0.140625 },\n { x: 0.046875, y: 0.140625 },\n { x: 0.078125, y: 0.140625 },\n { x: 0.078125, y: 0.140625 },\n { x: 0.109375, y: 0.140625 },\n { x: 0.109375, y: 0.140625 },\n { x: 0.140625, y: 0.140625 },\n { x: 0.140625, y: 0.140625 },\n { x: 0.171875, y: 0.140625 },\n { x: 0.171875, y: 0.140625 },\n { x: 0.203125, y: 0.140625 },\n { x: 0.203125, y: 0.140625 },\n { x: 0.234375, y: 0.140625 },\n { x: 0.234375, y: 0.140625 },\n { x: 0.265625, y: 0.140625 },\n { x: 0.265625, y: 0.140625 },\n { x: 0.296875, y: 0.140625 },\n { x: 0.296875, y: 0.140625 },\n { x: 0.328125, y: 0.140625 },\n { x: 0.328125, y: 0.140625 },\n { x: 0.359375, y: 0.140625 },\n { x: 0.359375, y: 0.140625 },\n { x: 0.390625, y: 0.140625 },\n { x: 0.390625, y: 0.140625 },\n { x: 0.421875, y: 0.140625 },\n { x: 0.421875, y: 0.140625 },\n { x: 0.453125, y: 0.140625 },\n { x: 0.453125, y: 0.140625 },\n { x: 0.484375, y: 0.140625 },\n { x: 0.484375, y: 0.140625 },\n { x: 0.515625, y: 0.140625 },\n { x: 0.515625, y: 0.140625 },\n { x: 0.546875, y: 0.140625 },\n { x: 0.546875, y: 0.140625 },\n { x: 0.578125, y: 0.140625 },\n { x: 0.578125, y: 0.140625 },\n { x: 0.609375, y: 0.140625 },\n { x: 0.609375, y: 0.140625 },\n { x: 0.640625, y: 0.140625 },\n { x: 0.640625, y: 0.140625 },\n { x: 0.671875, y: 0.140625 },\n { x: 0.671875, y: 0.140625 },\n { x: 0.703125, y: 0.140625 },\n { x: 0.703125, y: 0.140625 },\n { x: 0.734375, y: 0.140625 },\n { x: 0.734375, y: 0.140625 },\n { x: 0.765625, y: 0.140625 },\n { x: 0.765625, y: 0.140625 },\n { x: 0.796875, y: 0.140625 },\n { x: 0.796875, y: 0.140625 },\n { x: 0.828125, y: 0.140625 },\n { x: 0.828125, y: 0.140625 },\n { x: 0.859375, y: 0.140625 },\n { x: 0.859375, y: 0.140625 },\n { x: 0.890625, y: 0.140625 },\n { x: 0.890625, y: 0.140625 },\n { x: 0.921875, y: 0.140625 },\n { x: 0.921875, y: 0.140625 },\n { x: 0.953125, y: 0.140625 },\n { x: 0.953125, y: 0.140625 },\n { x: 0.984375, y: 0.140625 },\n { x: 0.984375, y: 0.140625 },\n { x: 0.015625, y: 0.171875 },\n { x: 0.015625, y: 0.171875 },\n { x: 0.046875, y: 0.171875 },\n { x: 0.046875, y: 0.171875 },\n { x: 0.078125, y: 0.171875 },\n { x: 0.078125, y: 0.171875 },\n { x: 0.109375, y: 0.171875 },\n { x: 0.109375, y: 0.171875 },\n { x: 0.140625, y: 0.171875 },\n { x: 0.140625, y: 0.171875 },\n { x: 0.171875, y: 0.171875 },\n { x: 0.171875, y: 0.171875 },\n { x: 0.203125, y: 0.171875 },\n { x: 0.203125, y: 0.171875 },\n { x: 0.234375, y: 0.171875 },\n { x: 0.234375, y: 0.171875 },\n { x: 0.265625, y: 0.171875 },\n { x: 0.265625, y: 0.171875 },\n { x: 0.296875, y: 0.171875 },\n { x: 0.296875, y: 0.171875 },\n { x: 0.328125, y: 0.171875 },\n { x: 0.328125, y: 0.171875 },\n { x: 0.359375, y: 0.171875 },\n { x: 0.359375, y: 0.171875 },\n { x: 0.390625, y: 0.171875 },\n { x: 0.390625, y: 0.171875 },\n { x: 0.421875, y: 0.171875 },\n { x: 0.421875, y: 0.171875 },\n { x: 0.453125, y: 0.171875 },\n { x: 0.453125, y: 0.171875 },\n { x: 0.484375, y: 0.171875 },\n { x: 0.484375, y: 0.171875 },\n { x: 0.515625, y: 0.171875 },\n { x: 0.515625, y: 0.171875 },\n { x: 0.546875, y: 0.171875 },\n { x: 0.546875, y: 0.171875 },\n { x: 0.578125, y: 0.171875 },\n { x: 0.578125, y: 0.171875 },\n { x: 0.609375, y: 0.171875 },\n { x: 0.609375, y: 0.171875 },\n { x: 0.640625, y: 0.171875 },\n { x: 0.640625, y: 0.171875 },\n { x: 0.671875, y: 0.171875 },\n { x: 0.671875, y: 0.171875 },\n { x: 0.703125, y: 0.171875 },\n { x: 0.703125, y: 0.171875 },\n { x: 0.734375, y: 0.171875 },\n { x: 0.734375, y: 0.171875 },\n { x: 0.765625, y: 0.171875 },\n { x: 0.765625, y: 0.171875 },\n { x: 0.796875, y: 0.171875 },\n { x: 0.796875, y: 0.171875 },\n { x: 0.828125, y: 0.171875 },\n { x: 0.828125, y: 0.171875 },\n { x: 0.859375, y: 0.171875 },\n { x: 0.859375, y: 0.171875 },\n { x: 0.890625, y: 0.171875 },\n { x: 0.890625, y: 0.171875 },\n { x: 0.921875, y: 0.171875 },\n { x: 0.921875, y: 0.171875 },\n { x: 0.953125, y: 0.171875 },\n { x: 0.953125, y: 0.171875 },\n { x: 0.984375, y: 0.171875 },\n { x: 0.984375, y: 0.171875 },\n { x: 0.015625, y: 0.203125 },\n { x: 0.015625, y: 0.203125 },\n { x: 0.046875, y: 0.203125 },\n { x: 0.046875, y: 0.203125 },\n { x: 0.078125, y: 0.203125 },\n { x: 0.078125, y: 0.203125 },\n { x: 0.109375, y: 0.203125 },\n { x: 0.109375, y: 0.203125 },\n { x: 0.140625, y: 0.203125 },\n { x: 0.140625, y: 0.203125 },\n { x: 0.171875, y: 0.203125 },\n { x: 0.171875, y: 0.203125 },\n { x: 0.203125, y: 0.203125 },\n { x: 0.203125, y: 0.203125 },\n { x: 0.234375, y: 0.203125 },\n { x: 0.234375, y: 0.203125 },\n { x: 0.265625, y: 0.203125 },\n { x: 0.265625, y: 0.203125 },\n { x: 0.296875, y: 0.203125 },\n { x: 0.296875, y: 0.203125 },\n { x: 0.328125, y: 0.203125 },\n { x: 0.328125, y: 0.203125 },\n { x: 0.359375, y: 0.203125 },\n { x: 0.359375, y: 0.203125 },\n { x: 0.390625, y: 0.203125 },\n { x: 0.390625, y: 0.203125 },\n { x: 0.421875, y: 0.203125 },\n { x: 0.421875, y: 0.203125 },\n { x: 0.453125, y: 0.203125 },\n { x: 0.453125, y: 0.203125 },\n { x: 0.484375, y: 0.203125 },\n { x: 0.484375, y: 0.203125 },\n { x: 0.515625, y: 0.203125 },\n { x: 0.515625, y: 0.203125 },\n { x: 0.546875, y: 0.203125 },\n { x: 0.546875, y: 0.203125 },\n { x: 0.578125, y: 0.203125 },\n { x: 0.578125, y: 0.203125 },\n { x: 0.609375, y: 0.203125 },\n { x: 0.609375, y: 0.203125 },\n { x: 0.640625, y: 0.203125 },\n { x: 0.640625, y: 0.203125 },\n { x: 0.671875, y: 0.203125 },\n { x: 0.671875, y: 0.203125 },\n { x: 0.703125, y: 0.203125 },\n { x: 0.703125, y: 0.203125 },\n { x: 0.734375, y: 0.203125 },\n { x: 0.734375, y: 0.203125 },\n { x: 0.765625, y: 0.203125 },\n { x: 0.765625, y: 0.203125 },\n { x: 0.796875, y: 0.203125 },\n { x: 0.796875, y: 0.203125 },\n { x: 0.828125, y: 0.203125 },\n { x: 0.828125, y: 0.203125 },\n { x: 0.859375, y: 0.203125 },\n { x: 0.859375, y: 0.203125 },\n { x: 0.890625, y: 0.203125 },\n { x: 0.890625, y: 0.203125 },\n { x: 0.921875, y: 0.203125 },\n { x: 0.921875, y: 0.203125 },\n { x: 0.953125, y: 0.203125 },\n { x: 0.953125, y: 0.203125 },\n { x: 0.984375, y: 0.203125 },\n { x: 0.984375, y: 0.203125 },\n { x: 0.015625, y: 0.234375 },\n { x: 0.015625, y: 0.234375 },\n { x: 0.046875, y: 0.234375 },\n { x: 0.046875, y: 0.234375 },\n { x: 0.078125, y: 0.234375 },\n { x: 0.078125, y: 0.234375 },\n { x: 0.109375, y: 0.234375 },\n { x: 0.109375, y: 0.234375 },\n { x: 0.140625, y: 0.234375 },\n { x: 0.140625, y: 0.234375 },\n { x: 0.171875, y: 0.234375 },\n { x: 0.171875, y: 0.234375 },\n { x: 0.203125, y: 0.234375 },\n { x: 0.203125, y: 0.234375 },\n { x: 0.234375, y: 0.234375 },\n { x: 0.234375, y: 0.234375 },\n { x: 0.265625, y: 0.234375 },\n { x: 0.265625, y: 0.234375 },\n { x: 0.296875, y: 0.234375 },\n { x: 0.296875, y: 0.234375 },\n { x: 0.328125, y: 0.234375 },\n { x: 0.328125, y: 0.234375 },\n { x: 0.359375, y: 0.234375 },\n { x: 0.359375, y: 0.234375 },\n { x: 0.390625, y: 0.234375 },\n { x: 0.390625, y: 0.234375 },\n { x: 0.421875, y: 0.234375 },\n { x: 0.421875, y: 0.234375 },\n { x: 0.453125, y: 0.234375 },\n { x: 0.453125, y: 0.234375 },\n { x: 0.484375, y: 0.234375 },\n { x: 0.484375, y: 0.234375 },\n { x: 0.515625, y: 0.234375 },\n { x: 0.515625, y: 0.234375 },\n { x: 0.546875, y: 0.234375 },\n { x: 0.546875, y: 0.234375 },\n { x: 0.578125, y: 0.234375 },\n { x: 0.578125, y: 0.234375 },\n { x: 0.609375, y: 0.234375 },\n { x: 0.609375, y: 0.234375 },\n { x: 0.640625, y: 0.234375 },\n { x: 0.640625, y: 0.234375 },\n { x: 0.671875, y: 0.234375 },\n { x: 0.671875, y: 0.234375 },\n { x: 0.703125, y: 0.234375 },\n { x: 0.703125, y: 0.234375 },\n { x: 0.734375, y: 0.234375 },\n { x: 0.734375, y: 0.234375 },\n { x: 0.765625, y: 0.234375 },\n { x: 0.765625, y: 0.234375 },\n { x: 0.796875, y: 0.234375 },\n { x: 0.796875, y: 0.234375 },\n { x: 0.828125, y: 0.234375 },\n { x: 0.828125, y: 0.234375 },\n { x: 0.859375, y: 0.234375 },\n { x: 0.859375, y: 0.234375 },\n { x: 0.890625, y: 0.234375 },\n { x: 0.890625, y: 0.234375 },\n { x: 0.921875, y: 0.234375 },\n { x: 0.921875, y: 0.234375 },\n { x: 0.953125, y: 0.234375 },\n { x: 0.953125, y: 0.234375 },\n { x: 0.984375, y: 0.234375 },\n { x: 0.984375, y: 0.234375 },\n { x: 0.015625, y: 0.265625 },\n { x: 0.015625, y: 0.265625 },\n { x: 0.046875, y: 0.265625 },\n { x: 0.046875, y: 0.265625 },\n { x: 0.078125, y: 0.265625 },\n { x: 0.078125, y: 0.265625 },\n { x: 0.109375, y: 0.265625 },\n { x: 0.109375, y: 0.265625 },\n { x: 0.140625, y: 0.265625 },\n { x: 0.140625, y: 0.265625 },\n { x: 0.171875, y: 0.265625 },\n { x: 0.171875, y: 0.265625 },\n { x: 0.203125, y: 0.265625 },\n { x: 0.203125, y: 0.265625 },\n { x: 0.234375, y: 0.265625 },\n { x: 0.234375, y: 0.265625 },\n { x: 0.265625, y: 0.265625 },\n { x: 0.265625, y: 0.265625 },\n { x: 0.296875, y: 0.265625 },\n { x: 0.296875, y: 0.265625 },\n { x: 0.328125, y: 0.265625 },\n { x: 0.328125, y: 0.265625 },\n { x: 0.359375, y: 0.265625 },\n { x: 0.359375, y: 0.265625 },\n { x: 0.390625, y: 0.265625 },\n { x: 0.390625, y: 0.265625 },\n { x: 0.421875, y: 0.265625 },\n { x: 0.421875, y: 0.265625 },\n { x: 0.453125, y: 0.265625 },\n { x: 0.453125, y: 0.265625 },\n { x: 0.484375, y: 0.265625 },\n { x: 0.484375, y: 0.265625 },\n { x: 0.515625, y: 0.265625 },\n { x: 0.515625, y: 0.265625 },\n { x: 0.546875, y: 0.265625 },\n { x: 0.546875, y: 0.265625 },\n { x: 0.578125, y: 0.265625 },\n { x: 0.578125, y: 0.265625 },\n { x: 0.609375, y: 0.265625 },\n { x: 0.609375, y: 0.265625 },\n { x: 0.640625, y: 0.265625 },\n { x: 0.640625, y: 0.265625 },\n { x: 0.671875, y: 0.265625 },\n { x: 0.671875, y: 0.265625 },\n { x: 0.703125, y: 0.265625 },\n { x: 0.703125, y: 0.265625 },\n { x: 0.734375, y: 0.265625 },\n { x: 0.734375, y: 0.265625 },\n { x: 0.765625, y: 0.265625 },\n { x: 0.765625, y: 0.265625 },\n { x: 0.796875, y: 0.265625 },\n { x: 0.796875, y: 0.265625 },\n { x: 0.828125, y: 0.265625 },\n { x: 0.828125, y: 0.265625 },\n { x: 0.859375, y: 0.265625 },\n { x: 0.859375, y: 0.265625 },\n { x: 0.890625, y: 0.265625 },\n { x: 0.890625, y: 0.265625 },\n { x: 0.921875, y: 0.265625 },\n { x: 0.921875, y: 0.265625 },\n { x: 0.953125, y: 0.265625 },\n { x: 0.953125, y: 0.265625 },\n { x: 0.984375, y: 0.265625 },\n { x: 0.984375, y: 0.265625 },\n { x: 0.015625, y: 0.296875 },\n { x: 0.015625, y: 0.296875 },\n { x: 0.046875, y: 0.296875 },\n { x: 0.046875, y: 0.296875 },\n { x: 0.078125, y: 0.296875 },\n { x: 0.078125, y: 0.296875 },\n { x: 0.109375, y: 0.296875 },\n { x: 0.109375, y: 0.296875 },\n { x: 0.140625, y: 0.296875 },\n { x: 0.140625, y: 0.296875 },\n { x: 0.171875, y: 0.296875 },\n { x: 0.171875, y: 0.296875 },\n { x: 0.203125, y: 0.296875 },\n { x: 0.203125, y: 0.296875 },\n { x: 0.234375, y: 0.296875 },\n { x: 0.234375, y: 0.296875 },\n { x: 0.265625, y: 0.296875 },\n { x: 0.265625, y: 0.296875 },\n { x: 0.296875, y: 0.296875 },\n { x: 0.296875, y: 0.296875 },\n { x: 0.328125, y: 0.296875 },\n { x: 0.328125, y: 0.296875 },\n { x: 0.359375, y: 0.296875 },\n { x: 0.359375, y: 0.296875 },\n { x: 0.390625, y: 0.296875 },\n { x: 0.390625, y: 0.296875 },\n { x: 0.421875, y: 0.296875 },\n { x: 0.421875, y: 0.296875 },\n { x: 0.453125, y: 0.296875 },\n { x: 0.453125, y: 0.296875 },\n { x: 0.484375, y: 0.296875 },\n { x: 0.484375, y: 0.296875 },\n { x: 0.515625, y: 0.296875 },\n { x: 0.515625, y: 0.296875 },\n { x: 0.546875, y: 0.296875 },\n { x: 0.546875, y: 0.296875 },\n { x: 0.578125, y: 0.296875 },\n { x: 0.578125, y: 0.296875 },\n { x: 0.609375, y: 0.296875 },\n { x: 0.609375, y: 0.296875 },\n { x: 0.640625, y: 0.296875 },\n { x: 0.640625, y: 0.296875 },\n { x: 0.671875, y: 0.296875 },\n { x: 0.671875, y: 0.296875 },\n { x: 0.703125, y: 0.296875 },\n { x: 0.703125, y: 0.296875 },\n { x: 0.734375, y: 0.296875 },\n { x: 0.734375, y: 0.296875 },\n { x: 0.765625, y: 0.296875 },\n { x: 0.765625, y: 0.296875 },\n { x: 0.796875, y: 0.296875 },\n { x: 0.796875, y: 0.296875 },\n { x: 0.828125, y: 0.296875 },\n { x: 0.828125, y: 0.296875 },\n { x: 0.859375, y: 0.296875 },\n { x: 0.859375, y: 0.296875 },\n { x: 0.890625, y: 0.296875 },\n { x: 0.890625, y: 0.296875 },\n { x: 0.921875, y: 0.296875 },\n { x: 0.921875, y: 0.296875 },\n { x: 0.953125, y: 0.296875 },\n { x: 0.953125, y: 0.296875 },\n { x: 0.984375, y: 0.296875 },\n { x: 0.984375, y: 0.296875 },\n { x: 0.015625, y: 0.328125 },\n { x: 0.015625, y: 0.328125 },\n { x: 0.046875, y: 0.328125 },\n { x: 0.046875, y: 0.328125 },\n { x: 0.078125, y: 0.328125 },\n { x: 0.078125, y: 0.328125 },\n { x: 0.109375, y: 0.328125 },\n { x: 0.109375, y: 0.328125 },\n { x: 0.140625, y: 0.328125 },\n { x: 0.140625, y: 0.328125 },\n { x: 0.171875, y: 0.328125 },\n { x: 0.171875, y: 0.328125 },\n { x: 0.203125, y: 0.328125 },\n { x: 0.203125, y: 0.328125 },\n { x: 0.234375, y: 0.328125 },\n { x: 0.234375, y: 0.328125 },\n { x: 0.265625, y: 0.328125 },\n { x: 0.265625, y: 0.328125 },\n { x: 0.296875, y: 0.328125 },\n { x: 0.296875, y: 0.328125 },\n { x: 0.328125, y: 0.328125 },\n { x: 0.328125, y: 0.328125 },\n { x: 0.359375, y: 0.328125 },\n { x: 0.359375, y: 0.328125 },\n { x: 0.390625, y: 0.328125 },\n { x: 0.390625, y: 0.328125 },\n { x: 0.421875, y: 0.328125 },\n { x: 0.421875, y: 0.328125 },\n { x: 0.453125, y: 0.328125 },\n { x: 0.453125, y: 0.328125 },\n { x: 0.484375, y: 0.328125 },\n { x: 0.484375, y: 0.328125 },\n { x: 0.515625, y: 0.328125 },\n { x: 0.515625, y: 0.328125 },\n { x: 0.546875, y: 0.328125 },\n { x: 0.546875, y: 0.328125 },\n { x: 0.578125, y: 0.328125 },\n { x: 0.578125, y: 0.328125 },\n { x: 0.609375, y: 0.328125 },\n { x: 0.609375, y: 0.328125 },\n { x: 0.640625, y: 0.328125 },\n { x: 0.640625, y: 0.328125 },\n { x: 0.671875, y: 0.328125 },\n { x: 0.671875, y: 0.328125 },\n { x: 0.703125, y: 0.328125 },\n { x: 0.703125, y: 0.328125 },\n { x: 0.734375, y: 0.328125 },\n { x: 0.734375, y: 0.328125 },\n { x: 0.765625, y: 0.328125 },\n { x: 0.765625, y: 0.328125 },\n { x: 0.796875, y: 0.328125 },\n { x: 0.796875, y: 0.328125 },\n { x: 0.828125, y: 0.328125 },\n { x: 0.828125, y: 0.328125 },\n { x: 0.859375, y: 0.328125 },\n { x: 0.859375, y: 0.328125 },\n { x: 0.890625, y: 0.328125 },\n { x: 0.890625, y: 0.328125 },\n { x: 0.921875, y: 0.328125 },\n { x: 0.921875, y: 0.328125 },\n { x: 0.953125, y: 0.328125 },\n { x: 0.953125, y: 0.328125 },\n { x: 0.984375, y: 0.328125 },\n { x: 0.984375, y: 0.328125 },\n { x: 0.015625, y: 0.359375 },\n { x: 0.015625, y: 0.359375 },\n { x: 0.046875, y: 0.359375 },\n { x: 0.046875, y: 0.359375 },\n { x: 0.078125, y: 0.359375 },\n { x: 0.078125, y: 0.359375 },\n { x: 0.109375, y: 0.359375 },\n { x: 0.109375, y: 0.359375 },\n { x: 0.140625, y: 0.359375 },\n { x: 0.140625, y: 0.359375 },\n { x: 0.171875, y: 0.359375 },\n { x: 0.171875, y: 0.359375 },\n { x: 0.203125, y: 0.359375 },\n { x: 0.203125, y: 0.359375 },\n { x: 0.234375, y: 0.359375 },\n { x: 0.234375, y: 0.359375 },\n { x: 0.265625, y: 0.359375 },\n { x: 0.265625, y: 0.359375 },\n { x: 0.296875, y: 0.359375 },\n { x: 0.296875, y: 0.359375 },\n { x: 0.328125, y: 0.359375 },\n { x: 0.328125, y: 0.359375 },\n { x: 0.359375, y: 0.359375 },\n { x: 0.359375, y: 0.359375 },\n { x: 0.390625, y: 0.359375 },\n { x: 0.390625, y: 0.359375 },\n { x: 0.421875, y: 0.359375 },\n { x: 0.421875, y: 0.359375 },\n { x: 0.453125, y: 0.359375 },\n { x: 0.453125, y: 0.359375 },\n { x: 0.484375, y: 0.359375 },\n { x: 0.484375, y: 0.359375 },\n { x: 0.515625, y: 0.359375 },\n { x: 0.515625, y: 0.359375 },\n { x: 0.546875, y: 0.359375 },\n { x: 0.546875, y: 0.359375 },\n { x: 0.578125, y: 0.359375 },\n { x: 0.578125, y: 0.359375 },\n { x: 0.609375, y: 0.359375 },\n { x: 0.609375, y: 0.359375 },\n { x: 0.640625, y: 0.359375 },\n { x: 0.640625, y: 0.359375 },\n { x: 0.671875, y: 0.359375 },\n { x: 0.671875, y: 0.359375 },\n { x: 0.703125, y: 0.359375 },\n { x: 0.703125, y: 0.359375 },\n { x: 0.734375, y: 0.359375 },\n { x: 0.734375, y: 0.359375 },\n { x: 0.765625, y: 0.359375 },\n { x: 0.765625, y: 0.359375 },\n { x: 0.796875, y: 0.359375 },\n { x: 0.796875, y: 0.359375 },\n { x: 0.828125, y: 0.359375 },\n { x: 0.828125, y: 0.359375 },\n { x: 0.859375, y: 0.359375 },\n { x: 0.859375, y: 0.359375 },\n { x: 0.890625, y: 0.359375 },\n { x: 0.890625, y: 0.359375 },\n { x: 0.921875, y: 0.359375 },\n { x: 0.921875, y: 0.359375 },\n { x: 0.953125, y: 0.359375 },\n { x: 0.953125, y: 0.359375 },\n { x: 0.984375, y: 0.359375 },\n { x: 0.984375, y: 0.359375 },\n { x: 0.015625, y: 0.390625 },\n { x: 0.015625, y: 0.390625 },\n { x: 0.046875, y: 0.390625 },\n { x: 0.046875, y: 0.390625 },\n { x: 0.078125, y: 0.390625 },\n { x: 0.078125, y: 0.390625 },\n { x: 0.109375, y: 0.390625 },\n { x: 0.109375, y: 0.390625 },\n { x: 0.140625, y: 0.390625 },\n { x: 0.140625, y: 0.390625 },\n { x: 0.171875, y: 0.390625 },\n { x: 0.171875, y: 0.390625 },\n { x: 0.203125, y: 0.390625 },\n { x: 0.203125, y: 0.390625 },\n { x: 0.234375, y: 0.390625 },\n { x: 0.234375, y: 0.390625 },\n { x: 0.265625, y: 0.390625 },\n { x: 0.265625, y: 0.390625 },\n { x: 0.296875, y: 0.390625 },\n { x: 0.296875, y: 0.390625 },\n { x: 0.328125, y: 0.390625 },\n { x: 0.328125, y: 0.390625 },\n { x: 0.359375, y: 0.390625 },\n { x: 0.359375, y: 0.390625 },\n { x: 0.390625, y: 0.390625 },\n { x: 0.390625, y: 0.390625 },\n { x: 0.421875, y: 0.390625 },\n { x: 0.421875, y: 0.390625 },\n { x: 0.453125, y: 0.390625 },\n { x: 0.453125, y: 0.390625 },\n { x: 0.484375, y: 0.390625 },\n { x: 0.484375, y: 0.390625 },\n { x: 0.515625, y: 0.390625 },\n { x: 0.515625, y: 0.390625 },\n { x: 0.546875, y: 0.390625 },\n { x: 0.546875, y: 0.390625 },\n { x: 0.578125, y: 0.390625 },\n { x: 0.578125, y: 0.390625 },\n { x: 0.609375, y: 0.390625 },\n { x: 0.609375, y: 0.390625 },\n { x: 0.640625, y: 0.390625 },\n { x: 0.640625, y: 0.390625 },\n { x: 0.671875, y: 0.390625 },\n { x: 0.671875, y: 0.390625 },\n { x: 0.703125, y: 0.390625 },\n { x: 0.703125, y: 0.390625 },\n { x: 0.734375, y: 0.390625 },\n { x: 0.734375, y: 0.390625 },\n { x: 0.765625, y: 0.390625 },\n { x: 0.765625, y: 0.390625 },\n { x: 0.796875, y: 0.390625 },\n { x: 0.796875, y: 0.390625 },\n { x: 0.828125, y: 0.390625 },\n { x: 0.828125, y: 0.390625 },\n { x: 0.859375, y: 0.390625 },\n { x: 0.859375, y: 0.390625 },\n { x: 0.890625, y: 0.390625 },\n { x: 0.890625, y: 0.390625 },\n { x: 0.921875, y: 0.390625 },\n { x: 0.921875, y: 0.390625 },\n { x: 0.953125, y: 0.390625 },\n { x: 0.953125, y: 0.390625 },\n { x: 0.984375, y: 0.390625 },\n { x: 0.984375, y: 0.390625 },\n { x: 0.015625, y: 0.421875 },\n { x: 0.015625, y: 0.421875 },\n { x: 0.046875, y: 0.421875 },\n { x: 0.046875, y: 0.421875 },\n { x: 0.078125, y: 0.421875 },\n { x: 0.078125, y: 0.421875 },\n { x: 0.109375, y: 0.421875 },\n { x: 0.109375, y: 0.421875 },\n { x: 0.140625, y: 0.421875 },\n { x: 0.140625, y: 0.421875 },\n { x: 0.171875, y: 0.421875 },\n { x: 0.171875, y: 0.421875 },\n { x: 0.203125, y: 0.421875 },\n { x: 0.203125, y: 0.421875 },\n { x: 0.234375, y: 0.421875 },\n { x: 0.234375, y: 0.421875 },\n { x: 0.265625, y: 0.421875 },\n { x: 0.265625, y: 0.421875 },\n { x: 0.296875, y: 0.421875 },\n { x: 0.296875, y: 0.421875 },\n { x: 0.328125, y: 0.421875 },\n { x: 0.328125, y: 0.421875 },\n { x: 0.359375, y: 0.421875 },\n { x: 0.359375, y: 0.421875 },\n { x: 0.390625, y: 0.421875 },\n { x: 0.390625, y: 0.421875 },\n { x: 0.421875, y: 0.421875 },\n { x: 0.421875, y: 0.421875 },\n { x: 0.453125, y: 0.421875 },\n { x: 0.453125, y: 0.421875 },\n { x: 0.484375, y: 0.421875 },\n { x: 0.484375, y: 0.421875 },\n { x: 0.515625, y: 0.421875 },\n { x: 0.515625, y: 0.421875 },\n { x: 0.546875, y: 0.421875 },\n { x: 0.546875, y: 0.421875 },\n { x: 0.578125, y: 0.421875 },\n { x: 0.578125, y: 0.421875 },\n { x: 0.609375, y: 0.421875 },\n { x: 0.609375, y: 0.421875 },\n { x: 0.640625, y: 0.421875 },\n { x: 0.640625, y: 0.421875 },\n { x: 0.671875, y: 0.421875 },\n { x: 0.671875, y: 0.421875 },\n { x: 0.703125, y: 0.421875 },\n { x: 0.703125, y: 0.421875 },\n { x: 0.734375, y: 0.421875 },\n { x: 0.734375, y: 0.421875 },\n { x: 0.765625, y: 0.421875 },\n { x: 0.765625, y: 0.421875 },\n { x: 0.796875, y: 0.421875 },\n { x: 0.796875, y: 0.421875 },\n { x: 0.828125, y: 0.421875 },\n { x: 0.828125, y: 0.421875 },\n { x: 0.859375, y: 0.421875 },\n { x: 0.859375, y: 0.421875 },\n { x: 0.890625, y: 0.421875 },\n { x: 0.890625, y: 0.421875 },\n { x: 0.921875, y: 0.421875 },\n { x: 0.921875, y: 0.421875 },\n { x: 0.953125, y: 0.421875 },\n { x: 0.953125, y: 0.421875 },\n { x: 0.984375, y: 0.421875 },\n { x: 0.984375, y: 0.421875 },\n { x: 0.015625, y: 0.453125 },\n { x: 0.015625, y: 0.453125 },\n { x: 0.046875, y: 0.453125 },\n { x: 0.046875, y: 0.453125 },\n { x: 0.078125, y: 0.453125 },\n { x: 0.078125, y: 0.453125 },\n { x: 0.109375, y: 0.453125 },\n { x: 0.109375, y: 0.453125 },\n { x: 0.140625, y: 0.453125 },\n { x: 0.140625, y: 0.453125 },\n { x: 0.171875, y: 0.453125 },\n { x: 0.171875, y: 0.453125 },\n { x: 0.203125, y: 0.453125 },\n { x: 0.203125, y: 0.453125 },\n { x: 0.234375, y: 0.453125 },\n { x: 0.234375, y: 0.453125 },\n { x: 0.265625, y: 0.453125 },\n { x: 0.265625, y: 0.453125 },\n { x: 0.296875, y: 0.453125 },\n { x: 0.296875, y: 0.453125 },\n { x: 0.328125, y: 0.453125 },\n { x: 0.328125, y: 0.453125 },\n { x: 0.359375, y: 0.453125 },\n { x: 0.359375, y: 0.453125 },\n { x: 0.390625, y: 0.453125 },\n { x: 0.390625, y: 0.453125 },\n { x: 0.421875, y: 0.453125 },\n { x: 0.421875, y: 0.453125 },\n { x: 0.453125, y: 0.453125 },\n { x: 0.453125, y: 0.453125 },\n { x: 0.484375, y: 0.453125 },\n { x: 0.484375, y: 0.453125 },\n { x: 0.515625, y: 0.453125 },\n { x: 0.515625, y: 0.453125 },\n { x: 0.546875, y: 0.453125 },\n { x: 0.546875, y: 0.453125 },\n { x: 0.578125, y: 0.453125 },\n { x: 0.578125, y: 0.453125 },\n { x: 0.609375, y: 0.453125 },\n { x: 0.609375, y: 0.453125 },\n { x: 0.640625, y: 0.453125 },\n { x: 0.640625, y: 0.453125 },\n { x: 0.671875, y: 0.453125 },\n { x: 0.671875, y: 0.453125 },\n { x: 0.703125, y: 0.453125 },\n { x: 0.703125, y: 0.453125 },\n { x: 0.734375, y: 0.453125 },\n { x: 0.734375, y: 0.453125 },\n { x: 0.765625, y: 0.453125 },\n { x: 0.765625, y: 0.453125 },\n { x: 0.796875, y: 0.453125 },\n { x: 0.796875, y: 0.453125 },\n { x: 0.828125, y: 0.453125 },\n { x: 0.828125, y: 0.453125 },\n { x: 0.859375, y: 0.453125 },\n { x: 0.859375, y: 0.453125 },\n { x: 0.890625, y: 0.453125 },\n { x: 0.890625, y: 0.453125 },\n { x: 0.921875, y: 0.453125 },\n { x: 0.921875, y: 0.453125 },\n { x: 0.953125, y: 0.453125 },\n { x: 0.953125, y: 0.453125 },\n { x: 0.984375, y: 0.453125 },\n { x: 0.984375, y: 0.453125 },\n { x: 0.015625, y: 0.484375 },\n { x: 0.015625, y: 0.484375 },\n { x: 0.046875, y: 0.484375 },\n { x: 0.046875, y: 0.484375 },\n { x: 0.078125, y: 0.484375 },\n { x: 0.078125, y: 0.484375 },\n { x: 0.109375, y: 0.484375 },\n { x: 0.109375, y: 0.484375 },\n { x: 0.140625, y: 0.484375 },\n { x: 0.140625, y: 0.484375 },\n { x: 0.171875, y: 0.484375 },\n { x: 0.171875, y: 0.484375 },\n { x: 0.203125, y: 0.484375 },\n { x: 0.203125, y: 0.484375 },\n { x: 0.234375, y: 0.484375 },\n { x: 0.234375, y: 0.484375 },\n { x: 0.265625, y: 0.484375 },\n { x: 0.265625, y: 0.484375 },\n { x: 0.296875, y: 0.484375 },\n { x: 0.296875, y: 0.484375 },\n { x: 0.328125, y: 0.484375 },\n { x: 0.328125, y: 0.484375 },\n { x: 0.359375, y: 0.484375 },\n { x: 0.359375, y: 0.484375 },\n { x: 0.390625, y: 0.484375 },\n { x: 0.390625, y: 0.484375 },\n { x: 0.421875, y: 0.484375 },\n { x: 0.421875, y: 0.484375 },\n { x: 0.453125, y: 0.484375 },\n { x: 0.453125, y: 0.484375 },\n { x: 0.484375, y: 0.484375 },\n { x: 0.484375, y: 0.484375 },\n { x: 0.515625, y: 0.484375 },\n { x: 0.515625, y: 0.484375 },\n { x: 0.546875, y: 0.484375 },\n { x: 0.546875, y: 0.484375 },\n { x: 0.578125, y: 0.484375 },\n { x: 0.578125, y: 0.484375 },\n { x: 0.609375, y: 0.484375 },\n { x: 0.609375, y: 0.484375 },\n { x: 0.640625, y: 0.484375 },\n { x: 0.640625, y: 0.484375 },\n { x: 0.671875, y: 0.484375 },\n { x: 0.671875, y: 0.484375 },\n { x: 0.703125, y: 0.484375 },\n { x: 0.703125, y: 0.484375 },\n { x: 0.734375, y: 0.484375 },\n { x: 0.734375, y: 0.484375 },\n { x: 0.765625, y: 0.484375 },\n { x: 0.765625, y: 0.484375 },\n { x: 0.796875, y: 0.484375 },\n { x: 0.796875, y: 0.484375 },\n { x: 0.828125, y: 0.484375 },\n { x: 0.828125, y: 0.484375 },\n { x: 0.859375, y: 0.484375 },\n { x: 0.859375, y: 0.484375 },\n { x: 0.890625, y: 0.484375 },\n { x: 0.890625, y: 0.484375 },\n { x: 0.921875, y: 0.484375 },\n { x: 0.921875, y: 0.484375 },\n { x: 0.953125, y: 0.484375 },\n { x: 0.953125, y: 0.484375 },\n { x: 0.984375, y: 0.484375 },\n { x: 0.984375, y: 0.484375 },\n { x: 0.015625, y: 0.515625 },\n { x: 0.015625, y: 0.515625 },\n { x: 0.046875, y: 0.515625 },\n { x: 0.046875, y: 0.515625 },\n { x: 0.078125, y: 0.515625 },\n { x: 0.078125, y: 0.515625 },\n { x: 0.109375, y: 0.515625 },\n { x: 0.109375, y: 0.515625 },\n { x: 0.140625, y: 0.515625 },\n { x: 0.140625, y: 0.515625 },\n { x: 0.171875, y: 0.515625 },\n { x: 0.171875, y: 0.515625 },\n { x: 0.203125, y: 0.515625 },\n { x: 0.203125, y: 0.515625 },\n { x: 0.234375, y: 0.515625 },\n { x: 0.234375, y: 0.515625 },\n { x: 0.265625, y: 0.515625 },\n { x: 0.265625, y: 0.515625 },\n { x: 0.296875, y: 0.515625 },\n { x: 0.296875, y: 0.515625 },\n { x: 0.328125, y: 0.515625 },\n { x: 0.328125, y: 0.515625 },\n { x: 0.359375, y: 0.515625 },\n { x: 0.359375, y: 0.515625 },\n { x: 0.390625, y: 0.515625 },\n { x: 0.390625, y: 0.515625 },\n { x: 0.421875, y: 0.515625 },\n { x: 0.421875, y: 0.515625 },\n { x: 0.453125, y: 0.515625 },\n { x: 0.453125, y: 0.515625 },\n { x: 0.484375, y: 0.515625 },\n { x: 0.484375, y: 0.515625 },\n { x: 0.515625, y: 0.515625 },\n { x: 0.515625, y: 0.515625 },\n { x: 0.546875, y: 0.515625 },\n { x: 0.546875, y: 0.515625 },\n { x: 0.578125, y: 0.515625 },\n { x: 0.578125, y: 0.515625 },\n { x: 0.609375, y: 0.515625 },\n { x: 0.609375, y: 0.515625 },\n { x: 0.640625, y: 0.515625 },\n { x: 0.640625, y: 0.515625 },\n { x: 0.671875, y: 0.515625 },\n { x: 0.671875, y: 0.515625 },\n { x: 0.703125, y: 0.515625 },\n { x: 0.703125, y: 0.515625 },\n { x: 0.734375, y: 0.515625 },\n { x: 0.734375, y: 0.515625 },\n { x: 0.765625, y: 0.515625 },\n { x: 0.765625, y: 0.515625 },\n { x: 0.796875, y: 0.515625 },\n { x: 0.796875, y: 0.515625 },\n { x: 0.828125, y: 0.515625 },\n { x: 0.828125, y: 0.515625 },\n { x: 0.859375, y: 0.515625 },\n { x: 0.859375, y: 0.515625 },\n { x: 0.890625, y: 0.515625 },\n { x: 0.890625, y: 0.515625 },\n { x: 0.921875, y: 0.515625 },\n { x: 0.921875, y: 0.515625 },\n { x: 0.953125, y: 0.515625 },\n { x: 0.953125, y: 0.515625 },\n { x: 0.984375, y: 0.515625 },\n { x: 0.984375, y: 0.515625 },\n { x: 0.015625, y: 0.546875 },\n { x: 0.015625, y: 0.546875 },\n { x: 0.046875, y: 0.546875 },\n { x: 0.046875, y: 0.546875 },\n { x: 0.078125, y: 0.546875 },\n { x: 0.078125, y: 0.546875 },\n { x: 0.109375, y: 0.546875 },\n { x: 0.109375, y: 0.546875 },\n { x: 0.140625, y: 0.546875 },\n { x: 0.140625, y: 0.546875 },\n { x: 0.171875, y: 0.546875 },\n { x: 0.171875, y: 0.546875 },\n { x: 0.203125, y: 0.546875 },\n { x: 0.203125, y: 0.546875 },\n { x: 0.234375, y: 0.546875 },\n { x: 0.234375, y: 0.546875 },\n { x: 0.265625, y: 0.546875 },\n { x: 0.265625, y: 0.546875 },\n { x: 0.296875, y: 0.546875 },\n { x: 0.296875, y: 0.546875 },\n { x: 0.328125, y: 0.546875 },\n { x: 0.328125, y: 0.546875 },\n { x: 0.359375, y: 0.546875 },\n { x: 0.359375, y: 0.546875 },\n { x: 0.390625, y: 0.546875 },\n { x: 0.390625, y: 0.546875 },\n { x: 0.421875, y: 0.546875 },\n { x: 0.421875, y: 0.546875 },\n { x: 0.453125, y: 0.546875 },\n { x: 0.453125, y: 0.546875 },\n { x: 0.484375, y: 0.546875 },\n { x: 0.484375, y: 0.546875 },\n { x: 0.515625, y: 0.546875 },\n { x: 0.515625, y: 0.546875 },\n { x: 0.546875, y: 0.546875 },\n { x: 0.546875, y: 0.546875 },\n { x: 0.578125, y: 0.546875 },\n { x: 0.578125, y: 0.546875 },\n { x: 0.609375, y: 0.546875 },\n { x: 0.609375, y: 0.546875 },\n { x: 0.640625, y: 0.546875 },\n { x: 0.640625, y: 0.546875 },\n { x: 0.671875, y: 0.546875 },\n { x: 0.671875, y: 0.546875 },\n { x: 0.703125, y: 0.546875 },\n { x: 0.703125, y: 0.546875 },\n { x: 0.734375, y: 0.546875 },\n { x: 0.734375, y: 0.546875 },\n { x: 0.765625, y: 0.546875 },\n { x: 0.765625, y: 0.546875 },\n { x: 0.796875, y: 0.546875 },\n { x: 0.796875, y: 0.546875 },\n { x: 0.828125, y: 0.546875 },\n { x: 0.828125, y: 0.546875 },\n { x: 0.859375, y: 0.546875 },\n { x: 0.859375, y: 0.546875 },\n { x: 0.890625, y: 0.546875 },\n { x: 0.890625, y: 0.546875 },\n { x: 0.921875, y: 0.546875 },\n { x: 0.921875, y: 0.546875 },\n { x: 0.953125, y: 0.546875 },\n { x: 0.953125, y: 0.546875 },\n { x: 0.984375, y: 0.546875 },\n { x: 0.984375, y: 0.546875 },\n { x: 0.015625, y: 0.578125 },\n { x: 0.015625, y: 0.578125 },\n { x: 0.046875, y: 0.578125 },\n { x: 0.046875, y: 0.578125 },\n { x: 0.078125, y: 0.578125 },\n { x: 0.078125, y: 0.578125 },\n { x: 0.109375, y: 0.578125 },\n { x: 0.109375, y: 0.578125 },\n { x: 0.140625, y: 0.578125 },\n { x: 0.140625, y: 0.578125 },\n { x: 0.171875, y: 0.578125 },\n { x: 0.171875, y: 0.578125 },\n { x: 0.203125, y: 0.578125 },\n { x: 0.203125, y: 0.578125 },\n { x: 0.234375, y: 0.578125 },\n { x: 0.234375, y: 0.578125 },\n { x: 0.265625, y: 0.578125 },\n { x: 0.265625, y: 0.578125 },\n { x: 0.296875, y: 0.578125 },\n { x: 0.296875, y: 0.578125 },\n { x: 0.328125, y: 0.578125 },\n { x: 0.328125, y: 0.578125 },\n { x: 0.359375, y: 0.578125 },\n { x: 0.359375, y: 0.578125 },\n { x: 0.390625, y: 0.578125 },\n { x: 0.390625, y: 0.578125 },\n { x: 0.421875, y: 0.578125 },\n { x: 0.421875, y: 0.578125 },\n { x: 0.453125, y: 0.578125 },\n { x: 0.453125, y: 0.578125 },\n { x: 0.484375, y: 0.578125 },\n { x: 0.484375, y: 0.578125 },\n { x: 0.515625, y: 0.578125 },\n { x: 0.515625, y: 0.578125 },\n { x: 0.546875, y: 0.578125 },\n { x: 0.546875, y: 0.578125 },\n { x: 0.578125, y: 0.578125 },\n { x: 0.578125, y: 0.578125 },\n { x: 0.609375, y: 0.578125 },\n { x: 0.609375, y: 0.578125 },\n { x: 0.640625, y: 0.578125 },\n { x: 0.640625, y: 0.578125 },\n { x: 0.671875, y: 0.578125 },\n { x: 0.671875, y: 0.578125 },\n { x: 0.703125, y: 0.578125 },\n { x: 0.703125, y: 0.578125 },\n { x: 0.734375, y: 0.578125 },\n { x: 0.734375, y: 0.578125 },\n { x: 0.765625, y: 0.578125 },\n { x: 0.765625, y: 0.578125 },\n { x: 0.796875, y: 0.578125 },\n { x: 0.796875, y: 0.578125 },\n { x: 0.828125, y: 0.578125 },\n { x: 0.828125, y: 0.578125 },\n { x: 0.859375, y: 0.578125 },\n { x: 0.859375, y: 0.578125 },\n { x: 0.890625, y: 0.578125 },\n { x: 0.890625, y: 0.578125 },\n { x: 0.921875, y: 0.578125 },\n { x: 0.921875, y: 0.578125 },\n { x: 0.953125, y: 0.578125 },\n { x: 0.953125, y: 0.578125 },\n { x: 0.984375, y: 0.578125 },\n { x: 0.984375, y: 0.578125 },\n { x: 0.015625, y: 0.609375 },\n { x: 0.015625, y: 0.609375 },\n { x: 0.046875, y: 0.609375 },\n { x: 0.046875, y: 0.609375 },\n { x: 0.078125, y: 0.609375 },\n { x: 0.078125, y: 0.609375 },\n { x: 0.109375, y: 0.609375 },\n { x: 0.109375, y: 0.609375 },\n { x: 0.140625, y: 0.609375 },\n { x: 0.140625, y: 0.609375 },\n { x: 0.171875, y: 0.609375 },\n { x: 0.171875, y: 0.609375 },\n { x: 0.203125, y: 0.609375 },\n { x: 0.203125, y: 0.609375 },\n { x: 0.234375, y: 0.609375 },\n { x: 0.234375, y: 0.609375 },\n { x: 0.265625, y: 0.609375 },\n { x: 0.265625, y: 0.609375 },\n { x: 0.296875, y: 0.609375 },\n { x: 0.296875, y: 0.609375 },\n { x: 0.328125, y: 0.609375 },\n { x: 0.328125, y: 0.609375 },\n { x: 0.359375, y: 0.609375 },\n { x: 0.359375, y: 0.609375 },\n { x: 0.390625, y: 0.609375 },\n { x: 0.390625, y: 0.609375 },\n { x: 0.421875, y: 0.609375 },\n { x: 0.421875, y: 0.609375 },\n { x: 0.453125, y: 0.609375 },\n { x: 0.453125, y: 0.609375 },\n { x: 0.484375, y: 0.609375 },\n { x: 0.484375, y: 0.609375 },\n { x: 0.515625, y: 0.609375 },\n { x: 0.515625, y: 0.609375 },\n { x: 0.546875, y: 0.609375 },\n { x: 0.546875, y: 0.609375 },\n { x: 0.578125, y: 0.609375 },\n { x: 0.578125, y: 0.609375 },\n { x: 0.609375, y: 0.609375 },\n { x: 0.609375, y: 0.609375 },\n { x: 0.640625, y: 0.609375 },\n { x: 0.640625, y: 0.609375 },\n { x: 0.671875, y: 0.609375 },\n { x: 0.671875, y: 0.609375 },\n { x: 0.703125, y: 0.609375 },\n { x: 0.703125, y: 0.609375 },\n { x: 0.734375, y: 0.609375 },\n { x: 0.734375, y: 0.609375 },\n { x: 0.765625, y: 0.609375 },\n { x: 0.765625, y: 0.609375 },\n { x: 0.796875, y: 0.609375 },\n { x: 0.796875, y: 0.609375 },\n { x: 0.828125, y: 0.609375 },\n { x: 0.828125, y: 0.609375 },\n { x: 0.859375, y: 0.609375 },\n { x: 0.859375, y: 0.609375 },\n { x: 0.890625, y: 0.609375 },\n { x: 0.890625, y: 0.609375 },\n { x: 0.921875, y: 0.609375 },\n { x: 0.921875, y: 0.609375 },\n { x: 0.953125, y: 0.609375 },\n { x: 0.953125, y: 0.609375 },\n { x: 0.984375, y: 0.609375 },\n { x: 0.984375, y: 0.609375 },\n { x: 0.015625, y: 0.640625 },\n { x: 0.015625, y: 0.640625 },\n { x: 0.046875, y: 0.640625 },\n { x: 0.046875, y: 0.640625 },\n { x: 0.078125, y: 0.640625 },\n { x: 0.078125, y: 0.640625 },\n { x: 0.109375, y: 0.640625 },\n { x: 0.109375, y: 0.640625 },\n { x: 0.140625, y: 0.640625 },\n { x: 0.140625, y: 0.640625 },\n { x: 0.171875, y: 0.640625 },\n { x: 0.171875, y: 0.640625 },\n { x: 0.203125, y: 0.640625 },\n { x: 0.203125, y: 0.640625 },\n { x: 0.234375, y: 0.640625 },\n { x: 0.234375, y: 0.640625 },\n { x: 0.265625, y: 0.640625 },\n { x: 0.265625, y: 0.640625 },\n { x: 0.296875, y: 0.640625 },\n { x: 0.296875, y: 0.640625 },\n { x: 0.328125, y: 0.640625 },\n { x: 0.328125, y: 0.640625 },\n { x: 0.359375, y: 0.640625 },\n { x: 0.359375, y: 0.640625 },\n { x: 0.390625, y: 0.640625 },\n { x: 0.390625, y: 0.640625 },\n { x: 0.421875, y: 0.640625 },\n { x: 0.421875, y: 0.640625 },\n { x: 0.453125, y: 0.640625 },\n { x: 0.453125, y: 0.640625 },\n { x: 0.484375, y: 0.640625 },\n { x: 0.484375, y: 0.640625 },\n { x: 0.515625, y: 0.640625 },\n { x: 0.515625, y: 0.640625 },\n { x: 0.546875, y: 0.640625 },\n { x: 0.546875, y: 0.640625 },\n { x: 0.578125, y: 0.640625 },\n { x: 0.578125, y: 0.640625 },\n { x: 0.609375, y: 0.640625 },\n { x: 0.609375, y: 0.640625 },\n { x: 0.640625, y: 0.640625 },\n { x: 0.640625, y: 0.640625 },\n { x: 0.671875, y: 0.640625 },\n { x: 0.671875, y: 0.640625 },\n { x: 0.703125, y: 0.640625 },\n { x: 0.703125, y: 0.640625 },\n { x: 0.734375, y: 0.640625 },\n { x: 0.734375, y: 0.640625 },\n { x: 0.765625, y: 0.640625 },\n { x: 0.765625, y: 0.640625 },\n { x: 0.796875, y: 0.640625 },\n { x: 0.796875, y: 0.640625 },\n { x: 0.828125, y: 0.640625 },\n { x: 0.828125, y: 0.640625 },\n { x: 0.859375, y: 0.640625 },\n { x: 0.859375, y: 0.640625 },\n { x: 0.890625, y: 0.640625 },\n { x: 0.890625, y: 0.640625 },\n { x: 0.921875, y: 0.640625 },\n { x: 0.921875, y: 0.640625 },\n { x: 0.953125, y: 0.640625 },\n { x: 0.953125, y: 0.640625 },\n { x: 0.984375, y: 0.640625 },\n { x: 0.984375, y: 0.640625 },\n { x: 0.015625, y: 0.671875 },\n { x: 0.015625, y: 0.671875 },\n { x: 0.046875, y: 0.671875 },\n { x: 0.046875, y: 0.671875 },\n { x: 0.078125, y: 0.671875 },\n { x: 0.078125, y: 0.671875 },\n { x: 0.109375, y: 0.671875 },\n { x: 0.109375, y: 0.671875 },\n { x: 0.140625, y: 0.671875 },\n { x: 0.140625, y: 0.671875 },\n { x: 0.171875, y: 0.671875 },\n { x: 0.171875, y: 0.671875 },\n { x: 0.203125, y: 0.671875 },\n { x: 0.203125, y: 0.671875 },\n { x: 0.234375, y: 0.671875 },\n { x: 0.234375, y: 0.671875 },\n { x: 0.265625, y: 0.671875 },\n { x: 0.265625, y: 0.671875 },\n { x: 0.296875, y: 0.671875 },\n { x: 0.296875, y: 0.671875 },\n { x: 0.328125, y: 0.671875 },\n { x: 0.328125, y: 0.671875 },\n { x: 0.359375, y: 0.671875 },\n { x: 0.359375, y: 0.671875 },\n { x: 0.390625, y: 0.671875 },\n { x: 0.390625, y: 0.671875 },\n { x: 0.421875, y: 0.671875 },\n { x: 0.421875, y: 0.671875 },\n { x: 0.453125, y: 0.671875 },\n { x: 0.453125, y: 0.671875 },\n { x: 0.484375, y: 0.671875 },\n { x: 0.484375, y: 0.671875 },\n { x: 0.515625, y: 0.671875 },\n { x: 0.515625, y: 0.671875 },\n { x: 0.546875, y: 0.671875 },\n { x: 0.546875, y: 0.671875 },\n { x: 0.578125, y: 0.671875 },\n { x: 0.578125, y: 0.671875 },\n { x: 0.609375, y: 0.671875 },\n { x: 0.609375, y: 0.671875 },\n { x: 0.640625, y: 0.671875 },\n { x: 0.640625, y: 0.671875 },\n { x: 0.671875, y: 0.671875 },\n { x: 0.671875, y: 0.671875 },\n { x: 0.703125, y: 0.671875 },\n { x: 0.703125, y: 0.671875 },\n { x: 0.734375, y: 0.671875 },\n { x: 0.734375, y: 0.671875 },\n { x: 0.765625, y: 0.671875 },\n { x: 0.765625, y: 0.671875 },\n { x: 0.796875, y: 0.671875 },\n { x: 0.796875, y: 0.671875 },\n { x: 0.828125, y: 0.671875 },\n { x: 0.828125, y: 0.671875 },\n { x: 0.859375, y: 0.671875 },\n { x: 0.859375, y: 0.671875 },\n { x: 0.890625, y: 0.671875 },\n { x: 0.890625, y: 0.671875 },\n { x: 0.921875, y: 0.671875 },\n { x: 0.921875, y: 0.671875 },\n { x: 0.953125, y: 0.671875 },\n { x: 0.953125, y: 0.671875 },\n { x: 0.984375, y: 0.671875 },\n { x: 0.984375, y: 0.671875 },\n { x: 0.015625, y: 0.703125 },\n { x: 0.015625, y: 0.703125 },\n { x: 0.046875, y: 0.703125 },\n { x: 0.046875, y: 0.703125 },\n { x: 0.078125, y: 0.703125 },\n { x: 0.078125, y: 0.703125 },\n { x: 0.109375, y: 0.703125 },\n { x: 0.109375, y: 0.703125 },\n { x: 0.140625, y: 0.703125 },\n { x: 0.140625, y: 0.703125 },\n { x: 0.171875, y: 0.703125 },\n { x: 0.171875, y: 0.703125 },\n { x: 0.203125, y: 0.703125 },\n { x: 0.203125, y: 0.703125 },\n { x: 0.234375, y: 0.703125 },\n { x: 0.234375, y: 0.703125 },\n { x: 0.265625, y: 0.703125 },\n { x: 0.265625, y: 0.703125 },\n { x: 0.296875, y: 0.703125 },\n { x: 0.296875, y: 0.703125 },\n { x: 0.328125, y: 0.703125 },\n { x: 0.328125, y: 0.703125 },\n { x: 0.359375, y: 0.703125 },\n { x: 0.359375, y: 0.703125 },\n { x: 0.390625, y: 0.703125 },\n { x: 0.390625, y: 0.703125 },\n { x: 0.421875, y: 0.703125 },\n { x: 0.421875, y: 0.703125 },\n { x: 0.453125, y: 0.703125 },\n { x: 0.453125, y: 0.703125 },\n { x: 0.484375, y: 0.703125 },\n { x: 0.484375, y: 0.703125 },\n { x: 0.515625, y: 0.703125 },\n { x: 0.515625, y: 0.703125 },\n { x: 0.546875, y: 0.703125 },\n { x: 0.546875, y: 0.703125 },\n { x: 0.578125, y: 0.703125 },\n { x: 0.578125, y: 0.703125 },\n { x: 0.609375, y: 0.703125 },\n { x: 0.609375, y: 0.703125 },\n { x: 0.640625, y: 0.703125 },\n { x: 0.640625, y: 0.703125 },\n { x: 0.671875, y: 0.703125 },\n { x: 0.671875, y: 0.703125 },\n { x: 0.703125, y: 0.703125 },\n { x: 0.703125, y: 0.703125 },\n { x: 0.734375, y: 0.703125 },\n { x: 0.734375, y: 0.703125 },\n { x: 0.765625, y: 0.703125 },\n { x: 0.765625, y: 0.703125 },\n { x: 0.796875, y: 0.703125 },\n { x: 0.796875, y: 0.703125 },\n { x: 0.828125, y: 0.703125 },\n { x: 0.828125, y: 0.703125 },\n { x: 0.859375, y: 0.703125 },\n { x: 0.859375, y: 0.703125 },\n { x: 0.890625, y: 0.703125 },\n { x: 0.890625, y: 0.703125 },\n { x: 0.921875, y: 0.703125 },\n { x: 0.921875, y: 0.703125 },\n { x: 0.953125, y: 0.703125 },\n { x: 0.953125, y: 0.703125 },\n { x: 0.984375, y: 0.703125 },\n { x: 0.984375, y: 0.703125 },\n { x: 0.015625, y: 0.734375 },\n { x: 0.015625, y: 0.734375 },\n { x: 0.046875, y: 0.734375 },\n { x: 0.046875, y: 0.734375 },\n { x: 0.078125, y: 0.734375 },\n { x: 0.078125, y: 0.734375 },\n { x: 0.109375, y: 0.734375 },\n { x: 0.109375, y: 0.734375 },\n { x: 0.140625, y: 0.734375 },\n { x: 0.140625, y: 0.734375 },\n { x: 0.171875, y: 0.734375 },\n { x: 0.171875, y: 0.734375 },\n { x: 0.203125, y: 0.734375 },\n { x: 0.203125, y: 0.734375 },\n { x: 0.234375, y: 0.734375 },\n { x: 0.234375, y: 0.734375 },\n { x: 0.265625, y: 0.734375 },\n { x: 0.265625, y: 0.734375 },\n { x: 0.296875, y: 0.734375 },\n { x: 0.296875, y: 0.734375 },\n { x: 0.328125, y: 0.734375 },\n { x: 0.328125, y: 0.734375 },\n { x: 0.359375, y: 0.734375 },\n { x: 0.359375, y: 0.734375 },\n { x: 0.390625, y: 0.734375 },\n { x: 0.390625, y: 0.734375 },\n { x: 0.421875, y: 0.734375 },\n { x: 0.421875, y: 0.734375 },\n { x: 0.453125, y: 0.734375 },\n { x: 0.453125, y: 0.734375 },\n { x: 0.484375, y: 0.734375 },\n { x: 0.484375, y: 0.734375 },\n { x: 0.515625, y: 0.734375 },\n { x: 0.515625, y: 0.734375 },\n { x: 0.546875, y: 0.734375 },\n { x: 0.546875, y: 0.734375 },\n { x: 0.578125, y: 0.734375 },\n { x: 0.578125, y: 0.734375 },\n { x: 0.609375, y: 0.734375 },\n { x: 0.609375, y: 0.734375 },\n { x: 0.640625, y: 0.734375 },\n { x: 0.640625, y: 0.734375 },\n { x: 0.671875, y: 0.734375 },\n { x: 0.671875, y: 0.734375 },\n { x: 0.703125, y: 0.734375 },\n { x: 0.703125, y: 0.734375 },\n { x: 0.734375, y: 0.734375 },\n { x: 0.734375, y: 0.734375 },\n { x: 0.765625, y: 0.734375 },\n { x: 0.765625, y: 0.734375 },\n { x: 0.796875, y: 0.734375 },\n { x: 0.796875, y: 0.734375 },\n { x: 0.828125, y: 0.734375 },\n { x: 0.828125, y: 0.734375 },\n { x: 0.859375, y: 0.734375 },\n { x: 0.859375, y: 0.734375 },\n { x: 0.890625, y: 0.734375 },\n { x: 0.890625, y: 0.734375 },\n { x: 0.921875, y: 0.734375 },\n { x: 0.921875, y: 0.734375 },\n { x: 0.953125, y: 0.734375 },\n { x: 0.953125, y: 0.734375 },\n { x: 0.984375, y: 0.734375 },\n { x: 0.984375, y: 0.734375 },\n { x: 0.015625, y: 0.765625 },\n { x: 0.015625, y: 0.765625 },\n { x: 0.046875, y: 0.765625 },\n { x: 0.046875, y: 0.765625 },\n { x: 0.078125, y: 0.765625 },\n { x: 0.078125, y: 0.765625 },\n { x: 0.109375, y: 0.765625 },\n { x: 0.109375, y: 0.765625 },\n { x: 0.140625, y: 0.765625 },\n { x: 0.140625, y: 0.765625 },\n { x: 0.171875, y: 0.765625 },\n { x: 0.171875, y: 0.765625 },\n { x: 0.203125, y: 0.765625 },\n { x: 0.203125, y: 0.765625 },\n { x: 0.234375, y: 0.765625 },\n { x: 0.234375, y: 0.765625 },\n { x: 0.265625, y: 0.765625 },\n { x: 0.265625, y: 0.765625 },\n { x: 0.296875, y: 0.765625 },\n { x: 0.296875, y: 0.765625 },\n { x: 0.328125, y: 0.765625 },\n { x: 0.328125, y: 0.765625 },\n { x: 0.359375, y: 0.765625 },\n { x: 0.359375, y: 0.765625 },\n { x: 0.390625, y: 0.765625 },\n { x: 0.390625, y: 0.765625 },\n { x: 0.421875, y: 0.765625 },\n { x: 0.421875, y: 0.765625 },\n { x: 0.453125, y: 0.765625 },\n { x: 0.453125, y: 0.765625 },\n { x: 0.484375, y: 0.765625 },\n { x: 0.484375, y: 0.765625 },\n { x: 0.515625, y: 0.765625 },\n { x: 0.515625, y: 0.765625 },\n { x: 0.546875, y: 0.765625 },\n { x: 0.546875, y: 0.765625 },\n { x: 0.578125, y: 0.765625 },\n { x: 0.578125, y: 0.765625 },\n { x: 0.609375, y: 0.765625 },\n { x: 0.609375, y: 0.765625 },\n { x: 0.640625, y: 0.765625 },\n { x: 0.640625, y: 0.765625 },\n { x: 0.671875, y: 0.765625 },\n { x: 0.671875, y: 0.765625 },\n { x: 0.703125, y: 0.765625 },\n { x: 0.703125, y: 0.765625 },\n { x: 0.734375, y: 0.765625 },\n { x: 0.734375, y: 0.765625 },\n { x: 0.765625, y: 0.765625 },\n { x: 0.765625, y: 0.765625 },\n { x: 0.796875, y: 0.765625 },\n { x: 0.796875, y: 0.765625 },\n { x: 0.828125, y: 0.765625 },\n { x: 0.828125, y: 0.765625 },\n { x: 0.859375, y: 0.765625 },\n { x: 0.859375, y: 0.765625 },\n { x: 0.890625, y: 0.765625 },\n { x: 0.890625, y: 0.765625 },\n { x: 0.921875, y: 0.765625 },\n { x: 0.921875, y: 0.765625 },\n { x: 0.953125, y: 0.765625 },\n { x: 0.953125, y: 0.765625 },\n { x: 0.984375, y: 0.765625 },\n { x: 0.984375, y: 0.765625 },\n { x: 0.015625, y: 0.796875 },\n { x: 0.015625, y: 0.796875 },\n { x: 0.046875, y: 0.796875 },\n { x: 0.046875, y: 0.796875 },\n { x: 0.078125, y: 0.796875 },\n { x: 0.078125, y: 0.796875 },\n { x: 0.109375, y: 0.796875 },\n { x: 0.109375, y: 0.796875 },\n { x: 0.140625, y: 0.796875 },\n { x: 0.140625, y: 0.796875 },\n { x: 0.171875, y: 0.796875 },\n { x: 0.171875, y: 0.796875 },\n { x: 0.203125, y: 0.796875 },\n { x: 0.203125, y: 0.796875 },\n { x: 0.234375, y: 0.796875 },\n { x: 0.234375, y: 0.796875 },\n { x: 0.265625, y: 0.796875 },\n { x: 0.265625, y: 0.796875 },\n { x: 0.296875, y: 0.796875 },\n { x: 0.296875, y: 0.796875 },\n { x: 0.328125, y: 0.796875 },\n { x: 0.328125, y: 0.796875 },\n { x: 0.359375, y: 0.796875 },\n { x: 0.359375, y: 0.796875 },\n { x: 0.390625, y: 0.796875 },\n { x: 0.390625, y: 0.796875 },\n { x: 0.421875, y: 0.796875 },\n { x: 0.421875, y: 0.796875 },\n { x: 0.453125, y: 0.796875 },\n { x: 0.453125, y: 0.796875 },\n { x: 0.484375, y: 0.796875 },\n { x: 0.484375, y: 0.796875 },\n { x: 0.515625, y: 0.796875 },\n { x: 0.515625, y: 0.796875 },\n { x: 0.546875, y: 0.796875 },\n { x: 0.546875, y: 0.796875 },\n { x: 0.578125, y: 0.796875 },\n { x: 0.578125, y: 0.796875 },\n { x: 0.609375, y: 0.796875 },\n { x: 0.609375, y: 0.796875 },\n { x: 0.640625, y: 0.796875 },\n { x: 0.640625, y: 0.796875 },\n { x: 0.671875, y: 0.796875 },\n { x: 0.671875, y: 0.796875 },\n { x: 0.703125, y: 0.796875 },\n { x: 0.703125, y: 0.796875 },\n { x: 0.734375, y: 0.796875 },\n { x: 0.734375, y: 0.796875 },\n { x: 0.765625, y: 0.796875 },\n { x: 0.765625, y: 0.796875 },\n { x: 0.796875, y: 0.796875 },\n { x: 0.796875, y: 0.796875 },\n { x: 0.828125, y: 0.796875 },\n { x: 0.828125, y: 0.796875 },\n { x: 0.859375, y: 0.796875 },\n { x: 0.859375, y: 0.796875 },\n { x: 0.890625, y: 0.796875 },\n { x: 0.890625, y: 0.796875 },\n { x: 0.921875, y: 0.796875 },\n { x: 0.921875, y: 0.796875 },\n { x: 0.953125, y: 0.796875 },\n { x: 0.953125, y: 0.796875 },\n { x: 0.984375, y: 0.796875 },\n { x: 0.984375, y: 0.796875 },\n { x: 0.015625, y: 0.828125 },\n { x: 0.015625, y: 0.828125 },\n { x: 0.046875, y: 0.828125 },\n { x: 0.046875, y: 0.828125 },\n { x: 0.078125, y: 0.828125 },\n { x: 0.078125, y: 0.828125 },\n { x: 0.109375, y: 0.828125 },\n { x: 0.109375, y: 0.828125 },\n { x: 0.140625, y: 0.828125 },\n { x: 0.140625, y: 0.828125 },\n { x: 0.171875, y: 0.828125 },\n { x: 0.171875, y: 0.828125 },\n { x: 0.203125, y: 0.828125 },\n { x: 0.203125, y: 0.828125 },\n { x: 0.234375, y: 0.828125 },\n { x: 0.234375, y: 0.828125 },\n { x: 0.265625, y: 0.828125 },\n { x: 0.265625, y: 0.828125 },\n { x: 0.296875, y: 0.828125 },\n { x: 0.296875, y: 0.828125 },\n { x: 0.328125, y: 0.828125 },\n { x: 0.328125, y: 0.828125 },\n { x: 0.359375, y: 0.828125 },\n { x: 0.359375, y: 0.828125 },\n { x: 0.390625, y: 0.828125 },\n { x: 0.390625, y: 0.828125 },\n { x: 0.421875, y: 0.828125 },\n { x: 0.421875, y: 0.828125 },\n { x: 0.453125, y: 0.828125 },\n { x: 0.453125, y: 0.828125 },\n { x: 0.484375, y: 0.828125 },\n { x: 0.484375, y: 0.828125 },\n { x: 0.515625, y: 0.828125 },\n { x: 0.515625, y: 0.828125 },\n { x: 0.546875, y: 0.828125 },\n { x: 0.546875, y: 0.828125 },\n { x: 0.578125, y: 0.828125 },\n { x: 0.578125, y: 0.828125 },\n { x: 0.609375, y: 0.828125 },\n { x: 0.609375, y: 0.828125 },\n { x: 0.640625, y: 0.828125 },\n { x: 0.640625, y: 0.828125 },\n { x: 0.671875, y: 0.828125 },\n { x: 0.671875, y: 0.828125 },\n { x: 0.703125, y: 0.828125 },\n { x: 0.703125, y: 0.828125 },\n { x: 0.734375, y: 0.828125 },\n { x: 0.734375, y: 0.828125 },\n { x: 0.765625, y: 0.828125 },\n { x: 0.765625, y: 0.828125 },\n { x: 0.796875, y: 0.828125 },\n { x: 0.796875, y: 0.828125 },\n { x: 0.828125, y: 0.828125 },\n { x: 0.828125, y: 0.828125 },\n { x: 0.859375, y: 0.828125 },\n { x: 0.859375, y: 0.828125 },\n { x: 0.890625, y: 0.828125 },\n { x: 0.890625, y: 0.828125 },\n { x: 0.921875, y: 0.828125 },\n { x: 0.921875, y: 0.828125 },\n { x: 0.953125, y: 0.828125 },\n { x: 0.953125, y: 0.828125 },\n { x: 0.984375, y: 0.828125 },\n { x: 0.984375, y: 0.828125 },\n { x: 0.015625, y: 0.859375 },\n { x: 0.015625, y: 0.859375 },\n { x: 0.046875, y: 0.859375 },\n { x: 0.046875, y: 0.859375 },\n { x: 0.078125, y: 0.859375 },\n { x: 0.078125, y: 0.859375 },\n { x: 0.109375, y: 0.859375 },\n { x: 0.109375, y: 0.859375 },\n { x: 0.140625, y: 0.859375 },\n { x: 0.140625, y: 0.859375 },\n { x: 0.171875, y: 0.859375 },\n { x: 0.171875, y: 0.859375 },\n { x: 0.203125, y: 0.859375 },\n { x: 0.203125, y: 0.859375 },\n { x: 0.234375, y: 0.859375 },\n { x: 0.234375, y: 0.859375 },\n { x: 0.265625, y: 0.859375 },\n { x: 0.265625, y: 0.859375 },\n { x: 0.296875, y: 0.859375 },\n { x: 0.296875, y: 0.859375 },\n { x: 0.328125, y: 0.859375 },\n { x: 0.328125, y: 0.859375 },\n { x: 0.359375, y: 0.859375 },\n { x: 0.359375, y: 0.859375 },\n { x: 0.390625, y: 0.859375 },\n { x: 0.390625, y: 0.859375 },\n { x: 0.421875, y: 0.859375 },\n { x: 0.421875, y: 0.859375 },\n { x: 0.453125, y: 0.859375 },\n { x: 0.453125, y: 0.859375 },\n { x: 0.484375, y: 0.859375 },\n { x: 0.484375, y: 0.859375 },\n { x: 0.515625, y: 0.859375 },\n { x: 0.515625, y: 0.859375 },\n { x: 0.546875, y: 0.859375 },\n { x: 0.546875, y: 0.859375 },\n { x: 0.578125, y: 0.859375 },\n { x: 0.578125, y: 0.859375 },\n { x: 0.609375, y: 0.859375 },\n { x: 0.609375, y: 0.859375 },\n { x: 0.640625, y: 0.859375 },\n { x: 0.640625, y: 0.859375 },\n { x: 0.671875, y: 0.859375 },\n { x: 0.671875, y: 0.859375 },\n { x: 0.703125, y: 0.859375 },\n { x: 0.703125, y: 0.859375 },\n { x: 0.734375, y: 0.859375 },\n { x: 0.734375, y: 0.859375 },\n { x: 0.765625, y: 0.859375 },\n { x: 0.765625, y: 0.859375 },\n { x: 0.796875, y: 0.859375 },\n { x: 0.796875, y: 0.859375 },\n { x: 0.828125, y: 0.859375 },\n { x: 0.828125, y: 0.859375 },\n { x: 0.859375, y: 0.859375 },\n { x: 0.859375, y: 0.859375 },\n { x: 0.890625, y: 0.859375 },\n { x: 0.890625, y: 0.859375 },\n { x: 0.921875, y: 0.859375 },\n { x: 0.921875, y: 0.859375 },\n { x: 0.953125, y: 0.859375 },\n { x: 0.953125, y: 0.859375 },\n { x: 0.984375, y: 0.859375 },\n { x: 0.984375, y: 0.859375 },\n { x: 0.015625, y: 0.890625 },\n { x: 0.015625, y: 0.890625 },\n { x: 0.046875, y: 0.890625 },\n { x: 0.046875, y: 0.890625 },\n { x: 0.078125, y: 0.890625 },\n { x: 0.078125, y: 0.890625 },\n { x: 0.109375, y: 0.890625 },\n { x: 0.109375, y: 0.890625 },\n { x: 0.140625, y: 0.890625 },\n { x: 0.140625, y: 0.890625 },\n { x: 0.171875, y: 0.890625 },\n { x: 0.171875, y: 0.890625 },\n { x: 0.203125, y: 0.890625 },\n { x: 0.203125, y: 0.890625 },\n { x: 0.234375, y: 0.890625 },\n { x: 0.234375, y: 0.890625 },\n { x: 0.265625, y: 0.890625 },\n { x: 0.265625, y: 0.890625 },\n { x: 0.296875, y: 0.890625 },\n { x: 0.296875, y: 0.890625 },\n { x: 0.328125, y: 0.890625 },\n { x: 0.328125, y: 0.890625 },\n { x: 0.359375, y: 0.890625 },\n { x: 0.359375, y: 0.890625 },\n { x: 0.390625, y: 0.890625 },\n { x: 0.390625, y: 0.890625 },\n { x: 0.421875, y: 0.890625 },\n { x: 0.421875, y: 0.890625 },\n { x: 0.453125, y: 0.890625 },\n { x: 0.453125, y: 0.890625 },\n { x: 0.484375, y: 0.890625 },\n { x: 0.484375, y: 0.890625 },\n { x: 0.515625, y: 0.890625 },\n { x: 0.515625, y: 0.890625 },\n { x: 0.546875, y: 0.890625 },\n { x: 0.546875, y: 0.890625 },\n { x: 0.578125, y: 0.890625 },\n { x: 0.578125, y: 0.890625 },\n { x: 0.609375, y: 0.890625 },\n { x: 0.609375, y: 0.890625 },\n { x: 0.640625, y: 0.890625 },\n { x: 0.640625, y: 0.890625 },\n { x: 0.671875, y: 0.890625 },\n { x: 0.671875, y: 0.890625 },\n { x: 0.703125, y: 0.890625 },\n { x: 0.703125, y: 0.890625 },\n { x: 0.734375, y: 0.890625 },\n { x: 0.734375, y: 0.890625 },\n { x: 0.765625, y: 0.890625 },\n { x: 0.765625, y: 0.890625 },\n { x: 0.796875, y: 0.890625 },\n { x: 0.796875, y: 0.890625 },\n { x: 0.828125, y: 0.890625 },\n { x: 0.828125, y: 0.890625 },\n { x: 0.859375, y: 0.890625 },\n { x: 0.859375, y: 0.890625 },\n { x: 0.890625, y: 0.890625 },\n { x: 0.890625, y: 0.890625 },\n { x: 0.921875, y: 0.890625 },\n { x: 0.921875, y: 0.890625 },\n { x: 0.953125, y: 0.890625 },\n { x: 0.953125, y: 0.890625 },\n { x: 0.984375, y: 0.890625 },\n { x: 0.984375, y: 0.890625 },\n { x: 0.015625, y: 0.921875 },\n { x: 0.015625, y: 0.921875 },\n { x: 0.046875, y: 0.921875 },\n { x: 0.046875, y: 0.921875 },\n { x: 0.078125, y: 0.921875 },\n { x: 0.078125, y: 0.921875 },\n { x: 0.109375, y: 0.921875 },\n { x: 0.109375, y: 0.921875 },\n { x: 0.140625, y: 0.921875 },\n { x: 0.140625, y: 0.921875 },\n { x: 0.171875, y: 0.921875 },\n { x: 0.171875, y: 0.921875 },\n { x: 0.203125, y: 0.921875 },\n { x: 0.203125, y: 0.921875 },\n { x: 0.234375, y: 0.921875 },\n { x: 0.234375, y: 0.921875 },\n { x: 0.265625, y: 0.921875 },\n { x: 0.265625, y: 0.921875 },\n { x: 0.296875, y: 0.921875 },\n { x: 0.296875, y: 0.921875 },\n { x: 0.328125, y: 0.921875 },\n { x: 0.328125, y: 0.921875 },\n { x: 0.359375, y: 0.921875 },\n { x: 0.359375, y: 0.921875 },\n { x: 0.390625, y: 0.921875 },\n { x: 0.390625, y: 0.921875 },\n { x: 0.421875, y: 0.921875 },\n { x: 0.421875, y: 0.921875 },\n { x: 0.453125, y: 0.921875 },\n { x: 0.453125, y: 0.921875 },\n { x: 0.484375, y: 0.921875 },\n { x: 0.484375, y: 0.921875 },\n { x: 0.515625, y: 0.921875 },\n { x: 0.515625, y: 0.921875 },\n { x: 0.546875, y: 0.921875 },\n { x: 0.546875, y: 0.921875 },\n { x: 0.578125, y: 0.921875 },\n { x: 0.578125, y: 0.921875 },\n { x: 0.609375, y: 0.921875 },\n { x: 0.609375, y: 0.921875 },\n { x: 0.640625, y: 0.921875 },\n { x: 0.640625, y: 0.921875 },\n { x: 0.671875, y: 0.921875 },\n { x: 0.671875, y: 0.921875 },\n { x: 0.703125, y: 0.921875 },\n { x: 0.703125, y: 0.921875 },\n { x: 0.734375, y: 0.921875 },\n { x: 0.734375, y: 0.921875 },\n { x: 0.765625, y: 0.921875 },\n { x: 0.765625, y: 0.921875 },\n { x: 0.796875, y: 0.921875 },\n { x: 0.796875, y: 0.921875 },\n { x: 0.828125, y: 0.921875 },\n { x: 0.828125, y: 0.921875 },\n { x: 0.859375, y: 0.921875 },\n { x: 0.859375, y: 0.921875 },\n { x: 0.890625, y: 0.921875 },\n { x: 0.890625, y: 0.921875 },\n { x: 0.921875, y: 0.921875 },\n { x: 0.921875, y: 0.921875 },\n { x: 0.953125, y: 0.921875 },\n { x: 0.953125, y: 0.921875 },\n { x: 0.984375, y: 0.921875 },\n { x: 0.984375, y: 0.921875 },\n { x: 0.015625, y: 0.953125 },\n { x: 0.015625, y: 0.953125 },\n { x: 0.046875, y: 0.953125 },\n { x: 0.046875, y: 0.953125 },\n { x: 0.078125, y: 0.953125 },\n { x: 0.078125, y: 0.953125 },\n { x: 0.109375, y: 0.953125 },\n { x: 0.109375, y: 0.953125 },\n { x: 0.140625, y: 0.953125 },\n { x: 0.140625, y: 0.953125 },\n { x: 0.171875, y: 0.953125 },\n { x: 0.171875, y: 0.953125 },\n { x: 0.203125, y: 0.953125 },\n { x: 0.203125, y: 0.953125 },\n { x: 0.234375, y: 0.953125 },\n { x: 0.234375, y: 0.953125 },\n { x: 0.265625, y: 0.953125 },\n { x: 0.265625, y: 0.953125 },\n { x: 0.296875, y: 0.953125 },\n { x: 0.296875, y: 0.953125 },\n { x: 0.328125, y: 0.953125 },\n { x: 0.328125, y: 0.953125 },\n { x: 0.359375, y: 0.953125 },\n { x: 0.359375, y: 0.953125 },\n { x: 0.390625, y: 0.953125 },\n { x: 0.390625, y: 0.953125 },\n { x: 0.421875, y: 0.953125 },\n { x: 0.421875, y: 0.953125 },\n { x: 0.453125, y: 0.953125 },\n { x: 0.453125, y: 0.953125 },\n { x: 0.484375, y: 0.953125 },\n { x: 0.484375, y: 0.953125 },\n { x: 0.515625, y: 0.953125 },\n { x: 0.515625, y: 0.953125 },\n { x: 0.546875, y: 0.953125 },\n { x: 0.546875, y: 0.953125 },\n { x: 0.578125, y: 0.953125 },\n { x: 0.578125, y: 0.953125 },\n { x: 0.609375, y: 0.953125 },\n { x: 0.609375, y: 0.953125 },\n { x: 0.640625, y: 0.953125 },\n { x: 0.640625, y: 0.953125 },\n { x: 0.671875, y: 0.953125 },\n { x: 0.671875, y: 0.953125 },\n { x: 0.703125, y: 0.953125 },\n { x: 0.703125, y: 0.953125 },\n { x: 0.734375, y: 0.953125 },\n { x: 0.734375, y: 0.953125 },\n { x: 0.765625, y: 0.953125 },\n { x: 0.765625, y: 0.953125 },\n { x: 0.796875, y: 0.953125 },\n { x: 0.796875, y: 0.953125 },\n { x: 0.828125, y: 0.953125 },\n { x: 0.828125, y: 0.953125 },\n { x: 0.859375, y: 0.953125 },\n { x: 0.859375, y: 0.953125 },\n { x: 0.890625, y: 0.953125 },\n { x: 0.890625, y: 0.953125 },\n { x: 0.921875, y: 0.953125 },\n { x: 0.921875, y: 0.953125 },\n { x: 0.953125, y: 0.953125 },\n { x: 0.953125, y: 0.953125 },\n { x: 0.984375, y: 0.953125 },\n { x: 0.984375, y: 0.953125 },\n { x: 0.015625, y: 0.984375 },\n { x: 0.015625, y: 0.984375 },\n { x: 0.046875, y: 0.984375 },\n { x: 0.046875, y: 0.984375 },\n { x: 0.078125, y: 0.984375 },\n { x: 0.078125, y: 0.984375 },\n { x: 0.109375, y: 0.984375 },\n { x: 0.109375, y: 0.984375 },\n { x: 0.140625, y: 0.984375 },\n { x: 0.140625, y: 0.984375 },\n { x: 0.171875, y: 0.984375 },\n { x: 0.171875, y: 0.984375 },\n { x: 0.203125, y: 0.984375 },\n { x: 0.203125, y: 0.984375 },\n { x: 0.234375, y: 0.984375 },\n { x: 0.234375, y: 0.984375 },\n { x: 0.265625, y: 0.984375 },\n { x: 0.265625, y: 0.984375 },\n { x: 0.296875, y: 0.984375 },\n { x: 0.296875, y: 0.984375 },\n { x: 0.328125, y: 0.984375 },\n { x: 0.328125, y: 0.984375 },\n { x: 0.359375, y: 0.984375 },\n { x: 0.359375, y: 0.984375 },\n { x: 0.390625, y: 0.984375 },\n { x: 0.390625, y: 0.984375 },\n { x: 0.421875, y: 0.984375 },\n { x: 0.421875, y: 0.984375 },\n { x: 0.453125, y: 0.984375 },\n { x: 0.453125, y: 0.984375 },\n { x: 0.484375, y: 0.984375 },\n { x: 0.484375, y: 0.984375 },\n { x: 0.515625, y: 0.984375 },\n { x: 0.515625, y: 0.984375 },\n { x: 0.546875, y: 0.984375 },\n { x: 0.546875, y: 0.984375 },\n { x: 0.578125, y: 0.984375 },\n { x: 0.578125, y: 0.984375 },\n { x: 0.609375, y: 0.984375 },\n { x: 0.609375, y: 0.984375 },\n { x: 0.640625, y: 0.984375 },\n { x: 0.640625, y: 0.984375 },\n { x: 0.671875, y: 0.984375 },\n { x: 0.671875, y: 0.984375 },\n { x: 0.703125, y: 0.984375 },\n { x: 0.703125, y: 0.984375 },\n { x: 0.734375, y: 0.984375 },\n { x: 0.734375, y: 0.984375 },\n { x: 0.765625, y: 0.984375 },\n { x: 0.765625, y: 0.984375 },\n { x: 0.796875, y: 0.984375 },\n { x: 0.796875, y: 0.984375 },\n { x: 0.828125, y: 0.984375 },\n { x: 0.828125, y: 0.984375 },\n { x: 0.859375, y: 0.984375 },\n { x: 0.859375, y: 0.984375 },\n { x: 0.890625, y: 0.984375 },\n { x: 0.890625, y: 0.984375 },\n { x: 0.921875, y: 0.984375 },\n { x: 0.921875, y: 0.984375 },\n { x: 0.953125, y: 0.984375 },\n { x: 0.953125, y: 0.984375 },\n { x: 0.984375, y: 0.984375 },\n { x: 0.984375, y: 0.984375 },\n { x: 0.03125, y: 0.03125 },\n { x: 0.03125, y: 0.03125 },\n { x: 0.09375, y: 0.03125 },\n { x: 0.09375, y: 0.03125 },\n { x: 0.15625, y: 0.03125 },\n { x: 0.15625, y: 0.03125 },\n { x: 0.21875, y: 0.03125 },\n { x: 0.21875, y: 0.03125 },\n { x: 0.28125, y: 0.03125 },\n { x: 0.28125, y: 0.03125 },\n { x: 0.34375, y: 0.03125 },\n { x: 0.34375, y: 0.03125 },\n { x: 0.40625, y: 0.03125 },\n { x: 0.40625, y: 0.03125 },\n { x: 0.46875, y: 0.03125 },\n { x: 0.46875, y: 0.03125 },\n { x: 0.53125, y: 0.03125 },\n { x: 0.53125, y: 0.03125 },\n { x: 0.59375, y: 0.03125 },\n { x: 0.59375, y: 0.03125 },\n { x: 0.65625, y: 0.03125 },\n { x: 0.65625, y: 0.03125 },\n { x: 0.71875, y: 0.03125 },\n { x: 0.71875, y: 0.03125 },\n { x: 0.78125, y: 0.03125 },\n { x: 0.78125, y: 0.03125 },\n { x: 0.84375, y: 0.03125 },\n { x: 0.84375, y: 0.03125 },\n { x: 0.90625, y: 0.03125 },\n { x: 0.90625, y: 0.03125 },\n { x: 0.96875, y: 0.03125 },\n { x: 0.96875, y: 0.03125 },\n { x: 0.03125, y: 0.09375 },\n { x: 0.03125, y: 0.09375 },\n { x: 0.09375, y: 0.09375 },\n { x: 0.09375, y: 0.09375 },\n { x: 0.15625, y: 0.09375 },\n { x: 0.15625, y: 0.09375 },\n { x: 0.21875, y: 0.09375 },\n { x: 0.21875, y: 0.09375 },\n { x: 0.28125, y: 0.09375 },\n { x: 0.28125, y: 0.09375 },\n { x: 0.34375, y: 0.09375 },\n { x: 0.34375, y: 0.09375 },\n { x: 0.40625, y: 0.09375 },\n { x: 0.40625, y: 0.09375 },\n { x: 0.46875, y: 0.09375 },\n { x: 0.46875, y: 0.09375 },\n { x: 0.53125, y: 0.09375 },\n { x: 0.53125, y: 0.09375 },\n { x: 0.59375, y: 0.09375 },\n { x: 0.59375, y: 0.09375 },\n { x: 0.65625, y: 0.09375 },\n { x: 0.65625, y: 0.09375 },\n { x: 0.71875, y: 0.09375 },\n { x: 0.71875, y: 0.09375 },\n { x: 0.78125, y: 0.09375 },\n { x: 0.78125, y: 0.09375 },\n { x: 0.84375, y: 0.09375 },\n { x: 0.84375, y: 0.09375 },\n { x: 0.90625, y: 0.09375 },\n { x: 0.90625, y: 0.09375 },\n { x: 0.96875, y: 0.09375 },\n { x: 0.96875, y: 0.09375 },\n { x: 0.03125, y: 0.15625 },\n { x: 0.03125, y: 0.15625 },\n { x: 0.09375, y: 0.15625 },\n { x: 0.09375, y: 0.15625 },\n { x: 0.15625, y: 0.15625 },\n { x: 0.15625, y: 0.15625 },\n { x: 0.21875, y: 0.15625 },\n { x: 0.21875, y: 0.15625 },\n { x: 0.28125, y: 0.15625 },\n { x: 0.28125, y: 0.15625 },\n { x: 0.34375, y: 0.15625 },\n { x: 0.34375, y: 0.15625 },\n { x: 0.40625, y: 0.15625 },\n { x: 0.40625, y: 0.15625 },\n { x: 0.46875, y: 0.15625 },\n { x: 0.46875, y: 0.15625 },\n { x: 0.53125, y: 0.15625 },\n { x: 0.53125, y: 0.15625 },\n { x: 0.59375, y: 0.15625 },\n { x: 0.59375, y: 0.15625 },\n { x: 0.65625, y: 0.15625 },\n { x: 0.65625, y: 0.15625 },\n { x: 0.71875, y: 0.15625 },\n { x: 0.71875, y: 0.15625 },\n { x: 0.78125, y: 0.15625 },\n { x: 0.78125, y: 0.15625 },\n { x: 0.84375, y: 0.15625 },\n { x: 0.84375, y: 0.15625 },\n { x: 0.90625, y: 0.15625 },\n { x: 0.90625, y: 0.15625 },\n { x: 0.96875, y: 0.15625 },\n { x: 0.96875, y: 0.15625 },\n { x: 0.03125, y: 0.21875 },\n { x: 0.03125, y: 0.21875 },\n { x: 0.09375, y: 0.21875 },\n { x: 0.09375, y: 0.21875 },\n { x: 0.15625, y: 0.21875 },\n { x: 0.15625, y: 0.21875 },\n { x: 0.21875, y: 0.21875 },\n { x: 0.21875, y: 0.21875 },\n { x: 0.28125, y: 0.21875 },\n { x: 0.28125, y: 0.21875 },\n { x: 0.34375, y: 0.21875 },\n { x: 0.34375, y: 0.21875 },\n { x: 0.40625, y: 0.21875 },\n { x: 0.40625, y: 0.21875 },\n { x: 0.46875, y: 0.21875 },\n { x: 0.46875, y: 0.21875 },\n { x: 0.53125, y: 0.21875 },\n { x: 0.53125, y: 0.21875 },\n { x: 0.59375, y: 0.21875 },\n { x: 0.59375, y: 0.21875 },\n { x: 0.65625, y: 0.21875 },\n { x: 0.65625, y: 0.21875 },\n { x: 0.71875, y: 0.21875 },\n { x: 0.71875, y: 0.21875 },\n { x: 0.78125, y: 0.21875 },\n { x: 0.78125, y: 0.21875 },\n { x: 0.84375, y: 0.21875 },\n { x: 0.84375, y: 0.21875 },\n { x: 0.90625, y: 0.21875 },\n { x: 0.90625, y: 0.21875 },\n { x: 0.96875, y: 0.21875 },\n { x: 0.96875, y: 0.21875 },\n { x: 0.03125, y: 0.28125 },\n { x: 0.03125, y: 0.28125 },\n { x: 0.09375, y: 0.28125 },\n { x: 0.09375, y: 0.28125 },\n { x: 0.15625, y: 0.28125 },\n { x: 0.15625, y: 0.28125 },\n { x: 0.21875, y: 0.28125 },\n { x: 0.21875, y: 0.28125 },\n { x: 0.28125, y: 0.28125 },\n { x: 0.28125, y: 0.28125 },\n { x: 0.34375, y: 0.28125 },\n { x: 0.34375, y: 0.28125 },\n { x: 0.40625, y: 0.28125 },\n { x: 0.40625, y: 0.28125 },\n { x: 0.46875, y: 0.28125 },\n { x: 0.46875, y: 0.28125 },\n { x: 0.53125, y: 0.28125 },\n { x: 0.53125, y: 0.28125 },\n { x: 0.59375, y: 0.28125 },\n { x: 0.59375, y: 0.28125 },\n { x: 0.65625, y: 0.28125 },\n { x: 0.65625, y: 0.28125 },\n { x: 0.71875, y: 0.28125 },\n { x: 0.71875, y: 0.28125 },\n { x: 0.78125, y: 0.28125 },\n { x: 0.78125, y: 0.28125 },\n { x: 0.84375, y: 0.28125 },\n { x: 0.84375, y: 0.28125 },\n { x: 0.90625, y: 0.28125 },\n { x: 0.90625, y: 0.28125 },\n { x: 0.96875, y: 0.28125 },\n { x: 0.96875, y: 0.28125 },\n { x: 0.03125, y: 0.34375 },\n { x: 0.03125, y: 0.34375 },\n { x: 0.09375, y: 0.34375 },\n { x: 0.09375, y: 0.34375 },\n { x: 0.15625, y: 0.34375 },\n { x: 0.15625, y: 0.34375 },\n { x: 0.21875, y: 0.34375 },\n { x: 0.21875, y: 0.34375 },\n { x: 0.28125, y: 0.34375 },\n { x: 0.28125, y: 0.34375 },\n { x: 0.34375, y: 0.34375 },\n { x: 0.34375, y: 0.34375 },\n { x: 0.40625, y: 0.34375 },\n { x: 0.40625, y: 0.34375 },\n { x: 0.46875, y: 0.34375 },\n { x: 0.46875, y: 0.34375 },\n { x: 0.53125, y: 0.34375 },\n { x: 0.53125, y: 0.34375 },\n { x: 0.59375, y: 0.34375 },\n { x: 0.59375, y: 0.34375 },\n { x: 0.65625, y: 0.34375 },\n { x: 0.65625, y: 0.34375 },\n { x: 0.71875, y: 0.34375 },\n { x: 0.71875, y: 0.34375 },\n { x: 0.78125, y: 0.34375 },\n { x: 0.78125, y: 0.34375 },\n { x: 0.84375, y: 0.34375 },\n { x: 0.84375, y: 0.34375 },\n { x: 0.90625, y: 0.34375 },\n { x: 0.90625, y: 0.34375 },\n { x: 0.96875, y: 0.34375 },\n { x: 0.96875, y: 0.34375 },\n { x: 0.03125, y: 0.40625 },\n { x: 0.03125, y: 0.40625 },\n { x: 0.09375, y: 0.40625 },\n { x: 0.09375, y: 0.40625 },\n { x: 0.15625, y: 0.40625 },\n { x: 0.15625, y: 0.40625 },\n { x: 0.21875, y: 0.40625 },\n { x: 0.21875, y: 0.40625 },\n { x: 0.28125, y: 0.40625 },\n { x: 0.28125, y: 0.40625 },\n { x: 0.34375, y: 0.40625 },\n { x: 0.34375, y: 0.40625 },\n { x: 0.40625, y: 0.40625 },\n { x: 0.40625, y: 0.40625 },\n { x: 0.46875, y: 0.40625 },\n { x: 0.46875, y: 0.40625 },\n { x: 0.53125, y: 0.40625 },\n { x: 0.53125, y: 0.40625 },\n { x: 0.59375, y: 0.40625 },\n { x: 0.59375, y: 0.40625 },\n { x: 0.65625, y: 0.40625 },\n { x: 0.65625, y: 0.40625 },\n { x: 0.71875, y: 0.40625 },\n { x: 0.71875, y: 0.40625 },\n { x: 0.78125, y: 0.40625 },\n { x: 0.78125, y: 0.40625 },\n { x: 0.84375, y: 0.40625 },\n { x: 0.84375, y: 0.40625 },\n { x: 0.90625, y: 0.40625 },\n { x: 0.90625, y: 0.40625 },\n { x: 0.96875, y: 0.40625 },\n { x: 0.96875, y: 0.40625 },\n { x: 0.03125, y: 0.46875 },\n { x: 0.03125, y: 0.46875 },\n { x: 0.09375, y: 0.46875 },\n { x: 0.09375, y: 0.46875 },\n { x: 0.15625, y: 0.46875 },\n { x: 0.15625, y: 0.46875 },\n { x: 0.21875, y: 0.46875 },\n { x: 0.21875, y: 0.46875 },\n { x: 0.28125, y: 0.46875 },\n { x: 0.28125, y: 0.46875 },\n { x: 0.34375, y: 0.46875 },\n { x: 0.34375, y: 0.46875 },\n { x: 0.40625, y: 0.46875 },\n { x: 0.40625, y: 0.46875 },\n { x: 0.46875, y: 0.46875 },\n { x: 0.46875, y: 0.46875 },\n { x: 0.53125, y: 0.46875 },\n { x: 0.53125, y: 0.46875 },\n { x: 0.59375, y: 0.46875 },\n { x: 0.59375, y: 0.46875 },\n { x: 0.65625, y: 0.46875 },\n { x: 0.65625, y: 0.46875 },\n { x: 0.71875, y: 0.46875 },\n { x: 0.71875, y: 0.46875 },\n { x: 0.78125, y: 0.46875 },\n { x: 0.78125, y: 0.46875 },\n { x: 0.84375, y: 0.46875 },\n { x: 0.84375, y: 0.46875 },\n { x: 0.90625, y: 0.46875 },\n { x: 0.90625, y: 0.46875 },\n { x: 0.96875, y: 0.46875 },\n { x: 0.96875, y: 0.46875 },\n { x: 0.03125, y: 0.53125 },\n { x: 0.03125, y: 0.53125 },\n { x: 0.09375, y: 0.53125 },\n { x: 0.09375, y: 0.53125 },\n { x: 0.15625, y: 0.53125 },\n { x: 0.15625, y: 0.53125 },\n { x: 0.21875, y: 0.53125 },\n { x: 0.21875, y: 0.53125 },\n { x: 0.28125, y: 0.53125 },\n { x: 0.28125, y: 0.53125 },\n { x: 0.34375, y: 0.53125 },\n { x: 0.34375, y: 0.53125 },\n { x: 0.40625, y: 0.53125 },\n { x: 0.40625, y: 0.53125 },\n { x: 0.46875, y: 0.53125 },\n { x: 0.46875, y: 0.53125 },\n { x: 0.53125, y: 0.53125 },\n { x: 0.53125, y: 0.53125 },\n { x: 0.59375, y: 0.53125 },\n { x: 0.59375, y: 0.53125 },\n { x: 0.65625, y: 0.53125 },\n { x: 0.65625, y: 0.53125 },\n { x: 0.71875, y: 0.53125 },\n { x: 0.71875, y: 0.53125 },\n { x: 0.78125, y: 0.53125 },\n { x: 0.78125, y: 0.53125 },\n { x: 0.84375, y: 0.53125 },\n { x: 0.84375, y: 0.53125 },\n { x: 0.90625, y: 0.53125 },\n { x: 0.90625, y: 0.53125 },\n { x: 0.96875, y: 0.53125 },\n { x: 0.96875, y: 0.53125 },\n { x: 0.03125, y: 0.59375 },\n { x: 0.03125, y: 0.59375 },\n { x: 0.09375, y: 0.59375 },\n { x: 0.09375, y: 0.59375 },\n { x: 0.15625, y: 0.59375 },\n { x: 0.15625, y: 0.59375 },\n { x: 0.21875, y: 0.59375 },\n { x: 0.21875, y: 0.59375 },\n { x: 0.28125, y: 0.59375 },\n { x: 0.28125, y: 0.59375 },\n { x: 0.34375, y: 0.59375 },\n { x: 0.34375, y: 0.59375 },\n { x: 0.40625, y: 0.59375 },\n { x: 0.40625, y: 0.59375 },\n { x: 0.46875, y: 0.59375 },\n { x: 0.46875, y: 0.59375 },\n { x: 0.53125, y: 0.59375 },\n { x: 0.53125, y: 0.59375 },\n { x: 0.59375, y: 0.59375 },\n { x: 0.59375, y: 0.59375 },\n { x: 0.65625, y: 0.59375 },\n { x: 0.65625, y: 0.59375 },\n { x: 0.71875, y: 0.59375 },\n { x: 0.71875, y: 0.59375 },\n { x: 0.78125, y: 0.59375 },\n { x: 0.78125, y: 0.59375 },\n { x: 0.84375, y: 0.59375 },\n { x: 0.84375, y: 0.59375 },\n { x: 0.90625, y: 0.59375 },\n { x: 0.90625, y: 0.59375 },\n { x: 0.96875, y: 0.59375 },\n { x: 0.96875, y: 0.59375 },\n { x: 0.03125, y: 0.65625 },\n { x: 0.03125, y: 0.65625 },\n { x: 0.09375, y: 0.65625 },\n { x: 0.09375, y: 0.65625 },\n { x: 0.15625, y: 0.65625 },\n { x: 0.15625, y: 0.65625 },\n { x: 0.21875, y: 0.65625 },\n { x: 0.21875, y: 0.65625 },\n { x: 0.28125, y: 0.65625 },\n { x: 0.28125, y: 0.65625 },\n { x: 0.34375, y: 0.65625 },\n { x: 0.34375, y: 0.65625 },\n { x: 0.40625, y: 0.65625 },\n { x: 0.40625, y: 0.65625 },\n { x: 0.46875, y: 0.65625 },\n { x: 0.46875, y: 0.65625 },\n { x: 0.53125, y: 0.65625 },\n { x: 0.53125, y: 0.65625 },\n { x: 0.59375, y: 0.65625 },\n { x: 0.59375, y: 0.65625 },\n { x: 0.65625, y: 0.65625 },\n { x: 0.65625, y: 0.65625 },\n { x: 0.71875, y: 0.65625 },\n { x: 0.71875, y: 0.65625 },\n { x: 0.78125, y: 0.65625 },\n { x: 0.78125, y: 0.65625 },\n { x: 0.84375, y: 0.65625 },\n { x: 0.84375, y: 0.65625 },\n { x: 0.90625, y: 0.65625 },\n { x: 0.90625, y: 0.65625 },\n { x: 0.96875, y: 0.65625 },\n { x: 0.96875, y: 0.65625 },\n { x: 0.03125, y: 0.71875 },\n { x: 0.03125, y: 0.71875 },\n { x: 0.09375, y: 0.71875 },\n { x: 0.09375, y: 0.71875 },\n { x: 0.15625, y: 0.71875 },\n { x: 0.15625, y: 0.71875 },\n { x: 0.21875, y: 0.71875 },\n { x: 0.21875, y: 0.71875 },\n { x: 0.28125, y: 0.71875 },\n { x: 0.28125, y: 0.71875 },\n { x: 0.34375, y: 0.71875 },\n { x: 0.34375, y: 0.71875 },\n { x: 0.40625, y: 0.71875 },\n { x: 0.40625, y: 0.71875 },\n { x: 0.46875, y: 0.71875 },\n { x: 0.46875, y: 0.71875 },\n { x: 0.53125, y: 0.71875 },\n { x: 0.53125, y: 0.71875 },\n { x: 0.59375, y: 0.71875 },\n { x: 0.59375, y: 0.71875 },\n { x: 0.65625, y: 0.71875 },\n { x: 0.65625, y: 0.71875 },\n { x: 0.71875, y: 0.71875 },\n { x: 0.71875, y: 0.71875 },\n { x: 0.78125, y: 0.71875 },\n { x: 0.78125, y: 0.71875 },\n { x: 0.84375, y: 0.71875 },\n { x: 0.84375, y: 0.71875 },\n { x: 0.90625, y: 0.71875 },\n { x: 0.90625, y: 0.71875 },\n { x: 0.96875, y: 0.71875 },\n { x: 0.96875, y: 0.71875 },\n { x: 0.03125, y: 0.78125 },\n { x: 0.03125, y: 0.78125 },\n { x: 0.09375, y: 0.78125 },\n { x: 0.09375, y: 0.78125 },\n { x: 0.15625, y: 0.78125 },\n { x: 0.15625, y: 0.78125 },\n { x: 0.21875, y: 0.78125 },\n { x: 0.21875, y: 0.78125 },\n { x: 0.28125, y: 0.78125 },\n { x: 0.28125, y: 0.78125 },\n { x: 0.34375, y: 0.78125 },\n { x: 0.34375, y: 0.78125 },\n { x: 0.40625, y: 0.78125 },\n { x: 0.40625, y: 0.78125 },\n { x: 0.46875, y: 0.78125 },\n { x: 0.46875, y: 0.78125 },\n { x: 0.53125, y: 0.78125 },\n { x: 0.53125, y: 0.78125 },\n { x: 0.59375, y: 0.78125 },\n { x: 0.59375, y: 0.78125 },\n { x: 0.65625, y: 0.78125 },\n { x: 0.65625, y: 0.78125 },\n { x: 0.71875, y: 0.78125 },\n { x: 0.71875, y: 0.78125 },\n { x: 0.78125, y: 0.78125 },\n { x: 0.78125, y: 0.78125 },\n { x: 0.84375, y: 0.78125 },\n { x: 0.84375, y: 0.78125 },\n { x: 0.90625, y: 0.78125 },\n { x: 0.90625, y: 0.78125 },\n { x: 0.96875, y: 0.78125 },\n { x: 0.96875, y: 0.78125 },\n { x: 0.03125, y: 0.84375 },\n { x: 0.03125, y: 0.84375 },\n { x: 0.09375, y: 0.84375 },\n { x: 0.09375, y: 0.84375 },\n { x: 0.15625, y: 0.84375 },\n { x: 0.15625, y: 0.84375 },\n { x: 0.21875, y: 0.84375 },\n { x: 0.21875, y: 0.84375 },\n { x: 0.28125, y: 0.84375 },\n { x: 0.28125, y: 0.84375 },\n { x: 0.34375, y: 0.84375 },\n { x: 0.34375, y: 0.84375 },\n { x: 0.40625, y: 0.84375 },\n { x: 0.40625, y: 0.84375 },\n { x: 0.46875, y: 0.84375 },\n { x: 0.46875, y: 0.84375 },\n { x: 0.53125, y: 0.84375 },\n { x: 0.53125, y: 0.84375 },\n { x: 0.59375, y: 0.84375 },\n { x: 0.59375, y: 0.84375 },\n { x: 0.65625, y: 0.84375 },\n { x: 0.65625, y: 0.84375 },\n { x: 0.71875, y: 0.84375 },\n { x: 0.71875, y: 0.84375 },\n { x: 0.78125, y: 0.84375 },\n { x: 0.78125, y: 0.84375 },\n { x: 0.84375, y: 0.84375 },\n { x: 0.84375, y: 0.84375 },\n { x: 0.90625, y: 0.84375 },\n { x: 0.90625, y: 0.84375 },\n { x: 0.96875, y: 0.84375 },\n { x: 0.96875, y: 0.84375 },\n { x: 0.03125, y: 0.90625 },\n { x: 0.03125, y: 0.90625 },\n { x: 0.09375, y: 0.90625 },\n { x: 0.09375, y: 0.90625 },\n { x: 0.15625, y: 0.90625 },\n { x: 0.15625, y: 0.90625 },\n { x: 0.21875, y: 0.90625 },\n { x: 0.21875, y: 0.90625 },\n { x: 0.28125, y: 0.90625 },\n { x: 0.28125, y: 0.90625 },\n { x: 0.34375, y: 0.90625 },\n { x: 0.34375, y: 0.90625 },\n { x: 0.40625, y: 0.90625 },\n { x: 0.40625, y: 0.90625 },\n { x: 0.46875, y: 0.90625 },\n { x: 0.46875, y: 0.90625 },\n { x: 0.53125, y: 0.90625 },\n { x: 0.53125, y: 0.90625 },\n { x: 0.59375, y: 0.90625 },\n { x: 0.59375, y: 0.90625 },\n { x: 0.65625, y: 0.90625 },\n { x: 0.65625, y: 0.90625 },\n { x: 0.71875, y: 0.90625 },\n { x: 0.71875, y: 0.90625 },\n { x: 0.78125, y: 0.90625 },\n { x: 0.78125, y: 0.90625 },\n { x: 0.84375, y: 0.90625 },\n { x: 0.84375, y: 0.90625 },\n { x: 0.90625, y: 0.90625 },\n { x: 0.90625, y: 0.90625 },\n { x: 0.96875, y: 0.90625 },\n { x: 0.96875, y: 0.90625 },\n { x: 0.03125, y: 0.96875 },\n { x: 0.03125, y: 0.96875 },\n { x: 0.09375, y: 0.96875 },\n { x: 0.09375, y: 0.96875 },\n { x: 0.15625, y: 0.96875 },\n { x: 0.15625, y: 0.96875 },\n { x: 0.21875, y: 0.96875 },\n { x: 0.21875, y: 0.96875 },\n { x: 0.28125, y: 0.96875 },\n { x: 0.28125, y: 0.96875 },\n { x: 0.34375, y: 0.96875 },\n { x: 0.34375, y: 0.96875 },\n { x: 0.40625, y: 0.96875 },\n { x: 0.40625, y: 0.96875 },\n { x: 0.46875, y: 0.96875 },\n { x: 0.46875, y: 0.96875 },\n { x: 0.53125, y: 0.96875 },\n { x: 0.53125, y: 0.96875 },\n { x: 0.59375, y: 0.96875 },\n { x: 0.59375, y: 0.96875 },\n { x: 0.65625, y: 0.96875 },\n { x: 0.65625, y: 0.96875 },\n { x: 0.71875, y: 0.96875 },\n { x: 0.71875, y: 0.96875 },\n { x: 0.78125, y: 0.96875 },\n { x: 0.78125, y: 0.96875 },\n { x: 0.84375, y: 0.96875 },\n { x: 0.84375, y: 0.96875 },\n { x: 0.90625, y: 0.96875 },\n { x: 0.90625, y: 0.96875 },\n { x: 0.96875, y: 0.96875 },\n { x: 0.96875, y: 0.96875 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n];\n", "/**\n * HandPose model implementation\n * See `handpose.ts` for entry point\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport * as util from './handposeutil';\nimport * as anchors from './handposeanchors';\nimport { constants } from '../tfjs/constants';\nimport type { Tensor, Tensor1D, Tensor2D, Tensor4D, GraphModel } from '../tfjs/types';\nimport type { Point } from '../result';\nimport type { Config } from '../config';\n\nexport class HandDetector {\n model: GraphModel;\n anchors: number[][];\n anchorsTensor: Tensor;\n inputSize: number;\n inputSizeTensor: Tensor;\n doubleInputSizeTensor: Tensor;\n\n constructor(model: GraphModel) {\n this.model = model;\n this.anchors = anchors.anchors.map((anchor) => [anchor.x, anchor.y]);\n this.anchorsTensor = tf.tensor2d(this.anchors);\n this.inputSize = this?.model?.inputs?.[0]?.shape?.[2] || 0;\n this.inputSizeTensor = tf.tensor1d([this.inputSize, this.inputSize]);\n this.doubleInputSizeTensor = tf.tensor1d([this.inputSize * 2, this.inputSize * 2]);\n }\n\n normalizeBoxes(boxes) {\n const t: Record = {};\n t.boxOffsets = tf.slice(boxes, [0, 0], [-1, 2]);\n t.boxSizes = tf.slice(boxes, [0, 2], [-1, 2]);\n t.div = tf.div(t.boxOffsets, this.inputSizeTensor);\n t.boxCenterPoints = tf.add(t.div, this.anchorsTensor);\n t.halfBoxSizes = tf.div(t.boxSizes, this.doubleInputSizeTensor);\n t.sub = tf.sub(t.boxCenterPoints, t.halfBoxSizes);\n t.startPoints = tf.mul(t.sub, this.inputSizeTensor);\n t.add = tf.add(t.boxCenterPoints, t.halfBoxSizes);\n t.endPoints = tf.mul(t.add, this.inputSizeTensor);\n const res = tf.concat2d([t.startPoints as Tensor2D, t.endPoints as Tensor2D], 1);\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return res as Tensor;\n }\n\n normalizeLandmarks(rawPalmLandmarks, index: number): Tensor {\n const t: Record = {};\n t.reshape = tf.reshape(rawPalmLandmarks, [-1, 7, 2]);\n t.div = tf.div(t.reshape, this.inputSizeTensor);\n t.landmarks = tf.add(t.div, this.anchors[index] ? this.anchors[index] : 0);\n const res = tf.mul(t.landmarks, this.inputSizeTensor);\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return res;\n }\n\n async predict(input: Tensor4D, config: Config): Promise<{ startPoint: Point; endPoint: Point, palmLandmarks: Point[]; confidence: number }[]> {\n const t: Record = {};\n t.resize = tf.image.resizeBilinear(input, [this.inputSize, this.inputSize]);\n t.div = tf.div(t.resize, constants.tf127);\n t.image = tf.sub(t.div, constants.tf1);\n t.batched = this.model.execute(t.image) as Tensor;\n t.predictions = tf.squeeze(t.batched);\n t.slice = tf.slice(t.predictions, [0, 0], [-1, 1]);\n t.sigmoid = tf.sigmoid(t.slice);\n t.scores = tf.squeeze(t.sigmoid);\n const scores = await t.scores.data();\n t.boxes = tf.slice(t.predictions, [0, 1], [-1, 4]);\n t.norm = this.normalizeBoxes(t.boxes);\n // box detection is flaky so we look for 3x boxes than we need results\n t.nms = await tf.image.nonMaxSuppressionAsync(t.norm as Tensor2D, t.scores as Tensor1D, 3 * (config.hand?.maxDetected || 1), config.hand.iouThreshold, config.hand.minConfidence);\n const nms = await t.nms.array() as number[];\n const hands: { startPoint: Point; endPoint: Point; palmLandmarks: Point[]; confidence: number }[] = [];\n for (const index of nms) {\n const p: Record = {};\n p.box = tf.slice(t.norm, [index, 0], [1, -1]);\n p.slice = tf.slice(t.predictions, [index, 5], [1, 14]);\n p.norm = this.normalizeLandmarks(p.slice, index);\n p.palmLandmarks = tf.reshape(p.norm, [-1, 2]);\n const box = await p.box.data();\n const startPoint = box.slice(0, 2) as unknown as Point;\n const endPoint = box.slice(2, 4) as unknown as Point;\n const palmLandmarks = await p.palmLandmarks.array();\n const hand = { startPoint, endPoint, palmLandmarks, confidence: scores[index] };\n const scaled = util.scaleBoxCoordinates(hand, [(input.shape[2] || 1) / this.inputSize, (input.shape[1] || 0) / this.inputSize]);\n hands.push(scaled);\n Object.keys(p).forEach((tensor) => tf.dispose(p[tensor]));\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return hands;\n }\n}\n", "/**\n * HandPose model implementation\n * See `handpose.ts` for entry point\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport * as util from './handposeutil';\nimport type * as detector from './handposedetector';\nimport { constants } from '../tfjs/constants';\nimport type { Tensor, GraphModel } from '../tfjs/types';\nimport { env } from '../util/env';\nimport { now } from '../util/util';\nimport type { Point } from '../result';\n\nconst palmBoxEnlargeFactor = 5; // default 3\nconst handBoxEnlargeFactor = 1.65; // default 1.65\nconst palmLandmarkIds = [0, 5, 9, 13, 17, 1, 2];\nconst palmLandmarksPalmBase = 0;\nconst palmLandmarksMiddleFingerBase = 2;\nlet lastTime = 0;\n\nexport class HandPipeline {\n handDetector: detector.HandDetector;\n handPoseModel: GraphModel;\n inputSize: number;\n storedBoxes: ({ startPoint: Point; endPoint: Point; palmLandmarks: Point[]; confidence: number } | null)[];\n skipped: number;\n detectedHands: number;\n\n constructor(handDetector, handPoseModel) {\n this.handDetector = handDetector;\n this.handPoseModel = handPoseModel;\n this.inputSize = this.handPoseModel?.inputs?.[0].shape?.[2] || 0;\n this.storedBoxes = [];\n this.skipped = Number.MAX_SAFE_INTEGER;\n this.detectedHands = 0;\n }\n\n calculateLandmarksBoundingBox(landmarks) { // eslint-disable-line class-methods-use-this\n const xs = landmarks.map((d) => d[0]);\n const ys = landmarks.map((d) => d[1]);\n const startPoint = [Math.min(...xs), Math.min(...ys)];\n const endPoint = [Math.max(...xs), Math.max(...ys)];\n return { startPoint, endPoint };\n }\n\n getBoxForPalmLandmarks(palmLandmarks, rotationMatrix) {\n const rotatedPalmLandmarks = palmLandmarks.map((coord) => util.rotatePoint([...coord, 1], rotationMatrix));\n const boxAroundPalm = this.calculateLandmarksBoundingBox(rotatedPalmLandmarks);\n return util.enlargeBox(util.squarifyBox(boxAroundPalm), palmBoxEnlargeFactor);\n }\n\n getBoxForHandLandmarks(landmarks) {\n const boundingBox = this.calculateLandmarksBoundingBox(landmarks);\n const boxAroundHand = util.enlargeBox(util.squarifyBox(boundingBox), handBoxEnlargeFactor);\n boxAroundHand.palmLandmarks = [];\n for (let i = 0; i < palmLandmarkIds.length; i++) {\n boxAroundHand.palmLandmarks.push(landmarks[palmLandmarkIds[i]].slice(0, 2));\n }\n return boxAroundHand;\n }\n\n transformRawCoords(rawCoords, box2, angle, rotationMatrix) {\n const boxSize = util.getBoxSize(box2);\n const scaleFactor = [boxSize[0] / this.inputSize, boxSize[1] / this.inputSize, (boxSize[0] + boxSize[1]) / this.inputSize / 2];\n const coordsScaled = rawCoords.map((coord) => [\n scaleFactor[0] * (coord[0] - this.inputSize / 2),\n scaleFactor[1] * (coord[1] - this.inputSize / 2),\n scaleFactor[2] * coord[2],\n ]);\n const coordsRotationMatrix = util.buildRotationMatrix(angle, [0, 0]);\n const coordsRotated = coordsScaled.map((coord) => {\n const rotated = util.rotatePoint(coord, coordsRotationMatrix);\n return [...rotated, coord[2]];\n });\n const inverseRotationMatrix = util.invertTransformMatrix(rotationMatrix);\n const boxCenter = [...util.getBoxCenter(box2), 1];\n const originalBoxCenter = [\n util.dot(boxCenter, inverseRotationMatrix[0]),\n util.dot(boxCenter, inverseRotationMatrix[1]),\n ];\n return coordsRotated.map((coord) => [\n Math.trunc(coord[0] + originalBoxCenter[0]),\n Math.trunc(coord[1] + originalBoxCenter[1]),\n Math.trunc(coord[2]),\n ]);\n }\n\n async estimateHands(image, config) {\n let useFreshBox = false;\n\n // run new detector every skipFrames\n let boxes;\n const skipTime = (config.hand.skipTime || 0) > (now() - lastTime);\n const skipFrame = this.skipped < (config.hand.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame) {\n boxes = await this.handDetector.predict(image, config);\n this.skipped = 0;\n }\n if (config.skipAllowed) this.skipped++;\n\n // if detector result count doesn't match current working set, use it to reset current working set\n if (boxes && (boxes.length > 0) && ((boxes.length !== this.detectedHands) && (this.detectedHands !== config.hand.maxDetected) || !config.hand.landmarks)) {\n this.detectedHands = 0;\n this.storedBoxes = [...boxes];\n // for (const possible of boxes) this.storedBoxes.push(possible);\n if (this.storedBoxes.length > 0) useFreshBox = true;\n }\n const hands: { landmarks: Point[], confidence: number, boxConfidence: number, fingerConfidence: number, box: { topLeft: Point, bottomRight: Point } }[] = [];\n\n // go through working set of boxes\n for (let i = 0; i < this.storedBoxes.length; i++) {\n const currentBox = this.storedBoxes[i];\n if (!currentBox) continue;\n if (config.hand.landmarks) {\n const angle = config.hand.rotation ? util.computeRotation(currentBox.palmLandmarks[palmLandmarksPalmBase], currentBox.palmLandmarks[palmLandmarksMiddleFingerBase]) : 0;\n const palmCenter = util.getBoxCenter(currentBox);\n const palmCenterNormalized: [number, number] = [palmCenter[0] / image.shape[2], palmCenter[1] / image.shape[1]];\n const rotatedImage = config.hand.rotation && env.kernels.includes('rotatewithoffset') ? tf.image.rotateWithOffset(image, angle, 0, palmCenterNormalized) : image.clone();\n const rotationMatrix = util.buildRotationMatrix(-angle, palmCenter);\n const newBox = useFreshBox ? this.getBoxForPalmLandmarks(currentBox.palmLandmarks, rotationMatrix) : currentBox;\n const croppedInput = util.cutBoxFromImageAndResize(newBox, rotatedImage, [this.inputSize, this.inputSize]);\n const handImage = tf.div(croppedInput, constants.tf255);\n tf.dispose(croppedInput);\n tf.dispose(rotatedImage);\n const [confidenceT, keypoints] = this.handPoseModel.execute(handImage) as Tensor[];\n lastTime = now();\n tf.dispose(handImage);\n const confidence = (await confidenceT.data())[0];\n tf.dispose(confidenceT);\n if (confidence >= config.hand.minConfidence / 4) {\n const keypointsReshaped = tf.reshape(keypoints, [-1, 3]);\n const rawCoords = await keypointsReshaped.array();\n tf.dispose(keypoints);\n tf.dispose(keypointsReshaped);\n const coords = this.transformRawCoords(rawCoords, newBox, angle, rotationMatrix);\n const nextBoundingBox = this.getBoxForHandLandmarks(coords);\n this.storedBoxes[i] = { ...nextBoundingBox, confidence };\n const result = {\n landmarks: coords,\n confidence,\n boxConfidence: currentBox.confidence,\n fingerConfidence: confidence,\n box: { topLeft: nextBoundingBox.startPoint, bottomRight: nextBoundingBox.endPoint },\n };\n hands.push(result);\n } else {\n this.storedBoxes[i] = null;\n }\n tf.dispose(keypoints);\n } else {\n // const enlarged = box.enlargeBox(box.squarifyBox(box.shiftBox(currentBox, HAND_BOX_SHIFT_VECTOR)), handBoxEnlargeFactor);\n const enlarged = util.enlargeBox(util.squarifyBox(currentBox), handBoxEnlargeFactor);\n const result = {\n confidence: currentBox.confidence,\n boxConfidence: currentBox.confidence,\n fingerConfidence: 0,\n box: { topLeft: enlarged.startPoint, bottomRight: enlarged.endPoint },\n landmarks: [],\n };\n hands.push(result);\n }\n }\n this.storedBoxes = this.storedBoxes.filter((a) => a !== null);\n this.detectedHands = hands.length;\n if (hands.length > config.hand.maxDetected) hands.length = config.hand.maxDetected;\n return hands;\n }\n}\n", "/**\n * HandPose model implementation\n *\n * Based on: [**MediaPipe HandPose**](https://drive.google.com/file/d/1sv4sSb9BSNVZhLzxXJ0jBv9DqD-4jnAz/view)\n */\n\nimport { log } from '../util/util';\nimport * as handdetector from './handposedetector';\nimport * as handpipeline from './handposepipeline';\nimport * as fingerPose from './fingerpose';\nimport { loadModel } from '../tfjs/load';\nimport type { HandResult, Box, Point } from '../result';\nimport type { Tensor, GraphModel } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nconst meshAnnotations = {\n thumb: [1, 2, 3, 4],\n index: [5, 6, 7, 8],\n middle: [9, 10, 11, 12],\n ring: [13, 14, 15, 16],\n pinky: [17, 18, 19, 20],\n palm: [0],\n};\n\nlet handDetectorModel: GraphModel | null;\nlet handPoseModel: GraphModel | null;\nlet handPipeline: handpipeline.HandPipeline;\n\nexport async function predict(input: Tensor, config: Config): Promise {\n const predictions = await handPipeline.estimateHands(input, config);\n if (!predictions) return [];\n const hands: HandResult[] = [];\n for (let i = 0; i < predictions.length; i++) {\n const annotations = {};\n if (predictions[i].landmarks) {\n for (const key of Object.keys(meshAnnotations)) {\n annotations[key] = meshAnnotations[key].map((index) => predictions[i].landmarks[index]);\n }\n }\n const keypoints = predictions[i].landmarks as unknown as Point[];\n let box: Box = [Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER, 0, 0]; // maximums so conditionals work\n let boxRaw: Box = [0, 0, 0, 0];\n if (keypoints && keypoints.length > 0) { // if we have landmarks, calculate box based on landmarks\n for (const pt of keypoints) {\n if (pt[0] < box[0]) box[0] = pt[0];\n if (pt[1] < box[1]) box[1] = pt[1];\n if (pt[0] > box[2]) box[2] = pt[0];\n if (pt[1] > box[3]) box[3] = pt[1];\n }\n box[2] -= box[0];\n box[3] -= box[1];\n boxRaw = [box[0] / (input.shape[2] || 0), box[1] / (input.shape[1] || 0), box[2] / (input.shape[2] || 0), box[3] / (input.shape[1] || 0)];\n } else { // otherwise use box from prediction\n box = predictions[i].box ? [\n Math.trunc(Math.max(0, predictions[i].box.topLeft[0])),\n Math.trunc(Math.max(0, predictions[i].box.topLeft[1])),\n Math.trunc(Math.min((input.shape[2] || 0), predictions[i].box.bottomRight[0]) - Math.max(0, predictions[i].box.topLeft[0])),\n Math.trunc(Math.min((input.shape[1] || 0), predictions[i].box.bottomRight[1]) - Math.max(0, predictions[i].box.topLeft[1])),\n ] : [0, 0, 0, 0];\n boxRaw = [\n (predictions[i].box.topLeft[0]) / (input.shape[2] || 0),\n (predictions[i].box.topLeft[1]) / (input.shape[1] || 0),\n (predictions[i].box.bottomRight[0] - predictions[i].box.topLeft[0]) / (input.shape[2] || 0),\n (predictions[i].box.bottomRight[1] - predictions[i].box.topLeft[1]) / (input.shape[1] || 0),\n ];\n }\n const landmarks = fingerPose.analyze(keypoints);\n hands.push({\n id: i,\n score: Math.round(100 * predictions[i].confidence) / 100,\n boxScore: Math.round(100 * predictions[i].boxConfidence) / 100,\n fingerScore: Math.round(100 * predictions[i].fingerConfidence) / 100,\n label: 'hand',\n box,\n boxRaw,\n keypoints,\n annotations: annotations as HandResult['annotations'],\n landmarks: landmarks as HandResult['landmarks'],\n });\n }\n return hands;\n}\n\nexport async function load(config: Config): Promise<[GraphModel | null, GraphModel | null]> {\n if (env.initial) {\n handDetectorModel = null;\n handPoseModel = null;\n }\n if (!handDetectorModel || !handPoseModel) {\n [handDetectorModel, handPoseModel] = await Promise.all([\n config.hand.enabled ? loadModel(config.hand.detector?.modelPath) : null,\n config.hand.landmarks ? loadModel(config.hand.skeleton?.modelPath) : null,\n ]);\n } else {\n if (config.debug) log('cached model:', handDetectorModel['modelUrl']);\n if (config.debug) log('cached model:', handPoseModel['modelUrl']);\n }\n const handDetector = handDetectorModel ? new handdetector.HandDetector(handDetectorModel) : undefined;\n if (handDetector && handPoseModel) handPipeline = new handpipeline.HandPipeline(handDetector, handPoseModel);\n return [handDetectorModel, handPoseModel];\n}\n", "/**\n * HandTrack model implementation\n *\n * Based on:\n * - Hand Detection & Skeleton: [**MediaPipe HandPose**](https://drive.google.com/file/d/1sv4sSb9BSNVZhLzxXJ0jBv9DqD-4jnAz/view)\n * - Hand Tracking: [**HandTracking**](https://github.com/victordibia/handtracking)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport * as box from '../util/box';\nimport { loadModel } from '../tfjs/load';\nimport type { HandResult, HandType, Box, Point } from '../result';\nimport type { GraphModel, Tensor, Tensor1D, Tensor2D, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\nimport * as fingerPose from './fingerpose';\nimport { fakeOps } from '../tfjs/backend';\nimport { constants } from '../tfjs/constants';\n\nconst models: [GraphModel | null, GraphModel | null] = [null, null];\nconst modelOutputNodes = ['StatefulPartitionedCall/Postprocessor/Slice', 'StatefulPartitionedCall/Postprocessor/ExpandDims_1'];\n\nconst inputSize = [[0, 0], [0, 0]];\n\nconst classes = ['hand', 'fist', 'pinch', 'point', 'face', 'tip', 'pinchtip'];\nconst faceIndex = 4;\n\nconst boxExpandFact = 1.6;\nconst maxDetectorResolution = 512;\nconst detectorExpandFact = 1.4;\n\nlet skipped = Number.MAX_SAFE_INTEGER;\nlet lastTime = 0;\nlet outputSize: [number, number] = [0, 0];\n\ninterface HandDetectResult {\n id: number,\n score: number,\n box: Box,\n boxRaw: Box,\n label: HandType,\n}\n\nconst cache: {\n boxes: HandDetectResult[],\n hands: HandResult[];\n} = {\n boxes: [],\n hands: [],\n};\n\nconst fingerMap = {\n /*\n thumb: [0, 1, 2, 3, 4],\n index: [0, 5, 6, 7, 8],\n middle: [0, 9, 10, 11, 12],\n ring: [0, 13, 14, 15, 16],\n pinky: [0, 17, 18, 19, 20],\n palm: [0],\n */\n thumb: [1, 2, 3, 4],\n index: [5, 6, 7, 8],\n middle: [9, 10, 11, 12],\n ring: [13, 14, 15, 16],\n pinky: [17, 18, 19, 20],\n base: [0],\n palm: [0, 17, 13, 9, 5, 1, 0],\n};\n\nexport async function loadDetect(config: Config): Promise {\n // HandTrack Model: Original: TFJS Port: \n if (env.initial) models[0] = null;\n if (!models[0]) {\n // handtrack model has some kernel ops defined in model but those are never referenced and non-existent in tfjs\n // ideally need to prune the model itself\n fakeOps(['tensorlistreserve', 'enter', 'tensorlistfromtensor', 'merge', 'loopcond', 'switch', 'exit', 'tensorliststack', 'nextiteration', 'tensorlistsetitem', 'tensorlistgetitem', 'reciprocal', 'shape', 'split', 'where'], config);\n models[0] = await loadModel(config.hand.detector?.modelPath);\n const inputs = models[0]['executor'] ? Object.values(models[0].modelSignature['inputs']) : undefined;\n inputSize[0][0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;\n inputSize[0][1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;\n } else if (config.debug) log('cached model:', models[0]['modelUrl']);\n return models[0];\n}\n\nexport async function loadSkeleton(config: Config): Promise {\n if (env.initial) models[1] = null;\n if (!models[1]) {\n models[1] = await loadModel(config.hand.skeleton?.modelPath);\n const inputs = models[1]['executor'] ? Object.values(models[1].modelSignature['inputs']) : undefined;\n inputSize[1][0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;\n inputSize[1][1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;\n } else if (config.debug) log('cached model:', models[1]['modelUrl']);\n return models[1];\n}\n\nexport async function load(config: Config): Promise<[GraphModel | null, GraphModel | null]> {\n if (!models[0]) await loadDetect(config);\n if (!models[1]) await loadSkeleton(config);\n return models;\n}\n\nasync function detectHands(input: Tensor4D, config: Config): Promise {\n const hands: HandDetectResult[] = [];\n if (!input || !models[0]) return hands;\n const t: Record = {};\n const ratio = (input.shape[2] || 1) / (input.shape[1] || 1);\n const height = Math.min(Math.round((input.shape[1] || 0) / 8) * 8, maxDetectorResolution); // use dynamic input size but cap at 512\n const width = Math.round(height * ratio / 8) * 8;\n t.resize = tf.image.resizeBilinear(input, [height, width]); // todo: resize with padding\n t.cast = tf.cast(t.resize, 'int32');\n [t.rawScores, t.rawBoxes] = await models[0].executeAsync(t.cast, modelOutputNodes) as Tensor[];\n t.boxes = tf.squeeze(t.rawBoxes, [0, 2]);\n t.scores = tf.squeeze(t.rawScores, [0]);\n const classScores: Tensor[] = tf.unstack(t.scores, 1); // unstack scores based on classes\n tf.dispose(classScores[faceIndex]);\n classScores.splice(faceIndex, 1); // remove faces\n t.filtered = tf.stack(classScores, 1); // restack\n tf.dispose(classScores);\n // t.filtered = t.scores;\n t.max = tf.max(t.filtered, 1); // max overall score\n t.argmax = tf.argMax(t.filtered, 1); // class index of max overall score\n let id = 0;\n t.nms = await tf.image.nonMaxSuppressionAsync(t.boxes as Tensor2D, t.max as Tensor1D, (config.hand.maxDetected || 0) + 1, config.hand.iouThreshold || 0, config.hand.minConfidence || 1);\n const nms = await t.nms.data();\n const scores = await t.max.data();\n const classNum = await t.argmax.data();\n for (const nmsIndex of Array.from(nms)) { // generates results for each class\n const boxSlice = tf.slice(t.boxes, nmsIndex, 1);\n const boxYX = await boxSlice.data();\n tf.dispose(boxSlice);\n const boxData: Box = [boxYX[1], boxYX[0], boxYX[3] - boxYX[1], boxYX[2] - boxYX[0]]; // yx box reshaped to standard box\n const boxRaw: Box = box.scale(boxData, detectorExpandFact);\n const boxFull: Box = [Math.trunc(boxData[0] * outputSize[0]), Math.trunc(boxData[1] * outputSize[1]), Math.trunc(boxData[2] * outputSize[0]), Math.trunc(boxData[3] * outputSize[1])];\n const score = scores[nmsIndex];\n const label = classes[classNum[nmsIndex]] as HandType;\n const hand: HandDetectResult = { id: id++, score, box: boxFull, boxRaw, label };\n hands.push(hand);\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n hands.sort((a, b) => b.score - a.score);\n if (hands.length > (config.hand.maxDetected || 1)) hands.length = (config.hand.maxDetected || 1);\n return hands;\n}\n\nasync function detectFingers(input: Tensor4D, h: HandDetectResult, config: Config): Promise {\n const hand: HandResult = { // initial values inherited from hand detect\n id: h.id,\n score: Math.round(100 * h.score) / 100,\n boxScore: Math.round(100 * h.score) / 100,\n fingerScore: 0,\n box: h.box,\n boxRaw: h.boxRaw,\n label: h.label,\n keypoints: [],\n landmarks: {} as HandResult['landmarks'],\n annotations: {} as HandResult['annotations'],\n };\n if (input && models[1] && config.hand.landmarks && h.score > (config.hand.minConfidence || 0)) {\n const t: Record = {};\n const boxCrop = [h.boxRaw[1], h.boxRaw[0], h.boxRaw[3] + h.boxRaw[1], h.boxRaw[2] + h.boxRaw[0]] as Box;\n t.crop = tf.image.cropAndResize(input, [boxCrop], [0], [inputSize[1][0], inputSize[1][1]], 'bilinear');\n t.div = tf.div(t.crop, constants.tf255);\n [t.score, t.keypoints] = models[1].execute(t.div, ['Identity_1', 'Identity']) as Tensor[];\n const rawScore = (await t.score.data())[0];\n const score = (100 - Math.trunc(100 / (1 + Math.exp(rawScore)))) / 100; // reverse sigmoid value\n if (score >= (config.hand.minConfidence || 0)) {\n hand.fingerScore = score;\n t.reshaped = tf.reshape(t.keypoints, [-1, 3]);\n const coordsData: Point[] = await t.reshaped.array() as Point[];\n const coordsRaw: Point[] = coordsData.map((kpt) => [kpt[0] / inputSize[1][1], kpt[1] / inputSize[1][0], (kpt[2] || 0)]);\n const coordsNorm: Point[] = coordsRaw.map((kpt) => [kpt[0] * h.boxRaw[2], kpt[1] * h.boxRaw[3], (kpt[2] || 0)]);\n hand.keypoints = (coordsNorm).map((kpt) => [outputSize[0] * (kpt[0] + h.boxRaw[0]), outputSize[1] * (kpt[1] + h.boxRaw[1]), (kpt[2] || 0)]);\n hand.landmarks = fingerPose.analyze(hand.keypoints) as HandResult['landmarks']; // calculate finger gestures\n for (const key of Object.keys(fingerMap)) { // map keypoints to per-finger annotations\n hand.annotations[key] = fingerMap[key].map((index: number) => (hand.landmarks && hand.keypoints[index] ? hand.keypoints[index] : null));\n }\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n }\n return hand;\n}\n\nexport async function predict(input: Tensor4D, config: Config): Promise {\n if (!models[0]?.['executor'] || !models[1]?.['executor'] || !models[0].inputs[0].shape || !models[1].inputs[0].shape) return []; // something is wrong with the model\n outputSize = [input.shape[2] || 0, input.shape[1] || 0];\n skipped++; // increment skip frames\n const skipTime = (config.hand.skipTime || 0) > (now() - lastTime);\n const skipFrame = skipped < (config.hand.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame) {\n return cache.hands; // return cached results without running anything\n }\n return new Promise(async (resolve) => {\n const skipTimeExtended = 3 * (config.hand.skipTime || 0) > (now() - lastTime);\n const skipFrameExtended = skipped < 3 * (config.hand.skipFrames || 0);\n if (config.skipAllowed && cache.hands.length === config.hand.maxDetected) { // we have all detected hands so we're definitely skipping\n cache.hands = await Promise.all(cache.boxes.map((handBox) => detectFingers(input, handBox, config)));\n } else if (config.skipAllowed && skipTimeExtended && skipFrameExtended && cache.hands.length > 0) { // we have some cached results: maybe not enough but anyhow continue for bit longer\n cache.hands = await Promise.all(cache.boxes.map((handBox) => detectFingers(input, handBox, config)));\n } else { // finally rerun detector\n cache.boxes = await detectHands(input, config);\n lastTime = now();\n cache.hands = await Promise.all(cache.boxes.map((handBox) => detectFingers(input, handBox, config)));\n skipped = 0;\n }\n\n const oldCache = [...cache.boxes];\n cache.boxes.length = 0; // reset cache\n if (config.cacheSensitivity > 0) {\n for (let i = 0; i < cache.hands.length; i++) {\n const boxKpt = box.square(cache.hands[i].keypoints, outputSize);\n if (boxKpt.box[2] / (input.shape[2] || 1) > 0.05 && boxKpt.box[3] / (input.shape[1] || 1) > 0.05 && cache.hands[i].fingerScore && cache.hands[i].fingerScore > (config.hand.minConfidence || 0)) {\n const boxScale = box.scale(boxKpt.box, boxExpandFact);\n const boxScaleRaw = box.scale(boxKpt.boxRaw, boxExpandFact);\n // const boxCrop = box.crop(boxScaleRaw);\n cache.boxes.push({ ...oldCache[i], box: boxScale, boxRaw: boxScaleRaw });\n }\n }\n }\n for (let i = 0; i < cache.hands.length; i++) { // replace detected boxes with calculated boxes in final output\n const bbox = box.calc(cache.hands[i].keypoints, outputSize);\n cache.hands[i].box = bbox.box;\n cache.hands[i].boxRaw = bbox.boxRaw;\n }\n resolve(cache.hands);\n });\n}\n", "/**\n * Type definitions for Human result object\n */\n\nimport type { Tensor } from './tfjs/types';\nimport type { FaceGesture, BodyGesture, HandGesture, IrisGesture } from './gesture/gesture';\nimport type { AnyCanvas } from './exports';\n\n/** generic box as [x, y, width, height] */\nexport type Box = [number, number, number, number];\n/** generic point as [x, y, z?] */\nexport type Point = [number, number, number?];\n\nexport type Emotion = 'angry' | 'disgust' | 'fear' | 'happy' | 'sad' | 'surprise' | 'neutral';\nexport type Gender = 'male' | 'female' | 'unknown';\nexport type Race = 'white' | 'black' | 'asian' | 'indian' | 'other';\nexport type FaceLandmark = 'leftEye' | 'rightEye' | 'nose' | 'mouth' | 'leftEar' | 'rightEar' | 'symmetryLine' | 'silhouette'\n | 'lipsUpperOuter' | 'lipsLowerOuter' | 'lipsUpperInner' | 'lipsLowerInner'\n | 'rightEyeUpper0' | 'rightEyeLower0' | 'rightEyeUpper1' | 'rightEyeLower1' | 'rightEyeUpper2' | 'rightEyeLower2' | 'rightEyeLower3' | 'rightEyebrowUpper' | 'rightEyebrowLower' | 'rightEyeIris'\n | 'leftEyeUpper0' | 'leftEyeLower0' | 'leftEyeUpper1' | 'leftEyeLower1' | 'leftEyeUpper2' | 'leftEyeLower2' | 'leftEyeLower3' | 'leftEyebrowUpper' | 'leftEyebrowLower' | 'leftEyeIris'\n | 'midwayBetweenEyes' | 'noseTip' | 'noseBottom' | 'noseRightCorner' | 'noseLeftCorner' | 'rightCheek' | 'leftCheek';\n\n/** Face results\n * - Combined results of face detector, face mesh, age, gender, emotion, embedding, iris models\n * - Some values may be null if specific model is not enabled\n */\nexport interface FaceResult {\n /** face id */\n id: number\n /** overall face score */\n score: number,\n /** detection score */\n boxScore: number,\n /** mesh score */\n faceScore: number,\n /** detected face box */\n box: Box,\n /** detected face box normalized to 0..1 */\n boxRaw: Box,\n /** detected face mesh */\n mesh: Point[]\n /** detected face mesh normalized to 0..1 */\n meshRaw: Point[],\n /** face contours as array of 2d points normalized to 0..1 */\n // contoursRaw: Array<[number, number]>,\n /** face contours as array of 2d points */\n // contours: Array<[number, number]>,\n /** mesh keypoints combined into annotated results */\n annotations: Record,\n /** detected age */\n age?: number,\n /** detected gender */\n gender?: Gender,\n /** gender detection score */\n genderScore?: number,\n /** detected emotions */\n emotion?: { score: number, emotion: Emotion }[],\n /** detected race */\n race?: { score: number, race: Race }[],\n /** face descriptor */\n embedding?: number[],\n /** face distance from camera */\n distance?: number,\n /** face anti-spoofing result confidence */\n real?: number,\n /** face liveness result confidence */\n live?: number,\n /** face rotation details */\n rotation?: {\n angle: { roll: number, yaw: number, pitch: number },\n matrix: [number, number, number, number, number, number, number, number, number],\n gaze: { bearing: number, strength: number },\n } | null,\n /** detected face as tensor that can be used in further pipelines */\n tensor?: Tensor,\n}\n\nexport type BodyLandmarkPoseNet = 'nose' | 'leftEye' | 'rightEye' | 'leftEar' | 'rightEar' | 'leftShoulder' | 'rightShoulder' | 'leftElbow' | 'rightElbow' | 'leftWrist' | 'rightWrist' | 'leftHip' | 'rightHip' | 'leftKnee' | 'rightKnee' | 'leftAnkle' | 'rightAnkle';\nexport type BodyLandmarkMoveNet = 'nose' | 'leftEye' | 'rightEye' | 'leftEar' | 'rightEar' | 'leftShoulder' | 'rightShoulder' | 'leftElbow' | 'rightElbow' | 'leftWrist' | 'rightWrist' | 'leftHip' | 'rightHip' | 'leftKnee' | 'rightKnee' | 'leftAnkle' | 'rightAnkle';\nexport type BodyLandmarkEfficientNet = 'head' | 'neck' | 'rightShoulder' | 'rightElbow' | 'rightWrist' | 'chest' | 'leftShoulder' | 'leftElbow' | 'leftWrist' | 'bodyCenter' | 'rightHip' | 'rightKnee' | 'rightAnkle' | 'leftHip' | 'leftKnee' | 'leftAnkle';\nexport type BodyLandmarkBlazePose = 'nose' | 'leftEyeInside' | 'leftEye' | 'leftEyeOutside' | 'rightEyeInside' | 'rightEye' | 'rightEyeOutside' | 'leftEar' | 'rightEar' | 'leftMouth' | 'rightMouth' | 'leftShoulder' | 'rightShoulder'\n | 'leftElbow' | 'rightElbow' | 'leftWrist' | 'rightWrist' | 'leftPinky' | 'rightPinky' | 'leftIndex' | 'rightIndex' | 'leftThumb' | 'rightThumb' | 'leftHip' | 'rightHip' | 'leftKnee' | 'rightKnee' | 'leftAnkle' | 'rightAnkle'\n | 'leftHeel' | 'rightHeel' | 'leftFoot' | 'rightFoot' | 'bodyCenter' | 'bodyTop' | 'leftPalm' | 'leftHand' | 'rightPalm' | 'rightHand';\nexport type BodyLandmark = BodyLandmarkPoseNet | BodyLandmarkMoveNet | BodyLandmarkEfficientNet | BodyLandmarkBlazePose;\nexport type BodyAnnotationBlazePose = 'leftLeg' | 'rightLeg' | 'torso' | 'leftArm' | 'rightArm' | 'leftEye' | 'rightEye' | 'mouth';\nexport type BodyAnnotationEfficientPose = 'leftLeg' | 'rightLeg' | 'torso' | 'leftArm' | 'rightArm' | 'head';\nexport type BodyAnnotation = BodyAnnotationBlazePose | BodyAnnotationEfficientPose;\n\n/** Body Result keypoints */\nexport interface BodyKeypoint {\n /** body part name */\n part: BodyLandmark,\n /** body part position */\n position: Point,\n /** body part position normalized to 0..1 */\n positionRaw: Point,\n /** body part position relative to body center in meters */\n distance?: Point,\n /** body part detection score */\n score: number,\n}\n\n/** Body results */\nexport interface BodyResult {\n /** body id */\n id: number,\n /** body detection score */\n score: number,\n /** detected body box */\n box: Box,\n /** detected body box normalized to 0..1 */\n boxRaw: Box,\n /** detected body keypoints */\n keypoints: BodyKeypoint[]\n /** detected body keypoints combined into annotated parts */\n annotations: Record,\n}\n\nexport type HandType = 'hand' | 'fist' | 'pinch' | 'point' | 'face' | 'tip' | 'pinchtip';\nexport type Finger = 'index' | 'middle' | 'pinky' | 'ring' | 'thumb' | 'palm';\nexport type FingerCurl = 'none' | 'half' | 'full';\nexport type FingerDirection = 'verticalUp' | 'verticalDown' | 'horizontalLeft' | 'horizontalRight' | 'diagonalUpRight' | 'diagonalUpLeft' | 'diagonalDownRight' | 'diagonalDownLeft';\n\n/** Hand results */\nexport interface HandResult {\n /** hand id */\n id: number,\n /** hand overal score */\n score: number,\n /** hand detection score */\n boxScore: number,\n /** hand skelton score */\n fingerScore: number,\n /** detected hand box */\n box: Box,\n /** detected hand box normalized to 0..1 */\n boxRaw: Box,\n /** detected hand keypoints */\n keypoints: Point[],\n /** detected hand class */\n label: HandType,\n /** detected hand keypoints combined into annotated parts */\n annotations: Record,\n /** detected hand parts annotated with part gestures */\n landmarks: Record,\n}\n\nexport type ObjectType = 'person' | 'bicycle' | 'car' | 'motorcycle' | 'airplane' | 'bus' | 'train' | 'truck' | 'boat' | 'traffic light' | 'fire hydrant' | 'stop sign' | 'parking meter'\n | 'bench' | 'bird' | 'cat' | 'dog' | 'horse' | 'sheep' | 'cow' | 'elephant' | 'bear' | 'zebra' | 'giraffe' | 'backpack' | 'umbrella' | 'handbag' | 'tie' | 'suitcase' | 'frisbee'\n | 'skis' | 'snowboard' | 'sports ball' | 'kite' | 'baseball bat' | 'baseball glove' | 'skateboard' | 'surfboard' | 'tennis racket' | 'bottle' | 'wine glass' | 'cup' | 'fork'\n | 'knife' | 'spoon' | 'bowl' | 'banana' | 'apple' | 'sandwich' | 'orange' | 'broccoli' | 'carrot' | 'hot dog' | 'pizza' | 'donut' | 'cake' | 'chair' | 'couch' | 'potted plant'\n | 'bed' | 'dining table' | 'toilet' | 'tv' | 'laptop' | 'mouse' | 'remote' | 'keyboard' | 'cell phone' | 'microwave' | 'oven' | 'toaster' | 'sink' | 'refrigerator' | 'book'\n | 'clock' | 'vase' | 'scissors' | 'teddy bear' | 'hair drier' | 'toothbrush';\n\n/** Object results */\nexport interface ObjectResult {\n /** object id */\n id: number,\n /** object detection score */\n score: number,\n /** detected object class id */\n class: number,\n /** detected object class name */\n label: ObjectType,\n /** detected object box */\n box: Box,\n /** detected object box normalized to 0..1 */\n boxRaw: Box,\n}\n\n/** Gesture combined results\n * Each result has:\n * - part: part name and number where gesture was detected: `face`, `iris`, `body`, `hand`\n * - gesture: gesture detected\n */\nexport type GestureResult =\n { 'face': number, gesture: FaceGesture }\n | { 'iris': number, gesture: IrisGesture }\n | { 'body': number, gesture: BodyGesture }\n | { 'hand': number, gesture: HandGesture }\n\n/** Person getter\n* - Triggers combining all individual results into a virtual person object\n*/\nexport interface PersonResult {\n /** person id */\n id: number,\n /** face result that belongs to this person */\n face: FaceResult,\n /** body result that belongs to this person */\n body: BodyResult | null,\n /** left and right hand results that belong to this person */\n hands: { left: HandResult | null, right: HandResult | null },\n /** detected gestures specific to this person */\n gestures: GestureResult[],\n /** box that defines the person */\n box: Box,\n /** box that defines the person normalized to 0..1 */\n boxRaw?: Box,\n}\n\n/**\n * Result interface definition for **Human** library\n *\n * Contains all possible detection results\n */\nexport interface Result {\n /** {@link FaceResult}: detection & analysis results */\n face: FaceResult[],\n /** {@link BodyResult}: detection & analysis results */\n body: BodyResult[],\n /** {@link HandResult}: detection & analysis results */\n hand: HandResult[],\n /** {@link GestureResult}: detection & analysis results */\n gesture: GestureResult[],\n /** {@link ObjectResult}: detection & analysis results */\n object: ObjectResult[]\n /** global performance object with timing values for each operation */\n performance: Record,\n /** optional processed canvas that can be used to draw input on screen */\n canvas?: AnyCanvas | null,\n /** timestamp of detection representing the milliseconds elapsed since the UNIX epoch */\n readonly timestamp: number,\n /** getter property that returns unified persons object */\n persons: PersonResult[],\n /** Last known error message */\n error: string | null;\n /** Resolution width */\n width: number,\n /** Resolution height */\n height: number,\n}\n\nexport const empty = (error: string | null = null): Result => ({ face: [], body: [], hand: [], gesture: [], object: [], persons: [], performance: {}, timestamp: 0, width: 0, height: 0, error });\n", "export const kpt: string[] = [ // used to create part labels\n 'nose',\n 'leftEye',\n 'rightEye',\n 'leftEar',\n 'rightEar',\n 'leftShoulder',\n 'rightShoulder',\n 'leftElbow',\n 'rightElbow',\n 'leftWrist',\n 'rightWrist',\n 'leftHip',\n 'rightHip',\n 'leftKnee',\n 'rightKnee',\n 'leftAnkle',\n 'rightAnkle',\n];\n\nexport const horizontal: string[][] = [ // used to fix left vs right\n ['leftEye', 'rightEye'],\n ['leftEar', 'rightEar'],\n ['leftShoulder', 'rightShoulder'],\n ['leftElbow', 'rightElbow'],\n ['leftWrist', 'rightWrist'],\n ['leftHip', 'rightHip'],\n ['leftKnee', 'rightKnee'],\n ['leftAnkle', 'rightAnkle'],\n];\n\nexport const vertical: string[][] = [ // used to remove unlikely keypoint positions\n ['leftKnee', 'leftShoulder'],\n ['rightKnee', 'rightShoulder'],\n ['leftAnkle', 'leftKnee'],\n ['rightAnkle', 'rightKnee'],\n];\n\nexport const relative: string[][][] = [ // used to match relative body parts\n [['leftHip', 'rightHip'], ['leftShoulder', 'rightShoulder']],\n [['leftElbow', 'rightElbow'], ['leftShoulder', 'rightShoulder']],\n];\n\nexport const connected: Record = { // used to create body outline in annotations\n leftLeg: ['leftHip', 'leftKnee', 'leftAnkle'],\n rightLeg: ['rightHip', 'rightKnee', 'rightAnkle'],\n torso: ['leftShoulder', 'rightShoulder', 'rightHip', 'leftHip', 'leftShoulder'],\n leftArm: ['leftShoulder', 'leftElbow', 'leftWrist'],\n rightArm: ['rightShoulder', 'rightElbow', 'rightWrist'],\n head: [],\n};\n", "/**\n * Results interpolation for smoothening of video detection results inbetween detected frames\n */\n\nimport { Result, FaceResult, BodyResult, HandResult, ObjectResult, PersonResult, Box, Point, BodyLandmark, BodyAnnotation, empty } from '../result';\nimport type { Config } from '../config';\n\nimport * as moveNetCoords from '../body/movenetcoords';\nimport * as blazePoseCoords from '../body/blazeposecoords';\nimport * as efficientPoseCoords from '../body/efficientposecoords';\nimport { now } from './util';\nimport { env } from './env';\n\nconst bufferedResult: Result = empty();\nlet interpolateTime = 0;\n\nexport function calc(newResult: Result, config: Config): Result {\n const t0 = now();\n if (!newResult) return empty();\n // each record is only updated using deep clone when number of detected record changes, otherwise it will converge by itself\n // otherwise bufferedResult is a shallow clone of result plus updated local calculated values\n // thus mixing by-reference and by-value assignments to minimize memory operations\n\n const elapsed = Date.now() - newResult.timestamp;\n\n /* curve fitted: buffer = 8 - ln(delay)\n interpolation formula: current = ((buffer - 1) * previous + live) / buffer\n - at 50ms delay buffer = ~4.1 => 28% towards live data\n - at 250ms delay buffer = ~2.5 => 40% towards live data\n - at 500ms delay buffer = ~1.8 => 55% towards live data\n - at 750ms delay buffer = ~1.4 => 71% towards live data\n - at 1sec delay buffer = 1 which means live data is used\n */\n const bufferedFactor = elapsed < 1000 ? 8 - Math.log(elapsed + 1) : 1;\n\n if (newResult.canvas) bufferedResult.canvas = newResult.canvas;\n if (newResult.error) bufferedResult.error = newResult.error;\n\n // interpolate body results\n if (!bufferedResult.body || (newResult.body.length !== bufferedResult.body.length)) {\n bufferedResult.body = JSON.parse(JSON.stringify(newResult.body)) as BodyResult[]; // deep clone once\n } else {\n for (let i = 0; i < newResult.body.length; i++) {\n const box = newResult.body[i].box // update box\n .map((newBoxCoord, j) => ((bufferedFactor - 1) * bufferedResult.body[i].box[j] + newBoxCoord) / bufferedFactor) as Box;\n const boxRaw = newResult.body[i].boxRaw // update boxRaw\n .map((newBoxCoord, j) => ((bufferedFactor - 1) * bufferedResult.body[i].boxRaw[j] + newBoxCoord) / bufferedFactor) as Box;\n const keypoints = (newResult.body[i].keypoints // update keypoints\n .map((newKpt, j) => ({\n score: newKpt.score,\n part: newKpt.part,\n position: [\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].position[0] || 0) + (newKpt.position[0] || 0)) / bufferedFactor : newKpt.position[0],\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].position[1] || 0) + (newKpt.position[1] || 0)) / bufferedFactor : newKpt.position[1],\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].position[2] || 0) + (newKpt.position[2] || 0)) / bufferedFactor : newKpt.position[2],\n ],\n positionRaw: [\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].positionRaw[0] || 0) + (newKpt.positionRaw[0] || 0)) / bufferedFactor : newKpt.positionRaw[0],\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].positionRaw[1] || 0) + (newKpt.positionRaw[1] || 0)) / bufferedFactor : newKpt.positionRaw[1],\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].positionRaw[2] || 0) + (newKpt.positionRaw[2] || 0)) / bufferedFactor : newKpt.positionRaw[2],\n ],\n distance: [\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].distance?.[0] || 0) + (newKpt.distance?.[0] || 0)) / bufferedFactor : newKpt.distance?.[0],\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].distance?.[1] || 0) + (newKpt.distance?.[1] || 0)) / bufferedFactor : newKpt.distance?.[1],\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].distance?.[2] || 0) + (newKpt.distance?.[2] || 0)) / bufferedFactor : newKpt.distance?.[2],\n ],\n }))) as { score: number, part: BodyLandmark, position: [number, number, number?], positionRaw: [number, number, number?] }[];\n\n const annotations: Record = {} as Record; // recreate annotations\n let coords = { connected: {} };\n if (config.body.modelPath?.includes('efficientpose')) coords = efficientPoseCoords;\n else if (config.body.modelPath?.includes('blazepose')) coords = blazePoseCoords;\n else if (config.body.modelPath?.includes('movenet')) coords = moveNetCoords;\n for (const [name, indexes] of Object.entries(coords.connected as Record)) {\n const pt: Point[][] = [];\n for (let j = 0; j < indexes.length - 1; j++) {\n const pt0 = keypoints.find((kp) => kp.part === indexes[j]);\n const pt1 = keypoints.find((kp) => kp.part === indexes[j + 1]);\n // if (pt0 && pt1 && pt0.score > (config.body.minConfidence || 0) && pt1.score > (config.body.minConfidence || 0)) pt.push([pt0.position, pt1.position]);\n if (pt0 && pt1) pt.push([pt0.position, pt1.position]);\n }\n annotations[name] = pt;\n }\n bufferedResult.body[i] = { ...newResult.body[i], box, boxRaw, keypoints, annotations }; // shallow clone plus updated values\n }\n }\n\n // interpolate hand results\n if (!bufferedResult.hand || (newResult.hand.length !== bufferedResult.hand.length)) {\n bufferedResult.hand = JSON.parse(JSON.stringify(newResult.hand)); // deep clone once\n } else {\n for (let i = 0; i < newResult.hand.length; i++) {\n const box = (newResult.hand[i].box// update box\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.hand[i].box[j] + b) / bufferedFactor)) as Box;\n const boxRaw = (newResult.hand[i].boxRaw // update boxRaw\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.hand[i].boxRaw[j] + b) / bufferedFactor)) as Box;\n if (bufferedResult.hand[i].keypoints.length !== newResult.hand[i].keypoints.length) bufferedResult.hand[i].keypoints = newResult.hand[i].keypoints; // reset keypoints as previous frame did not have them\n const keypoints = newResult.hand[i].keypoints && newResult.hand[i].keypoints.length > 0 ? newResult.hand[i].keypoints // update landmarks\n .map((landmark, j) => landmark\n .map((coord, k) => (((bufferedFactor - 1) * (bufferedResult.hand[i].keypoints[j][k] || 1) + (coord || 0)) / bufferedFactor)) as Point)\n : [];\n let annotations = {};\n if (Object.keys(bufferedResult.hand[i].annotations).length !== Object.keys(newResult.hand[i].annotations).length) {\n bufferedResult.hand[i].annotations = newResult.hand[i].annotations; // reset annotations as previous frame did not have them\n annotations = bufferedResult.hand[i].annotations;\n } else if (newResult.hand[i].annotations) {\n for (const key of Object.keys(newResult.hand[i].annotations)) { // update annotations\n annotations[key] = newResult.hand[i]?.annotations?.[key]?.[0]\n ? newResult.hand[i].annotations[key]\n .map((val, j: number) => val\n .map((coord: number, k: number) => ((bufferedFactor - 1) * bufferedResult.hand[i].annotations[key][j][k] + coord) / bufferedFactor))\n : null;\n }\n }\n bufferedResult.hand[i] = { ...newResult.hand[i], box, boxRaw, keypoints, annotations: annotations as HandResult['annotations'] }; // shallow clone plus updated values\n }\n }\n\n // interpolate face results\n if (!bufferedResult.face || (newResult.face.length !== bufferedResult.face.length)) {\n bufferedResult.face = JSON.parse(JSON.stringify(newResult.face)) as FaceResult[]; // deep clone once\n } else {\n for (let i = 0; i < newResult.face.length; i++) {\n const box = (newResult.face[i].box // update box\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.face[i].box[j] + b) / bufferedFactor)) as Box;\n const boxRaw = (newResult.face[i].boxRaw // update boxRaw\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.face[i].boxRaw[j] + b) / bufferedFactor)) as Box;\n if (newResult.face[i].rotation) {\n const rotation: {\n matrix: [number, number, number, number, number, number, number, number, number],\n angle: { roll: number, yaw: number, pitch: number },\n gaze: { bearing: number, strength: number }\n } = { matrix: [0, 0, 0, 0, 0, 0, 0, 0, 0], angle: { roll: 0, yaw: 0, pitch: 0 }, gaze: { bearing: 0, strength: 0 } };\n rotation.matrix = newResult.face[i].rotation?.matrix as [number, number, number, number, number, number, number, number, number];\n rotation.angle = {\n roll: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.angle?.roll || 0) + (newResult.face[i].rotation?.angle?.roll || 0)) / bufferedFactor,\n yaw: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.angle?.yaw || 0) + (newResult.face[i].rotation?.angle?.yaw || 0)) / bufferedFactor,\n pitch: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.angle?.pitch || 0) + (newResult.face[i].rotation?.angle?.pitch || 0)) / bufferedFactor,\n };\n rotation.gaze = {\n // not fully correct due projection on circle, also causes wrap-around draw on jump from negative to positive\n bearing: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.gaze.bearing || 0) + (newResult.face[i].rotation?.gaze.bearing || 0)) / bufferedFactor,\n strength: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.gaze.strength || 0) + (newResult.face[i].rotation?.gaze.strength || 0)) / bufferedFactor,\n };\n bufferedResult.face[i] = { ...newResult.face[i], rotation, box, boxRaw }; // shallow clone plus updated values\n } else {\n bufferedResult.face[i] = { ...newResult.face[i], box, boxRaw }; // shallow clone plus updated values\n }\n }\n }\n\n // interpolate object detection results\n if (!bufferedResult.object || (newResult.object.length !== bufferedResult.object.length)) {\n bufferedResult.object = JSON.parse(JSON.stringify(newResult.object)) as ObjectResult[]; // deep clone once\n } else {\n for (let i = 0; i < newResult.object.length; i++) {\n const box = (newResult.object[i].box // update box\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.object[i].box[j] + b) / bufferedFactor)) as Box;\n const boxRaw = (newResult.object[i].boxRaw // update boxRaw\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.object[i].boxRaw[j] + b) / bufferedFactor)) as Box;\n bufferedResult.object[i] = { ...newResult.object[i], box, boxRaw }; // shallow clone plus updated values\n }\n }\n\n // interpolate person results\n if (newResult.persons) {\n const newPersons = newResult.persons; // trigger getter function\n if (!bufferedResult.persons || (newPersons.length !== bufferedResult.persons.length)) {\n bufferedResult.persons = JSON.parse(JSON.stringify(newPersons)) as PersonResult[];\n } else {\n for (let i = 0; i < newPersons.length; i++) { // update person box, we don't update the rest as it's updated as reference anyhow\n bufferedResult.persons[i].box = (newPersons[i].box\n .map((box, j) => ((bufferedFactor - 1) * bufferedResult.persons[i].box[j] + box) / bufferedFactor)) as Box;\n }\n }\n }\n\n // copy latest gestures without interpolation\n if (newResult.gesture) bufferedResult.gesture = newResult.gesture;\n\n // copy resolution info\n bufferedResult.width = newResult.width;\n bufferedResult.height = newResult.height;\n\n // append interpolation performance data\n const t1 = now();\n interpolateTime = env.perfadd ? interpolateTime + Math.round(t1 - t0) : Math.round(t1 - t0);\n if (newResult.performance) bufferedResult.performance = { ...newResult.performance, interpolate: interpolateTime };\n\n return bufferedResult;\n}\n", "/**\n * Image segmentation for body detection model\n *\n * Based on:\n * - [**MediaPipe Meet**](https://drive.google.com/file/d/1lnP1bRi9CSqQQXUHa13159vLELYDgDu0/preview)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport { constants } from '../tfjs/constants';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nlet model: GraphModel;\n\nexport async function load(config: Config): Promise {\n if (!model || env.initial) model = await loadModel(config.segmentation.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(input: Tensor4D, config: Config): Promise {\n if (!model) model = await load(config);\n if (!model?.['executor'] || !model?.inputs?.[0].shape) return null; // something is wrong with the model\n const t: Record = {};\n t.resize = tf.image.resizeBilinear(input, [model.inputs[0].shape ? model.inputs[0].shape[1] : 0, model.inputs[0].shape ? model.inputs[0].shape[2] : 0], false);\n t.norm = tf.div(t.resize, constants.tf255);\n t.res = model.execute(t.norm) as Tensor;\n t.squeeze = tf.squeeze(t.res, [0]);\n // t.softmax = tf.softmax(t.squeeze); // model meet has two channels for fg and bg\n [t.bgRaw, t.fgRaw] = tf.unstack(t.squeeze, 2);\n // t.bg = tf.softmax(t.bgRaw); // we can ignore bg channel\n t.fg = tf.softmax(t.fgRaw);\n t.mul = tf.mul(t.fg, constants.tf255);\n t.expand = tf.expandDims(t.mul, 2);\n t.output = tf.image.resizeBilinear(t.expand as Tensor4D, [input.shape[1] || 0, input.shape[2] || 0]);\n let rgba: Tensor;\n switch (config.segmentation.mode || 'default') {\n case 'default':\n t.input = tf.squeeze(input);\n t.concat = tf.concat([t.input, t.output], -1);\n rgba = tf.cast(t.concat, 'int32'); // combined original with alpha\n break;\n case 'alpha':\n rgba = tf.cast(t.output, 'int32'); // just get alpha value from model\n break;\n default:\n rgba = tf.tensor(0);\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return rgba;\n}\n", "/** Face descriptor type as number array */\nexport type Descriptor = number[]\nexport type MatchOptions = { order?: number, threshold?: number, multiplier?: number, min?: number, max?: number } | undefined;\n\n/** Calculates distance between two descriptors\n * @param options - calculation options\n * - order - algorithm to use\n * Euclidean distance if `order` is 2 (default), Minkowski distance algorithm of nth order if `order` is higher than 2\n * - multiplier - by how much to enhance difference analysis in range of 1..100\n * default is 20 which normalizes results to similarity above 0.5 can be considered a match\n */\nexport function distance(descriptor1: Descriptor, descriptor2: Descriptor, options: MatchOptions = { order: 2, multiplier: 25 }) {\n // general minkowski distance, euclidean distance is limited case where order is 2\n if (!descriptor1 || !descriptor1) return Number.MAX_SAFE_INTEGER;\n let sum = 0;\n for (let i = 0; i < descriptor1.length; i++) {\n const diff = (!options.order || options.order === 2) ? (descriptor1[i] - descriptor2[i]) : (Math.abs(descriptor1[i] - descriptor2[i]));\n sum += (!options.order || options.order === 2) ? (diff * diff) : (diff ** options.order);\n }\n return (options.multiplier || 20) * sum;\n}\n\n// invert distance to similarity, normalize to given range and clamp\nconst normalizeDistance = (dist, order, min, max) => {\n if (dist === 0) return 1; // short circuit for identical inputs\n const root = order === 2 ? Math.sqrt(dist) : dist ** (1 / order); // take root of distance\n const norm = (1 - (root / 100) - min) / (max - min); // normalize to range\n const clamp = Math.max(Math.min(norm, 1), 0); // clamp to 0..1\n return clamp;\n};\n\n/** Calculates normalized similarity between two face descriptors based on their `distance`\n * @param options - calculation options\n * - order - algorithm to use\n * Euclidean distance if `order` is 2 (default), Minkowski distance algorithm of nth order if `order` is higher than 2\n * - multiplier - by how much to enhance difference analysis in range of 1..100\n * default is 20 which normalizes results to similarity above 0.5 can be considered a match\n * - min - normalize similarity result to a given range\n * - max - normalzie similarity resutl to a given range\n * default is 0.2...0.8\n * Returns similarity between two face descriptors normalized to 0..1 range where 0 is no similarity and 1 is perfect similarity\n */\nexport function similarity(descriptor1: Descriptor, descriptor2: Descriptor, options: MatchOptions = { order: 2, multiplier: 25, min: 0.2, max: 0.8 }) {\n const dist = distance(descriptor1, descriptor2, options);\n return normalizeDistance(dist, options.order || 2, options.min || 0, options.max || 1);\n}\n\n/** Matches given descriptor to a closest entry in array of descriptors\n * @param descriptor - face descriptor\n * @param descriptors - array of face descriptors to commpare given descriptor to\n * @param options - see `similarity` method for options description\n * Returns\n * - `index` index array index where best match was found or -1 if no matches\n * - `distance` calculated `distance` of given descriptor to the best match\n * - `similarity` calculated normalized `similarity` of given descriptor to the best match\n*/\nexport function find(descriptor: Descriptor, descriptors: Descriptor[], options: MatchOptions = { order: 2, multiplier: 25, threshold: 0, min: 0.2, max: 0.8 }) {\n if (!Array.isArray(descriptor) || !Array.isArray(descriptors) || descriptor.length < 64 || descriptors.length === 0) { // validate input\n return { index: -1, distance: Number.POSITIVE_INFINITY, similarity: 0 };\n }\n let lowestDistance = Number.MAX_SAFE_INTEGER;\n let index = -1;\n for (let i = 0; i < descriptors.length; i++) {\n const res = descriptors[i].length === descriptor.length ? distance(descriptor, descriptors[i], options) : Number.MAX_SAFE_INTEGER;\n if (res < lowestDistance) {\n lowestDistance = res;\n index = i;\n }\n if (lowestDistance < (options.threshold || 0)) break;\n }\n const normalizedSimilarity = normalizeDistance(lowestDistance, options.order || 2, options.min || 0, options.max || 1);\n return { index, distance: lowestDistance, similarity: normalizedSimilarity };\n}\n", "/**\n * Loader and Validator for all models used by Human\n */\n\nimport { env } from './util/env';\nimport { log } from './util/util';\nimport * as antispoof from './face/antispoof';\nimport * as blazeface from './face/blazeface';\nimport * as blazepose from './body/blazepose';\nimport * as centernet from './object/centernet';\nimport * as efficientpose from './body/efficientpose';\nimport * as emotion from './gear/emotion';\nimport * as facemesh from './face/facemesh';\nimport * as faceres from './face/faceres';\nimport * as gear from './gear/gear';\nimport * as handpose from './hand/handpose';\nimport * as handtrack from './hand/handtrack';\nimport * as insightface from './face/insightface';\nimport * as iris from './face/iris';\nimport * as liveness from './face/liveness';\nimport * as meet from './segmentation/meet';\nimport * as mobilefacenet from './face/mobilefacenet';\nimport * as movenet from './body/movenet';\nimport * as nanodet from './object/nanodet';\nimport * as posenet from './body/posenet';\nimport * as rvm from './segmentation/rvm';\nimport * as selfie from './segmentation/selfie';\nimport * as ssrnetAge from './gear/ssrnet-age';\nimport * as ssrnetGender from './gear/ssrnet-gender';\nimport { modelStats, ModelInfo } from './tfjs/load';\nimport type { GraphModel } from './tfjs/types';\nimport type { Human } from './human';\n\nexport interface KernelOps { name: string, url: string, missing: string[], ops: string[] }\n\nexport function validateModel(instance: Human | null, model: GraphModel | null, name: string): KernelOps | null {\n if (!model) return null;\n if (!instance?.config?.validateModels) return null;\n const simpleOps = ['const', 'placeholder', 'noop', 'pad', 'squeeze', 'add', 'sub', 'mul', 'div'];\n const ignoreOps = ['biasadd', 'fusedbatchnormv3', 'matmul', 'switch', 'shape', 'merge', 'split', 'broadcastto'];\n const ops: string[] = [];\n const missing: string[] = [];\n interface Op { name: string, category: string, op: string }\n const url = model['modelUrl'] as string;\n const executor = model['executor'];\n if (executor?.graph?.nodes) {\n for (const kernel of Object.values(executor.graph.nodes)) {\n const op = (kernel as Op).op.toLowerCase();\n if (!ops.includes(op)) ops.push(op);\n }\n } else {\n if (!executor && instance.config.debug) {\n log('model not loaded', name);\n }\n }\n for (const op of ops) {\n if (!simpleOps.includes(op) // exclude simple ops\n && !ignoreOps.includes(op) // exclude specific ops\n && !instance.env.kernels.includes(op) // check actual kernel ops\n && !instance.env.kernels.includes(op.replace('_', '')) // check variation without _\n && !instance.env.kernels.includes(op.replace('native', '')) // check standard variation\n && !instance.env.kernels.includes(op.replace('v2', ''))) { // check non-versioned variation\n missing.push(op);\n }\n }\n if (instance.config.debug && missing.length > 0) log('model validation failed:', name, missing);\n return missing.length > 0 ? { name, missing, ops, url } : null;\n}\n\n/** structure that holds global stats for currently loaded models */\nexport interface ModelStats {\n numLoadedModels: number,\n numDefinedModels: number,\n percentageLoaded: number,\n totalSizeFromManifest: number,\n totalSizeWeights: number,\n totalSizeLoading: number,\n modelStats: ModelInfo[],\n}\n\n/** Models class used by Human\n * - models: record of all GraphModels\n * - list: returns list of configured models with their stats\n * - loaded: returns array of loaded models\n * - reset: unloads all models\n * - validate: checks loaded models for valid kernel ops vs current backend\n * - stats: live detailed model stats that can be checked during model load phase\n */\nexport class Models {\n private instance: Human;\n models: Record = {};\n\n constructor(currentInstance: Human) {\n this.models = {};\n this.instance = currentInstance;\n }\n\n stats(): ModelStats {\n let totalSizeFromManifest = 0;\n let totalSizeWeights = 0;\n let totalSizeLoading = 0;\n for (const m of Object.values(modelStats)) {\n totalSizeFromManifest += m.sizeFromManifest;\n totalSizeWeights += m.sizeLoadedWeights;\n totalSizeLoading += m.sizeDesired;\n }\n const percentageLoaded = totalSizeLoading > 0 ? totalSizeWeights / totalSizeLoading : 0;\n return {\n numLoadedModels: Object.values(modelStats).length,\n numDefinedModels: Object.keys(this.models).length,\n percentageLoaded,\n totalSizeFromManifest,\n totalSizeWeights,\n totalSizeLoading,\n modelStats: Object.values(modelStats),\n };\n }\n\n reset(): void {\n for (const model of Object.keys(this.models)) this.models[model] = null;\n }\n\n async load(instance?: Human): Promise {\n if (env.initial) this.reset();\n if (instance) this.instance = instance;\n const m: Record> = {};\n // face main models\n m.blazeface = (this.instance.config.face.enabled && !this.models.blazeface) ? blazeface.load(this.instance.config) : null;\n m.antispoof = (this.instance.config.face.enabled && this.instance.config.face.antispoof?.enabled && !this.models.antispoof) ? antispoof.load(this.instance.config) : null;\n m.liveness = (this.instance.config.face.enabled && this.instance.config.face.liveness?.enabled && !this.models.liveness) ? liveness.load(this.instance.config) : null;\n m.faceres = (this.instance.config.face.enabled && this.instance.config.face.description?.enabled && !this.models.faceres) ? faceres.load(this.instance.config) : null;\n m.emotion = (this.instance.config.face.enabled && this.instance.config.face.emotion?.enabled && !this.models.emotion) ? emotion.load(this.instance.config) : null;\n m.iris = (this.instance.config.face.enabled && this.instance.config.face.iris?.enabled && !this.instance.config.face.attention?.enabled && !this.models.iris) ? iris.load(this.instance.config) : null;\n m.facemesh = (this.instance.config.face.enabled && this.instance.config.face.mesh?.enabled && (!this.models.facemesh)) ? facemesh.load(this.instance.config) : null;\n // face alternatives\n m.gear = (this.instance.config.face.enabled && this.instance.config.face['gear']?.enabled && !this.models.gear) ? gear.load(this.instance.config) : null;\n m.ssrnetage = (this.instance.config.face.enabled && this.instance.config.face['ssrnet']?.enabled && !this.models.ssrnetage) ? ssrnetAge.load(this.instance.config) : null;\n m.ssrnetgender = (this.instance.config.face.enabled && this.instance.config.face['ssrnet']?.enabled && !this.models.ssrnetgender) ? ssrnetGender.load(this.instance.config) : null;\n m.mobilefacenet = (this.instance.config.face.enabled && this.instance.config.face['mobilefacenet']?.enabled && !this.models.mobilefacenet) ? mobilefacenet.load(this.instance.config) : null;\n m.insightface = (this.instance.config.face.enabled && this.instance.config.face['insightface']?.enabled && !this.models.insightface) ? insightface.load(this.instance.config) : null;\n // body alterinatives\n m.blazepose = (this.instance.config.body.enabled && !this.models.blazepose && this.instance.config.body.modelPath?.includes('blazepose')) ? blazepose.loadPose(this.instance.config) : null;\n m.blazeposedetect = (this.instance.config.body.enabled && !this.models.blazeposedetect && this.instance.config.body['detector'] && this.instance.config.body['detector'].modelPath) ? blazepose.loadDetect(this.instance.config) : null;\n m.efficientpose = (this.instance.config.body.enabled && !this.models.efficientpose && this.instance.config.body.modelPath?.includes('efficientpose')) ? efficientpose.load(this.instance.config) : null;\n m.movenet = (this.instance.config.body.enabled && !this.models.movenet && this.instance.config.body.modelPath?.includes('movenet')) ? movenet.load(this.instance.config) : null;\n m.posenet = (this.instance.config.body.enabled && !this.models.posenet && this.instance.config.body.modelPath?.includes('posenet')) ? posenet.load(this.instance.config) : null;\n // hand alternatives\n m.handtrack = (this.instance.config.hand.enabled && !this.models.handtrack && this.instance.config.hand.detector?.modelPath?.includes('handtrack')) ? handtrack.loadDetect(this.instance.config) : null;\n m.handskeleton = (this.instance.config.hand.enabled && this.instance.config.hand.landmarks && !this.models.handskeleton && this.instance.config.hand.detector?.modelPath?.includes('handtrack')) ? handtrack.loadSkeleton(this.instance.config) : null;\n if (this.instance.config.hand.detector?.modelPath?.includes('handdetect')) [m.handpose, m.handskeleton] = (!this.models.handpose) ? await handpose.load(this.instance.config) : [null, null];\n // object detection alternatives\n m.centernet = (this.instance.config.object.enabled && !this.models.centernet && this.instance.config.object.modelPath?.includes('centernet')) ? centernet.load(this.instance.config) : null;\n m.nanodet = (this.instance.config.object.enabled && !this.models.nanodet && this.instance.config.object.modelPath?.includes('nanodet')) ? nanodet.load(this.instance.config) : null;\n // segmentation alternatives\n m.selfie = (this.instance.config.segmentation.enabled && !this.models.selfie && this.instance.config.segmentation.modelPath?.includes('selfie')) ? selfie.load(this.instance.config) : null;\n m.meet = (this.instance.config.segmentation.enabled && !this.models.meet && this.instance.config.segmentation.modelPath?.includes('meet')) ? meet.load(this.instance.config) : null;\n m.rvm = (this.instance.config.segmentation.enabled && !this.models.rvm && this.instance.config.segmentation.modelPath?.includes('rvm')) ? rvm.load(this.instance.config) : null;\n\n // models are loaded in parallel asynchronously so lets wait until they are actually loaded\n await Promise.all([...Object.values(m)]);\n for (const model of Object.keys(m)) this.models[model] = m[model] as GraphModel || this.models[model] || null; // only update actually loaded models\n }\n\n list() {\n const models = Object.keys(this.models).map((model) => ({ name: model, loaded: (this.models[model] !== null), size: 0, url: this.models[model] ? this.models[model]?.['modelUrl'] : null }));\n for (const m of models) {\n const stats = Object.keys(modelStats).find((s) => s.startsWith(m.name));\n if (!stats) continue;\n m.size = modelStats[stats].sizeLoadedWeights;\n m.url = modelStats[stats].url;\n }\n return models;\n }\n\n loaded() {\n const list = this.list();\n const loaded = list.filter((model) => model.loaded).map((model) => model.name);\n return loaded;\n }\n\n validate(): { name: string, missing: string[] }[] {\n const missing: KernelOps[] = [];\n for (const defined of Object.keys(this.models)) {\n const model: GraphModel | null = this.models[defined as keyof Models];\n if (!model) continue;\n const res = validateModel(this.instance, model, defined);\n if (res) missing.push(res);\n }\n return missing;\n }\n}\n", "import * as tf from 'dist/tfjs.esm.js';\nimport type { BodyKeypoint, BodyResult } from '../result';\nimport * as box from '../util/box';\nimport * as coords from './movenetcoords';\nimport type { Tensor, Tensor3D } from '../tfjs/types';\n\nconst maxJitter = 0.005; // default allowed jitter is within 0.5%\n\nconst cache: {\n keypoints: BodyKeypoint[],\n padding: [number, number][];\n} = {\n keypoints: [],\n padding: [[0, 0], [0, 0], [0, 0], [0, 0]],\n};\n\nexport function bodyParts(body: BodyResult) { // model sometimes mixes up left vs right keypoints so we fix them\n for (const pair of coords.horizontal) { // fix body parts left vs right\n const left = body.keypoints.findIndex((kp) => kp.part === pair[0]);\n const right = body.keypoints.findIndex((kp) => kp.part === pair[1]);\n if (body.keypoints[left] && body.keypoints[right]) {\n if (body.keypoints[left].position[0] < body.keypoints[right].position[0]) {\n const tmp = body.keypoints[left];\n body.keypoints[left] = body.keypoints[right];\n body.keypoints[right] = tmp;\n }\n }\n }\n for (const pair of coords.vertical) { // remove body parts with improbable vertical position\n const lower = body.keypoints.findIndex((kp) => (kp && kp.part === pair[0]));\n const higher = body.keypoints.findIndex((kp) => (kp && kp.part === pair[1]));\n if (body.keypoints[lower] && body.keypoints[higher]) {\n if (body.keypoints[lower].position[1] < body.keypoints[higher].position[1]) {\n body.keypoints.splice(lower, 1);\n }\n }\n }\n for (const [pair, compare] of coords.relative) { // rearrange body parts according to their relative position\n const left = body.keypoints.findIndex((kp) => (kp && kp.part === pair[0]));\n const right = body.keypoints.findIndex((kp) => (kp && kp.part === pair[1]));\n const leftTo = body.keypoints.findIndex((kp) => (kp && kp.part === compare[0]));\n const rightTo = body.keypoints.findIndex((kp) => (kp && kp.part === compare[1]));\n if (!body.keypoints[leftTo] || !body.keypoints[rightTo]) continue; // only if we have both compare points\n const distanceLeft = body.keypoints[left] ? [\n Math.abs(body.keypoints[leftTo].position[0] - body.keypoints[left].position[0]),\n Math.abs(body.keypoints[rightTo].position[0] - body.keypoints[left].position[0]),\n ] : [0, 0];\n const distanceRight = body.keypoints[right] ? [\n Math.abs(body.keypoints[rightTo].position[0] - body.keypoints[right].position[0]),\n Math.abs(body.keypoints[leftTo].position[0] - body.keypoints[right].position[0]),\n ] : [0, 0];\n if (distanceLeft[0] > distanceLeft[1] || distanceRight[0] > distanceRight[1]) { // should flip keypoints\n const tmp = body.keypoints[left];\n body.keypoints[left] = body.keypoints[right];\n body.keypoints[right] = tmp;\n }\n }\n}\n\nexport function jitter(keypoints: BodyKeypoint[]): BodyKeypoint[] {\n for (let i = 0; i < keypoints.length; i++) {\n if (keypoints[i] && cache.keypoints[i]) {\n const diff = [Math.abs(keypoints[i].positionRaw[0] - cache.keypoints[i].positionRaw[0]), Math.abs(keypoints[i].positionRaw[1] - cache.keypoints[i].positionRaw[1])];\n if (diff[0] < maxJitter && diff[1] < maxJitter) {\n keypoints[i] = cache.keypoints[i]; // below jitter so replace keypoint\n } else {\n cache.keypoints[i] = keypoints[i]; // above jitter so update cache\n }\n } else {\n cache.keypoints[i] = keypoints[i]; // cache for keypoint doesnt exist so create it here\n }\n }\n return keypoints;\n}\n\nexport function padInput(input: Tensor, inputSize: number): Tensor {\n const t: Record = {};\n if (!input?.shape?.[1] || !input?.shape?.[2]) return input;\n cache.padding = [\n [0, 0], // dont touch batch\n [input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0, input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0], // height before&after\n [input.shape[1] > input.shape[2] ? Math.trunc((input.shape[1] - input.shape[2]) / 2) : 0, input.shape[1] > input.shape[2] ? Math.trunc((input.shape[1] - input.shape[2]) / 2) : 0], // width before&after\n [0, 0], // dont touch rbg\n ];\n t.pad = tf.pad(input, cache.padding);\n t.resize = tf.image.resizeBilinear(t.pad as Tensor3D, [inputSize, inputSize]);\n const final = tf.cast(t.resize, 'int32');\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return final;\n}\n\nexport function rescaleBody(body: BodyResult, outputSize: [number, number]): BodyResult {\n body.keypoints = body.keypoints.filter((kpt) => kpt?.position); // filter invalid keypoints\n for (const kpt of body.keypoints) {\n kpt.position = [\n kpt.position[0] * (outputSize[0] + cache.padding[2][0] + cache.padding[2][1]) / outputSize[0] - cache.padding[2][0],\n kpt.position[1] * (outputSize[1] + cache.padding[1][0] + cache.padding[1][1]) / outputSize[1] - cache.padding[1][0],\n ];\n kpt.positionRaw = [\n kpt.position[0] / outputSize[0], kpt.position[1] / outputSize[1],\n ];\n }\n const rescaledBoxes = box.calc(body.keypoints.map((pt) => pt.position), outputSize);\n body.box = rescaledBoxes.box;\n body.boxRaw = rescaledBoxes.boxRaw;\n return body;\n}\n", "/**\n * MoveNet model implementation\n *\n * Based on: [**MoveNet**](https://blog.tensorflow.org/2021/05/next-generation-pose-detection-with-movenet-and-tensorflowjs.html)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport * as box from '../util/box';\nimport * as coords from './movenetcoords';\nimport * as fix from './movenetfix';\nimport { loadModel } from '../tfjs/load';\nimport type { BodyKeypoint, BodyResult, BodyLandmark, BodyAnnotation, Box, Point } from '../result';\nimport type { GraphModel, Tensor } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { fakeOps } from '../tfjs/backend';\nimport { env } from '../util/env';\n\nlet model: GraphModel | null;\nlet inputSize = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n// const boxExpandFact = 1.5; // increase to 150%\n\nconst cache: {\n boxes: Box[], // unused\n bodies: BodyResult[];\n last: number,\n} = {\n boxes: [],\n bodies: [],\n last: 0,\n};\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) {\n fakeOps(['size'], config);\n model = await loadModel(config.body.modelPath);\n } else if (config.debug) log('cached model:', model['modelUrl']);\n inputSize = (model?.['executor'] && model?.inputs?.[0].shape) ? model.inputs[0].shape[2] : 0;\n if (inputSize < 64) inputSize = 256;\n return model;\n}\n\nfunction parseSinglePose(res, config, image) {\n const kpt = res[0][0];\n const keypoints: BodyKeypoint[] = [];\n let score = 0;\n for (let id = 0; id < kpt.length; id++) {\n score = kpt[id][2];\n if (score > config.body.minConfidence) {\n const positionRaw: Point = [kpt[id][1], kpt[id][0]];\n keypoints.push({\n score: Math.round(100 * score) / 100,\n part: coords.kpt[id] as BodyLandmark,\n positionRaw,\n position: [ // normalized to input image size\n Math.round((image.shape[2] || 0) * positionRaw[0]),\n Math.round((image.shape[1] || 0) * positionRaw[1]),\n ],\n });\n }\n }\n score = keypoints.reduce((prev, curr) => (curr.score > prev ? curr.score : prev), 0);\n const bodies: BodyResult[] = [];\n const newBox = box.calc(keypoints.map((pt) => pt.position), [image.shape[2], image.shape[1]]);\n const annotations: Record = {};\n for (const [name, indexes] of Object.entries(coords.connected)) {\n const pt: Point[][] = [];\n for (let i = 0; i < indexes.length - 1; i++) {\n const pt0 = keypoints.find((kp) => kp.part === indexes[i]);\n const pt1 = keypoints.find((kp) => kp.part === indexes[i + 1]);\n if (pt0 && pt1 && pt0.score > (config.body.minConfidence || 0) && pt1.score > (config.body.minConfidence || 0)) pt.push([pt0.position, pt1.position]);\n }\n annotations[name] = pt;\n }\n const body: BodyResult = { id: 0, score, box: newBox.box, boxRaw: newBox.boxRaw, keypoints, annotations };\n fix.bodyParts(body);\n bodies.push(body);\n return bodies;\n}\n\nfunction parseMultiPose(res, config, image) {\n const bodies: BodyResult[] = [];\n for (let id = 0; id < res[0].length; id++) {\n const kpt = res[0][id];\n const totalScore = Math.round(100 * kpt[51 + 4]) / 100;\n if (totalScore > config.body.minConfidence) {\n const keypoints: BodyKeypoint[] = [];\n for (let i = 0; i < 17; i++) {\n const score = kpt[3 * i + 2];\n if (score > config.body.minConfidence) {\n const positionRaw: Point = [kpt[3 * i + 1], kpt[3 * i + 0]];\n keypoints.push({\n part: coords.kpt[i] as BodyLandmark,\n score: Math.round(100 * score) / 100,\n positionRaw,\n position: [Math.round((image.shape[2] || 0) * positionRaw[0]), Math.round((image.shape[1] || 0) * positionRaw[1])],\n });\n }\n }\n const newBox = box.calc(keypoints.map((pt) => pt.position), [image.shape[2], image.shape[1]]);\n // movenet-multipose has built-in box details\n // const boxRaw: Box = [kpt[51 + 1], kpt[51 + 0], kpt[51 + 3] - kpt[51 + 1], kpt[51 + 2] - kpt[51 + 0]];\n // const box: Box = [Math.trunc(boxRaw[0] * (image.shape[2] || 0)), Math.trunc(boxRaw[1] * (image.shape[1] || 0)), Math.trunc(boxRaw[2] * (image.shape[2] || 0)), Math.trunc(boxRaw[3] * (image.shape[1] || 0))];\n const annotations: Record = {} as Record;\n for (const [name, indexes] of Object.entries(coords.connected)) {\n const pt: Point[][] = [];\n for (let i = 0; i < indexes.length - 1; i++) {\n const pt0 = keypoints.find((kp) => kp.part === indexes[i]);\n const pt1 = keypoints.find((kp) => kp.part === indexes[i + 1]);\n if (pt0 && pt1 && pt0.score > (config.body.minConfidence || 0) && pt1.score > (config.body.minConfidence || 0)) pt.push([pt0.position, pt1.position]);\n }\n annotations[name] = pt;\n }\n const body: BodyResult = { id, score: totalScore, box: newBox.box, boxRaw: newBox.boxRaw, keypoints: [...keypoints], annotations };\n fix.bodyParts(body);\n bodies.push(body);\n }\n }\n bodies.sort((a, b) => b.score - a.score);\n if (bodies.length > config.body.maxDetected) bodies.length = config.body.maxDetected;\n return bodies;\n}\n\nexport async function predict(input: Tensor, config: Config): Promise {\n if (!model?.['executor'] || !model?.inputs?.[0].shape) return []; // something is wrong with the model\n if (!config.skipAllowed) cache.boxes.length = 0; // allowed to use cache or not\n skipped++; // increment skip frames\n const skipTime = (config.body.skipTime || 0) > (now() - cache.last);\n const skipFrame = skipped < (config.body.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame) {\n return cache.bodies; // return cached results without running anything\n }\n return new Promise(async (resolve) => {\n const t: Record = {};\n skipped = 0;\n // run detection on squared input and cached boxes\n /*\n cache.bodies = []; // reset bodies result\n if (cache.boxes.length >= (config.body.maxDetected || 0)) { // if we have enough cached boxes run detection using cache\n for (let i = 0; i < cache.boxes.length; i++) { // run detection based on cached boxes\n t.crop = tf.image.cropAndResize(input, [cache.boxes[i]], [0], [inputSize, inputSize], 'bilinear');\n t.cast = tf.cast(t.crop, 'int32');\n // t.input = prepareImage(input);\n t.res = model?.execute(t.cast) as Tensor;\n const res = await t.res.array();\n const newBodies = (t.res.shape[2] === 17) ? await parseSinglePose(res, config, input, cache.boxes[i]) : await parseMultiPose(res, config, input, cache.boxes[i]);\n cache.bodies = cache.bodies.concat(newBodies);\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n }\n }\n if (cache.bodies.length !== config.body.maxDetected) { // did not find enough bodies based on cached boxes so run detection on full frame\n t.input = prepareImage(input);\n t.res = model?.execute(t.input) as Tensor;\n const res = await t.res.array();\n cache.bodies = (t.res.shape[2] === 17) ? await parseSinglePose(res, config, input, [0, 0, 1, 1]) : await parseMultiPose(res, config, input, [0, 0, 1, 1]);\n for (const body of cache.bodies) rescaleBody(body, [input.shape[2] || 1, input.shape[1] || 1]);\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n }\n cache.boxes.length = 0; // reset cache\n for (let i = 0; i < cache.bodies.length; i++) {\n if (cache.bodies[i].keypoints.length > (coords.kpt.length / 2)) { // only update cache if we detected at least half keypoints\n const scaledBox = box.scale(cache.bodies[i].boxRaw, boxExpandFact);\n const cropBox = box.crop(scaledBox);\n cache.boxes.push(cropBox);\n }\n }\n */\n\n // run detection on squared input and no cached boxes\n t.input = fix.padInput(input, inputSize);\n t.res = model?.execute(t.input) as Tensor;\n cache.last = now();\n const res = await t.res.array();\n cache.bodies = (t.res.shape[2] === 17)\n ? parseSinglePose(res, config, input)\n : parseMultiPose(res, config, input);\n for (const body of cache.bodies) {\n fix.rescaleBody(body, [input.shape[2] || 1, input.shape[1] || 1]);\n fix.jitter(body.keypoints);\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n\n resolve(cache.bodies);\n });\n}\n", "/**\n * NanoDet object detection model implementation\n *\n * Based on: [**NanoDet**](https://github.com/RangiLyu/nanodet)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport { constants } from '../tfjs/constants';\nimport { labels } from './labels';\nimport type { ObjectResult, ObjectType, Box } from '../result';\nimport type { GraphModel, Tensor, Tensor2D, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nlet model: GraphModel;\nlet last: ObjectResult[] = [];\nlet lastTime = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\nlet inputSize = 0;\n\nconst scaleBox = 2.5; // increase box size\n\nexport async function load(config: Config): Promise {\n if (!model || env.initial) {\n model = await loadModel(config.object.modelPath);\n const inputs = model?.['executor'] ? Object.values(model.modelSignature['inputs']) : undefined;\n inputSize = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 416;\n } else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nasync function process(res: Tensor[], outputShape: [number, number], config: Config) {\n let id = 0;\n let results: ObjectResult[] = [];\n const size = inputSize;\n for (const strideSize of [1, 2, 4]) { // try each stride size as it detects large/medium/small objects\n // find scores, boxes, classes\n const baseSize = strideSize * 13; // 13x13=169, 26x26=676, 52x52=2704\n // find boxes and scores output depending on stride\n const scoresT = tf.squeeze(res.find((a) => (a.shape[1] === (baseSize ** 2) && (a.shape[2] || 0) === labels.length)) as Tensor2D);\n const scores = await scoresT.array(); // optionally use exponential scores or just as-is\n const featuresT = tf.squeeze(res.find((a) => (a.shape[1] === (baseSize ** 2) && (a.shape[2] || 0) < labels.length)) as Tensor2D);\n const boxesMaxT = tf.reshape(featuresT, [-1, 4, (featuresT.shape?.[1] || 0) / 4]); // reshape [output] to [4, output / 4] where number is number of different features inside each stride\n const boxIdxT = tf.argMax(boxesMaxT, 2); // what we need is indexes of features with highest scores, not values itself\n const boxIdx = await boxIdxT.array(); // what we need is indexes of features with highest scores, not values itself\n for (let i = 0; i < scoresT.shape[0]; i++) { // total strides (x * y matrix)\n for (let j = 0; j < (scoresT.shape?.[1] || 0); j++) { // one score for each class\n const score = scores[i][j]; // get score for current position\n if (score > (config.object.minConfidence || 0) && j !== 61) {\n const cx = (0.5 + Math.trunc(i % baseSize)) / baseSize; // center.x normalized to range 0..1\n const cy = (0.5 + Math.trunc(i / baseSize)) / baseSize; // center.y normalized to range 0..1\n const boxOffset = boxIdx[i].map((a: number) => a * (baseSize / strideSize / (size))); // just grab indexes of features with highest scores\n const [x, y] = [\n cx - (scaleBox / strideSize * boxOffset[0]),\n cy - (scaleBox / strideSize * boxOffset[1]),\n ];\n const [w, h] = [\n cx + (scaleBox / strideSize * boxOffset[2]) - x,\n cy + (scaleBox / strideSize * boxOffset[3]) - y,\n ];\n let boxRaw: Box = [x, y, w, h]; // results normalized to range 0..1\n boxRaw = boxRaw.map((a) => Math.max(0, Math.min(a, 1))) as Box; // fix out-of-bounds coords\n const box = [ // results normalized to input image pixels\n boxRaw[0] * outputShape[0],\n boxRaw[1] * outputShape[1],\n boxRaw[2] * outputShape[0],\n boxRaw[3] * outputShape[1],\n ];\n const result = {\n id: id++,\n // strideSize,\n score: Math.round(100 * score) / 100,\n class: j + 1,\n label: labels[j].label as ObjectType,\n // center: [Math.trunc(outputShape[0] * cx), Math.trunc(outputShape[1] * cy)],\n // centerRaw: [cx, cy],\n box: box.map((a) => Math.trunc(a)) as Box,\n boxRaw,\n };\n results.push(result);\n }\n }\n }\n tf.dispose([scoresT, featuresT, boxesMaxT, boxIdxT]);\n }\n\n // normally nms is run on raw results, but since boxes need to be calculated this way we skip calulcation of\n // unnecessary boxes and run nms only on good candidates (basically it just does IOU analysis as scores are already filtered)\n const nmsBoxes = results.map((a) => [a.boxRaw[1], a.boxRaw[0], a.boxRaw[3], a.boxRaw[2]]); // switches coordinates from x,y to y,x as expected by tf.nms\n const nmsScores = results.map((a) => a.score);\n let nmsIdx: number[] = [];\n if (nmsBoxes && nmsBoxes.length > 0) {\n const nms = await tf.image.nonMaxSuppressionAsync(nmsBoxes, nmsScores, config.object.maxDetected || 0, config.object.iouThreshold, config.object.minConfidence);\n nmsIdx = Array.from(await nms.data());\n tf.dispose(nms);\n }\n\n // filter & sort results\n results = results\n .filter((_val, idx) => nmsIdx.includes(idx))\n .sort((a, b) => (b.score - a.score));\n\n return results;\n}\n\nexport async function predict(image: Tensor4D, config: Config): Promise {\n if (!model?.['executor']) return [];\n const skipTime = (config.object.skipTime || 0) > (now() - lastTime);\n const skipFrame = skipped < (config.object.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame && (last.length > 0)) {\n skipped++;\n return last;\n }\n skipped = 0;\n if (!env.kernels.includes('mod') || !env.kernels.includes('sparsetodense')) return last;\n return new Promise(async (resolve) => {\n const outputSize = [image.shape[2] || 0, image.shape[1] || 0];\n const resizeT = tf.image.resizeBilinear(image, [inputSize, inputSize], false);\n const normT = tf.div(resizeT, constants.tf255);\n const transposeT = tf.transpose(normT, [0, 3, 1, 2]);\n\n let objectT;\n if (config.object.enabled) objectT = model.execute(transposeT);\n lastTime = now();\n\n const obj = await process(objectT as Tensor[], outputSize as [number, number], config);\n last = obj;\n tf.dispose([resizeT, normT, transposeT, ...objectT]);\n resolve(obj);\n });\n}\n", "/**\n * PoseNet body detection model implementation constants\n * See `posenet.ts` for entry point\n */\n\nimport type { Point, BodyResult, BodyAnnotation, BodyLandmark } from '../result';\n\nexport const partNames = [\n 'nose', 'leftEye', 'rightEye', 'leftEar', 'rightEar', 'leftShoulder',\n 'rightShoulder', 'leftElbow', 'rightElbow', 'leftWrist', 'rightWrist',\n 'leftHip', 'rightHip', 'leftKnee', 'rightKnee', 'leftAnkle', 'rightAnkle',\n];\n\nexport const count = partNames.length; // 17 keypoints\n\nexport const partIds = partNames.reduce((result, jointName, i) => {\n result[jointName] = i;\n return result;\n}, {});\n\nconst connectedPartNames = [\n ['leftHip', 'leftShoulder'], ['leftElbow', 'leftShoulder'],\n ['leftElbow', 'leftWrist'], ['leftHip', 'leftKnee'],\n ['leftKnee', 'leftAnkle'], ['rightHip', 'rightShoulder'],\n ['rightElbow', 'rightShoulder'], ['rightElbow', 'rightWrist'],\n ['rightHip', 'rightKnee'], ['rightKnee', 'rightAnkle'],\n ['leftShoulder', 'rightShoulder'], ['leftHip', 'rightHip'],\n];\nexport const connectedPartIndices = connectedPartNames.map(([jointNameA, jointNameB]) => ([partIds[jointNameA], partIds[jointNameB]]));\n\nexport const poseChain = [\n ['nose', 'leftEye'], ['leftEye', 'leftEar'], ['nose', 'rightEye'],\n ['rightEye', 'rightEar'], ['nose', 'leftShoulder'],\n ['leftShoulder', 'leftElbow'], ['leftElbow', 'leftWrist'],\n ['leftShoulder', 'leftHip'], ['leftHip', 'leftKnee'],\n ['leftKnee', 'leftAnkle'], ['nose', 'rightShoulder'],\n ['rightShoulder', 'rightElbow'], ['rightElbow', 'rightWrist'],\n ['rightShoulder', 'rightHip'], ['rightHip', 'rightKnee'],\n ['rightKnee', 'rightAnkle'],\n];\n\nexport function eitherPointDoesntMeetConfidence(a: number, b: number, minConfidence: number) {\n return (a < minConfidence || b < minConfidence);\n}\n\nexport function getAdjacentKeyPoints(keypoints, minConfidence: number) {\n return connectedPartIndices.reduce((result, [leftJoint, rightJoint]) => {\n if (eitherPointDoesntMeetConfidence(keypoints[leftJoint].score, keypoints[rightJoint].score, minConfidence)) {\n return result;\n }\n result.push([keypoints[leftJoint], keypoints[rightJoint]]);\n return result;\n }, []);\n}\n\nexport function getBoundingBox(keypoints): [number, number, number, number] {\n const coord = keypoints.reduce(({ maxX, maxY, minX, minY }, { position: { x, y } }) => ({\n maxX: Math.max(maxX, x),\n maxY: Math.max(maxY, y),\n minX: Math.min(minX, x),\n minY: Math.min(minY, y),\n }), {\n maxX: Number.NEGATIVE_INFINITY,\n maxY: Number.NEGATIVE_INFINITY,\n minX: Number.POSITIVE_INFINITY,\n minY: Number.POSITIVE_INFINITY,\n });\n return [coord.minX, coord.minY, coord.maxX - coord.minX, coord.maxY - coord.minY];\n}\n\nexport function scalePoses(poses, [height, width], [inputResolutionHeight, inputResolutionWidth]): BodyResult[] {\n const scaleY = height / inputResolutionHeight;\n const scaleX = width / inputResolutionWidth;\n const scalePose = (pose, i): BodyResult => ({\n id: i,\n score: pose.score,\n boxRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight],\n box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)],\n keypoints: pose.keypoints.map(({ score, part, position }) => ({\n score: score as number,\n part: part as BodyLandmark,\n position: [Math.trunc(position.x * scaleX), Math.trunc(position.y * scaleY)] as Point,\n positionRaw: [position.x / inputResolutionHeight, position.y / inputResolutionHeight] as Point,\n })),\n annotations: {} as Record,\n });\n const scaledPoses = poses.map((pose, i) => scalePose(pose, i));\n return scaledPoses;\n}\n\n// algorithm based on Coursera Lecture from Algorithms, Part 1: https://www.coursera.org/learn/algorithms-part1/lecture/ZjoSM/heapsort\nexport class MaxHeap {\n priorityQueue: unknown[]; // don't touch\n numberOfElements: number;\n getElementValue: unknown; // function call\n\n constructor(maxSize, getElementValue) {\n this.priorityQueue = new Array(maxSize);\n this.numberOfElements = -1;\n this.getElementValue = getElementValue;\n }\n\n enqueue(x) {\n this.priorityQueue[++this.numberOfElements] = x;\n this.swim(this.numberOfElements);\n }\n\n dequeue() {\n const max = this.priorityQueue[0];\n this.exchange(0, this.numberOfElements--);\n this.sink(0);\n this.priorityQueue[this.numberOfElements + 1] = null;\n return max;\n }\n\n empty() { return this.numberOfElements === -1; }\n\n size() { return this.numberOfElements + 1; }\n\n all() { return this.priorityQueue.slice(0, this.numberOfElements + 1); }\n\n max() { return this.priorityQueue[0]; }\n\n swim(k) {\n while (k > 0 && this.less(Math.floor(k / 2), k)) {\n this.exchange(k, Math.floor(k / 2));\n k = Math.floor(k / 2);\n }\n }\n\n sink(k) {\n while (2 * k <= this.numberOfElements) {\n let j = 2 * k;\n if (j < this.numberOfElements && this.less(j, j + 1)) j++;\n if (!this.less(k, j)) break;\n this.exchange(k, j);\n k = j;\n }\n }\n\n getValueAt(i) {\n // @ts-ignore getter is of unknown type\n return this.getElementValue(this.priorityQueue[i]);\n }\n\n less(i, j) {\n return this.getValueAt(i) < this.getValueAt(j);\n }\n\n exchange(i, j) {\n const t = this.priorityQueue[i];\n this.priorityQueue[i] = this.priorityQueue[j];\n this.priorityQueue[j] = t;\n }\n}\n\nexport function getOffsetPoint(y, x, keypoint: number, offsets) {\n return {\n y: offsets.get(y, x, keypoint),\n x: offsets.get(y, x, keypoint + count),\n };\n}\n\nexport function getImageCoords(part, outputStride: number, offsets) {\n const { heatmapY, heatmapX, id: keypoint } = part;\n const { y, x } = getOffsetPoint(heatmapY, heatmapX, keypoint, offsets);\n return {\n x: part.heatmapX * outputStride + x,\n y: part.heatmapY * outputStride + y,\n };\n}\n\nexport function fillArray(element, size) {\n const result = new Array(size);\n for (let i = 0; i < size; i++) {\n result[i] = element;\n }\n return result;\n}\n\nexport function clamp(a, min, max) {\n if (a < min) return min;\n if (a > max) return max;\n return a;\n}\n\nexport function squaredDistance(y1, x1, y2, x2) {\n const dy = y2 - y1;\n const dx = x2 - x1;\n return dy * dy + dx * dx;\n}\n\nexport function addVectors(a: { x: number, y: number }, b: { x: number, y: number }) {\n return { x: a.x + b.x, y: a.y + b.y };\n}\n\nexport function clampVector(a, min, max) {\n return { y: clamp(a.y, min, max), x: clamp(a.x, min, max) };\n}\n", "/**\n * PoseNet body detection model implementation\n *\n * Based on: [**PoseNet**](https://medium.com/tensorflow/real-time-human-pose-estimation-in-the-browser-with-tensorflow-js-7dd0bc881cd5)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport type { BodyResult, BodyLandmark, Box } from '../result';\nimport type { Tensor, GraphModel, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\nimport * as utils from './posenetutils';\n\nlet model: GraphModel;\nconst poseNetOutputs = ['MobilenetV1/offset_2/BiasAdd'/* offsets */, 'MobilenetV1/heatmap_2/BiasAdd'/* heatmapScores */, 'MobilenetV1/displacement_fwd_2/BiasAdd'/* displacementFwd */, 'MobilenetV1/displacement_bwd_2/BiasAdd'/* displacementBwd */];\nconst localMaximumRadius = 1;\nconst outputStride = 16;\nconst squaredNmsRadius = 50 ** 2;\n\nfunction traverse(edgeId: number, sourceKeypoint, targetId, scores, offsets, displacements, offsetRefineStep = 2) {\n const getDisplacement = (point) => ({\n y: displacements.get(point.y, point.x, edgeId),\n x: displacements.get(point.y, point.x, (displacements.shape[2] / 2) + edgeId),\n });\n const getStridedIndexNearPoint = (point, height, width) => ({\n y: utils.clamp(Math.round(point.y / outputStride), 0, height - 1),\n x: utils.clamp(Math.round(point.x / outputStride), 0, width - 1),\n });\n\n const [height, width] = scores.shape;\n // Nearest neighbor interpolation for the source->target displacements.\n const sourceKeypointIndices = getStridedIndexNearPoint(sourceKeypoint.position, height, width);\n const displacement = getDisplacement(sourceKeypointIndices);\n const displacedPoint = utils.addVectors(sourceKeypoint.position, displacement);\n let targetKeypoint = displacedPoint;\n for (let i = 0; i < offsetRefineStep; i++) {\n const targetKeypointIndices = getStridedIndexNearPoint(targetKeypoint, height, width);\n const offsetPoint = utils.getOffsetPoint(targetKeypointIndices.y, targetKeypointIndices.x, targetId, offsets);\n targetKeypoint = utils.addVectors(\n { x: targetKeypointIndices.x * outputStride, y: targetKeypointIndices.y * outputStride },\n { x: offsetPoint.x, y: offsetPoint.y },\n );\n }\n const targetKeyPointIndices = getStridedIndexNearPoint(targetKeypoint, height, width);\n const score = scores.get(targetKeyPointIndices.y, targetKeyPointIndices.x, targetId);\n return { position: targetKeypoint, part: utils.partNames[targetId], score };\n}\n\nexport function decodePose(root, scores, offsets, displacementsFwd, displacementsBwd) {\n const tuples = utils.poseChain.map(([parentJoinName, childJoinName]) => ([utils.partIds[parentJoinName], utils.partIds[childJoinName]]));\n const edgesFwd = tuples.map(([, childJointId]) => childJointId);\n const edgesBwd = tuples.map(([parentJointId]) => parentJointId);\n const numParts = scores.shape[2]; // [21,21,17]\n const numEdges = edgesFwd.length;\n const keypoints = new Array(numParts);\n // Start a new detection instance at the position of the root.\n const rootPoint = utils.getImageCoords(root.part, outputStride, offsets);\n keypoints[root.part.id] = {\n score: root.score,\n part: utils.partNames[root.part.id] as BodyLandmark,\n position: rootPoint,\n };\n // Decode the part positions upwards in the tree, following the backward displacements.\n for (let edge = numEdges - 1; edge >= 0; --edge) {\n const sourceId = edgesFwd[edge];\n const targetId = edgesBwd[edge];\n if (keypoints[sourceId] && !keypoints[targetId]) {\n keypoints[targetId] = traverse(edge, keypoints[sourceId], targetId, scores, offsets, displacementsBwd);\n }\n }\n // Decode the part positions downwards in the tree, following the forward displacements.\n for (let edge = 0; edge < numEdges; ++edge) {\n const sourceId = edgesBwd[edge];\n const targetId = edgesFwd[edge];\n if (keypoints[sourceId] && !keypoints[targetId]) {\n keypoints[targetId] = traverse(edge, keypoints[sourceId], targetId, scores, offsets, displacementsFwd);\n }\n }\n return keypoints;\n}\n\nfunction scoreIsMaximumInLocalWindow(keypointId, score: number, heatmapY: number, heatmapX: number, scores) {\n const [height, width]: [number, number] = scores.shape;\n let localMaximum = true;\n const yStart = Math.max(heatmapY - localMaximumRadius, 0);\n const yEnd = Math.min(heatmapY + localMaximumRadius + 1, height);\n for (let yCurrent = yStart; yCurrent < yEnd; ++yCurrent) {\n const xStart = Math.max(heatmapX - localMaximumRadius, 0);\n const xEnd = Math.min(heatmapX + localMaximumRadius + 1, width);\n for (let xCurrent = xStart; xCurrent < xEnd; ++xCurrent) {\n if (scores.get(yCurrent, xCurrent, keypointId) > score) {\n localMaximum = false;\n break;\n }\n }\n if (!localMaximum) break;\n }\n return localMaximum;\n}\n\nexport function buildPartWithScoreQueue(minConfidence, scores) {\n const [height, width, numKeypoints] = scores.shape;\n const queue = new utils.MaxHeap(height * width * numKeypoints, ({ score }) => score);\n for (let heatmapY = 0; heatmapY < height; ++heatmapY) {\n for (let heatmapX = 0; heatmapX < width; ++heatmapX) {\n for (let keypointId = 0; keypointId < numKeypoints; ++keypointId) {\n const score = scores.get(heatmapY, heatmapX, keypointId);\n // Only consider parts with score greater or equal to threshold as root candidates.\n if (score < minConfidence) continue;\n // Only consider keypoints whose score is maximum in a local window.\n if (scoreIsMaximumInLocalWindow(keypointId, score, heatmapY, heatmapX, scores)) queue.enqueue({ score, part: { heatmapY, heatmapX, id: keypointId } });\n }\n }\n }\n return queue;\n}\n\nfunction withinRadius(poses, { x, y }, keypointId) {\n return poses.some(({ keypoints }) => {\n const correspondingKeypoint = keypoints[keypointId]?.position;\n if (!correspondingKeypoint) return false;\n return utils.squaredDistance(y, x, correspondingKeypoint.y, correspondingKeypoint.x) <= squaredNmsRadius;\n });\n}\n\nfunction getInstanceScore(existingPoses, keypoints) {\n const notOverlappedKeypointScores = keypoints.reduce((result, { position, score }, keypointId) => {\n if (!withinRadius(existingPoses, position, keypointId)) result += score;\n return result;\n }, 0.0);\n return notOverlappedKeypointScores / keypoints.length;\n}\n\nexport function decode(offsets, scores, displacementsFwd, displacementsBwd, maxDetected, minConfidence) {\n const poses: { keypoints, box: Box, score: number }[] = [];\n const queue = buildPartWithScoreQueue(minConfidence, scores);\n // Generate at most maxDetected object instances per image in decreasing root part score order.\n while (poses.length < maxDetected && !queue.empty()) {\n // The top element in the queue is the next root candidate.\n const root = queue.dequeue();\n // Part-based non-maximum suppression: We reject a root candidate if it is within a disk of `nmsRadius` pixels from the corresponding part of a previously detected instance.\n // @ts-ignore this one is tree walk\n const rootImageCoords = utils.getImageCoords(root.part, outputStride, offsets);\n // @ts-ignore this one is tree walk\n if (withinRadius(poses, rootImageCoords, root.part.id)) continue;\n // Else start a new detection instance at the position of the root.\n let keypoints = decodePose(root, scores, offsets, displacementsFwd, displacementsBwd);\n keypoints = keypoints.filter((a) => a.score > minConfidence);\n const score = getInstanceScore(poses, keypoints);\n const box = utils.getBoundingBox(keypoints);\n if (score > minConfidence) poses.push({ keypoints, box, score: Math.round(100 * score) / 100 });\n }\n return poses;\n}\n\nexport async function predict(input: Tensor4D, config: Config): Promise {\n /** posenet is mostly obsolete\n * caching is not implemented\n */\n if (!model?.['executor']) return [];\n const res = tf.tidy(() => {\n if (!model.inputs[0].shape) return [];\n const resized = tf.image.resizeBilinear(input, [model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n const normalized = tf.sub(tf.div(tf.cast(resized, 'float32'), 127.5), 1.0);\n const results: Tensor[] = model.execute(normalized, poseNetOutputs) as Tensor[];\n const results3d = results.map((y) => tf.squeeze(y, [0]));\n results3d[1] = tf.sigmoid(results3d[1]); // apply sigmoid on scores\n return results3d;\n });\n\n const buffers = await Promise.all(res.map((tensor: Tensor) => tensor.buffer()));\n for (const t of res) tf.dispose(t);\n\n const decoded = decode(buffers[0], buffers[1], buffers[2], buffers[3], config.body.maxDetected, config.body.minConfidence);\n if (!model.inputs[0].shape) return [];\n const scaled = utils.scalePoses(decoded, [input.shape[1], input.shape[2]], [model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n return scaled;\n}\n\nexport async function load(config: Config): Promise {\n if (!model || env.initial) model = await loadModel(config.body.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n", "/**\n * Image segmentation for body detection model\n *\n * Based on:\n * - [**Robust Video Matting**](https://github.com/PeterL1n/RobustVideoMatting)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport { constants } from '../tfjs/constants';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nlet model: GraphModel;\n\n// internal state varaibles\nconst outputNodes = ['fgr', 'pha', 'r1o', 'r2o', 'r3o', 'r4o'];\nconst t: Record = {}; // contains input tensor and recurrent states\nlet ratio = 0;\n\nfunction init(config: Config) {\n tf.dispose([t.r1i, t.r2i, t.r3i, t.r4i, t.downsample_ratio]);\n t.r1i = tf.tensor(0.0);\n t.r2i = tf.tensor(0.0);\n t.r3i = tf.tensor(0.0);\n t.r4i = tf.tensor(0.0);\n ratio = config.segmentation.ratio || 0.5;\n t.downsample_ratio = tf.tensor(ratio); // initialize downsample ratio\n}\n\nexport async function load(config: Config): Promise {\n if (!model || env.initial) model = await loadModel(config.segmentation.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n init(config);\n return model;\n}\n\nconst normalize = (r: Tensor): Tensor => tf.tidy(() => {\n const squeeze = tf.squeeze(r, ([0]));\n const mul = tf.mul(squeeze, constants.tf255);\n const cast = tf.cast(mul, 'int32');\n return cast;\n});\n\nfunction getRGBA(fgr: Tensor | null, pha: Tensor | null): Tensor { // gets rgba // either fgr or pha must be present\n const rgb = fgr\n ? normalize(fgr) // normalize and use value\n : tf.fill([pha!.shape[1] || 0, pha!.shape[2] || 0, 3], 255, 'int32'); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n const a = pha\n ? normalize(pha) // normalize and use value\n : tf.fill([fgr!.shape[1] || 0, fgr!.shape[2] || 0, 1], 255, 'int32'); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n const rgba = tf.concat([rgb, a], -1);\n tf.dispose([rgb, a]);\n return rgba;\n}\n\nfunction getState(state: Tensor): Tensor { // gets internal recurrent states\n return tf.tidy(() => {\n const r: Record = {};\n r.unstack = tf.unstack(state, -1);\n r.concat = tf.concat(r.unstack, 1);\n r.split = tf.split(r.concat, 4, 1);\n r.stack = tf.concat(r.split, 2);\n r.squeeze = tf.squeeze(r.stack, [0]);\n r.expand = tf.expandDims(r.squeeze, -1);\n r.add = tf.add(r.expand, 1);\n r.mul = tf.mul(r.add, 127.5);\n r.cast = tf.cast(r.mul, 'int32');\n r.tile = tf.tile(r.cast, [1, 1, 3]);\n r.alpha = tf.fill([(r.tile as Tensor).shape[0] || 0, (r.tile as Tensor).shape[1] || 0, 1], 255, 'int32'); // eslint-disable-line @typescript-eslint/no-unnecessary-type-assertion\n return tf.concat([r.tile, r.alpha], -1);\n });\n}\n\nexport async function predict(input: Tensor4D, config: Config): Promise {\n if (!model) model = await load(config);\n if (!model?.['executor']) return null;\n // const expand = tf.expandDims(input, 0);\n t.src = tf.div(input, 255);\n if (ratio !== config.segmentation.ratio) init(config); // reinitialize recurrent states if requested downsample ratio changed\n const [fgr, pha, r1o, r2o, r3o, r4o] = await model.executeAsync(t, outputNodes) as Tensor[]; // execute model\n let rgba: Tensor;\n switch (config.segmentation.mode || 'default') {\n case 'default':\n rgba = getRGBA(fgr, pha);\n break;\n case 'alpha':\n rgba = getRGBA(null, pha);\n break;\n case 'foreground':\n rgba = getRGBA(fgr, null);\n break;\n case 'state':\n rgba = getState(r1o); // can view any internal recurrent state r10, r20, r3o, r4o\n break;\n default:\n rgba = tf.tensor(0);\n }\n tf.dispose([t.src, fgr, pha, t.r1i, t.r2i, t.r3i, t.r4i]);\n [t.r1i, t.r2i, t.r3i, t.r4i] = [r1o, r2o, r3o, r4o]; // update recurrent states\n return rgba;\n}\n", "/**\n * Image segmentation for body detection model\n *\n * Based on:\n * - [**MediaPipe Selfie**](https://drive.google.com/file/d/1dCfozqknMa068vVsO2j_1FgZkW_e3VWv/preview)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport { constants } from '../tfjs/constants';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nlet model: GraphModel;\n\nexport async function load(config: Config): Promise {\n if (!model || env.initial) model = await loadModel(config.segmentation.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(input: Tensor4D, config: Config): Promise {\n if (!model) model = await load(config);\n if (!model?.['executor'] || !model?.inputs?.[0].shape) return null; // something is wrong with the model\n const t: Record = {};\n t.resize = tf.image.resizeBilinear(input, [model.inputs[0].shape ? model.inputs[0].shape[1] : 0, model.inputs[0].shape ? model.inputs[0].shape[2] : 0], false);\n t.norm = tf.div(t.resize, constants.tf255);\n t.res = model.execute(t.norm) as Tensor;\n t.squeeze = tf.squeeze(t.res, [0]); // meet.shape:[1,256,256,1], selfie.shape:[1,144,256,2]\n t.alpha = tf.image.resizeBilinear(t.squeeze as Tensor4D, [input.shape[1] || 0, input.shape[2] || 0]); // model selfie has a single channel that we can use directly\n t.mul = tf.mul(t.alpha, constants.tf255);\n let rgba: Tensor;\n switch (config.segmentation.mode || 'default') {\n case 'default':\n t.input = tf.squeeze(input);\n t.concat = tf.concat([t.input, t.mul], -1);\n rgba = tf.cast(t.concat, 'int32'); // combined original with alpha\n break;\n case 'alpha':\n rgba = tf.cast(t.mul, 'int32'); // just get alpha value from model\n break;\n default:\n rgba = tf.tensor(0);\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return rgba;\n}\n", "/**\n * Analyze detection Results and sort&combine them into per-person view\n */\n\nimport type { FaceResult, BodyResult, HandResult, GestureResult, PersonResult, Box } from '../result';\n\nexport function join(faces: FaceResult[], bodies: BodyResult[], hands: HandResult[], gestures: GestureResult[], shape: number[] | undefined): PersonResult[] {\n let id = 0;\n const persons: PersonResult[] = [];\n for (const face of faces) { // person is defined primarily by face and then we append other objects as found\n const person: PersonResult = { id: id++, face, body: null, hands: { left: null, right: null }, gestures: [], box: [0, 0, 0, 0] };\n for (const body of bodies) {\n if (face.box[0] > body.box[0] // x within body\n && face.box[0] < body.box[0] + body.box[2]\n && face.box[1] + face.box[3] > body.box[1] // y within body\n && face.box[1] + face.box[3] < body.box[1] + body.box[3]) {\n person.body = body;\n }\n }\n if (person.body) { // only try to join hands if body is found\n for (const hand of hands) {\n if (hand.box[0] + hand.box[2] > person.body.box[0] // x within body for left hand\n && hand.box[0] + hand.box[2] < person.body.box[0] + person.body.box[2]\n && hand.box[1] + hand.box[3] > person.body.box[1] // x within body for left hand\n && hand.box[1] + hand.box[3] < person.body.box[1] + person.body.box[3]) {\n if (person.hands) person.hands.left = hand;\n }\n if (hand.box[0] < person.body.box[0] + person.body.box[2] // x within body for right hand\n && hand.box[0] > person.body.box[0]\n && hand.box[1] + hand.box[3] > person.body.box[1] // x within body for right hand\n && hand.box[1] + hand.box[3] < person.body.box[1] + person.body.box[3]) {\n if (person.hands) person.hands.right = hand;\n }\n }\n }\n for (const gesture of gestures) { // append all gestures according to ids\n if (gesture['face'] !== undefined && gesture['face'] === face.id) person.gestures.push(gesture);\n else if (gesture['iris'] !== undefined && gesture['iris'] === face.id) person.gestures.push(gesture);\n else if (gesture['body'] !== undefined && gesture['body'] === person.body?.id) person.gestures.push(gesture);\n else if (gesture['hand'] !== undefined && gesture['hand'] === person.hands.left?.id) person.gestures.push(gesture);\n else if (gesture['hand'] !== undefined && gesture['hand'] === person.hands.right?.id) person.gestures.push(gesture);\n }\n\n // create new overarching box from all boxes belonging to person\n const x: number[] = [];\n const y: number[] = [];\n const extractXY = (box: Box | undefined) => { // extract all [x, y] coordinates from boxes [x, y, width, height]\n if (box && box.length === 4) {\n x.push(box[0], box[0] + box[2]);\n y.push(box[1], box[1] + box[3]);\n }\n };\n extractXY(person.face.box);\n extractXY(person.body?.box);\n extractXY(person.hands.left?.box);\n extractXY(person.hands.right?.box);\n const minX = Math.min(...x);\n const minY = Math.min(...y);\n person.box = [minX, minY, Math.max(...x) - minX, Math.max(...y) - minY]; // create new overarching box\n\n // shape is known so we calculate boxRaw as well\n if (shape?.[1] && shape?.[2]) person.boxRaw = [person.box[0] / shape[2], person.box[1] / shape[1], person.box[2] / shape[2], person.box[3] / shape[1]];\n\n persons.push(person);\n }\n return persons;\n}\n", "/**\n * Embedded sample images used during warmup in dataURL format\n */\n\n// data:image/jpeg;base64,\nexport const face = `\n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`;\n\n// data:image/jpeg;base64,\nexport const body = `\n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\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAa2p1UYo5adbz+xbxMlvqJ1OqjDHLXree0ejmzNrWm953tPmTPWbWneZ7yoy5YhjrXXTjH8s75N\nmtkyxt0VZM2/m175N1V03yTKubMLXVXybeYLLX2VXy7eam+b0bOg4VquJW+rry4/O9uyZOq3UjVm\n9r25axMzPaIdvhns1kzbZddM0p5Y47z8/R2+HcF03Doi1a8+Xzvbv+TotJnjDXkt+K8ODHp8cY8N\nIpSO0RCwF2YAAAAAAAAACvUZYw6fJkntWN3k8dfHz2vLucdz8mkjFE9bz1+UOZosX1UzPm0nqI/W\nMYo9FlcPNklfFGeH/NshLGun+Cz6PtHZtVZWlRLS+jxPkRpIn7rdoupHTdA5s6SI+7H6Mfo+32Y2\n+To3neSIiZ7A0IjPXpXLePlMotGW3272t85datKzHZjbTVnsDj+FG/2Y/RlGP4R+jo20u7H6N1Ql\no+H8I/REY957R+jpfReiK6eOYHLtj2tttH6KrY/6Y/R2c+kjeJiFVtLG24hxpw7/AHY/RRkw9O37\nO99Hrt1YX0tfOBLjcGp4XF8c+u8fs9c4dcVcGemSI61nd3IneN1orQAAAAAAAAAAAAABFqxes1tE\nTE9JiUgPKcX4RbRXnNgiZwWnrH4XPi28PdXpW9JraImsxtMS8pxXhF9DecuGJtgmf+1TWW2N/la1\nL7N7T5e3Vy6W3hsYcvLbqzbO9jvvCzvDR0+XeO7crO6FmGSvRThy/RtVXJ92elvk2rRvDUzU7pl4\nizsd2J3jeBpcNz+Lg5LT7+Pp+Xk3W7js5eAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs0NTrN96Yp6edkW8Wzm6+LNTq4pvTHO9vOfRoWtt\n1mes95YWvs1s2fZldddOczLPLn2ju0MmebT3YZc2/mpm3qqllN1drsbZIhr3yzvtHf4AsvlYYseb\nV5Yx4KTe0+UQ6nDvZ3UazbJqd8OKeu33peq0eh0+hxcmnxxWPOfOfm0mP+steT/ji8N9mKY9suum\nL37+HHaPm9DSlaVitKxWsdohI0Y22gAgAAAAAAAAAABXnyRhw3yT92Nwef4xm8bVzET0rPJH5d12\n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\nAOZE/OsPS29nuH27YrV+VpeV9pdPXhOtw49NG9Mld55+vXcTPd42I47qo7xSfyWV9oM8d8VJ/VxM\nd8l46xWF9cV7en6o/qLfxp2I9ob+eCv/AHMo9op89P8A/wBORGmyT5R+qfo2X8P7n9Q/jTsx7RR5\n6ef+4/8AuHftg/8A6cWcOSO9J/WEbWr3pY7Efzp2Lcfv5YK/9zWy8d1E/ZpSv5Oba1/+Hb9lc+LP\nbFt87I7E/wAabWbiurvEx4nL/pjZzc2bJkn372t85ZXx55/BX85lucC0vPxnTxlnnjm32mOiZqUu\nLJ2p4TwnVavNWaYbRTfre0bQ99pcH0bT0xb78vmtiIiNojaErMwAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAHnfarF7umzRHaZrLjYrdIen9ocPi8JyTt1xzF4eUw23rCm3R4r6bMy\nwt6kdTaWLdjswmNoZontsCm0K5XWjopnuDC0dGpqG5bs08/daKV672MjbSaif6oh6Z5f2LtvptRX\n0tEvUN3Jfo8f7cYve0eX4zV7B5z20xc/C8eSPuZIRficfXlcPaG7ino08HWIbePpLF2NuiyOyrHK\n3fZFSwuovHVfaVF4QK5YWTM9UT0EKry6Ps1Tn4zjn8NZn9nOtLseydObiWW34cf918fWfk+PYANn\nKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq1WKM+ly4p+/WYeBxTNd6zG0xO0\nvobw3FcP0bi2em20Tbmj5Srr418V9sa2Z7qKyzi07MXUylhaU7yjqhLCeiq3ddaFNxFYW7NLNG8t\nzya+WO6Va9J7FW66mvwidnrXiPY3Ny8RyUn71Jj9Ht3RPjk19HK9pMHj8D1ER3rHN+jqqtTjjNps\nuOe16zAifXzfTz7kNyndpYazS9qT0mszDdoxrsi6m8LazMq6zDOsq1ZEyrt1WWlXaUCqyq0rbKbi\nFdp6PReyFd8uqv8ACsfy83aXrPZHHto89/xX2/SP/dpj6y8vx6EBq5gAAAAAAAAAAAAAAAAAAAAA\n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\nNO67NbkhzNVnmInqzaOZrL93JyZeV0M1++7S02jvxDWxhxx033tPpC8Z6rrezWjmZyazJG2/u03h\n2vFibTHoqvamiwVwY+nLGzV0+SZ1Mx8G0/45tOhzJ5lXMc3UVXRdlF1HP+iYsDPLPPy49/tz1+Te\npSIr0ho6ak5Ms5J8o2q6NImOrHV7XX488ypzTtHXo0s9t6zG7c1G1qz6ubeZiZ3UatXJG3yauSO7\ncvMTEx5tPLb3prPRMVr0HB8vicNxf0+7+kt+LOJwTJyY/Bnz3tH93X36N58cWvq6LSyiyndMSlC7\nmZcymLJiwLosmJVRLKLAtiU7q4lMSCzc3YxJuDMRuAlKAEgAAAlAkAAAAAABKAEgAAAAAJAAAAAA\nAAAAAAAEgAAAAAAAAAAAAAkAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAhIAAACAAAASgAAAAAAEAAAA\nhGzJAImGMwzQDDZjNVuyNgUTVhNGxysZqDVmiu1G5NN2M4waM0+DCaN2cbGcQNGaMZq3JxMJxA1J\nqx2bU4kU09slorWNwa20z02RXHbJbl26QvtFovbHWkxEdJt5y2MOHlr2U1W3jx+1hiw8vSO63lmI\nXRTaEWmtY6snRHO1VpmJ+DjavpSZl2s8b7y4HFcnh0n0gha5ebJN55KRM2mdoiPN6fh+kpwXh0Wy\nRHj5Otp/s5Ps1p62y31+em9aTMYt/OfVfxTiPjZ52naI7fBrI5t66xz5+a1rW7yx0eSL6iZjtEOX\nqNbSletom3lENjh2fbHzbbWt3iVozruc+5ztWubf4M4ybpQ2Oboyrva0Vjza8WdDR4OkXt3n9ldX\nkaePP9VtYqctYhdvt5oivTeCZ2YOxXk6ubqMfV0b9mrljfqlFcq88k7z2U5axeItDa1OPessuC8P\nya7XRWYnwqdbT/ZMilvIu4dpslNdixXja8Y5tt85djZdbDWnGOesRtXFtuw6T27No5Kx2OrKYQlC\nExKJgBnEpiyvdlEgsizKLKollFgWxLKJVRLKJBbEp3VxLKJBnuMWQJEbpBIAAAJAAAABIAAAAAAA\nlAJAAAAAAAAAAAAAASAAAAAAAAAAAAAJAAAABAJABAlAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAA\nAAABAJQAAAAgAABAAI2EoBGyJhkgGPKxmqxAKpownHC+YRMdN5BrTj67R3bOn01o7p01Iv71u89o\n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\n2Q==`;\n", "/**\n * Warmup algorithm that uses embedded images to exercise loaded models for faster future inference\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now, mergeDeep } from './util/util';\nimport * as sample from './sample';\nimport * as image from './image/image';\nimport * as backend from './tfjs/backend';\nimport { env } from './util/env';\nimport { empty, Result } from './result';\nimport type { Config } from './config';\nimport type { Human } from './human';\nimport type { Tensor, DataType } from './tfjs/types';\n\nasync function warmupBitmap(instance: Human): Promise {\n const b64toBlob = (base64: string, type = 'application/octet-stream') => fetch(`data:${type};base64,${base64}`).then((res) => res.blob());\n let blob: Blob | null;\n let res: Result | undefined;\n switch (instance.config.warmup) {\n case 'face': blob = await b64toBlob(sample.face); break;\n case 'body':\n case 'full': blob = await b64toBlob(sample.body); break;\n default: blob = null;\n }\n if (blob) {\n const bitmap = await createImageBitmap(blob);\n res = await instance.detect(bitmap, instance.config);\n bitmap.close();\n }\n return res;\n}\n\nasync function warmupCanvas(instance: Human): Promise {\n return new Promise((resolve) => {\n let src: string;\n // let size = 0;\n switch (instance.config.warmup) {\n case 'face':\n // size = 256;\n src = 'data:image/jpeg;base64,' + sample.face;\n break;\n case 'full':\n case 'body':\n // size = 1200;\n src = 'data:image/jpeg;base64,' + sample.body;\n break;\n default:\n src = '';\n }\n // src = encodeURI('../assets/human-sample-upper.jpg');\n let img: HTMLImageElement;\n if (typeof Image !== 'undefined') img = new Image();\n // @ts-ignore env.image is an external monkey-patch\n else if (env.Image) img = new env.Image();\n else return;\n img.onload = async () => {\n const canvas = image.canvas(img.naturalWidth, img.naturalHeight);\n if (!canvas) {\n log('Warmup: Canvas not found');\n resolve(undefined);\n } else {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n if (ctx) ctx.drawImage(img, 0, 0);\n // const data = ctx?.getImageData(0, 0, canvas.height, canvas.width);\n const tensor = await instance.image(canvas, true);\n const res = tensor.tensor ? await instance.detect(tensor.tensor, instance.config) : undefined;\n resolve(res);\n }\n };\n if (src) img.src = src;\n else resolve(undefined);\n });\n}\n\nasync function warmupNode(instance: Human): Promise {\n const atob = (str: string) => Buffer.from(str, 'base64');\n let img;\n if (instance.config.warmup === 'face') img = atob(sample.face);\n else img = atob(sample.body);\n let res: Result;\n if (('node' in tf) && (tf.getBackend() === 'tensorflow')) {\n // @ts-ignore\n const data: Tensor = tf['node'].decodeJpeg(img); // eslint-disable-line import/namespace\n const expanded: Tensor = tf.expandDims(data, 0);\n instance.tf.dispose(data);\n // log('Input:', expanded);\n res = await instance.detect(expanded, instance.config);\n instance.tf.dispose(expanded);\n } else {\n if (instance.config.debug) log('Warmup tfjs-node not loaded');\n /*\n const input = await canvasJS.loadImage(img);\n const canvas = canvasJS.createCanvas(input.width, input.height);\n const ctx = canvas.getContext('2d');\n ctx.drawImage(img, 0, 0, input.width, input.height);\n res = await instance.detect(input, instance.config);\n */\n }\n // @ts-ignore\n return res;\n}\n\nasync function runInference(instance: Human) {\n let res: Result | undefined;\n if (typeof createImageBitmap === 'function') res = await warmupBitmap(instance);\n else if (typeof Image !== 'undefined' || env.Canvas !== undefined) res = await warmupCanvas(instance);\n else res = await warmupNode(instance);\n return res;\n}\n\n/** Runs pre-compile on all loaded models */\nexport async function runCompile(instance: Human) {\n // @ts-ignore private property\n if (!tf.env().flagRegistry.ENGINE_COMPILE_ONLY) return; // tfjs does not support compile-only inference\n const backendType = tf.getBackend();\n const webGLBackend = tf.backend();\n if ((backendType !== 'webgl' && backendType !== 'humangl') || !webGLBackend?.['checkCompileCompletion']) {\n // log('compile pass: skip');\n return;\n }\n tf.env().set('ENGINE_COMPILE_ONLY', true);\n const numTensorsStart = tf.engine().state.numTensors;\n const compiledModels: string[] = [];\n for (const [modelName, model] of Object.entries(instance.models).filter(([key, val]) => (key !== null && val !== null))) {\n const shape = (model?.modelSignature && model?.inputs?.[0]?.shape) ? [...model.inputs[0].shape] : [1, 64, 64, 3];\n const dtype: DataType = (model?.modelSignature && model?.inputs?.[0]?.dtype) ? model.inputs[0].dtype : 'float32';\n for (let dim = 0; dim < shape.length; dim++) {\n if (shape[dim] === -1) shape[dim] = dim === 0 ? 1 : 64; // override batch number and any dynamic dimensions\n }\n const tensor = tf.zeros(shape, dtype);\n try {\n const res = model.execute(tensor);\n compiledModels.push(modelName);\n if (Array.isArray(res)) res.forEach((t) => tf.dispose(t));\n else tf.dispose(res);\n } catch {\n if (instance.config.debug) log('compile fail model:', modelName);\n }\n tf.dispose(tensor);\n }\n const kernels = await webGLBackend['checkCompileCompletionAsync']();\n webGLBackend['getUniformLocations']();\n if (instance.config.debug) log('compile pass:', { models: compiledModels, kernels: kernels.length });\n tf.env().set('ENGINE_COMPILE_ONLY', false);\n const numTensorsEnd = tf.engine().state.numTensors;\n if ((numTensorsEnd - numTensorsStart) > 0) log('tensor leak:', numTensorsEnd - numTensorsStart);\n}\n\n/** Warmup method pre-initializes all configured models for faster inference\n * - can take significant time on startup\n * - only used in browser environments for `webgl` and `humangl` backends\n * @param userConfig?: Config\n*/\nexport async function warmup(instance: Human, userConfig?: Partial): Promise {\n await backend.check(instance, false);\n const t0 = now();\n instance.state = 'warmup';\n if (userConfig) instance.config = mergeDeep(instance.config, userConfig) as Config;\n if (!instance.config.warmup || instance.config.warmup.length === 0 || instance.config.warmup === 'none') {\n return empty();\n }\n return new Promise(async (resolve) => {\n await instance.models.load();\n await runCompile(instance);\n const res = await runInference(instance);\n const t1 = now();\n if (instance.config.debug) log('warmup', instance.config.warmup, Math.round(t1 - t0), 'ms');\n instance.emit('warmup');\n resolve(res);\n });\n}\n", "/**\n * Human main module\n * @default Human Library\n * @summary \n * @author \n * @copyright \n * @license MIT\n */\n\n// module imports\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now, mergeDeep, validate } from './util/util';\nimport { defaults } from './config';\nimport { env, Env } from './util/env';\nimport { WebCam } from './util/webcam';\nimport { setModelLoadOptions } from './tfjs/load';\nimport * as app from '../package.json';\nimport * as backend from './tfjs/backend';\nimport * as draw from './draw/draw';\nimport * as blazepose from './body/blazepose';\nimport * as centernet from './object/centernet';\nimport * as efficientpose from './body/efficientpose';\nimport * as face from './face/face';\nimport * as facemesh from './face/facemesh';\nimport * as gesture from './gesture/gesture';\nimport * as handpose from './hand/handpose';\nimport * as handtrack from './hand/handtrack';\nimport * as image from './image/image';\nimport * as interpolate from './util/interpolate';\nimport * as meet from './segmentation/meet';\nimport * as match from './face/match';\nimport * as models from './models';\nimport * as movenet from './body/movenet';\nimport * as nanodet from './object/nanodet';\nimport * as persons from './util/persons';\nimport * as posenet from './body/posenet';\nimport * as rvm from './segmentation/rvm';\nimport * as selfie from './segmentation/selfie';\nimport * as warmups from './warmup';\n\n// type definitions\nimport { Input, Config, Result, FaceResult, HandResult, BodyResult, ObjectResult, GestureResult, AnyCanvas, empty } from './exports';\nimport type { Tensor, Tensor4D } from './tfjs/types';\n// type exports\nexport * from './exports';\n\n/** **Human** library main class\n *\n * All methods and properties are available only as members of Human class\n *\n * - Configuration object definition: {@link Config}\n * - Results object definition: {@link Result}\n * - Possible inputs: {@link Input}\n *\n * @param userConfig - {@link Config}\n * @returns instance of {@link Human}\n */\nexport class Human {\n /** Current version of Human library in *semver* format */\n version: string;\n\n /** Current configuration\n * - Defaults: [config](https://github.com/vladmandic/human/blob/main/src/config.ts#L262)\n */\n config: Config;\n\n /** Last known result of detect run\n * - Can be accessed anytime after initial detection\n */\n result: Result;\n\n /** Current state of Human library\n * - Can be polled to determine operations that are currently executed\n * - Progresses through: 'config', 'check', 'backend', 'load', 'run:', 'idle'\n */\n state: string;\n\n /** currenty processed image tensor and canvas */\n process: { tensor: Tensor | null, canvas: AnyCanvas | null };\n\n /** Instance of TensorFlow/JS used by Human\n * - Can be embedded or externally provided\n * [TFJS API](https://js.tensorflow.org/api/latest/)\n */\n tf;\n\n /** Object containing environment information used for diagnostics */\n env: Env = env;\n\n /** Draw helper classes that can draw detected objects on canvas using specified draw\n * - canvas: draws input to canvas\n * - options: are global settings for all draw operations, can be overriden for each draw method {@link DrawOptions}\n * - face, body, hand, gesture, object, person: draws detected results as overlays on canvas\n */\n // draw: { canvas: typeof draw.canvas, face: typeof draw.face, body: typeof draw.body, hand: typeof draw.hand, gesture: typeof draw.gesture, object: typeof draw.object, person: typeof draw.person, all: typeof draw.all, options: DrawOptions };\n draw: typeof draw = draw;\n\n /** Face Matching\n * - similarity: compare two face descriptors and return similarity index\n * - distance: compare two face descriptors and return raw calculated differences\n * - find: compare face descriptor to array of face descriptors and return best match\n */\n match: typeof match = match;\n\n /** Currently loaded models\n * @internal\n * {@link models#Models}\n */\n models: models.Models;\n\n /** Container for events dispatched by Human\n * Possible events:\n * - `create`: triggered when Human object is instantiated\n * - `load`: triggered when models are loaded (explicitly or on-demand)\n * - `image`: triggered when input image is processed\n * - `result`: triggered when detection is complete\n * - `warmup`: triggered when warmup is complete\n * - `error`: triggered on some errors\n */\n events: EventTarget | undefined;\n /** Reference face triangualtion array of 468 points, used for triangle references between points */\n faceTriangulation: number[];\n /** Refernce UV map of 468 values, used for 3D mapping of the face mesh */\n faceUVMap: [number, number][];\n /** Performance object that contains values for all recently performed operations */\n performance: Record; // perf members are dynamically defined as needed\n #numTensors: number;\n #analyzeMemoryLeaks: boolean;\n #checkSanity: boolean;\n // definition end\n\n /** Constructor for **Human** library that is futher used for all operations\n * @param userConfig - user configuration object {@link Config}\n */\n constructor(userConfig?: Partial) {\n /*\n defaults.wasmPath = tf.version['tfjs-core'].includes('-') // custom build or official build\n ? 'https://vladmandic.github.io/tfjs/dist/'\n : `https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-wasm@${tf.version_core}/dist/`;\n */\n const tfVersion = (tf.version.tfjs || tf.version_core).replace(/-(.*)/, '');\n defaults.wasmPath = `https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-wasm@${tfVersion}/dist/`;\n defaults.modelBasePath = env.browser ? '../models/' : 'file://models/';\n this.version = app.version; // expose version property on instance of class\n Object.defineProperty(this, 'version', { value: app.version }); // expose version property directly on class itself\n this.config = JSON.parse(JSON.stringify(defaults));\n Object.seal(this.config);\n this.config.cacheModels = typeof indexedDB !== 'undefined';\n if (userConfig) this.config = mergeDeep(this.config, userConfig);\n setModelLoadOptions(this.config);\n this.tf = tf;\n this.state = 'idle';\n this.#numTensors = 0;\n this.#analyzeMemoryLeaks = false;\n this.#checkSanity = false;\n this.performance = {};\n this.events = (typeof EventTarget !== 'undefined') ? new EventTarget() : undefined;\n // object that contains all initialized models\n this.models = new models.Models(this);\n // reexport draw methods\n draw.init();\n this.result = empty();\n // export access to image processing\n this.process = { tensor: null, canvas: null };\n // export raw access to underlying models\n this.faceTriangulation = facemesh.triangulation;\n this.faceUVMap = facemesh.uvmap;\n // init model validation\n models.validateModel(this, null, '');\n // include platform info\n this.emit('create');\n if (this.config.debug || this.env.browser) log(`version: ${this.version}`);\n if (this.config.debug) log(`tfjs version: ${this.tf.version['tfjs-core']}`);\n const envTemp = JSON.parse(JSON.stringify(this.env));\n delete envTemp.kernels;\n delete envTemp.initial;\n delete envTemp.perfadd;\n if (this.config.debug) log('environment:', envTemp);\n }\n\n /** internal function to measure tensor leaks */\n analyze = (...msg: string[]) => {\n if (!this.#analyzeMemoryLeaks) return;\n const currentTensors = this.tf.engine().state.numTensors;\n const previousTensors = this.#numTensors;\n this.#numTensors = currentTensors;\n const leaked = currentTensors - previousTensors;\n if (leaked !== 0) log(...msg, leaked);\n };\n\n /** internal function for quick sanity check on inputs @hidden */\n #sanity = (input: Input): null | string => {\n if (!this.#checkSanity) return null;\n if (!input) return 'input is not defined';\n if (this.env.node && !(input instanceof tf.Tensor)) return 'input must be a tensor';\n try {\n this.tf.getBackend();\n } catch {\n return 'backend not loaded';\n }\n return null;\n };\n\n /** Reset configuration to default values */\n reset(): void {\n const currentBackend = this.config.backend; // save backend;\n this.config = JSON.parse(JSON.stringify(defaults));\n this.config.backend = currentBackend;\n image.reset();\n env.initial = true;\n }\n\n /** Validate current configuration schema */\n validate(userConfig?: Partial) {\n const msgs = validate(defaults, userConfig || this.config);\n if (msgs.length === 0) this.config = mergeDeep(this.config, userConfig) as Config;\n return msgs;\n }\n\n /** Utility wrapper for performance.now() */\n now(): number { // eslint-disable-line class-methods-use-this\n return now();\n }\n\n /** Process input as return canvas and tensor\n *\n * @param input - any input {@link Input}\n * @param getTensor - should image processing also return tensor or just canvas\n * Returns object with `tensor` and `canvas`\n */\n image(input: Input, getTensor: boolean = false) {\n return image.process(input, this.config, getTensor);\n }\n\n /** Segmentation method takes any input and returns RGBA tensor\n * Note: Segmentation is not triggered as part of detect process\n *\n * @param input - {@link Input}\n * Returns tensor which contains image data in RGBA format\n */\n async segmentation(input: Input, userConfig?: Partial): Promise {\n if (userConfig) this.config = mergeDeep(this.config, userConfig) as Config;\n if (!this.config.segmentation.enabled) return null;\n const processed = await image.process(input, this.config);\n if (!processed.tensor) return null;\n let tensor: Tensor | null = null;\n if (this.config.segmentation.modelPath?.includes('rvm')) tensor = await rvm.predict(processed.tensor, this.config);\n if (this.config.segmentation.modelPath?.includes('meet')) tensor = await meet.predict(processed.tensor, this.config);\n if (this.config.segmentation.modelPath?.includes('selfie')) tensor = await selfie.predict(processed.tensor, this.config);\n tf.dispose(processed.tensor);\n return tensor;\n }\n\n /** Compare two input tensors for pixel similarity\n * - use `human.image` to process any valid input and get a tensor that can be used for compare\n * - when passing manually generated tensors:\n * - both input tensors must be in format [1, height, width, 3]\n * - if resolution of tensors does not match, second tensor will be resized to match resolution of the first tensor\n * - return value is pixel similarity score normalized by input resolution and rgb channels\n */\n compare(firstImageTensor: Tensor, secondImageTensor: Tensor): Promise {\n return image.compare(this.config, firstImageTensor, secondImageTensor);\n }\n\n /** Explicit backend initialization\n * - Normally done implicitly during initial load phase\n * - Call to explictly register and initialize TFJS backend without any other operations\n * - Use when changing backend during runtime\n */\n async init(): Promise {\n await backend.check(this, true);\n await this.tf.ready();\n image.reset();\n }\n\n /** WebCam helper methods\n *\n */\n public webcam = new WebCam();\n\n /** Load method preloads all configured models on-demand\n * - Not explicitly required as any required model is load implicitly on it's first run\n *\n * @param userConfig - {@link Config}\n */\n async load(userConfig?: Partial): Promise {\n this.state = 'load';\n const timeStamp = now();\n const count = Object.values(this.models.models).filter((model) => model).length;\n if (userConfig) this.config = mergeDeep(this.config, userConfig) as Config;\n\n if (this.env.initial) { // print version info on first run and check for correct backend setup\n if (!await backend.check(this, false)) log('error: backend check failed');\n await tf.ready();\n if (this.env.browser) {\n if (this.config.debug) log('configuration:', this.config);\n if (this.config.debug) log('tf flags:', this.tf.ENV.flags);\n }\n }\n\n await this.models.load(this); // actually loads models\n if (this.env.initial && this.config.debug) log('tf engine state:', this.tf.engine().state.numBytes, 'bytes', this.tf.engine().state.numTensors, 'tensors'); // print memory stats on first run\n this.env.initial = false;\n\n const loaded = Object.values(this.models.models).filter((model) => model).length;\n if (loaded !== count) { // number of loaded models changed\n this.models.validate(); // validate kernel ops used by model against current backend\n this.emit('load');\n }\n\n const current = Math.trunc(now() - timeStamp);\n if (current > (this.performance.loadModels || 0)) this.performance.loadModels = this.env.perfadd ? (this.performance.loadModels || 0) + current : current;\n }\n\n /** emit event */\n emit = (event: string) => {\n if (this.events?.dispatchEvent) this.events.dispatchEvent(new Event(event));\n };\n\n /** Runs interpolation using last known result and returns smoothened result\n * Interpolation is based on time since last known result so can be called independently\n *\n * @param result - {@link Result} optional use specific result set to run interpolation on\n * @returns result - {@link Result}\n */\n next(result: Result = this.result): Result {\n return interpolate.calc(result, this.config);\n }\n\n /** Warmup method pre-initializes all configured models for faster inference\n * - can take significant time on startup\n * - only used for `webgl` and `humangl` backends\n * @param userConfig - {@link Config}\n * @returns result - {@link Result}\n */\n async warmup(userConfig?: Partial) {\n const t0 = now();\n const res = await warmups.warmup(this, userConfig);\n const t1 = now();\n this.performance.warmup = Math.trunc(t1 - t0);\n return res;\n }\n\n /** Run detect with tensorflow profiling\n * - result object will contain total exeuction time information for top-20 kernels\n * - actual detection object can be accessed via `human.result`\n */\n async profile(input: Input, userConfig?: Partial): Promise<{ kernel: string, time: number, perc: number }[]> {\n // @ts-ignore profile wraps method return values\n const profile = await this.tf.profile(() => this.detect(input, userConfig));\n const kernels: Record = {};\n let total = 0;\n for (const kernel of profile.kernels) { // sum kernel time values per kernel\n const ms = Number(kernel.kernelTimeMs) || 0;\n if (kernels[kernel.name]) kernels[kernel.name] += ms;\n else kernels[kernel.name] = ms;\n total += ms;\n }\n const kernelArr: { kernel: string, time: number, perc: number }[] = [];\n Object.entries(kernels).forEach((key) => kernelArr.push({ kernel: key[0], time: key[1] as unknown as number, perc: 0 })); // convert to array\n for (const kernel of kernelArr) {\n kernel.perc = Math.round(1000 * kernel.time / total) / 1000;\n kernel.time = Math.round(1000 * kernel.time) / 1000;\n }\n kernelArr.sort((a, b) => b.time - a.time); // sort\n kernelArr.length = 20; // crop\n return kernelArr;\n }\n\n /** Main detection method\n * - Analyze configuration: {@link Config}\n * - Pre-process input: {@link Input}\n * - Run inference for all configured models\n * - Process and return result: {@link Result}\n *\n * @param input - {@link Input}\n * @param userConfig - {@link Config}\n * @returns result - {@link Result}\n */\n async detect(input: Input, userConfig?: Partial): Promise {\n // detection happens inside a promise\n this.state = 'detect';\n return new Promise(async (resolve) => {\n this.state = 'config';\n let timeStamp;\n\n // update configuration\n this.config = mergeDeep(this.config, userConfig) as Config;\n\n // sanity checks\n this.state = 'check';\n const error = this.#sanity(input);\n if (error) {\n log(error, input);\n this.emit('error');\n resolve(empty(error));\n }\n\n const timeStart = now();\n\n // load models if enabled\n await this.load();\n\n timeStamp = now();\n this.state = 'image';\n const img = await image.process(input, this.config) as { canvas: AnyCanvas, tensor: Tensor4D };\n this.process = img;\n this.performance.inputProcess = this.env.perfadd ? (this.performance.inputProcess || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n this.analyze('Get Image:');\n\n if (!img.tensor) {\n if (this.config.debug) log('could not convert input to tensor');\n this.emit('error');\n resolve(empty('could not convert input to tensor'));\n return;\n }\n this.emit('image');\n\n timeStamp = now();\n this.config.skipAllowed = await image.skip(this.config, img.tensor);\n this.config.filter.autoBrightness = (this.config.filter.autoBrightness || false) && this.config.skipAllowed; // disable autoBrightness on scene change\n if (!this.performance.totalFrames) this.performance.totalFrames = 0;\n if (!this.performance.cachedFrames) this.performance.cachedFrames = 0;\n (this.performance.totalFrames)++;\n if (this.config.skipAllowed) this.performance.cachedFrames++;\n this.performance.cacheCheck = this.env.perfadd ? (this.performance.cacheCheck || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n this.analyze('Check Changed:');\n\n // prepare where to store model results\n // keep them with weak typing as it can be promise or not\n let faceRes: FaceResult[] | Promise | never[] = [];\n let bodyRes: BodyResult[] | Promise | never[] = [];\n let handRes: HandResult[] | Promise | never[] = [];\n let objectRes: ObjectResult[] | Promise | never[] = [];\n\n // run face detection followed by all models that rely on face bounding box: face mesh, age, gender, emotion\n this.state = 'detect:face';\n if (this.config.async) {\n faceRes = this.config.face.enabled ? face.detectFace(this, img.tensor) : [];\n if (this.performance.face) delete this.performance.face;\n } else {\n timeStamp = now();\n faceRes = this.config.face.enabled ? await face.detectFace(this, img.tensor) : [];\n this.performance.face = this.env.perfadd ? (this.performance.face || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n }\n\n if (this.config.async && (this.config.body.maxDetected === -1 || this.config.hand.maxDetected === -1)) faceRes = await faceRes; // need face result for auto-detect number of hands or bodies\n\n // run body: can be posenet, blazepose, efficientpose, movenet\n this.analyze('Start Body:');\n this.state = 'detect:body';\n const bodyConfig = this.config.body.maxDetected === -1 ? mergeDeep(this.config, { body: { maxDetected: this.config.face.enabled ? 1 * (faceRes as FaceResult[]).length : 1 } }) : this.config; // autodetect number of bodies\n if (this.config.async) {\n if (this.config.body.modelPath?.includes('posenet')) bodyRes = this.config.body.enabled ? posenet.predict(img.tensor, bodyConfig) : [];\n else if (this.config.body.modelPath?.includes('blazepose')) bodyRes = this.config.body.enabled ? blazepose.predict(img.tensor, bodyConfig) : [];\n else if (this.config.body.modelPath?.includes('efficientpose')) bodyRes = this.config.body.enabled ? efficientpose.predict(img.tensor, bodyConfig) : [];\n else if (this.config.body.modelPath?.includes('movenet')) bodyRes = this.config.body.enabled ? movenet.predict(img.tensor, bodyConfig) : [];\n if (this.performance.body) delete this.performance.body;\n } else {\n timeStamp = now();\n if (this.config.body.modelPath?.includes('posenet')) bodyRes = this.config.body.enabled ? await posenet.predict(img.tensor, bodyConfig) : [];\n else if (this.config.body.modelPath?.includes('blazepose')) bodyRes = this.config.body.enabled ? await blazepose.predict(img.tensor, bodyConfig) : [];\n else if (this.config.body.modelPath?.includes('efficientpose')) bodyRes = this.config.body.enabled ? await efficientpose.predict(img.tensor, bodyConfig) : [];\n else if (this.config.body.modelPath?.includes('movenet')) bodyRes = this.config.body.enabled ? await movenet.predict(img.tensor, bodyConfig) : [];\n this.performance.body = this.env.perfadd ? (this.performance.body || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n }\n this.analyze('End Body:');\n\n // run handpose\n this.analyze('Start Hand:');\n this.state = 'detect:hand';\n const handConfig = this.config.hand.maxDetected === -1 ? mergeDeep(this.config, { hand: { maxDetected: this.config.face.enabled ? 2 * (faceRes as FaceResult[]).length : 1 } }) : this.config; // autodetect number of hands\n if (this.config.async) {\n if (this.config.hand.detector?.modelPath?.includes('handdetect')) handRes = this.config.hand.enabled ? handpose.predict(img.tensor, handConfig) : [];\n else if (this.config.hand.detector?.modelPath?.includes('handtrack')) handRes = this.config.hand.enabled ? handtrack.predict(img.tensor, handConfig) : [];\n if (this.performance.hand) delete this.performance.hand;\n } else {\n timeStamp = now();\n if (this.config.hand.detector?.modelPath?.includes('handdetect')) handRes = this.config.hand.enabled ? await handpose.predict(img.tensor, handConfig) : [];\n else if (this.config.hand.detector?.modelPath?.includes('handtrack')) handRes = this.config.hand.enabled ? await handtrack.predict(img.tensor, handConfig) : [];\n this.performance.hand = this.env.perfadd ? (this.performance.hand || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n }\n this.analyze('End Hand:');\n\n // run object detection\n this.analyze('Start Object:');\n this.state = 'detect:object';\n if (this.config.async) {\n if (this.config.object.modelPath?.includes('nanodet')) objectRes = this.config.object.enabled ? nanodet.predict(img.tensor, this.config) : [];\n else if (this.config.object.modelPath?.includes('centernet')) objectRes = this.config.object.enabled ? centernet.predict(img.tensor, this.config) : [];\n if (this.performance.object) delete this.performance.object;\n } else {\n timeStamp = now();\n if (this.config.object.modelPath?.includes('nanodet')) objectRes = this.config.object.enabled ? await nanodet.predict(img.tensor, this.config) : [];\n else if (this.config.object.modelPath?.includes('centernet')) objectRes = this.config.object.enabled ? await centernet.predict(img.tensor, this.config) : [];\n this.performance.object = this.env.perfadd ? (this.performance.object || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n }\n this.analyze('End Object:');\n\n // if async wait for results\n this.state = 'detect:await';\n if (this.config.async) [faceRes, bodyRes, handRes, objectRes] = await Promise.all([faceRes, bodyRes, handRes, objectRes]);\n\n // run gesture analysis last\n this.state = 'detect:gesture';\n let gestureRes: GestureResult[] = [];\n if (this.config.gesture.enabled) {\n timeStamp = now();\n gestureRes = [...gesture.face(faceRes as FaceResult[]), ...gesture.body(bodyRes as BodyResult[]), ...gesture.hand(handRes as HandResult[]), ...gesture.iris(faceRes as FaceResult[])];\n if (!this.config.async) this.performance.gesture = this.env.perfadd ? (this.performance.gesture || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n else if (this.performance.gesture) delete this.performance.gesture;\n }\n\n this.performance.total = this.env.perfadd ? (this.performance.total || 0) + Math.trunc(now() - timeStart) : Math.trunc(now() - timeStart);\n const shape = this.process.tensor?.shape || [0, 0, 0, 0];\n this.result = {\n face: faceRes as FaceResult[],\n body: bodyRes as BodyResult[],\n hand: handRes as HandResult[],\n gesture: gestureRes,\n object: objectRes as ObjectResult[],\n performance: this.performance,\n canvas: this.process.canvas,\n timestamp: Date.now(),\n error: null,\n width: shape[2],\n height: shape[1],\n get persons() { return persons.join(faceRes as FaceResult[], bodyRes as BodyResult[], handRes as HandResult[], gestureRes, shape); },\n };\n\n // finally dispose input tensor\n tf.dispose(img.tensor);\n\n // log('Result:', result);\n this.emit('detect');\n this.state = 'idle';\n resolve(this.result);\n });\n }\n\n /** Helper function\n * @param ms - sleep time in miliseconds\n */\n async sleep(ms: number): Promise { // eslint-disable-line class-methods-use-this\n return new Promise((resolve) => { setTimeout(resolve, ms); });\n }\n\n /** internal structure that keeps track of processed videos @hidden */\n #loops: Record = {};\n /** Continously detect video frames\n * @param element - HTMLVideoElement input\n * @param run - boolean run continously or stop if already running, default true\n * @param delay - number delay detection between frames for number of miliseconds, default 0\n */\n async video(element: HTMLVideoElement, run: boolean = true, delay: number = 0) {\n if (run) {\n if (!this.#loops[element.id]) {\n if (this.config.debug) log('video start', element.id);\n this.#loops[element.id] = true;\n }\n if (!element.paused && this.#loops[element.id] && (element.readyState >= 2)) await this.detect(element);\n if (delay > 0) await this.sleep(delay);\n if (this.#loops[element.id]) requestAnimationFrame(() => this.video(element, run, delay));\n } else {\n if (this.config.debug) log('video stop', element.id);\n this.#loops[element.id] = false;\n }\n }\n}\n\n/** Class Human as default export */\n/* eslint no-restricted-exports: [\"off\", { \"restrictedNamedExports\": [\"default\"] }] */\nexport { Human as default, match, draw, models };\n"], - "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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BAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,iBAAiB,iBAAiB;AAAA,EACnC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,iBAAiB,iBAAiB;AAAA,EACnC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,i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BAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,gBAAgB,iBAAiB;AAAA,EAClC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,iBAAiB,iBAAiB;AAAA,EACnC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AACvC;AAEO,IAAM,SAAmB;AAAA,EAC9B;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EACtJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EACrJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAC7I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EACrJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC9I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EACtJ;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAClJ;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACrJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC7I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC7I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EACnJ;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAClJ;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EACrJ;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAC9I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EACpJ;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACrJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAC9I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAC9I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC9I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAA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ACF;;;ACpIO,IAAMS,WAAU;AAAA,EACrB,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ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AA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0Jb,IAAMC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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", + "sourcesContent": ["/*\n Human\n homepage: \n author: '\n*/\n\nvar yV=Object.create;var ub=Object.defineProperty;var bV=Object.getOwnPropertyDescriptor;var CV=Object.getOwnPropertyNames;var SV=Object.getPrototypeOf,wV=Object.prototype.hasOwnProperty;var bm=(r=>typeof require!=\"undefined\"?require:typeof Proxy!=\"undefined\"?new Proxy(r,{get:(e,t)=>(typeof require!=\"undefined\"?require:e)[t]}):r)(function(r){if(typeof require!=\"undefined\")return require.apply(this,arguments);throw new Error('Dynamic require of \"'+r+'\" is not supported')});var qt=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Ue=(r,e)=>{for(var t in e)ub(r,t,{get:e[t],enumerable:!0})},IV=(r,e,t,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of CV(e))!wV.call(r,n)&&n!==t&&ub(r,n,{get:()=>e[n],enumerable:!(o=bV(e,n))||o.enumerable});return r};var rp=(r,e,t)=>(t=r!=null?yV(SV(r)):{},IV(e||!r||!r.__esModule?ub(t,\"default\",{value:r,enumerable:!0}):t,r));var rv=qt((Pne,tv)=>{tv.exports=It;var xo=null;try{xo=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(r){}function It(r,e,t){this.low=r|0,this.high=e|0,this.unsigned=!!t}It.prototype.__isLong__;Object.defineProperty(It.prototype,\"__isLong__\",{value:!0});function Lr(r){return(r&&r.__isLong__)===!0}It.isLong=Lr;var qI={},KI={};function eu(r,e){var t,o,n;return e?(r>>>=0,(n=0<=r&&r<256)&&(o=KI[r],o)?o:(t=vt(r,(r|0)<0?-1:0,!0),n&&(KI[r]=t),t)):(r|=0,(n=-128<=r&&r<128)&&(o=qI[r],o)?o:(t=vt(r,r<0?-1:0,!1),n&&(qI[r]=t),t))}It.fromInt=eu;function yo(r,e){if(isNaN(r))return e?Ji:bo;if(e){if(r<0)return Ji;if(r>=QI)return ev}else{if(r<=-XI)return Mr;if(r+1>=XI)return JI}return r<0?yo(-r,e).neg():vt(r%Ep|0,r/Ep|0,e)}It.fromNumber=yo;function vt(r,e,t){return new It(r,e,t)}It.fromBits=vt;var Rm=Math.pow;function Ib(r,e,t){if(r.length===0)throw Error(\"empty string\");if(r===\"NaN\"||r===\"Infinity\"||r===\"+Infinity\"||r===\"-Infinity\")return bo;if(typeof e==\"number\"?(t=e,e=!1):e=!!e,t=t||10,t<2||360)throw Error(\"interior hyphen\");if(o===0)return Ib(r.substring(1),e,t).neg();for(var n=yo(Rm(t,8)),s=bo,a=0;a>>0:this.low};me.toNumber=function(){return this.unsigned?(this.high>>>0)*Ep+(this.low>>>0):this.high*Ep+(this.low>>>0)};me.toString=function(e){if(e=e||10,e<2||36>>0,c=u.toString(e);if(a=p,a.isZero())return c+i;for(;c.length<6;)c=\"0\"+c;i=\"\"+c+i}};me.getHighBits=function(){return this.high};me.getHighBitsUnsigned=function(){return this.high>>>0};me.getLowBits=function(){return this.low};me.getLowBitsUnsigned=function(){return this.low>>>0};me.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Mr)?64:this.neg().getNumBitsAbs();for(var e=this.high!=0?this.high:this.low,t=31;t>0&&(e&1<=0};me.isOdd=function(){return(this.low&1)===1};me.isEven=function(){return(this.low&1)===0};me.equals=function(e){return Lr(e)||(e=ts(e)),this.unsigned!==e.unsigned&&this.high>>>31===1&&e.high>>>31===1?!1:this.high===e.high&&this.low===e.low};me.eq=me.equals;me.notEquals=function(e){return!this.eq(e)};me.neq=me.notEquals;me.ne=me.notEquals;me.lessThan=function(e){return this.comp(e)<0};me.lt=me.lessThan;me.lessThanOrEqual=function(e){return this.comp(e)<=0};me.lte=me.lessThanOrEqual;me.le=me.lessThanOrEqual;me.greaterThan=function(e){return this.comp(e)>0};me.gt=me.greaterThan;me.greaterThanOrEqual=function(e){return this.comp(e)>=0};me.gte=me.greaterThanOrEqual;me.ge=me.greaterThanOrEqual;me.compare=function(e){if(Lr(e)||(e=ts(e)),this.eq(e))return 0;var t=this.isNegative(),o=e.isNegative();return t&&!o?-1:!t&&o?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1};me.comp=me.compare;me.negate=function(){return!this.unsigned&&this.eq(Mr)?Mr:this.not().add(_p)};me.neg=me.negate;me.add=function(e){Lr(e)||(e=ts(e));var t=this.high>>>16,o=this.high&65535,n=this.low>>>16,s=this.low&65535,a=e.high>>>16,i=e.high&65535,p=e.low>>>16,u=e.low&65535,c=0,l=0,m=0,d=0;return d+=s+u,m+=d>>>16,d&=65535,m+=n+p,l+=m>>>16,m&=65535,l+=o+i,c+=l>>>16,l&=65535,c+=t+a,c&=65535,vt(m<<16|d,c<<16|l,this.unsigned)};me.subtract=function(e){return Lr(e)||(e=ts(e)),this.add(e.neg())};me.sub=me.subtract;me.multiply=function(e){if(this.isZero())return bo;if(Lr(e)||(e=ts(e)),xo){var t=xo.mul(this.low,this.high,e.low,e.high);return vt(t,xo.get_high(),this.unsigned)}if(e.isZero())return bo;if(this.eq(Mr))return e.isOdd()?Mr:bo;if(e.eq(Mr))return this.isOdd()?Mr:bo;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(YI)&&e.lt(YI))return yo(this.toNumber()*e.toNumber(),this.unsigned);var o=this.high>>>16,n=this.high&65535,s=this.low>>>16,a=this.low&65535,i=e.high>>>16,p=e.high&65535,u=e.low>>>16,c=e.low&65535,l=0,m=0,d=0,f=0;return f+=a*c,d+=f>>>16,f&=65535,d+=s*c,m+=d>>>16,d&=65535,d+=a*u,m+=d>>>16,d&=65535,m+=n*c,l+=m>>>16,m&=65535,m+=s*u,l+=m>>>16,m&=65535,m+=a*p,l+=m>>>16,m&=65535,l+=o*c+n*u+s*p+a*i,l&=65535,vt(d<<16|f,l<<16|m,this.unsigned)};me.mul=me.multiply;me.divide=function(e){if(Lr(e)||(e=ts(e)),e.isZero())throw Error(\"division by zero\");if(xo){if(!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1)return this;var t=(this.unsigned?xo.div_u:xo.div_s)(this.low,this.high,e.low,e.high);return vt(t,xo.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Ji:bo;var o,n,s;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return Ji;if(e.gt(this.shru(1)))return ZI;s=Ji}else{if(this.eq(Mr)){if(e.eq(_p)||e.eq(wb))return Mr;if(e.eq(Mr))return _p;var a=this.shr(1);return o=a.div(e).shl(1),o.eq(bo)?e.isNegative()?_p:wb:(n=this.sub(e.mul(o)),s=o.add(n.div(e)),s)}else if(e.eq(Mr))return this.unsigned?Ji:bo;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();s=bo}for(n=this;n.gte(e);){o=Math.max(1,Math.floor(n.toNumber()/e.toNumber()));for(var i=Math.ceil(Math.log(o)/Math.LN2),p=i<=48?1:Rm(2,i-48),u=yo(o),c=u.mul(e);c.isNegative()||c.gt(n);)o-=p,u=yo(o,this.unsigned),c=u.mul(e);u.isZero()&&(u=_p),s=s.add(u),n=n.sub(c)}return s};me.div=me.divide;me.modulo=function(e){if(Lr(e)||(e=ts(e)),xo){var t=(this.unsigned?xo.rem_u:xo.rem_s)(this.low,this.high,e.low,e.high);return vt(t,xo.get_high(),this.unsigned)}return this.sub(this.div(e).mul(e))};me.mod=me.modulo;me.rem=me.modulo;me.not=function(){return vt(~this.low,~this.high,this.unsigned)};me.and=function(e){return Lr(e)||(e=ts(e)),vt(this.low&e.low,this.high&e.high,this.unsigned)};me.or=function(e){return Lr(e)||(e=ts(e)),vt(this.low|e.low,this.high|e.high,this.unsigned)};me.xor=function(e){return Lr(e)||(e=ts(e)),vt(this.low^e.low,this.high^e.high,this.unsigned)};me.shiftLeft=function(e){return Lr(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?vt(this.low<>>32-e,this.unsigned):vt(0,this.low<>>e|this.high<<32-e,this.high>>e,this.unsigned):vt(this.high>>e-32,this.high>=0?0:-1,this.unsigned)};me.shr=me.shiftRight;me.shiftRightUnsigned=function(e){if(Lr(e)&&(e=e.toInt()),e&=63,e===0)return this;var t=this.high;if(e<32){var o=this.low;return vt(o>>>e|t<<32-e,t>>>e,this.unsigned)}else return e===32?vt(t,0,this.unsigned):vt(t>>>e-32,0,this.unsigned)};me.shru=me.shiftRightUnsigned;me.shr_u=me.shiftRightUnsigned;me.toSigned=function(){return this.unsigned?vt(this.low,this.high,!1):this};me.toUnsigned=function(){return this.unsigned?this:vt(this.low,this.high,!0)};me.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()};me.toBytesLE=function(){var e=this.high,t=this.low;return[t&255,t>>>8&255,t>>>16&255,t>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]};me.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,t>>>24,t>>>16&255,t>>>8&255,t&255]};It.fromBytes=function(e,t,o){return o?It.fromBytesLE(e,t):It.fromBytesBE(e,t)};It.fromBytesLE=function(e,t){return new It(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)};It.fromBytesBE=function(e,t){return new It(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)}});var Mv=qt(()=>{});var Lv=qt(()=>{});var Bk=qt((Lk,cC)=>{(function(r,e,t){function o(i){var p=this,u=a();p.next=function(){var c=2091639*p.s0+p.c*23283064365386963e-26;return p.s0=p.s1,p.s1=p.s2,p.s2=c-(p.c=c|0)},p.c=1,p.s0=u(\" \"),p.s1=u(\" \"),p.s2=u(\" \"),p.s0-=u(i),p.s0<0&&(p.s0+=1),p.s1-=u(i),p.s1<0&&(p.s1+=1),p.s2-=u(i),p.s2<0&&(p.s2+=1),u=null}function n(i,p){return p.c=i.c,p.s0=i.s0,p.s1=i.s1,p.s2=i.s2,p}function s(i,p){var u=new o(i),c=p&&p.state,l=u.next;return l.int32=function(){return u.next()*4294967296|0},l.double=function(){return l()+(l()*2097152|0)*11102230246251565e-32},l.quick=l,c&&(typeof c==\"object\"&&n(c,u),l.state=function(){return n(u,{})}),l}function a(){var i=4022871197,p=function(u){u=String(u);for(var c=0;c>>0,l-=i,l*=i,i=l>>>0,l-=i,i+=l*4294967296}return(i>>>0)*23283064365386963e-26};return p}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.alea=s})(Lk,typeof cC==\"object\"&&cC,typeof define==\"function\"&&define)});var zk=qt((Vk,lC)=>{(function(r,e,t){function o(a){var i=this,p=\"\";i.x=0,i.y=0,i.z=0,i.w=0,i.next=function(){var c=i.x^i.x<<11;return i.x=i.y,i.y=i.z,i.z=i.w,i.w^=i.w>>>19^c^c>>>8},a===(a|0)?i.x=a:p+=a;for(var u=0;u>>0)/4294967296};return c.double=function(){do var l=p.next()>>>11,m=(p.next()>>>0)/4294967296,d=(l+m)/(1<<21);while(d===0);return d},c.int32=p.next,c.quick=c,u&&(typeof u==\"object\"&&n(u,p),c.state=function(){return n(p,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xor128=s})(Vk,typeof lC==\"object\"&&lC,typeof define==\"function\"&&define)});var Uk=qt((Wk,mC)=>{(function(r,e,t){function o(a){var i=this,p=\"\";i.next=function(){var c=i.x^i.x>>>2;return i.x=i.y,i.y=i.z,i.z=i.w,i.w=i.v,(i.d=i.d+362437|0)+(i.v=i.v^i.v<<4^(c^c<<1))|0},i.x=0,i.y=0,i.z=0,i.w=0,i.v=0,a===(a|0)?i.x=a:p+=a;for(var u=0;u>>4),i.next()}function n(a,i){return i.x=a.x,i.y=a.y,i.z=a.z,i.w=a.w,i.v=a.v,i.d=a.d,i}function s(a,i){var p=new o(a),u=i&&i.state,c=function(){return(p.next()>>>0)/4294967296};return c.double=function(){do var l=p.next()>>>11,m=(p.next()>>>0)/4294967296,d=(l+m)/(1<<21);while(d===0);return d},c.int32=p.next,c.quick=c,u&&(typeof u==\"object\"&&n(u,p),c.state=function(){return n(p,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xorwow=s})(Wk,typeof mC==\"object\"&&mC,typeof define==\"function\"&&define)});var Hk=qt((Gk,dC)=>{(function(r,e,t){function o(a){var i=this;i.next=function(){var u=i.x,c=i.i,l,m,d;return l=u[c],l^=l>>>7,m=l^l<<24,l=u[c+1&7],m^=l^l>>>10,l=u[c+3&7],m^=l^l>>>3,l=u[c+4&7],m^=l^l<<7,l=u[c+7&7],l=l^l<<13,m^=l^l<<9,u[c]=m,i.i=c+1&7,m};function p(u,c){var l,m,d=[];if(c===(c|0))m=d[0]=c;else for(c=\"\"+c,l=0;l0;--l)u.next()}p(i,a)}function n(a,i){return i.x=a.x.slice(),i.i=a.i,i}function s(a,i){a==null&&(a=+new Date);var p=new o(a),u=i&&i.state,c=function(){return(p.next()>>>0)/4294967296};return c.double=function(){do var l=p.next()>>>11,m=(p.next()>>>0)/4294967296,d=(l+m)/(1<<21);while(d===0);return d},c.int32=p.next,c.quick=c,u&&(u.x&&n(u,p),c.state=function(){return n(p,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xorshift7=s})(Gk,typeof dC==\"object\"&&dC,typeof define==\"function\"&&define)});var Kk=qt((qk,fC)=>{(function(r,e,t){function o(a){var i=this;i.next=function(){var u=i.w,c=i.X,l=i.i,m,d;return i.w=u=u+1640531527|0,d=c[l+34&127],m=c[l=l+1&127],d^=d<<13,m^=m<<17,d^=d>>>15,m^=m>>>12,d=c[l]=d^m,i.i=l,d+(u^u>>>16)|0};function p(u,c){var l,m,d,f,h,g=[],x=128;for(c===(c|0)?(m=c,c=null):(c=c+\"\\0\",m=0,x=Math.max(x,c.length)),d=0,f=-32;f>>15,m^=m<<4,m^=m>>>13,f>=0&&(h=h+1640531527|0,l=g[f&127]^=m+h,d=l==0?d+1:0);for(d>=128&&(g[(c&&c.length||0)&127]=-1),d=127,f=4*128;f>0;--f)m=g[d+34&127],l=g[d=d+1&127],m^=m<<13,l^=l<<17,m^=m>>>15,l^=l>>>12,g[d]=m^l;u.w=h,u.X=g,u.i=d}p(i,a)}function n(a,i){return i.i=a.i,i.w=a.w,i.X=a.X.slice(),i}function s(a,i){a==null&&(a=+new Date);var p=new o(a),u=i&&i.state,c=function(){return(p.next()>>>0)/4294967296};return c.double=function(){do var l=p.next()>>>11,m=(p.next()>>>0)/4294967296,d=(l+m)/(1<<21);while(d===0);return d},c.int32=p.next,c.quick=c,u&&(u.X&&n(u,p),c.state=function(){return n(p,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xor4096=s})(qk,typeof fC==\"object\"&&fC,typeof define==\"function\"&&define)});var Xk=qt((jk,hC)=>{(function(r,e,t){function o(a){var i=this,p=\"\";i.next=function(){var c=i.b,l=i.c,m=i.d,d=i.a;return c=c<<25^c>>>7^l,l=l-m|0,m=m<<24^m>>>8^d,d=d-c|0,i.b=c=c<<20^c>>>12^l,i.c=l=l-m|0,i.d=m<<16^l>>>16^d,i.a=d-c|0},i.a=0,i.b=0,i.c=-1640531527,i.d=1367130551,a===Math.floor(a)?(i.a=a/4294967296|0,i.b=a|0):p+=a;for(var u=0;u>>0)/4294967296};return c.double=function(){do var l=p.next()>>>11,m=(p.next()>>>0)/4294967296,d=(l+m)/(1<<21);while(d===0);return d},c.int32=p.next,c.quick=c,u&&(typeof u==\"object\"&&n(u,p),c.state=function(){return n(p,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.tychei=s})(jk,typeof hC==\"object\"&&hC,typeof define==\"function\"&&define)});var Yk=qt(()=>{});var Zk=qt((Qk,kd)=>{(function(r,e,t){var o=256,n=6,s=52,a=\"random\",i=t.pow(o,n),p=t.pow(2,s),u=p*2,c=o-1,l;function m(C,w,k){var _=[];w=w==!0?{entropy:!0}:w||{};var $=g(h(w.entropy?[C,b(e)]:C==null?x():C,3),_),A=new d(_),R=function(){for(var D=A.g(n),P=i,M=0;D=u;)D/=2,P/=2,M>>>=1;return(D+M)/P};return R.int32=function(){return A.g(4)|0},R.quick=function(){return A.g(4)/4294967296},R.double=R,g(b(A.S),e),(w.pass||k||function(D,P,M,L){return L&&(L.S&&f(L,A),D.state=function(){return f(A,{})}),M?(t[a]=D,P):D})(R,$,\"global\"in w?w.global:this==t,w.state)}function d(C){var w,k=C.length,_=this,$=0,A=_.i=_.j=0,R=_.S=[];for(k||(C=[k++]);${var eG=Bk(),tG=zk(),rG=Uk(),oG=Hk(),nG=Kk(),sG=Xk(),du=Zk();du.alea=eG;du.xor128=tG;du.xorwow=rG;du.xorshift7=oG;du.xor4096=nG;du.tychei=sG;Jk.exports=du});var Rl=qt(()=>{});var qw=qt(()=>{});var l3=qt(()=>{});var m3=qt(()=>{});var d3=qt(()=>{});var f3=qt((wg,jw)=>{var Kw=(()=>{var r=typeof document!=\"undefined\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!=\"undefined\"&&(r=r||__filename),function(e){e=e||{};function t(){return J.buffer!=Oe&&Nt(J.buffer),mt}function o(){return J.buffer!=Oe&&Nt(J.buffer),at}function n(){return J.buffer!=Oe&&Nt(J.buffer),ft}function s(){return J.buffer!=Oe&&Nt(J.buffer),Fr}function a(){return J.buffer!=Oe&&Nt(J.buffer),Ot}function i(){return J.buffer!=Oe&&Nt(J.buffer),Kr}function p(){return J.buffer!=Oe&&Nt(J.buffer),er}var u=typeof e!=\"undefined\"?e:{},c,l;u.ready=new Promise(function(F,B){c=F,l=B});var m;typeof process!=\"undefined\"&&process.listeners&&(m={uncaughtException:process.listeners(\"uncaughtException\"),unhandledRejection:process.listeners(\"unhandledRejection\")});var d=Object.assign({},u),f=[],h=\"./this.program\",g=(F,B)=>{throw B},x=typeof window==\"object\",b=typeof importScripts==\"function\",C=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",w=u.ENVIRONMENT_IS_PTHREAD||!1,k=\"\";function _(F){return u.locateFile?u.locateFile(F,k):k+F}var $,A,R,D;function P(F){if(F instanceof Hi)return;q(\"exiting due to exception: \"+F)}if(C){b?k=Rl().dirname(k)+\"/\":k=__dirname+\"/\";var M,L;typeof bm==\"function\"&&(M=qw(),L=Rl()),$=(B,ne)=>(B=L.normalize(B),M.readFileSync(B,ne?void 0:\"utf8\")),R=B=>{var ne=$(B,!0);return ne.buffer||(ne=new Uint8Array(ne)),ne},A=(B,ne,fe)=>{B=L.normalize(B),M.readFile(B,function(Te,Ze){Te?fe(Te):ne(Ze.buffer)})},process.argv.length>1&&(h=process.argv[1].replace(/\\\\/g,\"/\")),f=process.argv.slice(2),process.on(\"uncaughtException\",function(B){if(!(B instanceof Hi))throw B}),process.on(\"unhandledRejection\",function(B){throw B}),g=(B,ne)=>{if(Fo())throw process.exitCode=B,ne;P(ne),process.exit(B)},u.inspect=function(){return\"[Emscripten Module object]\"};let F;try{F=l3()}catch(B){throw console.error('The \"worker_threads\" module is not supported in this node.js build - perhaps a newer version is needed?'),B}global.Worker=F.Worker}else(x||b)&&(b?k=self.location.href:typeof document!=\"undefined\"&&document.currentScript&&(k=document.currentScript.src),typeof r!=\"undefined\"&&r&&(k=r),k.indexOf(\"blob:\")!==0?k=k.substr(0,k.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):k=\"\",C||($=F=>{var B=new XMLHttpRequest;return B.open(\"GET\",F,!1),B.send(null),B.responseText},b&&(R=F=>{var B=new XMLHttpRequest;return B.open(\"GET\",F,!1),B.responseType=\"arraybuffer\",B.send(null),new Uint8Array(B.response)}),A=(F,B,ne)=>{var fe=new XMLHttpRequest;fe.open(\"GET\",F,!0),fe.responseType=\"arraybuffer\",fe.onload=()=>{if(fe.status==200||fe.status==0&&fe.response){B(fe.response);return}ne()},fe.onerror=ne,fe.send(null)}),D=F=>document.title=F);C&&typeof performance==\"undefined\"&&(global.performance=m3().performance);var W=console.log.bind(console),V=console.warn.bind(console);C&&(W=F=>M.writeSync(1,F+`\n`),V=F=>M.writeSync(2,F+`\n`));var U=u.print||W,q=u.printErr||V;Object.assign(u,d),d=null,u.arguments&&(f=u.arguments),u.thisProgram&&(h=u.thisProgram),u.quit&&(g=u.quit);var H=4,j=Atomics.load,X=Atomics.store,Z=Atomics.compareExchange,ee;u.wasmBinary&&(ee=u.wasmBinary);var Y=u.noExitRuntime||!0;typeof WebAssembly!=\"object\"&&Xu(\"no native wasm support detected\");var J,ie,pe=!1,he;function we(F,B){F||Xu(B)}var ve=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):void 0;function $e(F,B,ne){for(var fe=B+ne,Te=B;F[Te]&&!(Te>=fe);)++Te;if(Te-B>16&&F.buffer&&ve)return ve.decode(F.buffer instanceof SharedArrayBuffer?F.slice(B,Te):F.subarray(B,Te));for(var Ze=\"\";B>10,56320|Qr&1023)}}return Ze}function Le(F,B){return F?$e(o(),F,B):\"\"}function nt(F,B,ne,fe){if(!(fe>0))return 0;for(var Te=ne,Ze=ne+fe-1,Ae=0;Ae=55296&&Pe<=57343){var zt=F.charCodeAt(++Ae);Pe=65536+((Pe&1023)<<10)|zt&1023}if(Pe<=127){if(ne>=Ze)break;B[ne++]=Pe}else if(Pe<=2047){if(ne+1>=Ze)break;B[ne++]=192|Pe>>6,B[ne++]=128|Pe&63}else if(Pe<=65535){if(ne+2>=Ze)break;B[ne++]=224|Pe>>12,B[ne++]=128|Pe>>6&63,B[ne++]=128|Pe&63}else{if(ne+3>=Ze)break;B[ne++]=240|Pe>>18,B[ne++]=128|Pe>>12&63,B[ne++]=128|Pe>>6&63,B[ne++]=128|Pe&63}}return B[ne]=0,ne-Te}function pt(F,B,ne){return nt(F,o(),B,ne)}var Oe,mt,at,ft,wt,Fr,Ot,Kr,er;w&&(Oe=u.buffer);function Nt(F){Oe=F,u.HEAP8=mt=new Int8Array(F),u.HEAP16=ft=new Int16Array(F),u.HEAP32=Fr=new Int32Array(F),u.HEAPU8=at=new Uint8Array(F),u.HEAPU16=wt=new Uint16Array(F),u.HEAPU32=Ot=new Uint32Array(F),u.HEAPF32=Kr=new Float32Array(F),u.HEAPF64=er=new Float64Array(F)}var tr=u.INITIAL_MEMORY||16777216;if(w)J=u.wasmMemory,Oe=u.buffer;else if(u.wasmMemory)J=u.wasmMemory;else if(J=new WebAssembly.Memory({initial:tr/65536,maximum:32768,shared:!0}),!(J.buffer instanceof SharedArrayBuffer))throw q(\"requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag\"),C&&console.log(\"(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)\"),Error(\"bad memory\");J&&(Oe=J.buffer),tr=Oe.byteLength,Nt(Oe);var rr,jr=[],Xr=[],pr=[],Js=!1;function Fo(){return Y}function Ka(){if(u.preRun)for(typeof u.preRun==\"function\"&&(u.preRun=[u.preRun]);u.preRun.length;)Ac(u.preRun.shift());Pc(jr)}function Kt(){Js=!0,!w&&Pc(Xr)}function ea(){if(!w){if(u.postRun)for(typeof u.postRun==\"function\"&&(u.postRun=[u.postRun]);u.postRun.length;)SI(u.postRun.shift());Pc(pr)}}function Ac(F){jr.unshift(F)}function Rc(F){Xr.unshift(F)}function SI(F){pr.unshift(F)}var ja=0,ju=null,ta=null;function wI(F){ja++,u.monitorRunDependencies&&u.monitorRunDependencies(ja)}function II(F){if(ja--,u.monitorRunDependencies&&u.monitorRunDependencies(ja),ja==0&&(ju!==null&&(clearInterval(ju),ju=null),ta)){var B=ta;ta=null,B()}}function Xu(F){w?postMessage({cmd:\"onAbort\",arg:F}):u.onAbort&&u.onAbort(F),F=\"Aborted(\"+F+\")\",q(F),pe=!0,he=1,F+=\". Build with -sASSERTIONS for more info.\";var B=new WebAssembly.RuntimeError(F);throw l(B),B}var Ix=\"data:application/octet-stream;base64,\";function jl(F){return F.startsWith(Ix)}function Fc(F){return F.startsWith(\"file://\")}var fr;fr=\"tfjs-backend-wasm-threaded-simd.wasm\",jl(fr)||(fr=_(fr));function Xl(F){try{if(F==fr&&ee)return new Uint8Array(ee);if(R)return R(F);throw\"both async and sync fetching of the wasm failed\"}catch(B){Xu(B)}}function vx(){if(!ee&&(x||b)){if(typeof fetch==\"function\"&&!Fc(fr))return fetch(fr,{credentials:\"same-origin\"}).then(function(F){if(!F.ok)throw\"failed to load wasm binary file at '\"+fr+\"'\";return F.arrayBuffer()}).catch(function(){return Xl(fr)});if(A)return new Promise(function(F,B){A(fr,function(ne){F(new Uint8Array(ne))},B)})}return Promise.resolve().then(function(){return Xl(fr)})}function kx(){var F={env:im,wasi_snapshot_preview1:im};function B(Ae,Pe){var zt=Ae.exports;if(u.asm=zt,Ox(u.asm._emscripten_tls_init),rr=u.asm.__indirect_function_table,Rc(u.asm.__wasm_call_ctors),ie=Pe,!w){var Qr=De.unusedWorkers.length;De.unusedWorkers.forEach(function(oa){De.loadWasmModuleToWorker(oa,function(){--Qr||II(\"wasm-instantiate\")})})}}w||wI(\"wasm-instantiate\");function ne(Ae){B(Ae.instance,Ae.module)}function fe(Ae){return vx().then(function(Pe){return WebAssembly.instantiate(Pe,F)}).then(function(Pe){return Pe}).then(Ae,function(Pe){q(\"failed to asynchronously prepare wasm: \"+Pe),Xu(Pe)})}function Te(){return!ee&&typeof WebAssembly.instantiateStreaming==\"function\"&&!jl(fr)&&!Fc(fr)&&!C&&typeof fetch==\"function\"?fetch(fr,{credentials:\"same-origin\"}).then(function(Ae){var Pe=WebAssembly.instantiateStreaming(Ae,F);return Pe.then(ne,function(zt){return q(\"wasm streaming compile failed: \"+zt),q(\"falling back to ArrayBuffer instantiation\"),fe(ne)})}):fe(ne)}if(u.instantiateWasm)try{var Ze=u.instantiateWasm(F,B);return Ze}catch(Ae){q(\"Module.instantiateWasm callback failed with error: \"+Ae),l(Ae)}return Te().catch(l),{}}var Nx,vI,Tx={};function Hi(F){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+F+\")\",this.status=F}function _x(F){var B=De.pthreads[F];delete De.pthreads[F],B.terminate(),sb(F),De.runningWorkers.splice(De.runningWorkers.indexOf(B),1),B.pthread_ptr=0}function Ex(F){var B=De.pthreads[F];B.postMessage({cmd:\"cancel\"})}function Dc(F){var B=De.pthreads[F];we(B),De.returnWorkerToPool(B)}function Yl(F){var B=De.getNewWorker();if(!B)return 6;De.runningWorkers.push(B),De.pthreads[F.pthread_ptr]=B,B.pthread_ptr=F.pthread_ptr;var ne={cmd:\"run\",start_routine:F.startRoutine,arg:F.arg,pthread_ptr:F.pthread_ptr};return B.runPthread=()=>{ne.time=performance.now(),B.postMessage(ne,F.transferList)},B.loaded&&(B.runPthread(),delete B.runPthread),0}var Ql={varargs:void 0,get:function(){Ql.varargs+=4;var F=s()[Ql.varargs-4>>2];return F},getStr:function(F){var B=Le(F);return B}};function Oc(F){if(w)return Xa(1,1,F);he=F,Fo()||(De.terminateAllThreads(),u.onExit&&u.onExit(F),pe=!0),g(F,new Hi(F))}function kI(F,B){if(he=F,!B&&w)throw Jl(F),\"unwind\";Oc(F)}var Zl=kI;function $x(F){if(F instanceof Hi||F==\"unwind\")return he;g(1,F)}var De={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){w?De.initWorker():De.initMainThread()},initMainThread:function(){for(var F=8;F--;)De.allocateUnusedWorker()},initWorker:function(){Y=!1},setExitStatus:function(F){he=F},terminateAllThreads:function(){for(var F of Object.values(De.pthreads))De.returnWorkerToPool(F);for(var F of De.unusedWorkers)F.terminate();De.unusedWorkers=[]},returnWorkerToPool:function(F){var B=F.pthread_ptr;delete De.pthreads[B],De.unusedWorkers.push(F),De.runningWorkers.splice(De.runningWorkers.indexOf(F),1),F.pthread_ptr=0,sb(B)},receiveObjectTransfer:function(F){},threadInitTLS:function(){De.tlsInitFunctions.forEach(F=>F())},loadWasmModuleToWorker:function(F,B){F.onmessage=ne=>{var fe=ne.data,Te=fe.cmd;if(F.pthread_ptr&&(De.currentProxiedOperationCallerThread=F.pthread_ptr),fe.targetThread&&fe.targetThread!=dm()){var Ze=De.pthreads[fe.targetThread];Ze?Ze.postMessage(fe,fe.transferList):q('Internal error! Worker sent a message \"'+Te+'\" to target pthread '+fe.targetThread+\", but that thread no longer exists!\"),De.currentProxiedOperationCallerThread=void 0;return}Te===\"processProxyingQueue\"?Mc(fe.queue):Te===\"spawnThread\"?Yl(fe):Te===\"cleanupThread\"?Dc(fe.thread):Te===\"killThread\"?_x(fe.thread):Te===\"cancelThread\"?Ex(fe.thread):Te===\"loaded\"?(F.loaded=!0,B&&B(F),F.runPthread&&(F.runPthread(),delete F.runPthread)):Te===\"print\"?U(\"Thread \"+fe.threadId+\": \"+fe.text):Te===\"printErr\"?q(\"Thread \"+fe.threadId+\": \"+fe.text):Te===\"alert\"?alert(\"Thread \"+fe.threadId+\": \"+fe.text):fe.target===\"setimmediate\"?F.postMessage(fe):Te===\"onAbort\"?u.onAbort&&u.onAbort(fe.arg):Te&&q(\"worker sent an unknown command \"+Te),De.currentProxiedOperationCallerThread=void 0},F.onerror=ne=>{var fe=\"worker sent an error!\";throw q(fe+\" \"+ne.filename+\":\"+ne.lineno+\": \"+ne.message),ne},C&&(F.on(\"message\",function(ne){F.onmessage({data:ne})}),F.on(\"error\",function(ne){F.onerror(ne)}),F.on(\"detachedExit\",function(){})),F.postMessage({cmd:\"load\",urlOrBlob:u.mainScriptUrlOrBlob||r,wasmMemory:J,wasmModule:ie})},allocateUnusedWorker:function(){var F=_(\"tfjs-backend-wasm-threaded-simd.worker.js\");De.unusedWorkers.push(new Worker(F))},getNewWorker:function(){return De.unusedWorkers.length==0&&(De.allocateUnusedWorker(),De.loadWasmModuleToWorker(De.unusedWorkers[0])),De.unusedWorkers.pop()}};u.PThread=De;function Pc(F){for(;F.length>0;)F.shift()(u)}function Ax(F){var B=ab(),ne=F();return fm(B),ne}function NI(F){return F}function TI(F){var B=/\\b_Z[\\w\\d_]+/g;return F.replace(B,function(ne){var fe=ne;return ne===fe?ne:fe+\" [\"+ne+\"]\"})}function Rx(){var F=dm(),B=s()[F+44>>2],ne=s()[F+48>>2],fe=B-ne;DI(B,fe),fm(B)}u.establishStackSpace=Rx;function Jl(F){if(w)return Xa(2,0,F);try{Zl(F)}catch(B){$x(B)}}var Yu=[];function Fx(F){var B=Yu[F];return B||(F>=Yu.length&&(Yu.length=F+1),Yu[F]=B=rr.get(F)),B}function Dx(F,B){var ne=Fx(F)(B);Fo()?De.setExitStatus(ne):FI(ne)}u.invokeEntryPoint=Dx;function _I(){var F=new Error;if(!F.stack){try{throw new Error}catch(B){F=B}if(!F.stack)return\"(no stack trace available)\"}return F.stack.toString()}function Ox(F){De.tlsInitFunctions.push(F)}function Px(F,B){t().set(F,B)}function Mx(F){$I(F,!b,1,!x),De.threadInitTLS()}function Lx(F){w?postMessage({cmd:\"cleanupThread\",thread:F}):Dc(F)}function em(F,B,ne,fe){return w?Xa(3,1,F,B,ne,fe):tm(F,B,ne,fe)}function tm(F,B,ne,fe){if(typeof SharedArrayBuffer==\"undefined\")return q(\"Current environment does not support SharedArrayBuffer, pthreads are not available!\"),6;var Te=[],Ze=0;if(w&&(Te.length===0||Ze))return em(F,B,ne,fe);if(Ze)return Ze;var Ae={startRoutine:ne,pthread_ptr:F,arg:fe,transferList:Te};return w?(Ae.cmd=\"spawnThread\",postMessage(Ae,Te),0):Yl(Ae)}function Bx(){return 2097152}var Vx=!0;function zx(){return Vx}function Mc(F){Atomics.store(s(),F>>2,1),dm()&&RI(F),Atomics.compareExchange(s(),F>>2,1,0)}u.executeNotifiedProxyingQueue=Mc;function Wx(F,B,ne,fe){if(F==B)setTimeout(()=>Mc(fe));else if(w)postMessage({targetThread:F,cmd:\"processProxyingQueue\",queue:fe});else{var Te=De.pthreads[F];if(!Te)return;Te.postMessage({cmd:\"processProxyingQueue\",queue:fe})}return 1}function Ux(F,B,ne){return-1}function Gx(){Xu(\"\")}function qi(F){qi.shown||(qi.shown={}),qi.shown[F]||(qi.shown[F]=1,C&&(F=\"warning: \"+F),q(F))}function Hx(){C||b||qi(\"Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread\")}function qx(){return Date.now()}function rm(){return 2147483648}function Kx(){return rm()}var Qu;C?Qu=()=>{var F=process.hrtime();return F[0]*1e3+F[1]/1e6}:w?Qu=()=>performance.now()-u.__performance_now_clock_drift:Qu=()=>performance.now();function jx(F,B,ne){o().copyWithin(F,B,B+ne)}function Xx(){return C?d3().cpus().length:navigator.hardwareConcurrency}function Xa(F,B){var ne=arguments.length-2,fe=arguments;return Ax(()=>{for(var Te=ne,Ze=hm(Te*8),Ae=Ze>>3,Pe=0;Pe>3,Te=0;Te>>16),Nt(J.buffer),1}catch(B){}}function Zx(F){var B=o().length;if(F=F>>>0,F<=B)return!1;var ne=rm();if(F>ne)return!1;let fe=(zt,Qr)=>zt+(Qr-zt%Qr)%Qr;for(var Te=1;Te<=4;Te*=2){var Ze=B*(1+.2/Te);Ze=Math.min(Ze,F+100663296);var Ae=Math.min(ne,fe(Math.max(F,Ze),65536)),Pe=Qx(Ae);if(Pe)return!0}return!1}function Jx(){throw\"unwind\"}function om(F){return w?Xa(4,1,F):52}function nm(F,B,ne,fe,Te){return w?Xa(5,1,F,B,ne,fe,Te):70}var ey=[null,[],[]];function ty(F,B){var ne=ey[F];B===0||B===10?((F===1?U:q)($e(ne,0)),ne.length=0):ne.push(B)}function sm(F,B,ne,fe){if(w)return Xa(6,1,F,B,ne,fe);for(var Te=0,Ze=0;Ze>2],Pe=a()[B+4>>2];B+=8;for(var zt=0;zt>2]=Te,0}function am(F){var B=u[\"_\"+F];return B}function ry(F,B,ne,fe,Te){var Ze={string:Dr=>{var tp=0;if(Dr!=null&&Dr!==0){var MI=(Dr.length<<2)+1;tp=hm(MI),pt(Dr,tp,MI)}return tp},array:Dr=>{var tp=hm(Dr.length);return Px(Dr,tp),tp}};function Ae(Dr){return B===\"string\"?Le(Dr):B===\"boolean\"?Boolean(Dr):Dr}var Pe=am(F),zt=[],Qr=0;if(fe)for(var oa=0;oaAe===\"number\"||Ae===\"boolean\"),Ze=B!==\"string\";return Ze&&Te&&!fe?am(F):function(){return ry(F,B,ne,arguments,fe)}}De.init();var ny=[null,Oc,Jl,em,om,nm,sm],im={__emscripten_init_main_thread_js:Mx,__emscripten_thread_cleanup:Lx,__pthread_create_js:tm,_emscripten_default_pthread_stack_size:Bx,_emscripten_get_now_is_monotonic:zx,_emscripten_notify_task_queue:Wx,_emscripten_set_offscreencanvas_size:Ux,abort:Gx,emscripten_check_blocking_allowed:Hx,emscripten_date_now:qx,emscripten_get_heap_max:Kx,emscripten_get_now:Qu,emscripten_memcpy_big:jx,emscripten_num_logical_cores:Xx,emscripten_receive_on_main_thread_js:Yx,emscripten_resize_heap:Zx,emscripten_unwind_to_js_event_loop:Jx,exit:Zl,fd_close:om,fd_seek:nm,fd_write:sm,memory:J||u.wasmMemory},EI=kx(),sy=u.___wasm_call_ctors=function(){return(sy=u.___wasm_call_ctors=u.asm.__wasm_call_ctors).apply(null,arguments)},ay=u._init=function(){return(ay=u._init=u.asm.init).apply(null,arguments)},iy=u._init_with_threads_count=function(){return(iy=u._init_with_threads_count=u.asm.init_with_threads_count).apply(null,arguments)},uy=u._get_threads_count=function(){return(uy=u._get_threads_count=u.asm.get_threads_count).apply(null,arguments)},py=u._register_tensor=function(){return(py=u._register_tensor=u.asm.register_tensor).apply(null,arguments)},cy=u._dispose_data=function(){return(cy=u._dispose_data=u.asm.dispose_data).apply(null,arguments)},ly=u._dispose=function(){return(ly=u._dispose=u.asm.dispose).apply(null,arguments)},my=u._Abs=function(){return(my=u._Abs=u.asm.Abs).apply(null,arguments)},dy=u._Add=function(){return(dy=u._Add=u.asm.Add).apply(null,arguments)},fy=u._AddN=function(){return(fy=u._AddN=u.asm.AddN).apply(null,arguments)},hy=u._All=function(){return(hy=u._All=u.asm.All).apply(null,arguments)},gy=u._Any=function(){return(gy=u._Any=u.asm.Any).apply(null,arguments)},xy=u._ArgMax=function(){return(xy=u._ArgMax=u.asm.ArgMax).apply(null,arguments)},yy=u._AvgPool=function(){return(yy=u._AvgPool=u.asm.AvgPool).apply(null,arguments)},by=u._BatchMatMul=function(){return(by=u._BatchMatMul=u.asm.BatchMatMul).apply(null,arguments)},Cy=u._Ceil=function(){return(Cy=u._Ceil=u.asm.Ceil).apply(null,arguments)},Sy=u._ClipByValue=function(){return(Sy=u._ClipByValue=u.asm.ClipByValue).apply(null,arguments)},wy=u._Conv2D=function(){return(wy=u._Conv2D=u.asm.Conv2D).apply(null,arguments)},Iy=u._Conv2DBackpropInput=function(){return(Iy=u._Conv2DBackpropInput=u.asm.Conv2DBackpropInput).apply(null,arguments)},vy=u._Cos=function(){return(vy=u._Cos=u.asm.Cos).apply(null,arguments)},ky=u._Cosh=function(){return(ky=u._Cosh=u.asm.Cosh).apply(null,arguments)},Ny=u._CropAndResize=function(){return(Ny=u._CropAndResize=u.asm.CropAndResize).apply(null,arguments)},Ty=u._Cumprod=function(){return(Ty=u._Cumprod=u.asm.Cumprod).apply(null,arguments)},_y=u._Cumsum=function(){return(_y=u._Cumsum=u.asm.Cumsum).apply(null,arguments)},Ey=u._DepthToSpace=function(){return(Ey=u._DepthToSpace=u.asm.DepthToSpace).apply(null,arguments)},$y=u._DepthwiseConv2dNative=function(){return($y=u._DepthwiseConv2dNative=u.asm.DepthwiseConv2dNative).apply(null,arguments)},Ay=u._Elu=function(){return(Ay=u._Elu=u.asm.Elu).apply(null,arguments)},Ry=u._Equal=function(){return(Ry=u._Equal=u.asm.Equal).apply(null,arguments)},Fy=u._Exp=function(){return(Fy=u._Exp=u.asm.Exp).apply(null,arguments)},Dy=u._FlipLeftRight=function(){return(Dy=u._FlipLeftRight=u.asm.FlipLeftRight).apply(null,arguments)},Oy=u._Floor=function(){return(Oy=u._Floor=u.asm.Floor).apply(null,arguments)},Py=u._FloorDiv=function(){return(Py=u._FloorDiv=u.asm.FloorDiv).apply(null,arguments)},My=u._FusedBatchNorm=function(){return(My=u._FusedBatchNorm=u.asm.FusedBatchNorm).apply(null,arguments)},Ly=u._FusedConv2D=function(){return(Ly=u._FusedConv2D=u.asm.FusedConv2D).apply(null,arguments)},By=u._FusedDepthwiseConv2D=function(){return(By=u._FusedDepthwiseConv2D=u.asm.FusedDepthwiseConv2D).apply(null,arguments)},Vy=u._Gather=function(){return(Vy=u._Gather=u.asm.Gather).apply(null,arguments)},zy=u._GatherNd=function(){return(zy=u._GatherNd=u.asm.GatherNd).apply(null,arguments)},Wy=u._Greater=function(){return(Wy=u._Greater=u.asm.Greater).apply(null,arguments)},Uy=u._GreaterEqual=function(){return(Uy=u._GreaterEqual=u.asm.GreaterEqual).apply(null,arguments)},Gy=u._IsNan=function(){return(Gy=u._IsNan=u.asm.IsNan).apply(null,arguments)},Hy=u._LeakyRelu=function(){return(Hy=u._LeakyRelu=u.asm.LeakyRelu).apply(null,arguments)},qy=u._Less=function(){return(qy=u._Less=u.asm.Less).apply(null,arguments)},Ky=u._LessEqual=function(){return(Ky=u._LessEqual=u.asm.LessEqual).apply(null,arguments)},jy=u._Log=function(){return(jy=u._Log=u.asm.Log).apply(null,arguments)},Xy=u._LogicalAnd=function(){return(Xy=u._LogicalAnd=u.asm.LogicalAnd).apply(null,arguments)},Yy=u._LogicalNot=function(){return(Yy=u._LogicalNot=u.asm.LogicalNot).apply(null,arguments)},Qy=u._LogicalOr=function(){return(Qy=u._LogicalOr=u.asm.LogicalOr).apply(null,arguments)},Zy=u._LogicalXor=function(){return(Zy=u._LogicalXor=u.asm.LogicalXor).apply(null,arguments)},Jy=u._Max=function(){return(Jy=u._Max=u.asm.Max).apply(null,arguments)},eb=u._MaxPool=function(){return(eb=u._MaxPool=u.asm.MaxPool).apply(null,arguments)},um=u._Maximum=function(){return(um=u._Maximum=u.asm.Maximum).apply(null,arguments)},pm=u._Mean=function(){return(pm=u._Mean=u.asm.Mean).apply(null,arguments)},Bc=u._Min=function(){return(Bc=u._Min=u.asm.Min).apply(null,arguments)},tb=u._Minimum=function(){return(tb=u._Minimum=u.asm.Minimum).apply(null,arguments)},rb=u._MirrorPad=function(){return(rb=u._MirrorPad=u.asm.MirrorPad).apply(null,arguments)},Zu=u._Multiply=function(){return(Zu=u._Multiply=u.asm.Multiply).apply(null,arguments)},cm=u._Neg=function(){return(cm=u._Neg=u.asm.Neg).apply(null,arguments)},Ju=u._NonMaxSuppressionV3=function(){return(Ju=u._NonMaxSuppressionV3=u.asm.NonMaxSuppressionV3).apply(null,arguments)},ep=u._NonMaxSuppressionV4=function(){return(ep=u._NonMaxSuppressionV4=u.asm.NonMaxSuppressionV4).apply(null,arguments)},ob=u._NonMaxSuppressionV5=function(){return(ob=u._NonMaxSuppressionV5=u.asm.NonMaxSuppressionV5).apply(null,arguments)},G=u._NotEqual=function(){return(G=u._NotEqual=u.asm.NotEqual).apply(null,arguments)},oe=u._OneHot=function(){return(oe=u._OneHot=u.asm.OneHot).apply(null,arguments)},ke=u._PadV2=function(){return(ke=u._PadV2=u.asm.PadV2).apply(null,arguments)},je=u._Pow=function(){return(je=u._Pow=u.asm.Pow).apply(null,arguments)},Tt=u._Prelu=function(){return(Tt=u._Prelu=u.asm.Prelu).apply(null,arguments)},_t=u._Prod=function(){return(_t=u._Prod=u.asm.Prod).apply(null,arguments)},qe=u._RealDiv=function(){return(qe=u._RealDiv=u.asm.RealDiv).apply(null,arguments)},We=u._Reciprocal=function(){return(We=u._Reciprocal=u.asm.Reciprocal).apply(null,arguments)},Vt=u._Relu=function(){return(Vt=u._Relu=u.asm.Relu).apply(null,arguments)},Yr=u._Relu6=function(){return(Yr=u._Relu6=u.asm.Relu6).apply(null,arguments)},ra=u._ResizeBilinear=function(){return(ra=u._ResizeBilinear=u.asm.ResizeBilinear).apply(null,arguments)},lm=u._ResizeNearestNeighbor=function(){return(lm=u._ResizeNearestNeighbor=u.asm.ResizeNearestNeighbor).apply(null,arguments)},Vc=u._Reverse=function(){return(Vc=u._Reverse=u.asm.Reverse).apply(null,arguments)},nb=u._RotateWithOffset=function(){return(nb=u._RotateWithOffset=u.asm.RotateWithOffset).apply(null,arguments)},hr=u._Round=function(){return(hr=u._Round=u.asm.Round).apply(null,arguments)},Ya=u._Rsqrt=function(){return(Ya=u._Rsqrt=u.asm.Rsqrt).apply(null,arguments)},mm=u._ScatterNd=function(){return(mm=u._ScatterNd=u.asm.ScatterNd).apply(null,arguments)},BB=u._SelectV2=function(){return(BB=u._SelectV2=u.asm.SelectV2).apply(null,arguments)},VB=u._Sigmoid=function(){return(VB=u._Sigmoid=u.asm.Sigmoid).apply(null,arguments)},zB=u._Sin=function(){return(zB=u._Sin=u.asm.Sin).apply(null,arguments)},WB=u._Softmax=function(){return(WB=u._Softmax=u.asm.Softmax).apply(null,arguments)},UB=u._SparseFillEmptyRows=function(){return(UB=u._SparseFillEmptyRows=u.asm.SparseFillEmptyRows).apply(null,arguments)},GB=u._SparseReshape=function(){return(GB=u._SparseReshape=u.asm.SparseReshape).apply(null,arguments)},HB=u._SparseSegmentReduction=function(){return(HB=u._SparseSegmentReduction=u.asm.SparseSegmentReduction).apply(null,arguments)},qB=u._Sqrt=function(){return(qB=u._Sqrt=u.asm.Sqrt).apply(null,arguments)},KB=u._Square=function(){return(KB=u._Square=u.asm.Square).apply(null,arguments)},jB=u._SquaredDifference=function(){return(jB=u._SquaredDifference=u.asm.SquaredDifference).apply(null,arguments)},XB=u._Step=function(){return(XB=u._Step=u.asm.Step).apply(null,arguments)},YB=u._StridedSlice=function(){return(YB=u._StridedSlice=u.asm.StridedSlice).apply(null,arguments)},QB=u._Sub=function(){return(QB=u._Sub=u.asm.Sub).apply(null,arguments)},ZB=u._Sum=function(){return(ZB=u._Sum=u.asm.Sum).apply(null,arguments)},JB=u._Tan=function(){return(JB=u._Tan=u.asm.Tan).apply(null,arguments)},eV=u._Tanh=function(){return(eV=u._Tanh=u.asm.Tanh).apply(null,arguments)},tV=u._Tile=function(){return(tV=u._Tile=u.asm.Tile).apply(null,arguments)},rV=u._TopK=function(){return(rV=u._TopK=u.asm.TopK).apply(null,arguments)},oV=u._Transform=function(){return(oV=u._Transform=u.asm.Transform).apply(null,arguments)},nV=u._Transpose=function(){return(nV=u._Transpose=u.asm.Transpose).apply(null,arguments)},sV=u.__FusedMatMul=function(){return(sV=u.__FusedMatMul=u.asm._FusedMatMul).apply(null,arguments)},aV=u._malloc=function(){return(aV=u._malloc=u.asm.malloc).apply(null,arguments)},iV=u._free=function(){return(iV=u._free=u.asm.free).apply(null,arguments)},uV=u.__emscripten_tls_init=function(){return(uV=u.__emscripten_tls_init=u.asm._emscripten_tls_init).apply(null,arguments)},dm=u._pthread_self=function(){return(dm=u._pthread_self=u.asm.pthread_self).apply(null,arguments)},pV=u.___errno_location=function(){return(pV=u.___errno_location=u.asm.__errno_location).apply(null,arguments)},$I=u.__emscripten_thread_init=function(){return($I=u.__emscripten_thread_init=u.asm._emscripten_thread_init).apply(null,arguments)},cV=u.__emscripten_thread_crashed=function(){return(cV=u.__emscripten_thread_crashed=u.asm._emscripten_thread_crashed).apply(null,arguments)},lV=u._emscripten_main_thread_process_queued_calls=function(){return(lV=u._emscripten_main_thread_process_queued_calls=u.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)},mV=u._emscripten_main_browser_thread_id=function(){return(mV=u._emscripten_main_browser_thread_id=u.asm.emscripten_main_browser_thread_id).apply(null,arguments)},AI=u._emscripten_run_in_main_runtime_thread_js=function(){return(AI=u._emscripten_run_in_main_runtime_thread_js=u.asm.emscripten_run_in_main_runtime_thread_js).apply(null,arguments)},dV=u._emscripten_dispatch_to_thread_=function(){return(dV=u._emscripten_dispatch_to_thread_=u.asm.emscripten_dispatch_to_thread_).apply(null,arguments)},RI=u.__emscripten_proxy_execute_task_queue=function(){return(RI=u.__emscripten_proxy_execute_task_queue=u.asm._emscripten_proxy_execute_task_queue).apply(null,arguments)},sb=u.__emscripten_thread_free_data=function(){return(sb=u.__emscripten_thread_free_data=u.asm._emscripten_thread_free_data).apply(null,arguments)},FI=u.__emscripten_thread_exit=function(){return(FI=u.__emscripten_thread_exit=u.asm._emscripten_thread_exit).apply(null,arguments)},DI=u._emscripten_stack_set_limits=function(){return(DI=u._emscripten_stack_set_limits=u.asm.emscripten_stack_set_limits).apply(null,arguments)},ab=u.stackSave=function(){return(ab=u.stackSave=u.asm.stackSave).apply(null,arguments)},fm=u.stackRestore=function(){return(fm=u.stackRestore=u.asm.stackRestore).apply(null,arguments)},hm=u.stackAlloc=function(){return(hm=u.stackAlloc=u.asm.stackAlloc).apply(null,arguments)},fV=u.dynCall_iijjiiii=function(){return(fV=u.dynCall_iijjiiii=u.asm.dynCall_iijjiiii).apply(null,arguments)},hV=u.dynCall_jiji=function(){return(hV=u.dynCall_jiji=u.asm.dynCall_jiji).apply(null,arguments)};u.keepRuntimeAlive=Fo,u.wasmMemory=J,u.cwrap=oy,u.ExitStatus=Hi,u.PThread=De;var gm;ta=function F(){gm||OI(),gm||(ta=F)};function OI(F){if(F=F||f,ja>0)return;if(w){c(u),Kt(),postMessage({cmd:\"loaded\"});return}if(Ka(),ja>0)return;function B(){gm||(gm=!0,u.calledRun=!0,!pe&&(Kt(),c(u),u.onRuntimeInitialized&&u.onRuntimeInitialized(),ea()))}u.setStatus?(u.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){u.setStatus(\"\")},1),B()},1)):B()}if(u.preInit)for(typeof u.preInit==\"function\"&&(u.preInit=[u.preInit]);u.preInit.length>0;)u.preInit.pop()();OI();var xm;m&&(xm={uncaughtException:process.listeners(\"uncaughtException\").filter(function(F){return!m.uncaughtException.indexOf(F)>-1}),unhandledRejection:process.listeners(\"unhandledRejection\").filter(function(F){return!m.unhandledRejection.indexOf(F)>-1})});var ym;if(typeof WasmBackendModule!=\"undefined\")ym=WasmBackendModule;else if(typeof e!=\"undefined\")ym=e;else throw new Error(\"Could not find wasm module in post.js\");if(xm){var gV=ym._dispose;ym._dispose=function(){gV(),xm.uncaughtException.forEach(function(F){process.removeListener(\"uncaughtException\",F)}),xm.unhandledRejection.forEach(function(F){process.removeListener(\"unhandledRejection\",F)})}}return e.ready}})();typeof wg==\"object\"&&typeof jw==\"object\"?jw.exports=Kw:typeof define==\"function\"&&define.amd?define([],function(){return Kw}):typeof wg==\"object\"&&(wg.WasmBackendModuleThreadedSimd=Kw)});var g3=qt((kkt,h3)=>{h3.exports.wasmWorkerContents=`\"use strict\";var Module={};var ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require(\"worker_threads\");var parentPort=nodeWorkerThreads.parentPort;parentPort.on(\"message\",data=>onmessage({data:data}));var fs=require(\"fs\");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(fs.readFileSync(f,\"utf8\"))},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}var initializedJS=false;var pendingNotifiedProxyingQueues=[];function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(\" \");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+\"\n\");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(\" \");postMessage({cmd:\"alert\",text:text,threadId:Module[\"_pthread_self\"]()})}var err=threadPrintErr;self.alert=threadAlert;Module[\"instantiateWasm\"]=(info,receiveInstance)=>{var instance=new WebAssembly.Instance(Module[\"wasmModule\"],info);receiveInstance(instance);Module[\"wasmModule\"]=null;return instance.exports};self.onunhandledrejection=e=>{throw e.reason??e};self.onmessage=e=>{try{if(e.data.cmd===\"load\"){Module[\"wasmModule\"]=e.data.wasmModule;Module[\"wasmMemory\"]=e.data.wasmMemory;Module[\"buffer\"]=Module[\"wasmMemory\"].buffer;Module[\"ENVIRONMENT_IS_PTHREAD\"]=true;if(typeof e.data.urlOrBlob==\"string\"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}WasmBackendModuleThreadedSimd(Module).then(function(instance){Module=instance})}else if(e.data.cmd===\"run\"){Module[\"__performance_now_clock_drift\"]=performance.now()-e.data.time;Module[\"__emscripten_thread_init\"](e.data.pthread_ptr,0,0,1);Module[\"establishStackSpace\"]();Module[\"PThread\"].receiveObjectTransfer(e.data);Module[\"PThread\"].threadInitTLS();if(!initializedJS){pendingNotifiedProxyingQueues.forEach(queue=>{Module[\"executeNotifiedProxyingQueue\"](queue)});pendingNotifiedProxyingQueues=[];initializedJS=true}try{Module[\"invokeEntryPoint\"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!=\"unwind\"){if(ex instanceof Module[\"ExitStatus\"]){if(Module[\"keepRuntimeAlive\"]()){}else{Module[\"__emscripten_thread_exit\"](ex.status)}}else{throw ex}}}}else if(e.data.cmd===\"cancel\"){if(Module[\"_pthread_self\"]()){Module[\"__emscripten_thread_exit\"](-1)}}else if(e.data.target===\"setimmediate\"){}else if(e.data.cmd===\"processProxyingQueue\"){if(initializedJS){Module[\"executeNotifiedProxyingQueue\"](e.data.queue)}else{pendingNotifiedProxyingQueues.push(e.data.queue)}}else if(e.data.cmd){err(\"worker.js received unknown command \"+e.data.cmd);err(e.data)}}catch(ex){if(Module[\"__emscripten_thread_crashed\"]){Module[\"__emscripten_thread_crashed\"]()}throw ex}};`});var x3=qt((Ig,Yw)=>{var Xw=(()=>{var r=typeof document!=\"undefined\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!=\"undefined\"&&(r=r||__filename),function(e){e=e||{};var t=typeof e!=\"undefined\"?e:{},o,n;t.ready=new Promise(function(G,oe){o=G,n=oe});var s;typeof process!=\"undefined\"&&process.listeners&&(s={uncaughtException:process.listeners(\"uncaughtException\"),unhandledRejection:process.listeners(\"unhandledRejection\")});var a=Object.assign({},t),i=[],p=\"./this.program\",u=(G,oe)=>{throw oe},c=typeof window==\"object\",l=typeof importScripts==\"function\",m=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",d=\"\";function f(G){return t.locateFile?t.locateFile(G,d):d+G}var h,g,x,b;function C(G){if(G instanceof ju)return;$(\"exiting due to exception: \"+G)}if(m){l?d=Rl().dirname(d)+\"/\":d=__dirname+\"/\";var w,k;typeof bm==\"function\"&&(w=qw(),k=Rl()),h=(G,oe)=>(G=k.normalize(G),w.readFileSync(G,oe?void 0:\"utf8\")),x=G=>{var oe=h(G,!0);return oe.buffer||(oe=new Uint8Array(oe)),oe},g=(G,oe,ke)=>{G=k.normalize(G),w.readFile(G,function(je,Tt){je?ke(je):oe(Tt.buffer)})},process.argv.length>1&&(p=process.argv[1].replace(/\\\\/g,\"/\")),i=process.argv.slice(2),process.on(\"uncaughtException\",function(G){if(!(G instanceof ju))throw G}),process.on(\"unhandledRejection\",function(G){throw G}),u=(G,oe)=>{if(at())throw process.exitCode=G,oe;C(oe),process.exit(G)},t.inspect=function(){return\"[Emscripten Module object]\"}}else(c||l)&&(l?d=self.location.href:typeof document!=\"undefined\"&&document.currentScript&&(d=document.currentScript.src),r&&(d=r),d.indexOf(\"blob:\")!==0?d=d.substr(0,d.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):d=\"\",h=G=>{var oe=new XMLHttpRequest;return oe.open(\"GET\",G,!1),oe.send(null),oe.responseText},l&&(x=G=>{var oe=new XMLHttpRequest;return oe.open(\"GET\",G,!1),oe.responseType=\"arraybuffer\",oe.send(null),new Uint8Array(oe.response)}),g=(G,oe,ke)=>{var je=new XMLHttpRequest;je.open(\"GET\",G,!0),je.responseType=\"arraybuffer\",je.onload=()=>{if(je.status==200||je.status==0&&je.response){oe(je.response);return}ke()},je.onerror=ke,je.send(null)},b=G=>document.title=G);var _=t.print||console.log.bind(console),$=t.printErr||console.warn.bind(console);Object.assign(t,a),a=null,t.arguments&&(i=t.arguments),t.thisProgram&&(p=t.thisProgram),t.quit&&(u=t.quit);var A=4,R;t.wasmBinary&&(R=t.wasmBinary);var D=t.noExitRuntime||!0;typeof WebAssembly!=\"object\"&&pr(\"no native wasm support detected\");var P,M=!1,L;function W(G,oe){G||pr(oe)}var V=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):void 0;function U(G,oe,ke){for(var je=oe+ke,Tt=oe;G[Tt]&&!(Tt>=je);)++Tt;if(Tt-oe>16&&G.buffer&&V)return V.decode(G.subarray(oe,Tt));for(var _t=\"\";oe>10,56320|Yr&1023)}}return _t}function q(G,oe){return G?U(ee,G,oe):\"\"}function H(G,oe,ke,je){if(!(je>0))return 0;for(var Tt=ke,_t=ke+je-1,qe=0;qe=55296&&We<=57343){var Vt=G.charCodeAt(++qe);We=65536+((We&1023)<<10)|Vt&1023}if(We<=127){if(ke>=_t)break;oe[ke++]=We}else if(We<=2047){if(ke+1>=_t)break;oe[ke++]=192|We>>6,oe[ke++]=128|We&63}else if(We<=65535){if(ke+2>=_t)break;oe[ke++]=224|We>>12,oe[ke++]=128|We>>6&63,oe[ke++]=128|We&63}else{if(ke+3>=_t)break;oe[ke++]=240|We>>18,oe[ke++]=128|We>>12&63,oe[ke++]=128|We>>6&63,oe[ke++]=128|We&63}}return oe[ke]=0,ke-Tt}function j(G,oe,ke){return H(G,ee,oe,ke)}var X,Z,ee,Y,J,ie,pe,he,we;function ve(G){X=G,t.HEAP8=Z=new Int8Array(G),t.HEAP16=Y=new Int16Array(G),t.HEAP32=ie=new Int32Array(G),t.HEAPU8=ee=new Uint8Array(G),t.HEAPU16=J=new Uint16Array(G),t.HEAPU32=pe=new Uint32Array(G),t.HEAPF32=he=new Float32Array(G),t.HEAPF64=we=new Float64Array(G)}var $e=t.INITIAL_MEMORY||16777216,Le,nt=[],pt=[],Oe=[],mt=!1;function at(){return D}function ft(){if(t.preRun)for(typeof t.preRun==\"function\"&&(t.preRun=[t.preRun]);t.preRun.length;)Ot(t.preRun.shift());ta(nt)}function wt(){mt=!0,ta(pt)}function Fr(){if(t.postRun)for(typeof t.postRun==\"function\"&&(t.postRun=[t.postRun]);t.postRun.length;)er(t.postRun.shift());ta(Oe)}function Ot(G){nt.unshift(G)}function Kr(G){pt.unshift(G)}function er(G){Oe.unshift(G)}var Nt=0,tr=null,rr=null;function jr(G){Nt++,t.monitorRunDependencies&&t.monitorRunDependencies(Nt)}function Xr(G){if(Nt--,t.monitorRunDependencies&&t.monitorRunDependencies(Nt),Nt==0&&(tr!==null&&(clearInterval(tr),tr=null),rr)){var oe=rr;rr=null,oe()}}function pr(G){t.onAbort&&t.onAbort(G),G=\"Aborted(\"+G+\")\",$(G),M=!0,L=1,G+=\". Build with -sASSERTIONS for more info.\";var oe=new WebAssembly.RuntimeError(G);throw n(oe),oe}var Js=\"data:application/octet-stream;base64,\";function Fo(G){return G.startsWith(Js)}function Ka(G){return G.startsWith(\"file://\")}var Kt;Kt=\"tfjs-backend-wasm.wasm\",Fo(Kt)||(Kt=f(Kt));function ea(G){try{if(G==Kt&&R)return new Uint8Array(R);if(x)return x(G);throw\"both async and sync fetching of the wasm failed\"}catch(oe){pr(oe)}}function Ac(){if(!R&&(c||l)){if(typeof fetch==\"function\"&&!Ka(Kt))return fetch(Kt,{credentials:\"same-origin\"}).then(function(G){if(!G.ok)throw\"failed to load wasm binary file at '\"+Kt+\"'\";return G.arrayBuffer()}).catch(function(){return ea(Kt)});if(g)return new Promise(function(G,oe){g(Kt,function(ke){G(new Uint8Array(ke))},oe)})}return Promise.resolve().then(function(){return ea(Kt)})}function Rc(){var G={env:Oc,wasi_snapshot_preview1:Oc};function oe(qe,We){var Vt=qe.exports;t.asm=Vt,P=t.asm.memory,ve(P.buffer),Le=t.asm.__indirect_function_table,Kr(t.asm.__wasm_call_ctors),Xr(\"wasm-instantiate\")}jr(\"wasm-instantiate\");function ke(qe){oe(qe.instance)}function je(qe){return Ac().then(function(We){return WebAssembly.instantiate(We,G)}).then(function(We){return We}).then(qe,function(We){$(\"failed to asynchronously prepare wasm: \"+We),pr(We)})}function Tt(){return!R&&typeof WebAssembly.instantiateStreaming==\"function\"&&!Fo(Kt)&&!Ka(Kt)&&!m&&typeof fetch==\"function\"?fetch(Kt,{credentials:\"same-origin\"}).then(function(qe){var We=WebAssembly.instantiateStreaming(qe,G);return We.then(ke,function(Vt){return $(\"wasm streaming compile failed: \"+Vt),$(\"falling back to ArrayBuffer instantiation\"),je(ke)})}):je(ke)}if(t.instantiateWasm)try{var _t=t.instantiateWasm(G,oe);return _t}catch(qe){$(\"Module.instantiateWasm callback failed with error: \"+qe),n(qe)}return Tt().catch(n),{}}var SI,ja;function ju(G){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+G+\")\",this.status=G}function ta(G){for(;G.length>0;)G.shift()(t)}function wI(G){return G}function II(G){var oe=/\\b_Z[\\w\\d_]+/g;return G.replace(oe,function(ke){var je=ke;return ke===je?ke:je+\" [\"+ke+\"]\"})}function Xu(){var G=new Error;if(!G.stack){try{throw new Error}catch(oe){G=oe}if(!G.stack)return\"(no stack trace available)\"}return G.stack.toString()}function Ix(G,oe){Z.set(G,oe)}function jl(){pr(\"\")}function Fc(){return 2147483648}function fr(){return Fc()}function Xl(G,oe,ke){ee.copyWithin(G,oe,oe+ke)}function vx(G){try{return P.grow(G-X.byteLength+65535>>>16),ve(P.buffer),1}catch(oe){}}function kx(G){var oe=ee.length;G=G>>>0;var ke=Fc();if(G>ke)return!1;let je=(Vt,Yr)=>Vt+(Yr-Vt%Yr)%Yr;for(var Tt=1;Tt<=4;Tt*=2){var _t=oe*(1+.2/Tt);_t=Math.min(_t,G+100663296);var qe=Math.min(ke,je(Math.max(G,_t),65536)),We=vx(qe);if(We)return!0}return!1}var Nx={varargs:void 0,get:function(){Nx.varargs+=4;var G=ie[Nx.varargs-4>>2];return G},getStr:function(G){var oe=q(G);return oe}};function vI(G){return 52}function Tx(G,oe,ke,je,Tt){return 70}var Hi=[null,[],[]];function _x(G,oe){var ke=Hi[G];oe===0||oe===10?((G===1?_:$)(U(ke,0)),ke.length=0):ke.push(oe)}function Ex(G,oe,ke,je){for(var Tt=0,_t=0;_t>2],We=pe[oe+4>>2];oe+=8;for(var Vt=0;Vt>2]=Tt,0}function Dc(G){var oe=t[\"_\"+G];return oe}function Yl(G,oe,ke,je,Tt){var _t={string:hr=>{var Ya=0;if(hr!=null&&hr!==0){var mm=(hr.length<<2)+1;Ya=Bc(mm),j(hr,Ya,mm)}return Ya},array:hr=>{var Ya=Bc(hr.length);return Ix(hr,Ya),Ya}};function qe(hr){return oe===\"string\"?q(hr):oe===\"boolean\"?Boolean(hr):hr}var We=Dc(G),Vt=[],Yr=0;if(je)for(var ra=0;raqe===\"number\"||qe===\"boolean\"),_t=oe!==\"string\";return _t&&Tt&&!je?Dc(G):function(){return Yl(G,oe,ke,arguments,je)}}var Oc={abort:jl,emscripten_get_heap_max:fr,emscripten_memcpy_big:Xl,emscripten_resize_heap:kx,fd_close:vI,fd_seek:Tx,fd_write:Ex},kI=Rc(),Zl=t.___wasm_call_ctors=function(){return(Zl=t.___wasm_call_ctors=t.asm.__wasm_call_ctors).apply(null,arguments)},$x=t._init=function(){return($x=t._init=t.asm.init).apply(null,arguments)},De=t._init_with_threads_count=function(){return(De=t._init_with_threads_count=t.asm.init_with_threads_count).apply(null,arguments)},Pc=t._get_threads_count=function(){return(Pc=t._get_threads_count=t.asm.get_threads_count).apply(null,arguments)},Ax=t._register_tensor=function(){return(Ax=t._register_tensor=t.asm.register_tensor).apply(null,arguments)},NI=t._dispose_data=function(){return(NI=t._dispose_data=t.asm.dispose_data).apply(null,arguments)},TI=t._dispose=function(){return(TI=t._dispose=t.asm.dispose).apply(null,arguments)},Rx=t._Abs=function(){return(Rx=t._Abs=t.asm.Abs).apply(null,arguments)},Jl=t._Add=function(){return(Jl=t._Add=t.asm.Add).apply(null,arguments)},Yu=t._AddN=function(){return(Yu=t._AddN=t.asm.AddN).apply(null,arguments)},Fx=t._All=function(){return(Fx=t._All=t.asm.All).apply(null,arguments)},Dx=t._Any=function(){return(Dx=t._Any=t.asm.Any).apply(null,arguments)},_I=t._ArgMax=function(){return(_I=t._ArgMax=t.asm.ArgMax).apply(null,arguments)},Ox=t._AvgPool=function(){return(Ox=t._AvgPool=t.asm.AvgPool).apply(null,arguments)},Px=t._BatchMatMul=function(){return(Px=t._BatchMatMul=t.asm.BatchMatMul).apply(null,arguments)},Mx=t._Ceil=function(){return(Mx=t._Ceil=t.asm.Ceil).apply(null,arguments)},Lx=t._ClipByValue=function(){return(Lx=t._ClipByValue=t.asm.ClipByValue).apply(null,arguments)},em=t._Conv2D=function(){return(em=t._Conv2D=t.asm.Conv2D).apply(null,arguments)},tm=t._Conv2DBackpropInput=function(){return(tm=t._Conv2DBackpropInput=t.asm.Conv2DBackpropInput).apply(null,arguments)},Bx=t._Cos=function(){return(Bx=t._Cos=t.asm.Cos).apply(null,arguments)},Vx=t._Cosh=function(){return(Vx=t._Cosh=t.asm.Cosh).apply(null,arguments)},zx=t._CropAndResize=function(){return(zx=t._CropAndResize=t.asm.CropAndResize).apply(null,arguments)},Mc=t._Cumprod=function(){return(Mc=t._Cumprod=t.asm.Cumprod).apply(null,arguments)},Wx=t._Cumsum=function(){return(Wx=t._Cumsum=t.asm.Cumsum).apply(null,arguments)},Ux=t._DepthToSpace=function(){return(Ux=t._DepthToSpace=t.asm.DepthToSpace).apply(null,arguments)},Gx=t._DepthwiseConv2dNative=function(){return(Gx=t._DepthwiseConv2dNative=t.asm.DepthwiseConv2dNative).apply(null,arguments)},qi=t._Elu=function(){return(qi=t._Elu=t.asm.Elu).apply(null,arguments)},Hx=t._Equal=function(){return(Hx=t._Equal=t.asm.Equal).apply(null,arguments)},qx=t._Exp=function(){return(qx=t._Exp=t.asm.Exp).apply(null,arguments)},rm=t._FlipLeftRight=function(){return(rm=t._FlipLeftRight=t.asm.FlipLeftRight).apply(null,arguments)},Kx=t._Floor=function(){return(Kx=t._Floor=t.asm.Floor).apply(null,arguments)},Qu=t._FloorDiv=function(){return(Qu=t._FloorDiv=t.asm.FloorDiv).apply(null,arguments)},jx=t._FusedBatchNorm=function(){return(jx=t._FusedBatchNorm=t.asm.FusedBatchNorm).apply(null,arguments)},Xx=t._FusedConv2D=function(){return(Xx=t._FusedConv2D=t.asm.FusedConv2D).apply(null,arguments)},Xa=t._FusedDepthwiseConv2D=function(){return(Xa=t._FusedDepthwiseConv2D=t.asm.FusedDepthwiseConv2D).apply(null,arguments)},Lc=t._Gather=function(){return(Lc=t._Gather=t.asm.Gather).apply(null,arguments)},Yx=t._GatherNd=function(){return(Yx=t._GatherNd=t.asm.GatherNd).apply(null,arguments)},Qx=t._Greater=function(){return(Qx=t._Greater=t.asm.Greater).apply(null,arguments)},Zx=t._GreaterEqual=function(){return(Zx=t._GreaterEqual=t.asm.GreaterEqual).apply(null,arguments)},Jx=t._IsNan=function(){return(Jx=t._IsNan=t.asm.IsNan).apply(null,arguments)},om=t._LeakyRelu=function(){return(om=t._LeakyRelu=t.asm.LeakyRelu).apply(null,arguments)},nm=t._Less=function(){return(nm=t._Less=t.asm.Less).apply(null,arguments)},ey=t._LessEqual=function(){return(ey=t._LessEqual=t.asm.LessEqual).apply(null,arguments)},ty=t._Log=function(){return(ty=t._Log=t.asm.Log).apply(null,arguments)},sm=t._LogicalAnd=function(){return(sm=t._LogicalAnd=t.asm.LogicalAnd).apply(null,arguments)},am=t._LogicalNot=function(){return(am=t._LogicalNot=t.asm.LogicalNot).apply(null,arguments)},ry=t._LogicalOr=function(){return(ry=t._LogicalOr=t.asm.LogicalOr).apply(null,arguments)},oy=t._LogicalXor=function(){return(oy=t._LogicalXor=t.asm.LogicalXor).apply(null,arguments)},ny=t._Max=function(){return(ny=t._Max=t.asm.Max).apply(null,arguments)},im=t._MaxPool=function(){return(im=t._MaxPool=t.asm.MaxPool).apply(null,arguments)},EI=t._Maximum=function(){return(EI=t._Maximum=t.asm.Maximum).apply(null,arguments)},sy=t._Mean=function(){return(sy=t._Mean=t.asm.Mean).apply(null,arguments)},ay=t._Min=function(){return(ay=t._Min=t.asm.Min).apply(null,arguments)},iy=t._Minimum=function(){return(iy=t._Minimum=t.asm.Minimum).apply(null,arguments)},uy=t._MirrorPad=function(){return(uy=t._MirrorPad=t.asm.MirrorPad).apply(null,arguments)},py=t._Multiply=function(){return(py=t._Multiply=t.asm.Multiply).apply(null,arguments)},cy=t._Neg=function(){return(cy=t._Neg=t.asm.Neg).apply(null,arguments)},ly=t._NonMaxSuppressionV3=function(){return(ly=t._NonMaxSuppressionV3=t.asm.NonMaxSuppressionV3).apply(null,arguments)},my=t._NonMaxSuppressionV4=function(){return(my=t._NonMaxSuppressionV4=t.asm.NonMaxSuppressionV4).apply(null,arguments)},dy=t._NonMaxSuppressionV5=function(){return(dy=t._NonMaxSuppressionV5=t.asm.NonMaxSuppressionV5).apply(null,arguments)},fy=t._NotEqual=function(){return(fy=t._NotEqual=t.asm.NotEqual).apply(null,arguments)},hy=t._OneHot=function(){return(hy=t._OneHot=t.asm.OneHot).apply(null,arguments)},gy=t._PadV2=function(){return(gy=t._PadV2=t.asm.PadV2).apply(null,arguments)},xy=t._Pow=function(){return(xy=t._Pow=t.asm.Pow).apply(null,arguments)},yy=t._Prelu=function(){return(yy=t._Prelu=t.asm.Prelu).apply(null,arguments)},by=t._Prod=function(){return(by=t._Prod=t.asm.Prod).apply(null,arguments)},Cy=t._RealDiv=function(){return(Cy=t._RealDiv=t.asm.RealDiv).apply(null,arguments)},Sy=t._Reciprocal=function(){return(Sy=t._Reciprocal=t.asm.Reciprocal).apply(null,arguments)},wy=t._Relu=function(){return(wy=t._Relu=t.asm.Relu).apply(null,arguments)},Iy=t._Relu6=function(){return(Iy=t._Relu6=t.asm.Relu6).apply(null,arguments)},vy=t._ResizeBilinear=function(){return(vy=t._ResizeBilinear=t.asm.ResizeBilinear).apply(null,arguments)},ky=t._ResizeNearestNeighbor=function(){return(ky=t._ResizeNearestNeighbor=t.asm.ResizeNearestNeighbor).apply(null,arguments)},Ny=t._Reverse=function(){return(Ny=t._Reverse=t.asm.Reverse).apply(null,arguments)},Ty=t._RotateWithOffset=function(){return(Ty=t._RotateWithOffset=t.asm.RotateWithOffset).apply(null,arguments)},_y=t._Round=function(){return(_y=t._Round=t.asm.Round).apply(null,arguments)},Ey=t._Rsqrt=function(){return(Ey=t._Rsqrt=t.asm.Rsqrt).apply(null,arguments)},$y=t._ScatterNd=function(){return($y=t._ScatterNd=t.asm.ScatterNd).apply(null,arguments)},Ay=t._SelectV2=function(){return(Ay=t._SelectV2=t.asm.SelectV2).apply(null,arguments)},Ry=t._Sigmoid=function(){return(Ry=t._Sigmoid=t.asm.Sigmoid).apply(null,arguments)},Fy=t._Sin=function(){return(Fy=t._Sin=t.asm.Sin).apply(null,arguments)},Dy=t._Softmax=function(){return(Dy=t._Softmax=t.asm.Softmax).apply(null,arguments)},Oy=t._SparseFillEmptyRows=function(){return(Oy=t._SparseFillEmptyRows=t.asm.SparseFillEmptyRows).apply(null,arguments)},Py=t._SparseReshape=function(){return(Py=t._SparseReshape=t.asm.SparseReshape).apply(null,arguments)},My=t._SparseSegmentReduction=function(){return(My=t._SparseSegmentReduction=t.asm.SparseSegmentReduction).apply(null,arguments)},Ly=t._Sqrt=function(){return(Ly=t._Sqrt=t.asm.Sqrt).apply(null,arguments)},By=t._Square=function(){return(By=t._Square=t.asm.Square).apply(null,arguments)},Vy=t._SquaredDifference=function(){return(Vy=t._SquaredDifference=t.asm.SquaredDifference).apply(null,arguments)},zy=t._Step=function(){return(zy=t._Step=t.asm.Step).apply(null,arguments)},Wy=t._StridedSlice=function(){return(Wy=t._StridedSlice=t.asm.StridedSlice).apply(null,arguments)},Uy=t._Sub=function(){return(Uy=t._Sub=t.asm.Sub).apply(null,arguments)},Gy=t._Sum=function(){return(Gy=t._Sum=t.asm.Sum).apply(null,arguments)},Hy=t._Tan=function(){return(Hy=t._Tan=t.asm.Tan).apply(null,arguments)},qy=t._Tanh=function(){return(qy=t._Tanh=t.asm.Tanh).apply(null,arguments)},Ky=t._Tile=function(){return(Ky=t._Tile=t.asm.Tile).apply(null,arguments)},jy=t._TopK=function(){return(jy=t._TopK=t.asm.TopK).apply(null,arguments)},Xy=t._Transform=function(){return(Xy=t._Transform=t.asm.Transform).apply(null,arguments)},Yy=t._Transpose=function(){return(Yy=t._Transpose=t.asm.Transpose).apply(null,arguments)},Qy=t.__FusedMatMul=function(){return(Qy=t.__FusedMatMul=t.asm._FusedMatMul).apply(null,arguments)},Zy=t._malloc=function(){return(Zy=t._malloc=t.asm.malloc).apply(null,arguments)},Jy=t._free=function(){return(Jy=t._free=t.asm.free).apply(null,arguments)},eb=t.___errno_location=function(){return(eb=t.___errno_location=t.asm.__errno_location).apply(null,arguments)},um=t.stackSave=function(){return(um=t.stackSave=t.asm.stackSave).apply(null,arguments)},pm=t.stackRestore=function(){return(pm=t.stackRestore=t.asm.stackRestore).apply(null,arguments)},Bc=t.stackAlloc=function(){return(Bc=t.stackAlloc=t.asm.stackAlloc).apply(null,arguments)},tb=t.dynCall_iijjiiii=function(){return(tb=t.dynCall_iijjiiii=t.asm.dynCall_iijjiiii).apply(null,arguments)},rb=t.dynCall_jiji=function(){return(rb=t.dynCall_jiji=t.asm.dynCall_jiji).apply(null,arguments)};t.cwrap=Ql;var Zu;rr=function G(){Zu||cm(),Zu||(rr=G)};function cm(G){if(G=G||i,Nt>0||(ft(),Nt>0))return;function oe(){Zu||(Zu=!0,t.calledRun=!0,!M&&(wt(),o(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),Fr()))}t.setStatus?(t.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){t.setStatus(\"\")},1),oe()},1)):oe()}if(t.preInit)for(typeof t.preInit==\"function\"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();cm();var Ju;s&&(Ju={uncaughtException:process.listeners(\"uncaughtException\").filter(function(G){return!s.uncaughtException.indexOf(G)>-1}),unhandledRejection:process.listeners(\"unhandledRejection\").filter(function(G){return!s.unhandledRejection.indexOf(G)>-1})});var ep;if(typeof e!=\"undefined\")ep=e;else if(typeof WasmBackendModuleThreadedSimd!=\"undefined\")ep=WasmBackendModuleThreadedSimd;else throw new Error(\"Could not find wasm module in post.js\");if(Ju){var ob=ep._dispose;ep._dispose=function(){ob(),Ju.uncaughtException.forEach(function(G){process.removeListener(\"uncaughtException\",G)}),Ju.unhandledRejection.forEach(function(G){process.removeListener(\"unhandledRejection\",G)})}}return e.ready}})();typeof Ig==\"object\"&&typeof Yw==\"object\"?Yw.exports=Xw:typeof define==\"function\"&&define.amd?define([],function(){return Xw}):typeof Ig==\"object\"&&(Ig.WasmBackendModule=Xw)});var Do=class{constructor(e,t){this.backend=e,this.dataMover=t,this.data=new WeakMap,this.dataIdsCount=0}get(e){return this.data.has(e)||this.dataMover.moveData(this.backend,e),this.data.get(e)}set(e,t){this.dataIdsCount++,this.data.set(e,t)}has(e){return this.data.has(e)}delete(e){return this.dataIdsCount--,this.data.delete(e)}numDataIds(){return this.dataIdsCount}},Zr=class{refCount(e){return Or(\"refCount\")}incRef(e){return Or(\"incRef\")}timerAvailable(){return!0}time(e){return Or(\"time\")}read(e){return Or(\"read\")}readSync(e){return Or(\"readSync\")}readToGPU(e,t){return Or(\"readToGPU\")}numDataIds(){return Or(\"numDataIds\")}disposeData(e,t){return Or(\"disposeData\")}write(e,t,o){return Or(\"write\")}move(e,t,o,n,s){return Or(\"move\")}createTensorFromTexture(e,t,o){return Or(\"createTensorFromTexture\")}memory(){return Or(\"memory\")}floatPrecision(){return Or(\"floatPrecision\")}epsilon(){return this.floatPrecision()===32?1e-7:1e-4}dispose(){return Or(\"dispose\")}};function Or(r){throw new Error(`'${r}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}function LI(r){let e=r.length,t=0;for(;e>0;)t=Math.random()*e|0,e--,Cm(r,e,t)}function vV(r,e){if(r.length!==e.length)throw new Error(`Array sizes must match to be shuffled together First array length was ${r.length}Second array length was ${e.length}`);let t=r.length,o=0;for(;t>0;)o=Math.random()*t|0,t--,Cm(r,t,o),Cm(e,t,o)}function op(r,e,t){return Math.max(r,Math.min(e,t))}function kV(r){return r%2===0?r:r+1}function Cm(r,e,t){let o=r[e];r[e]=r[t],r[t]=o}function NV(r){let e=0;for(let t=0;tt+` Shapes ${r} and ${e} must match`)}function Jr(r){E(r!=null,()=>\"The input to the tensor constructor must be a non-null value.\")}function Oo(r,e=[],t=!1){if(e==null&&(e=[]),Array.isArray(r)||Wt(r)&&!t)for(let o=0;o0,t,o){return new Promise((n,s)=>{let a=0,i=()=>{if(r()){n();return}a++;let p=e(a);if(t!=null&&a>=t){s();return}o!=null?o(i,p):setTimeout(i,p)};i()})}function DV(r,e){let t=1,o=-1;for(let s=0;s=0)t*=r[s];else if(r[s]===-1){if(o!==-1)throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${o} and dim ${s}`);o=s}else if(r[s]<0)throw Error(`Shapes can not be < 0. Found ${r[s]} at dim ${s}`);if(o===-1){if(e>0&&e!==t)throw Error(`Size(${e}) must match the product of shape ${r}`);return r}if(t===0)throw Error(`Cannot infer the missing size in [${r}] when there are 0 elements`);if(e%t!==0)throw Error(`The implicit shape can't be a fractional number. Got ${e} / ${t}`);let n=r.slice();return n[o]=e/t,n}function Qa(r,e){let t=e.length;return r=r==null?e.map((o,n)=>n):[].concat(r),E(r.every(o=>o>=-t&&o`All values in axis param must be in range [-${t}, ${t}) but got axis ${r}`),E(r.every(o=>na(o)),()=>`All values in axis param must be integers but got axis ${r}`),r.map(o=>o<0?t+o:o)}function pb(r,e){let t=[],o=[],n=e!=null&&Array.isArray(e)&&e.length===0,s=e==null||n?null:Qa(e,r).sort(),a=0;for(let i=0;ii)&&r[i]===1&&(t.push(r[i]),o.push(i)),s[a]<=i&&a++}r[i]!==1&&(t.push(r[i]),o.push(i))}return{newShape:t,keptDims:o}}function cb(r,e){let t=null;if(r==null||r===\"float32\")t=new Float32Array(e);else if(r===\"int32\")t=new Int32Array(e);else if(r===\"bool\")t=new Uint8Array(e);else throw new Error(`Unknown data type ${r}`);return t}function lb(r,e){let t=null;if(r==null||r===\"float32\")t=new Float32Array(e);else if(r===\"int32\")t=new Int32Array(e);else if(r===\"bool\")t=new Uint8Array(e);else if(r===\"string\")t=new Array(e);else throw new Error(`Unknown data type ${r}`);return t}function mb(r,e){for(let t=0;te+=t.length),e}function Po(r){return typeof r==\"string\"||r instanceof String}function BI(r){return typeof r==\"boolean\"}function VI(r){return typeof r==\"number\"}function np(r){return Array.isArray(r)?np(r[0]):r instanceof Float32Array?\"float32\":r instanceof Int32Array||r instanceof Uint8Array||r instanceof Uint8ClampedArray?\"int32\":VI(r)?\"float32\":Po(r)?\"string\":BI(r)?\"bool\":\"float32\"}function fs(r){return!!(r&&r.constructor&&r.call&&r.apply)}function sp(r,e){for(let t=e;t=0;--o)t[o]=t[o+1]*r[o+1];return t}function zI(r,e,t,o=!1){let n=new Array;if(e.length===1){let s=e[0]*(o?2:1);for(let a=0;ap*u)*(o?2:1);for(let p=0;pn*s)*(t?2:1);if(o===0)return[];if(o!==e.length)throw new Error(`[${r}] does not match the input size ${e.length}${t?\" for a complex tensor\":\"\"}.`);return zI(0,r,e,t)}function zc(r,e){let t=ap(r,e);for(let o=0;oo*n,1);if(e==null||e===\"float32\")return Ki(r,new Float32Array(t));if(e===\"int32\")return Ki(r,new Int32Array(t));if(e===\"bool\")return Ki(r,new Uint8Array(t));throw new Error(`Unknown data type ${e}`)}function yt(r){r.forEach(e=>{E(Number.isInteger(e)&&e>=0,()=>`Tensor must have a shape comprised of positive integers but got shape [${r}].`)})}function MV(r,e,t){if(e===0)return 0;if(e===1)return r[0];let o=r[r.length-1];for(let n=0;n{let[n,s]=o.split(\":\");this.urlFlags[n]=WV(n,s)})}};function VV(r){let e={};return r.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,(t,...o)=>(zV(e,o[0],o[1]),o.join(\"=\"))),e}function zV(r,e,t){r[decodeURIComponent(e)]=decodeURIComponent(t||\"\")}function WV(r,e){if(e=e.toLowerCase(),e===\"true\"||e===\"false\")return e===\"true\";if(`${+e}`===e)return+e;throw new Error(`Could not parse value flag value ${e} for flag ${r}.`)}function O(){return hb}var hb=null;function UI(r){hb=r}var gb;function xb(){if(gb==null){let r;if(typeof window!=\"undefined\")r=window;else if(typeof global!=\"undefined\")r=global;else if(typeof process!=\"undefined\")r=process;else if(typeof self!=\"undefined\")r=self;else throw new Error(\"Could not find a global object\");gb=r}return gb}function UV(){let r=xb();return r._tfGlobals==null&&(r._tfGlobals=new Map),r._tfGlobals}function Gc(r,e){let t=UV();if(t.has(r))return t.get(r);{let o=e();return t.set(r,o),t.get(r)}}var gs=\"Abs\",sa=\"Acos\",aa=\"Acosh\",eo=\"Add\",Mo=\"AddN\",Lo=\"All\",Bo=\"Any\",Vo=\"ArgMax\",Za=\"ArgMin\",ia=\"Asin\",ua=\"Asinh\",pa=\"Atan\",ca=\"Atanh\",la=\"Atan2\",zo=\"AvgPool\",wm=\"AvgPoolGrad\",ip=\"AvgPool3D\",Im=\"AvgPool3DGrad\",Wo=\"BatchMatMul\",xs=\"BatchToSpaceND\",Ja=\"Bincount\",wne=\"BroadcastTo\",up=\"BroadcastArgs\",co=\"Cast\",Uo=\"Ceil\",lo=\"ClipByValue\",ei=\"Complex\",pp=\"ComplexAbs\",ys=\"Concat\",Go=\"Conv2D\",cp=\"Conv2DBackpropFilter\",Ho=\"Conv2DBackpropInput\",lp=\"Conv3D\",vm=\"Conv3DBackpropFilterV2\",mp=\"Conv3DBackpropInputV2\",qo=\"Cos\",Ko=\"Cosh\",jo=\"Cumprod\",Xo=\"Cumsum\",Yo=\"CropAndResize\",ti=\"DenseBincount\",Qo=\"DepthToSpace\",Zo=\"DepthwiseConv2dNative\",dp=\"DepthwiseConv2dNativeBackpropFilter\",fp=\"DepthwiseConv2dNativeBackpropInput\",hp=\"Diag\",gp=\"Dilation2D\",yb=\"Dilation2DBackpropInput\",bb=\"Dilation2DBackpropFilter\",Jo=\"RealDiv\",ri=\"Einsum\",en=\"Elu\",km=\"EluGrad\",ma=\"Erf\",tn=\"Equal\",rn=\"Exp\",bs=\"ExpandDims\",da=\"Expm1\",oi=\"FFT\",Cs=\"Fill\",on=\"FlipLeftRight\",nn=\"Floor\",sn=\"FloorDiv\",an=\"FusedBatchNorm\",Ss=\"GatherV2\",un=\"GatherNd\",pn=\"Greater\",cn=\"GreaterEqual\",mo=\"Identity\",ni=\"IFFT\",si=\"Imag\",fa=\"IsFinite\",ha=\"IsInf\",ln=\"IsNan\",mn=\"LeakyRelu\",dn=\"Less\",fn=\"LessEqual\",xp=\"LinSpace\",hn=\"Log\",ga=\"Log1p\",gn=\"LogicalAnd\",xn=\"LogicalNot\",xa=\"LogicalOr\",GI=\"LogicalXor\",Ine=\"LogSoftmax\",vne=\"LowerBound\",yp=\"LRN\",Nm=\"LRNGrad\",yn=\"Max\",bn=\"Maximum\",Cn=\"MaxPool\",Tm=\"MaxPoolGrad\",bp=\"MaxPool3D\",_m=\"MaxPool3DGrad\",Cp=\"MaxPoolWithArgmax\",Sn=\"Mean\",wn=\"Min\",In=\"Minimum\",vn=\"MirrorPad\",ya=\"Mod\",Sp=\"Multinomial\",kn=\"Multiply\",ws=\"Neg\",Nn=\"NotEqual\",Tn=\"NonMaxSuppressionV3\",ba=\"NonMaxSuppressionV4\",_n=\"NonMaxSuppressionV5\",Is=\"OnesLike\",En=\"OneHot\",vs=\"Pack\",$n=\"PadV2\",kne=\"Pool\",An=\"Pow\",Rn=\"Prelu\",Fn=\"Prod\",wp=\"RaggedGather\",Ip=\"RaggedRange\",vp=\"RaggedTensorToTensor\",ks=\"Range\",ai=\"Real\",Dn=\"Reciprocal\",On=\"Relu\",Ns=\"Reshape\",Pn=\"ResizeNearestNeighbor\",Em=\"ResizeNearestNeighborGrad\",Mn=\"ResizeBilinear\",$m=\"ResizeBilinearGrad\",Ln=\"Relu6\",Bn=\"Reverse\",Ca=\"Round\",Vn=\"Rsqrt\",zn=\"ScatterNd\",ii=\"SearchSorted\",Ts=\"Select\",Xi=\"Selu\",_s=\"Slice\",Wn=\"Sin\",Sa=\"Sinh\",Yi=\"Sign\",Un=\"Sigmoid\",Qi=\"Softplus\",Gn=\"Sqrt\",Hn=\"Sum\",Es=\"SpaceToBatchND\",$s=\"SplitV\",qn=\"Softmax\",ui=\"SparseFillEmptyRows\",wa=\"SparseReshape\",pi=\"SparseSegmentMean\",ci=\"SparseSegmentSum\",li=\"SparseToDense\",Kn=\"SquaredDifference\",mi=\"Square\",jn=\"StridedSlice\",As=\"StringNGrams\",di=\"StringSplit\",fi=\"StringToHashBucketFast\",Xn=\"Sub\",Yn=\"Tan\",Qn=\"Tanh\",to=\"Tile\",Zn=\"TopK\",Jn=\"Transform\",ro=\"Transpose\",kp=\"Unique\",Rs=\"Unpack\",Np=\"UnsortedSegmentSum\",Nne=\"UpperBound\",Fs=\"ZerosLike\",Ds=\"Step\",Zi=\"FromPixels\",es=\"RotateWithOffset\",fo=\"_FusedMatMul\",ho=\"FusedConv2D\",go=\"FusedDepthwiseConv2D\";function Os(...r){O().getBool(\"IS_TEST\")||O().getBool(\"PROD\")||console.warn(...r)}function GV(...r){O().getBool(\"IS_TEST\")||O().getBool(\"PROD\")||console.log(...r)}var Tp=Gc(\"kernelRegistry\",()=>new Map),Hc=Gc(\"gradRegistry\",()=>new Map);function qc(r,e){let t=Sb(r,e);return Tp.get(t)}function Cb(r){return Hc.get(r)}function Am(r){let e=Tp.entries(),t=[];for(;;){let{done:o,value:n}=e.next();if(o)break;let[s,a]=n,[i]=s.split(\"_\");i===r&&t.push(a)}return t}function Ia(r){let{kernelName:e,backendName:t}=r,o=Sb(e,t);Tp.has(o)&&Os(`The kernel '${e}' for backend '${t}' is already registered`),Tp.set(o,r)}function Ane(r){let{kernelName:e}=r;Hc.has(e)&&O().getBool(\"DEBUG\")&&Os(`Overriding the gradient for '${e}'`),Hc.set(e,r)}function Rne(r,e){let t=Sb(r,e);if(!Tp.has(t))throw new Error(`The kernel '${r}' for backend '${e}' is not registered`);Tp.delete(t)}function Fne(r){if(!Hc.has(r))throw new Error(`The gradient '${r}' for backend is not registered`);Hc.delete(r)}function Dne(r,e){Am(r).forEach(o=>{let n=Object.assign({},o,{backendName:e});Ia(n)})}function Sb(r,e){return`${e}_${r}`}var y={};Ue(y,{arraysEqual:()=>Pr,assert:()=>E,assertNonNegativeIntegerDimensions:()=>yt,assertNonNull:()=>Jr,assertShapesMatch:()=>ht,bytesFromStringArray:()=>fb,bytesPerElement:()=>Sm,checkConversionForErrors:()=>mb,clamp:()=>op,computeStrides:()=>hs,createScalarValue:()=>QV,createShuffledIndices:()=>RV,decodeString:()=>Ap,distSquared:()=>_V,encodeString:()=>gi,fetch:()=>JV,fingerPrint64:()=>YV,flatten:()=>Oo,getArrayFromDType:()=>lb,getTypedArrayFromDType:()=>cb,hasEncodingLoss:()=>OV,hexToLong:()=>Kc,indexToLoc:()=>LV,inferDtype:()=>np,inferFromImplicitShape:()=>DV,isBoolean:()=>BI,isFunction:()=>fs,isInt:()=>na,isNumber:()=>VI,isPromise:()=>Wc,isScalarShape:()=>EV,isString:()=>Po,isTypedArray:()=>Wt,isValidDtype:()=>db,locToIndex:()=>MV,makeOnesTypedArray:()=>zc,makeZerosNestedTypedArray:()=>PV,makeZerosTypedArray:()=>ap,nearestDivisor:()=>sp,nearestLargerEven:()=>kV,now:()=>ou,parseAxisParam:()=>Qa,randUniform:()=>TV,repeatedTry:()=>FV,rightPad:()=>ji,shuffle:()=>LI,shuffleCombo:()=>vV,sizeFromShape:()=>ze,sizeToSquarishShape:()=>AV,squeezeShape:()=>pb,sum:()=>NV,swap:()=>Cm,tanh:()=>$V,toNestedArray:()=>Ki,toTypedArray:()=>$p});var kb=rp(rv());var ru=kb.default||kb;function Kc(r){return ru.fromString(r,!0,16)}var nv=Kc(\"c3a5c85c97cb3127\"),tu=Kc(\"b492b66fbe98f273\"),gr=Kc(\"9ae16a3b2f90404f\");function vb(r){return r.xor(r.shru(47))}function sv(r,e,t){let o=r.slice(e,e+t);return ru.fromBytes(Array.from(o),!0,!0)}function bt(r,e){return sv(r,e,8)}function ov(r,e){return sv(r,e,4)}function jt(r,e){return e===0?r:r.shru(e).or(r.shl(64-e))}function hi(r,e,t=Kc(\"9ddfea08eb382d69\")){let o=r.xor(e).mul(t);o=o.xor(o.shru(47));let n=e.xor(o).mul(t);return n=n.xor(n.shru(47)),n=n.mul(t),n}function qV(r,e,t,o,n,s){n=n.add(r),s=jt(s.add(n).add(o),21);let a=n;return n=n.add(e),n=n.add(t),s=s.add(jt(n,44)),[n.add(o),s.add(a)]}function Fm(r,e,t,o){return qV(bt(r,e),bt(r,e+8),bt(r,e+16),bt(r,e+24),t,o)}function KV(r,e=r.length){if(e>=8){let t=gr.add(e*2),o=bt(r,0).add(gr),n=bt(r,e-8),s=jt(n,37).mul(t).add(o),a=jt(o,25).add(n).mul(t);return hi(s,a,t)}if(e>=4){let t=gr.add(e*2),o=ov(r,0);return hi(o.shl(3).add(e),ov(r,e-4),t)}if(e>0){let t=r[0],o=r[e>>1],n=r[e-1],s=t+(o<<8),a=e+(n<<2);return vb(gr.mul(s).xor(nv.mul(a))).mul(gr)}return gr}function jV(r,e=r.length){let t=gr.add(e*2),o=bt(r,0).mul(tu),n=bt(r,8),s=bt(r,e-8).mul(t),a=bt(r,e-16).mul(gr);return hi(jt(o.add(n),43).add(jt(s,30)).add(a),o.add(jt(n.add(gr),18)).add(s),t)}function XV(r,e=r.length){let t=gr.add(e*2),o=bt(r,0).mul(gr),n=bt(r,8),s=bt(r,e-8).mul(t),a=bt(r,e-16).mul(gr),i=jt(o.add(n),43).add(jt(s,30)).add(a),p=hi(i,o.add(jt(n.add(gr),18)).add(s),t),u=bt(r,16).mul(t),c=bt(r,24),l=i.add(bt(r,e-32)).mul(t),m=p.add(bt(r,e-24)).mul(t);return hi(jt(u.add(c),43).add(jt(l,30)).add(m),u.add(jt(c.add(o),18)).add(l),t)}function YV(r,e=r.length){let t=ru.fromNumber(81,!0);if(e<=32)return e<=16?KV(r,e):jV(r,e);if(e<=64)return XV(r,e);let o=t,n=t.mul(tu).add(113),s=vb(n.mul(gr).add(113)).mul(gr),a=[ru.UZERO,ru.UZERO],i=[ru.UZERO,ru.UZERO];o=o.mul(gr).add(bt(r,0));let p=0,u=(e-1>>6)*64,c=u+(e-1&63)-63;do o=jt(o.add(n).add(a[0]).add(bt(r,p+8)),37).mul(tu),n=jt(n.add(a[1]).add(bt(r,p+48)),42).mul(tu),o=o.xor(i[1]),n=n.add(a[0]).add(bt(r,p+40)),s=jt(s.add(i[0]),33).mul(tu),a=Fm(r,p,a[1].mul(tu),o.add(i[0])),i=Fm(r,p+32,s.add(i[1]),n.add(bt(r,p+16))),[s,o]=[o,s],p+=64;while(p!==u);let l=tu.add(s.and(255).shl(1));return p=c,i[0]=i[0].add(e-1&63),a[0]=a[0].add(i[0]),i[0]=i[0].add(a[0]),o=jt(o.add(n).add(a[0]).add(bt(r,p+8)),37).mul(l),n=jt(n.add(a[1]).add(bt(r,p+48)),42).mul(l),o=o.xor(i[1].mul(9)),n=n.add(a[0].mul(9).add(bt(r,p+40))),s=jt(s.add(i[0]),33).mul(l),a=Fm(r,p,a[1].mul(l),o.add(i[0])),i=Fm(r,p+32,s.add(i[1]),n.add(bt(r,p+16))),[s,o]=[o,s],hi(hi(a[0],i[0],l).add(vb(n).mul(nv)).add(s),hi(a[1],i[1],l).add(o),l)}function QV(r,e){return e===\"string\"?gi(r):$p([r],e)}function ZV(r,e){return r instanceof Float32Array&&e===\"float32\"||r instanceof Int32Array&&e===\"int32\"||r instanceof Uint8Array&&e===\"bool\"}function $p(r,e){if(e===\"string\")throw new Error(\"Cannot convert a string[] to a TypedArray\");if(Array.isArray(r)&&(r=Oo(r)),O().getBool(\"DEBUG\")&&mb(r,e),ZV(r,e))return r;if(e==null||e===\"float32\"||e===\"complex64\")return new Float32Array(r);if(e===\"int32\")return new Int32Array(r);if(e===\"bool\"){let t=new Uint8Array(r.length);for(let o=0;o{n=o()},a,i=ou();if(this.backendTimer.timerAvailable())a=this.backendTimer.time(s);else{s();for(let u of n)u.dataSync();a=Promise.resolve({kernelMs:ou()-i})}if(O().getBool(\"CHECK_COMPUTATION_FOR_ERRORS\"))for(let u=0;u{ez(l,c.dtype,e)})}return{kernelName:e,outputs:n,inputs:t,timeMs:a.then(u=>u.kernelMs),extraInfo:a.then(u=>u.getExtraProfileInfo!=null?u.getExtraProfileInfo():\"\")}}logKernelProfile(e){let{kernelName:t,outputs:o,timeMs:n,inputs:s,extraInfo:a}=e;o.forEach(i=>{Promise.all([i.data(),n,a]).then(p=>{this.logger.logKernelProfile(t,i,p[0],p[1],s,p[2])})})}};function ez(r,e,t){if(e!==\"float32\")return!1;for(let o=0;o0?h:\"\"} `}}console.log(`%c${p}\t%c${i}\t%c${u}D ${l}\t%c${c}\t%c${m}\t%c${a}`,\"font-weight:bold\",\"color:red\",\"color:blue\",\"color: orange\",\"color: green\",\"color: steelblue\")}};function av(r,e,t){let o={},n={};for(let p=0;po[h.id]=!0),d=!0,n[u.id]=!0;break}if(d)break}}let s={};s[t.id]=!0;let a={};for(let p=r.length-1;p>=0;p--){let u=r[p],c=u.inputs;for(let l=0;l=0;n--){let s=e[n],a=[];if(s.outputs.forEach(p=>{let u=r[p.id];u!=null?a.push(u):a.push(null)}),s.gradient==null)throw new Error(`Cannot compute gradient: gradient function not found for ${s.kernelName}.`);let i=s.gradient(a);for(let p in s.inputs){if(!(p in i))throw new Error(`Cannot backprop through input ${p}. Available gradients found: ${Object.keys(i)}.`);let u=t(()=>i[p]());if(u.dtype!==\"float32\")throw new Error(`Error in gradient for op ${s.kernelName}. The gradient of input ${p} must have 'float32' dtype, but has '${u.dtype}'`);let c=s.inputs[p];if(!Pr(u.shape,c.shape))throw new Error(`Error in gradient for op ${s.kernelName}. The gradient of input '${p}' has shape '${u.shape}', which does not match the shape of the input '${c.shape}'`);if(r[c.id]==null)r[c.id]=u;else{let l=r[c.id];r[c.id]=o(l,u),l.dispose()}}}}var uv=20,jc=3,Tb=7;function pv(r,e,t,o){let n=hs(e),s=tz(r,e,t,n),a=e.length,i=Om(r,e,t,n,s),p=[\"Tensor\"];return o&&(p.push(` dtype: ${t}`),p.push(` rank: ${a}`),p.push(` shape: [${e}]`),p.push(\" values:\")),p.push(i.map(u=>\" \"+u).join(`\n`)),p.join(`\n`)}function tz(r,e,t,o){let n=ze(e),s=o[o.length-1],a=new Array(s).fill(0),i=e.length,p=t===\"complex64\"?Yc(r):r;if(i>1)for(let u=0;uuv){let g=jc*a,x=Array.from(r.slice(0,g)),b=Array.from(r.slice((i-jc)*a,i*a));return t===\"complex64\"&&(x=Yc(x),b=Yc(b)),[\"[\"+x.map((C,w)=>Xc(C,n[w],t)).join(\", \")+\", ..., \"+b.map((C,w)=>Xc(C,n[i-jc+w],t)).join(\", \")+\"]\"]}return[\"[\"+(t===\"complex64\"?Yc(r):Array.from(r)).map((g,x)=>Xc(g,n[x],t)).join(\", \")+\"]\"]}let u=e.slice(1),c=o.slice(1),l=o[0]*a,m=[];if(i>uv){for(let h=0;h`Length of values '${n}' does not match the size inferred by the shape '${this.size}'.`)}if(t===\"complex64\")throw new Error(\"complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).\");this.values=o||lb(t,this.size),this.strides=hs(e)}set(e,...t){t.length===0&&(t=[0]),E(t.length===this.rank,()=>`The number of provided coordinates (${t.length}) must match the rank (${this.rank})`);let o=this.locToIndex(t);this.values[o]=e}get(...e){e.length===0&&(e=[0]);let t=0;for(let n of e){if(n<0||n>=this.shape[t]){let s=`Requested out of range element at ${e}. Buffer shape=${this.shape}`;throw new Error(s)}t++}let o=e[e.length-1];for(let n=0;nAp(o))}catch(o){throw new Error(\"Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().\")}}return e}dataToGPU(e){return this.throwIfDisposed(),rs().readToGPU(this.dataId,e)}dataSync(){this.throwIfDisposed();let e=rs().readSync(this.dataId);if(this.dtype===\"string\")try{return e.map(t=>Ap(t))}catch(t){throw new Error(\"Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().\")}return e}async bytes(){this.throwIfDisposed();let e=await rs().read(this.dataId);return this.dtype===\"string\"?e:new Uint8Array(e.buffer)}dispose(){this.isDisposed||(rs().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error(\"Tensor is disposed.\")}print(e=!1){return Rp.print(this,e)}clone(){return this.throwIfDisposed(),Rp.clone(this)}toString(e=!1){let t=this.dataSync();return pv(t,this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),Rp.cast(this,e)}variable(e=!0,t,o){return this.throwIfDisposed(),rs().makeVariable(this,e,t,o)}};Object.defineProperty(it,Symbol.hasInstance,{value:r=>!!r&&r.data!=null&&r.dataSync!=null&&r.throwIfDisposed!=null});function oz(){return Gc(\"Tensor\",()=>it)}oz();var va=class extends it{constructor(e,t,o,n){super(e.shape,e.dtype,e.dataId,n),this.trainable=t,this.name=o}assign(e){if(e.dtype!==this.dtype)throw new Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);if(!Pr(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);rs().disposeTensor(this),this.dataId=e.dataId,rs().incRef(this,null)}dispose(){rs().disposeVariable(this),this.isDisposedInternal=!0}};Object.defineProperty(va,Symbol.hasInstance,{value:r=>r instanceof it&&r.assign!=null&&r.assign instanceof Function});var hv={};Ue(hv,{assertTypesMatch:()=>Fb,getTensorsInContainer:()=>Qc,isTensorInList:()=>sz,makeTypesMatch:()=>Re});var _b;(function(r){r.R0=\"R0\",r.R1=\"R1\",r.R2=\"R2\",r.R3=\"R3\",r.R4=\"R4\",r.R5=\"R5\",r.R6=\"R6\"})(_b||(_b={}));var Eb;(function(r){r.float32=\"float32\",r.int32=\"int32\",r.bool=\"int32\",r.complex64=\"complex64\"})(Eb||(Eb={}));var $b;(function(r){r.float32=\"float32\",r.int32=\"int32\",r.bool=\"bool\",r.complex64=\"complex64\"})($b||($b={}));var Ab;(function(r){r.float32=\"float32\",r.int32=\"float32\",r.bool=\"float32\",r.complex64=\"complex64\"})(Ab||(Ab={}));var Rb;(function(r){r.float32=\"complex64\",r.int32=\"complex64\",r.bool=\"complex64\",r.complex64=\"complex64\"})(Rb||(Rb={}));var nz={float32:Ab,int32:Eb,bool:$b,complex64:Rb};function dt(r,e){if(r===\"string\"||e===\"string\"){if(r===\"string\"&&e===\"string\")return\"string\";throw new Error(`Can not upcast ${r} with ${e}`)}return nz[r][e]}function ka(r){return dt(r,\"int32\")}function Re(r,e){if(r.dtype===e.dtype)return[r,e];let t=dt(r.dtype,e.dtype);return[r.cast(t),e.cast(t)]}function Fb(r,e){E(r.dtype===e.dtype,()=>`The dtypes of the first(${r.dtype}) and second(${e.dtype}) input must match`)}function sz(r,e){return e.some(t=>t.id===r.id)}function Qc(r){let e=[];return fv(r,e,new Set),e}function fv(r,e,t){if(r==null)return;if(r instanceof it){e.push(r);return}if(!az(r))return;let o=r;for(let n in o){let s=o[n];t.has(s)||(t.add(s),fv(s,e,t))}}function az(r){return Array.isArray(r)||typeof r==\"object\"}function Db(r){return r.kernelName!=null}var Pm=class{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null,get kernelNames(){return Array.from(new Set(this.kernels.map(e=>e.name)))}}}dispose(){for(let e in this.registeredVariables)this.registeredVariables[e].dispose()}},xi=class{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new Pm}async ready(){if(this.pendingBackendInit!=null)return this.pendingBackendInit.then(()=>{});if(this.backendInstance!=null)return;let e=this.getSortedBackends();for(let t=0;t{t.setupFunc!=null&&t.setupFunc(this.backendInstance)})}disposeRegisteredKernels(e){Am(e).forEach(o=>{o.disposeFunc!=null&&o.disposeFunc(this.registry[e])})}initializeBackend(e){let t=this.registryFactory[e];if(t==null)throw new Error(`Cannot initialize backend ${e}, no registration found.`);try{let o=t.factory();if(o&&!(o instanceof Zr)&&typeof o.then==\"function\"){let n=++this.pendingBackendInitId,s=o.then(a=>n(nthis.registryFactory[t].priority-this.registryFactory[e].priority)}initializeBackendsAndReturnBest(){let e=this.getSortedBackends();for(let t=0;tthis.startScope(o),()=>this.endScope(n),()=>(n=t(),n instanceof Promise&&console.error(\"Cannot return a Promise inside of tidy.\"),n))}scopedRun(e,t,o){e();try{let n=o();return t(),n}catch(n){throw t(),n}}nextTensorId(){return xi.nextTensorId++}nextVariableId(){return xi.nextVariableId++}clone(e){let t=T.runKernel(mo,{x:e}),o={x:e},n=a=>({x:()=>{let i=\"float32\",p={x:a},u={dtype:i};return T.runKernel(co,p,u)}}),s=[];return this.addTapeNode(this.state.activeScope.name,o,[t],n,s,{}),t}runKernel(e,t,o){if(this.backendName==null&&this.backend,!(qc(e,this.backendName)!=null))throw new Error(`Kernel '${e}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:e,inputs:t,attrs:o})}shouldCheckForMemLeaks(){return this.ENV.getBool(\"IS_TEST\")}checkKernelForMemLeak(e,t,o){let n=this.backend.numDataIds(),s=0;o.forEach(p=>{s+=p.dtype===\"complex64\"?3:1});let a=this.state.numDataMovesStack[this.state.numDataMovesStack.length-1],i=n-t-s-a;if(i>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${i} data ids) after running '${e}'`)}runKernelFunc(e){let t,o=[],n=this.isTapeOn(),s=this.state.numBytes,a=this.state.numTensors;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);let i;this.backendName==null&&this.backend;let p,u=Db(e)?e.kernelName:this.state.activeScope!=null?this.state.activeScope.name:\"\";if(Db(e)){let{kernelName:f,inputs:h,attrs:g}=e;this.backendName==null&&this.backend;let x=qc(f,this.backendName);E(x!=null,()=>`Cannot find registered kernel '${f}' for backend '${this.backendName}'`),i=()=>{let b=this.backend.numDataIds();p=x.kernelFunc({inputs:h,attrs:g,backend:this.backend});let C=Array.isArray(p)?p:[p];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(f,b,C);let w=C.map(k=>k.rank!=null?k:this.makeTensorFromTensorInfo(k));if(n){let k=this.getTensorsForGradient(f,h,w);o=this.saveTensorsForBackwardMode(k)}return w}}else{let{forwardFunc:f}=e,h=g=>{!n||(o=g.map(x=>this.keep(this.clone(x))))};i=()=>{let g=this.backend.numDataIds();p=this.tidy(()=>f(this.backend,h));let x=Array.isArray(p)?p:[p];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(u,g,x),x}}let{inputs:c,attrs:l}=e,m=Db(e)?null:e.backwardsFunc,d;return this.scopedRun(()=>this.state.kernelDepth++,()=>this.state.kernelDepth--,()=>{!this.ENV.getBool(\"DEBUG\")&&!this.state.profiling?t=i():(d=this.profiler.profileKernel(u,c,()=>i()),this.ENV.getBool(\"DEBUG\")&&this.profiler.logKernelProfile(d),t=d.outputs)}),n&&this.addTapeNode(u,c,t,m,o,l),this.state.profiling&&this.state.activeProfile.kernels.push({name:u,bytesAdded:this.state.numBytes-s,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-a,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(c).map(f=>c[f]!=null?c[f].shape:null),outputShapes:t.map(f=>f.shape),kernelTimeMs:d.timeMs,extraInfo:d.extraInfo}),Array.isArray(p)?t:t[0]}saveTensorsForBackwardMode(e){return e.map(o=>this.keep(this.clone(o)))}getTensorsForGradient(e,t,o){let n=Cb(e);if(n!=null){let s=n.inputsToSave||[],a=n.outputsToSave||[],i;n.saveAllInputs?(E(Array.isArray(t),()=>\"saveAllInputs is true, expected inputs to be an array.\"),i=Object.keys(t).map(u=>t[u])):i=s.map(u=>t[u]);let p=o.filter((u,c)=>a[c]);return i.concat(p)}return[]}makeTensor(e,t,o,n){if(e==null)throw new Error(\"Values passed to engine.makeTensor() are null\");o=o||\"float32\",n=n||this.backend;let s=e;o===\"string\"&&Po(e[0])&&(s=e.map(p=>gi(p)));let a=n.write(s,t,o),i=new it(t,o,a,this.nextTensorId());if(this.trackTensor(i,n),o===\"string\"){let p=this.state.tensorInfo.get(a),u=fb(s);this.state.numBytes+=u-p.bytes,p.bytes=u}return i}makeTensorFromDataId(e,t,o,n){o=o||\"float32\";let s={dataId:e,shape:t,dtype:o};return this.makeTensorFromTensorInfo(s,n)}makeTensorFromTensorInfo(e,t){let{dataId:o,shape:n,dtype:s}=e,a=new it(n,s,o,this.nextTensorId());return this.trackTensor(a,t),a}makeVariable(e,t=!0,o,n){o=o||this.nextVariableId().toString(),n!=null&&n!==e.dtype&&(e=e.cast(n));let s=new va(e,t,o,this.nextTensorId());if(this.state.registeredVariables[s.name]!=null)throw new Error(`Variable with name ${s.name} was already registered`);return this.state.registeredVariables[s.name]=s,this.incRef(s,this.backend),s}trackTensor(e,t){this.state.numTensors++,e.dtype===\"string\"&&this.state.numStringTensors++;let o=0;e.dtype!==\"complex64\"&&e.dtype!==\"string\"&&(o=e.size*Sm(e.dtype)),this.state.numBytes+=o,this.state.tensorInfo.has(e.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:o})),e instanceof va||this.track(e)}incRef(e,t){this.trackTensor(e,t),this.backend.incRef(e.dataId)}removeDataId(e,t){this.state.tensorInfo.has(e)&&this.state.tensorInfo.get(e).backend===t&&(this.state.tensorInfo.delete(e),this.state.numDataBuffers--)}disposeTensor(e){if(!this.state.tensorInfo.has(e.dataId))return;let t=this.state.tensorInfo.get(e.dataId);if(this.state.numTensors--,e.dtype===\"string\"&&(this.state.numStringTensors--,this.state.numBytes-=t.bytes),e.dtype!==\"complex64\"&&e.dtype!==\"string\"){let o=e.size*Sm(e.dtype);this.state.numBytes-=o}t.backend.disposeData(e.dataId)&&this.removeDataId(e.dataId,t.backend)}disposeVariables(){for(let e in this.state.registeredVariables){let t=this.state.registeredVariables[e];this.disposeVariable(t)}}disposeVariable(e){this.disposeTensor(e),this.state.registeredVariables[e.name]!=null&&delete this.state.registeredVariables[e.name]}memory(){let e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,e.reasons==null&&(e.reasons=[]),e.reasons.push(\"Memory usage by string tensors is approximate (2 bytes per character)\")),e}async profile(e){this.state.profiling=!0;let t=this.state.numBytes,o=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await e(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map(n=>n.totalBytesSnapshot)),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-o;for(let n of this.state.activeProfile.kernels)n.kernelTimeMs=await n.kernelTimeMs,n.extraInfo=await n.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&this.state.kernelDepth===0}addTapeNode(e,t,o,n,s,a){let i={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:o,saved:s},p=Cb(e);p!=null&&(n=p.gradFunc),n!=null&&(i.gradient=u=>(u=u.map((c,l)=>{if(c==null){let m=o[l],d=ap(m.size,m.dtype);return this.makeTensor(d,m.shape,m.dtype)}return c}),n(u.length>1?u:u[0],s,a))),this.state.activeTape.push(i)}keep(e){return e.kept=!0,e}startTape(){this.state.gradientDepth===0&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(e){let t={track:[],name:\"unnamed scope\",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t}endScope(e){let t=Qc(e),o=new Set(t.map(s=>s.id));for(let s=0;s{!s.kept&&s.scopeId===n.id&&this.track(s)})}gradients(e,t,o,n=!1){if(E(t.length>0,()=>\"gradients() received an empty list of xs.\"),o!=null&&o.dtype!==\"float32\")throw new Error(`dy must have 'float32' dtype, but has '${o.dtype}'`);let s=this.scopedRun(()=>this.startTape(),()=>this.endTape(),()=>this.tidy(\"forward\",e));E(s instanceof it,()=>\"The result y returned by f() must be a tensor.\");let a=av(this.state.activeTape,t,s);if(!n&&a.length===0&&t.length>0)throw new Error(\"Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.\");return this.tidy(\"backward\",()=>{let i={};i[s.id]=o==null?iz(s.shape):o,iv(i,a,u=>this.tidy(u),uz);let p=t.map(u=>i[u.id]);return this.state.gradientDepth===0&&(this.state.activeTape.forEach(u=>{for(let c of u.saved)c.dispose()}),this.state.activeTape=null),{value:s,grads:p}})}customGrad(e){return E(fs(e),()=>\"The f passed in customGrad(f) must be a function.\"),(...t)=>{E(t.every(i=>i instanceof it),()=>\"The args passed in customGrad(f)(x1, x2,...) must all be tensors\");let o,n={};t.forEach((i,p)=>{n[p]=i});let s=(i,p)=>(o=e(...t,p),E(o.value instanceof it,()=>\"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor\"),E(fs(o.gradFunc),()=>\"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function.\"),o.value),a=(i,p)=>{let u=o.gradFunc(i,p),c=Array.isArray(u)?u:[u];E(c.length===t.length,()=>\"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...).\"),E(c.every(m=>m instanceof it),()=>\"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors.\");let l={};return c.forEach((m,d)=>{l[d]=()=>m}),l};return this.runKernelFunc({forwardFunc:s,backwardsFunc:a,inputs:n})}}readSync(e){return this.state.tensorInfo.get(e).backend.readSync(e)}read(e){return this.state.tensorInfo.get(e).backend.read(e)}readToGPU(e,t){return this.state.tensorInfo.get(e).backend.readToGPU(e,t)}async time(e){let t=ou(),o=await this.backend.time(e);return o.wallMs=ou()-t,o}track(e){return this.state.activeScope!=null&&(e.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(e)),e}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new Pm;for(let e in this.registry)this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}};xi.nextTensorId=0;xi.nextVariableId=0;function iz(r){let e=zc(ze(r),\"float32\");return T.makeTensor(e,r,\"float32\")}function Ob(){let r=xb();if(r._tfengine==null){let e=new Uc(r);r._tfengine=new xi(e)}return UI(r._tfengine.ENV),lv(()=>r._tfengine),r._tfengine}var T=Ob();function uz(r,e){let t={a:r,b:e};return T.runKernel(eo,t)}var yi={};Ue(yi,{isBrowser:()=>Mb,isMobile:()=>lz,mockIsMobile:()=>cz});function pz(){return typeof navigator!=\"undefined\"&&navigator!=null}var Pb;function cz(r){Pb=r}function lz(r){if(Pb!==void 0)return Pb;if(r||pz()){if(r||(r=navigator),r.product===\"ReactNative\")return!0;let e=r.userAgent||r.vendor||(typeof window!=\"undefined\"?window.opera:\"\");if(!e){let t=r;return t.userAgentData&&t.userAgentData.mobile}return/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(e.substr(0,4))}return!1}function Mb(){return typeof window!=\"undefined\"&&window.document!=null||typeof WorkerGlobalScope!=\"undefined\"}var oo=O();oo.registerFlag(\"DEBUG\",()=>!1,r=>{r&&console.warn(\"Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.\")});oo.registerFlag(\"IS_BROWSER\",()=>Mb());oo.registerFlag(\"IS_NODE\",()=>typeof process!=\"undefined\"&&typeof process.versions!=\"undefined\"&&typeof process.versions.node!=\"undefined\");oo.registerFlag(\"IS_CHROME\",()=>typeof navigator!=\"undefined\"&&navigator!=null&&navigator.userAgent!=null&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor));oo.registerFlag(\"PROD\",()=>!1);oo.registerFlag(\"TENSORLIKE_CHECK_SHAPE_CONSISTENCY\",()=>oo.getBool(\"DEBUG\"));oo.registerFlag(\"DEPRECATION_WARNINGS_ENABLED\",()=>!0);oo.registerFlag(\"IS_TEST\",()=>!1);oo.registerFlag(\"CHECK_COMPUTATION_FOR_ERRORS\",()=>!0);oo.registerFlag(\"WRAP_TO_IMAGEBITMAP\",()=>!1);oo.registerFlag(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\",()=>!1);oo.registerFlag(\"USE_SETTIMEOUTCUSTOM\",()=>!1);function or(r,e){let t=r;if(Wt(r))return e===\"string\"?[]:[r.length];if(typeof r==\"object\"&&\"texture\"in r){let n=r.channels||\"RGBA\";return[r.height,r.width*n.length]}if(!Array.isArray(r))return[];let o=[];for(;Array.isArray(t)||Wt(t)&&e!==\"string\";)o.push(t.length),t=t[0];return Array.isArray(r)&&O().getBool(\"TENSORLIKE_CHECK_SHAPE_CONSISTENCY\")&&xv(r,o,[]),o}function xv(r,e,t){if(t=t||[],!Array.isArray(r)&&!Wt(r)){E(e.length===0,()=>`Element arr[${t.join(\"][\")}] is a primitive, but should be an array/TypedArray of ${e[0]} elements`);return}E(e.length>0,()=>`Element arr[${t.join(\"][\")}] should be a primitive, but is an array of ${r.length} elements`),E(r.length===e[0],()=>`Element arr[${t.join(\"][\")}] should have ${e[0]} elements, but has ${r.length} elements`);let o=e.slice(1);for(let n=0;n=0&&(n=o),gv(o,n,e,t),r==null||!Wt(r)&&!Array.isArray(r)&&typeof r!=\"number\"&&typeof r!=\"boolean\"&&typeof r!=\"string\"){let p=r==null?\"null\":r.constructor.name;throw new Error(`Argument '${e}' passed to '${t}' must be a Tensor or TensorLike, but got '${p}'`)}let s=or(r,n);!Wt(r)&&!Array.isArray(r)&&(r=[r]);let i=n!==\"string\"?$p(r,n):Oo(r,[],!0);return T.makeTensor(i,s,n)}function Na(r,e,t,o=\"numeric\"){if(!Array.isArray(r))throw new Error(`Argument ${e} passed to ${t} must be a \\`Tensor[]\\` or \\`TensorLike[]\\``);return r.map((s,a)=>v(s,`${e}[${a}]`,t,o))}var Lb=\"__op\";function N(r){let e=Object.keys(r);if(e.length!==1)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${e.length} keys.`);let t=e[0],o=r[t];t.endsWith(\"_\")&&(t=t.substring(0,t.length-1)),t=t+Lb;let n=(...s)=>{T.startScope(t);try{let a=o(...s);return Wc(a)&&console.error(\"Cannot return a Promise inside of tidy.\"),T.endScope(a),a}catch(a){throw T.endScope(null),a}};return Object.defineProperty(n,\"name\",{value:t,configurable:!0}),n}function mz(r,e){let t=v(r,\"real\",\"complex\"),o=v(e,\"imag\",\"complex\");ht(t.shape,o.shape,`real and imag shapes, ${t.shape} and ${o.shape}, must match in call to tf.complex().`);let n={real:t,imag:o};return T.runKernel(ei,n)}var Tr=N({complex_:mz});function xr(r,e,t,o){if(o==null&&(o=np(r)),o===\"complex64\")throw new Error(\"Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).\");if(typeof r==\"object\"&&\"texture\"in r){if(o!==\"float32\"&&o!==\"int32\")throw new Error(`Creating tensor from texture only supports 'float32'|'int32' dtype, while the dtype is ${o}.`);return r.channels=r.channels||\"RGBA\",T.backend.createTensorFromTexture(r,e||t,o)}if(!Wt(r)&&!Array.isArray(r)&&typeof r!=\"number\"&&typeof r!=\"boolean\"&&typeof r!=\"string\")throw new Error(\"values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray\");if(e!=null){yt(e);let n=ze(e),s=ze(t);E(n===s,()=>`Based on the provided shape, [${e}], the tensor should have ${n} values but has ${s}`);for(let a=0;a`Error creating a new Tensor. Inferred shape (${t}) does not match the provided shape (${e}). `)}}return!Wt(r)&&!Array.isArray(r)&&(r=[r]),e=e||t,r=o!==\"string\"?$p(r,o):Oo(r,[],!0),T.makeTensor(r,e,o)}function nr(r,e,t){let o=or(r,t);return xr(r,e,o,t)}var Zc={float32:4,float16:2,int32:4,uint16:2,uint8:1,bool:1,complex64:8};var Mm=4;async function bv(r,e){let t=[],o=[],n=Array.isArray(r)?r.map(a=>a.name):Object.keys(r);for(let a=0;a{let m=await p.bytes(),d=m.reduce((g,x)=>g+x.length,0)+Mm*m.length,f=new Uint8Array(d),h=0;for(let g=0;g{if(e+=s.byteLength,t.push(s.byteLength===s.buffer.byteLength?s:new s.constructor(s)),!(s instanceof Float32Array||s instanceof Int32Array||s instanceof Uint8Array))throw new Error(`Unsupported TypedArray subtype: ${s.constructor.name}`)});let o=new Uint8Array(e),n=0;return t.forEach(s=>{o.set(new Uint8Array(s.buffer),n),n+=s.byteLength}),o.buffer}var Bb=typeof Buffer!=\"undefined\"&&(typeof Blob==\"undefined\"||typeof atob==\"undefined\"||typeof btoa==\"undefined\");function yv(r){return Bb?Buffer.byteLength(r):new Blob([r]).size}function Cv(r){if(Bb)return Buffer.from(r).toString(\"base64\");let e=new Uint8Array(r),t=\"\";for(let o=0,n=e.length;o{e+=n.byteLength});let t=new Uint8Array(e),o=0;return r.forEach(n=>{t.set(new Uint8Array(n),o),o+=n.byteLength}),t.buffer}function Vb(r){let e=\"/\";for(r=r.trim();r.endsWith(e);)r=r.slice(0,r.length-1);let t=r.split(e);return t[t.length-1]}function Bm(r,e){let t={modelTopology:r.modelTopology,format:r.format,generatedBy:r.generatedBy,convertedBy:r.convertedBy,weightsManifest:e};return r.signature!=null&&(t.signature=r.signature),r.userDefinedMetadata!=null&&(t.userDefinedMetadata=r.userDefinedMetadata),r.modelInitializer!=null&&(t.modelInitializer=r.modelInitializer),r.initializerSignature!=null&&(t.initializerSignature=r.initializerSignature),r.trainingConfig!=null&&(t.trainingConfig=r.trainingConfig),t}function zb(r,e,t){let o={modelTopology:r.modelTopology,format:r.format,generatedBy:r.generatedBy,convertedBy:r.convertedBy};if(r.trainingConfig!=null&&(o.trainingConfig=r.trainingConfig),r.weightsManifest!=null){if(!e)throw new Error(\"modelJSON has weightsManifest but weightSpecs is null\");if(!t)throw new Error(\"modelJSON has weightsManifest but weightData is null\");o.weightSpecs=e,o.weightData=t}return r.signature!=null&&(o.signature=r.signature),r.userDefinedMetadata!=null&&(o.userDefinedMetadata=r.userDefinedMetadata),r.modelInitializer!=null&&(o.modelInitializer=r.modelInitializer),r.initializerSignature!=null&&(o.initializerSignature=r.initializerSignature),o}async function Dp(r,e){let t,o;return r.weightsManifest!=null&&([t,o]=await e(r.weightsManifest)),zb(r,t,o)}function Ps(r){if(r.modelTopology instanceof ArrayBuffer)throw new Error(\"Expected JSON model topology, received ArrayBuffer.\");return{dateSaved:new Date,modelTopologyType:\"JSON\",modelTopologyBytes:r.modelTopology==null?0:yv(JSON.stringify(r.modelTopology)),weightSpecsBytes:r.weightSpecs==null?0:yv(JSON.stringify(r.weightSpecs)),weightDataBytes:r.weightData==null?0:r.weightData.byteLength}}function Vm(r){let e=[];for(let t of r)e.push(...t.weights);return e}function fz(){let r=t=>{let o=t<<13,n=0;for(;(o&8388608)===0;)n-=8388608,o<<=1;return o&=-8388609,n+=947912704,o|n},e=new Uint32Array(2048);e[0]=0;for(let t=1;t<1024;t++)e[t]=r(t);for(let t=1024;t<2048;t++)e[t]=939524096+(t-1024<<13);return e}function hz(){let r=new Uint32Array(64);r[0]=0,r[31]=1199570944,r[32]=2147483648,r[63]=3347054592;for(let e=1;e<31;e++)r[e]=e<<23;for(let e=33;e<63;e++)r[e]=2147483648+(e-32<<23);return r}function gz(){let r=new Uint32Array(64);for(let e=0;e<64;e++)r[e]=1024;return r[0]=r[32]=0,r}function xz(){let r=fz(),e=hz(),t=gz();return o=>{let n=new ArrayBuffer(4*o.length),s=new Uint32Array(n);for(let a=0;a>10]+(i&1023)]+e[i>>10];s[a]=p}return new Float32Array(n)}}var lt=class{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return lt.instance==null&&(lt.instance=new lt),lt.instance}static registerSaveRouter(e){lt.getInstance().saveRouters.push(e)}static registerLoadRouter(e){lt.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return lt.getHandlers(e,\"save\")}static getLoadHandlers(e,t){return lt.getHandlers(e,\"load\",t)}static getHandlers(e,t,o){let n=[];return(t===\"load\"?lt.getInstance().loadRouters:lt.getInstance().saveRouters).forEach(a=>{let i=a(e,o);i!==null&&n.push(i)}),n}},wv=r=>lt.registerSaveRouter(r),Iv=r=>lt.registerLoadRouter(r),vv=r=>lt.getSaveHandlers(r),kv=(r,e)=>lt.getLoadHandlers(r,e);var Wb=\"tensorflowjs\",Ub=1,nu=\"models_store\",bi=\"model_info_store\";function Nv(){if(!O().getBool(\"IS_BROWSER\"))throw new Error(\"Failed to obtain IndexedDB factory because the current environmentis not a web browser.\");let r=typeof window==\"undefined\"?self:window,e=r.indexedDB||r.mozIndexedDB||r.webkitIndexedDB||r.msIndexedDB||r.shimIndexedDB;if(e==null)throw new Error(\"The current browser does not appear to support IndexedDB.\");return e}function Gb(r){let e=r.result;e.createObjectStore(nu,{keyPath:\"modelPath\"}),e.createObjectStore(bi,{keyPath:\"modelPath\"})}var Ms=class{constructor(e){if(this.indexedDB=Nv(),e==null||!e)throw new Error(\"For IndexedDB, modelPath must not be null, undefined or empty.\");this.modelPath=e}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserLocalStorage.save() does not support saving model topology in binary formats yet.\");return this.databaseAction(this.modelPath,e)}async load(){return this.databaseAction(this.modelPath)}databaseAction(e,t){return new Promise((o,n)=>{let s=this.indexedDB.open(Wb,Ub);s.onupgradeneeded=()=>Gb(s),s.onsuccess=()=>{let a=s.result;if(t==null){let i=a.transaction(nu,\"readonly\"),u=i.objectStore(nu).get(this.modelPath);u.onsuccess=()=>{if(u.result==null)return a.close(),n(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));o(u.result.modelArtifacts)},u.onerror=c=>(a.close(),n(u.error)),i.oncomplete=()=>a.close()}else{let i=Ps(t),p=a.transaction(bi,\"readwrite\"),u=p.objectStore(bi),c=u.put({modelPath:this.modelPath,modelArtifactsInfo:i}),l;c.onsuccess=()=>{l=a.transaction(nu,\"readwrite\");let d=l.objectStore(nu).put({modelPath:this.modelPath,modelArtifacts:t,modelArtifactsInfo:i});d.onsuccess=()=>o({modelArtifactsInfo:i}),d.onerror=f=>{u=p.objectStore(bi);let h=u.delete(this.modelPath);h.onsuccess=()=>(a.close(),n(d.error)),h.onerror=g=>(a.close(),n(d.error))}},c.onerror=m=>(a.close(),n(c.error)),p.oncomplete=()=>{l==null?a.close():l.oncomplete=()=>a.close()}}},s.onerror=a=>n(s.error)})}};Ms.URL_SCHEME=\"indexeddb://\";var Tv=r=>O().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith(Ms.URL_SCHEME)?yz(r.slice(Ms.URL_SCHEME.length)):null;lt.registerSaveRouter(Tv);lt.registerLoadRouter(Tv);function yz(r){return new Ms(r)}function bz(r){return r.startsWith(Ms.URL_SCHEME)?r.slice(Ms.URL_SCHEME.length):r}var zm=class{constructor(){this.indexedDB=Nv()}async listModels(){return new Promise((e,t)=>{let o=this.indexedDB.open(Wb,Ub);o.onupgradeneeded=()=>Gb(o),o.onsuccess=()=>{let n=o.result,s=n.transaction(bi,\"readonly\"),i=s.objectStore(bi).getAll();i.onsuccess=()=>{let p={};for(let u of i.result)p[u.modelPath]=u.modelArtifactsInfo;e(p)},i.onerror=p=>(n.close(),t(i.error)),s.oncomplete=()=>n.close()},o.onerror=n=>t(o.error)})}async removeModel(e){return e=bz(e),new Promise((t,o)=>{let n=this.indexedDB.open(Wb,Ub);n.onupgradeneeded=()=>Gb(n),n.onsuccess=()=>{let s=n.result,a=s.transaction(bi,\"readwrite\"),i=a.objectStore(bi),p=i.get(e),u;p.onsuccess=()=>{if(p.result==null)return s.close(),o(new Error(`Cannot find model with path '${e}' in IndexedDB.`));{let c=i.delete(e),l=()=>{u=s.transaction(nu,\"readwrite\");let d=u.objectStore(nu).delete(e);d.onsuccess=()=>t(p.result.modelArtifactsInfo),d.onerror=f=>o(p.error)};c.onsuccess=l,c.onerror=m=>(l(),s.close(),o(p.error))}},p.onerror=c=>(s.close(),o(p.error)),a.oncomplete=()=>{u==null?s.close():u.oncomplete=()=>s.close()}},n.onerror=s=>o(n.error)})}};var Ta=\"/\",Op=\"tensorflowjs_models\",_v=\"info\",Cz=\"model_topology\",Sz=\"weight_specs\",wz=\"weight_data\",Iz=\"model_metadata\";function Ev(r){return{info:[Op,r,_v].join(Ta),topology:[Op,r,Cz].join(Ta),weightSpecs:[Op,r,Sz].join(Ta),weightData:[Op,r,wz].join(Ta),modelMetadata:[Op,r,Iz].join(Ta)}}function $v(r){for(let e of Object.values(r))window.localStorage.removeItem(e)}function vz(r){let e=r.split(Ta);if(e.length<3)throw new Error(`Invalid key format: ${r}`);return e.slice(1,e.length-1).join(Ta)}function kz(r){return r.startsWith(Ls.URL_SCHEME)?r.slice(Ls.URL_SCHEME.length):r}var Ls=class{constructor(e){if(!O().getBool(\"IS_BROWSER\")||typeof window==\"undefined\"||typeof window.localStorage==\"undefined\")throw new Error(\"The current environment does not support local storage.\");if(this.LS=window.localStorage,e==null||!e)throw new Error(\"For local storage, modelPath must not be null, undefined or empty.\");this.modelPath=e,this.keys=Ev(this.modelPath)}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserLocalStorage.save() does not support saving model topology in binary formats yet.\");{let t=JSON.stringify(e.modelTopology),o=JSON.stringify(e.weightSpecs),n=Ps(e);try{this.LS.setItem(this.keys.info,JSON.stringify(n)),this.LS.setItem(this.keys.topology,t),this.LS.setItem(this.keys.weightSpecs,o),this.LS.setItem(this.keys.weightData,Cv(e.weightData));let s={format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,signature:e.signature!=null?e.signature:void 0,userDefinedMetadata:e.userDefinedMetadata!=null?e.userDefinedMetadata:void 0,modelInitializer:e.modelInitializer!=null?e.modelInitializer:void 0,initializerSignature:e.initializerSignature!=null?e.initializerSignature:void 0,trainingConfig:e.trainingConfig!=null?e.trainingConfig:void 0};return this.LS.setItem(this.keys.modelMetadata,JSON.stringify(s)),{modelArtifactsInfo:n}}catch(s){throw $v(this.keys),new Error(`Failed to save model '${this.modelPath}' to local storage: size quota being exceeded is a possible cause of this failure: modelTopologyBytes=${n.modelTopologyBytes}, weightSpecsBytes=${n.weightSpecsBytes}, weightDataBytes=${n.weightDataBytes}.`)}}}async load(){let e=JSON.parse(this.LS.getItem(this.keys.info));if(e==null)throw new Error(`In local storage, there is no model with name '${this.modelPath}'`);if(e.modelTopologyType!==\"JSON\")throw new Error(\"BrowserLocalStorage does not support loading non-JSON model topology yet.\");let t={},o=JSON.parse(this.LS.getItem(this.keys.topology));if(o==null)throw new Error(`In local storage, the topology of model '${this.modelPath}' is missing.`);t.modelTopology=o;let n=JSON.parse(this.LS.getItem(this.keys.weightSpecs));if(n==null)throw new Error(`In local storage, the weight specs of model '${this.modelPath}' are missing.`);t.weightSpecs=n;let s=this.LS.getItem(this.keys.modelMetadata);if(s!=null){let i=JSON.parse(s);t.format=i.format,t.generatedBy=i.generatedBy,t.convertedBy=i.convertedBy,i.signature!=null&&(t.signature=i.signature),i.userDefinedMetadata!=null&&(t.userDefinedMetadata=i.userDefinedMetadata),i.modelInitializer!=null&&(t.modelInitializer=i.modelInitializer),i.initializerSignature!=null&&(t.initializerSignature=i.initializerSignature),i.trainingConfig!=null&&(t.trainingConfig=i.trainingConfig)}let a=this.LS.getItem(this.keys.weightData);if(a==null)throw new Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`);return t.weightData=Sv(a),t}};Ls.URL_SCHEME=\"localstorage://\";var Av=r=>O().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith(Ls.URL_SCHEME)?Nz(r.slice(Ls.URL_SCHEME.length)):null;lt.registerSaveRouter(Av);lt.registerLoadRouter(Av);function Nz(r){return new Ls(r)}var Wm=class{constructor(){E(O().getBool(\"IS_BROWSER\"),()=>\"Current environment is not a web browser\"),E(typeof window==\"undefined\"||typeof window.localStorage!=\"undefined\",()=>\"Current browser does not appear to support localStorage\"),this.LS=window.localStorage}async listModels(){let e={},t=Op+Ta,o=Ta+_v;for(let n=0;n\"scheme must not be undefined or null.\"),e.endsWith(Pp)&&(e=e.slice(0,e.indexOf(Pp))),E(e.length>0,()=>\"scheme must not be an empty string.\");let o=Xt.getInstance();E(o.managers[e]==null,()=>`A model store manager is already registered for scheme '${e}'.`),o.managers[e]=t}static getManager(e){let t=Xt.getInstance().managers[e];if(t==null)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(Xt.getInstance().managers)}};function Um(r){if(r.indexOf(Pp)===-1)throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${Xt.getSchemes().join(\",\")}`);return{scheme:r.split(Pp)[0],path:r.split(Pp)[1]}}async function Rv(r,e,t=!1){E(r!==e,()=>`Old path and new path are the same: '${r}'`);let o=lt.getLoadHandlers(r);E(o.length>0,()=>`Copying failed because no load handler is found for source URL ${r}.`),E(o.length<2,()=>`Copying failed because more than one (${o.length}) load handlers for source URL ${r}.`);let n=o[0],s=lt.getSaveHandlers(e);E(s.length>0,()=>`Copying failed because no save handler is found for destination URL ${e}.`),E(s.length<2,()=>`Copying failed because more than one (${o.length}) save handlers for destination URL ${e}.`);let a=s[0],i=Um(r).scheme,p=Um(r).path,u=i===Um(r).scheme,c=await n.load();t&&u&&await Xt.getManager(i).removeModel(p);let l=await a.save(c);return t&&!u&&await Xt.getManager(i).removeModel(p),l.modelArtifactsInfo}async function Fv(){let r=Xt.getSchemes(),e={};for(let t of r){let o=await Xt.getManager(t).listModels();for(let n in o){let s=t+Pp+n;e[s]=o[n]}}return e}async function Dv(r){let e=Um(r);return Xt.getManager(e.scheme).removeModel(e.path)}async function Ov(r,e){return Rv(r,e,!1)}async function Pv(r,e){return Rv(r,e,!0)}var Hb=class{constructor(){this.messageName=\"setTimeoutCustom\",this.functionRefs=[],this.handledMessageCount=0,this.hasEventListener=!1}fetch(e,t){return fetch(e,t)}now(){return performance.now()}encode(e,t){if(t!==\"utf-8\"&&t!==\"utf8\")throw new Error(`Browser's encoder only supports utf-8, but got ${t}`);return this.textEncoder==null&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(e)}decode(e,t){return new TextDecoder(t).decode(e)}setTimeoutCustom(e,t){if(typeof window==\"undefined\"||!O().getBool(\"USE_SETTIMEOUTCUSTOM\")){setTimeout(e,t);return}this.functionRefs.push(e),setTimeout(()=>{window.postMessage({name:this.messageName,index:this.functionRefs.length-1},\"*\")},t),this.hasEventListener||(this.hasEventListener=!0,window.addEventListener(\"message\",o=>{if(o.source===window&&o.data.name===this.messageName){o.stopPropagation();let n=this.functionRefs[o.data.index];n(),this.handledMessageCount++,this.handledMessageCount===this.functionRefs.length&&(this.functionRefs=[],this.handledMessageCount=0)}},!0))}};if(O().get(\"IS_BROWSER\")){O().setPlatform(\"browser\",new Hb);try{Xt.registerManager(Ls.URL_SCHEME,new Wm)}catch(r){}try{Xt.registerManager(Ms.URL_SCHEME,new zm)}catch(r){}}var Tz={importFetch:()=>Mv()},qb;var Kb=class{constructor(){this.util=Lv(),this.textEncoder=new this.util.TextEncoder}fetch(e,t){return O().global.fetch!=null?O().global.fetch(e,t):(qb==null&&(qb=Tz.importFetch()),qb(e,t))}now(){let e=process.hrtime();return e[0]*1e3+e[1]/1e6}encode(e,t){if(t!==\"utf-8\"&&t!==\"utf8\")throw new Error(`Node built-in encoder only supports utf-8, but got ${t}`);return this.textEncoder.encode(e)}decode(e,t){return e.length===0?\"\":new this.util.TextDecoder(t).decode(e)}};O().get(\"IS_NODE\")&&!O().get(\"IS_BROWSER\")&&O().setPlatform(\"node\",new Kb);function le(r,e=\"float32\",t){return e=e||\"float32\",yt(r),new st(r,e,t)}function _z(r,e){let t=v(r,\"x\",\"cast\");if(!db(e))throw new Error(`Failed to cast to unknown dtype ${e}`);if(e===\"string\"&&t.dtype!==\"string\"||e!==\"string\"&&t.dtype===\"string\")throw new Error(\"Only strings can be casted to strings\");let o={x:t},n={dtype:e};return T.runKernel(co,o,n)}var Ke=N({cast_:_z});function Ez(r){let t={x:v(r,\"x\",\"clone\",\"string_or_numeric\")};return T.runKernel(mo,t)}var Br=N({clone_:Ez});function Gm(r,e=!1){console.log(r.toString(e))}Ob();var $z={buffer:le,cast:Ke,clone:Br,print:Gm};mv($z);var Ea={};Ue(Ea,{browserFiles:()=>Vv,browserHTTPRequest:()=>Uv,concatenateArrayBuffers:()=>Fp,copyModel:()=>Ov,decodeWeights:()=>Lm,encodeWeights:()=>bv,fromMemory:()=>Gv,fromMemorySync:()=>Jb,getLoadHandlers:()=>kv,getModelArtifactsForJSON:()=>Dp,getModelArtifactsForJSONSync:()=>zb,getModelArtifactsInfoForJSON:()=>Ps,getSaveHandlers:()=>vv,getWeightSpecs:()=>Vm,http:()=>qm,isHTTPScheme:()=>Hm,listModels:()=>Fv,loadWeights:()=>zv,moveModel:()=>Pv,registerLoadRouter:()=>Iv,registerSaveRouter:()=>wv,removeModel:()=>Dv,weightsLoaderFactory:()=>Qb,withSaveHandler:()=>Hv,withSaveHandlerSync:()=>qv});var Az=\"model\",Rz=\".json\",Fz=\".weights.bin\";function Bv(r){return new Promise(e=>setTimeout(e)).then(r)}var _a=class{constructor(e){if(!O().getBool(\"IS_BROWSER\"))throw new Error(\"browserDownloads() cannot proceed because the current environment is not a browser.\");e.startsWith(_a.URL_SCHEME)&&(e=e.slice(_a.URL_SCHEME.length)),(e==null||e.length===0)&&(e=Az),this.modelJsonFileName=e+Rz,this.weightDataFileName=e+Fz}async save(e){if(typeof document==\"undefined\")throw new Error(\"Browser downloads are not supported in this environment since `document` is not present\");let t=window.URL.createObjectURL(new Blob([e.weightData],{type:\"application/octet-stream\"}));if(e.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserDownloads.save() does not support saving model topology in binary formats yet.\");{let o=[{paths:[\"./\"+this.weightDataFileName],weights:e.weightSpecs}],n=Bm(e,o),s=window.URL.createObjectURL(new Blob([JSON.stringify(n)],{type:\"application/json\"})),a=this.modelJsonAnchor==null?document.createElement(\"a\"):this.modelJsonAnchor;if(a.download=this.modelJsonFileName,a.href=s,await Bv(()=>a.dispatchEvent(new MouseEvent(\"click\"))),e.weightData!=null){let i=this.weightDataAnchor==null?document.createElement(\"a\"):this.weightDataAnchor;i.download=this.weightDataFileName,i.href=t,await Bv(()=>i.dispatchEvent(new MouseEvent(\"click\")))}return{modelArtifactsInfo:Ps(e)}}}};_a.URL_SCHEME=\"downloads://\";var jb=class{constructor(e){if(e==null||e.length<1)throw new Error(`When calling browserFiles, at least 1 file is required, but received ${e}`);this.jsonFile=e[0],this.weightsFiles=e.slice(1)}async load(){return new Promise((e,t)=>{let o=new FileReader;o.onload=n=>{let s=JSON.parse(n.target.result),a=s.modelTopology;if(a==null){t(new Error(`modelTopology field is missing from file ${this.jsonFile.name}`));return}if(s.weightsManifest==null){t(new Error(`weightManifest field is missing from file ${this.jsonFile.name}`));return}if(this.weightsFiles.length===0){e({modelTopology:a});return}let p=Dp(s,u=>this.loadWeights(u));e(p)},o.onerror=n=>t(`Failed to read model topology and weights manifest JSON from file '${this.jsonFile.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`),o.readAsText(this.jsonFile)})}loadWeights(e){let t=[],o=[];for(let a of e)t.push(...a.weights),o.push(...a.paths);let n=this.checkManifestAndWeightFiles(e),s=o.map(a=>this.loadWeightsFile(a,n[a]));return Promise.all(s).then(a=>[t,Fp(a)])}loadWeightsFile(e,t){return new Promise((o,n)=>{let s=new FileReader;s.onload=a=>{let i=a.target.result;o(i)},s.onerror=a=>n(`Failed to weights data from file of path '${e}'.`),s.readAsArrayBuffer(t)})}checkManifestAndWeightFiles(e){let t=[],o=this.weightsFiles.map(s=>Vb(s.name)),n={};for(let s of e)s.paths.forEach(a=>{let i=Vb(a);if(t.indexOf(i)!==-1)throw new Error(`Duplicate file basename found in weights manifest: '${i}'`);if(t.push(i),o.indexOf(i)===-1)throw new Error(`Weight file with basename '${i}' is not provided.`);n[a]=this.weightsFiles[o.indexOf(i)]});if(t.length!==this.weightsFiles.length)throw new Error(`Mismatch in the number of files in weights manifest (${t.length}) and the number of weight files provided (${this.weightsFiles.length}).`);return n}},Dz=r=>O().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith(_a.URL_SCHEME)?Oz(r.slice(_a.URL_SCHEME.length)):null;lt.registerSaveRouter(Dz);function Oz(r=\"model\"){return new _a(r)}function Vv(r){return new jb(r)}function Xb(r,e,t,o){a(r),t=t==null?0:t,o=o==null?1:o,i(t,o);let n=0,s=p=>(p.then(u=>{let c=t+ ++n/r.length*(o-t);return e(c),u}),p);function a(p){E(p!=null&&Array.isArray(p)&&p.length>0,()=>\"promises must be a none empty array\")}function i(p,u){E(p>=0&&p<=1,()=>`Progress fraction must be in range [0, 1], but got startFraction ${p}`),E(u>=0&&u<=1,()=>`Progress fraction must be in range [0, 1], but got endFraction ${u}`),E(u>=p,()=>`startFraction must be no more than endFraction, but got startFraction ${p} and endFraction ${u}`)}return Promise.all(r.map(s))}async function Yb(r,e){e==null&&(e={});let t=e.fetchFunc==null?O().platform.fetch:e.fetchFunc,o=r.map(l=>t(l,e.requestInit,{isBinary:!0})),n=0,s=.5,i=(e.onProgress==null?await Promise.all(o):await Xb(o,e.onProgress,n,s)).map(l=>l.arrayBuffer()),p=.5,u=1;return e.onProgress==null?await Promise.all(i):await Xb(i,e.onProgress,p,u)}async function zv(r,e=\"\",t,o){return Qb(a=>Yb(a,{requestInit:o}))(r,e,t)}function Qb(r){return async(e,t=\"\",o)=>{let n=e.map(()=>!1),s={},a=o!=null?o.map(()=>!1):[],i=[];if(e.forEach((d,f)=>{let h=0;d.weights.forEach(g=>{let x=\"quantization\"in g?g.quantization.dtype:g.dtype,b=Zc[x]*ze(g.shape),C=()=>{n[f]=!0,s[f]==null&&(s[f]=[]),s[f].push({manifestEntry:g,groupOffset:h,sizeBytes:b})};o!=null?o.forEach((w,k)=>{w===g.name&&(C(),a[k]=!0)}):C(),i.push(g.name),h+=b})}),!a.every(d=>d)){let d=o.filter((f,h)=>!a[h]);throw new Error(`Could not find weights in manifest with names: ${d.join(\", \")}. \nManifest JSON has weights with names: ${i.join(\", \")}.`)}let p=n.reduce((d,f,h)=>(f&&d.push(h),d),[]),u=[];p.forEach(d=>{e[d].paths.forEach(f=>{let h=t+(t.endsWith(\"/\")?\"\":\"/\")+f;u.push(h)})});let c=await r(u),l={},m=0;return p.forEach(d=>{let f=e[d].paths.length,h=0;for(let w=0;w{let k=g.slice(w.groupOffset,w.groupOffset+w.sizeBytes),_=Lm(k,[w.manifestEntry]);for(let $ in _)l[$]=_[$]}),m+=f}),l}}var Pz=\"application/octet-stream\",Mz=\"application/json\",Jc=class{constructor(e,t){if(this.DEFAULT_METHOD=\"POST\",t==null&&(t={}),this.weightPathPrefix=t.weightPathPrefix,this.onProgress=t.onProgress,this.weightUrlConverter=t.weightUrlConverter,t.fetchFunc!=null?(E(typeof t.fetchFunc==\"function\",()=>\"Must pass a function that matches the signature of `fetch` (see https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\"),this.fetch=t.fetchFunc):this.fetch=O().platform.fetch,E(e!=null&&e.length>0,()=>\"URL path for http must not be null, undefined or empty.\"),Array.isArray(e)&&E(e.length===2,()=>`URL paths for http must have a length of 2, (actual length is ${e.length}).`),this.path=e,t.requestInit!=null&&t.requestInit.body!=null)throw new Error(\"requestInit is expected to have no pre-existing body, but has one.\");this.requestInit=t.requestInit||{}}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.\");let t=Object.assign({method:this.DEFAULT_METHOD},this.requestInit);t.body=new FormData;let o=[{paths:[\"./model.weights.bin\"],weights:e.weightSpecs}],n=Bm(e,o);t.body.append(\"model.json\",new Blob([JSON.stringify(n)],{type:Mz}),\"model.json\"),e.weightData!=null&&t.body.append(\"model.weights.bin\",new Blob([e.weightData],{type:Pz}),\"model.weights.bin\");let s=await this.fetch(this.path,t);if(s.ok)return{modelArtifactsInfo:Ps(e),responses:[s]};throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${s.status}.`)}async load(){let e=await this.fetch(this.path,this.requestInit);if(!e.ok)throw new Error(`Request to ${this.path} failed with status code ${e.status}. Please verify this URL points to the model JSON of the model to load.`);let t;try{t=await e.json()}catch(s){let a=`Failed to parse model JSON of response from ${this.path}.`;throw this.path.endsWith(\".pb\")?a+=\" Your path contains a .pb file extension. Support for .pb models have been removed in TensorFlow.js 1.0 in favor of .json models. You can re-convert your Python TensorFlow model using the TensorFlow.js 1.0 conversion scripts or you can convert your.pb models with the 'pb2json'NPM script in the tensorflow/tfjs-converter repository.\":a+=\" Please make sure the server is serving valid JSON for this request.\",new Error(a)}let o=t.modelTopology,n=t.weightsManifest;if(o==null&&n==null)throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`);return Dp(t,s=>this.loadWeights(s))}async loadWeights(e){let t=Array.isArray(this.path)?this.path[1]:this.path,[o,n]=Lz(t),s=this.weightPathPrefix||o,a=Vm(e),i=[],p=[];for(let c of e)for(let l of c.paths)this.weightUrlConverter!=null?p.push(this.weightUrlConverter(l)):i.push(s+l+n);this.weightUrlConverter&&i.push(...await Promise.all(p));let u=await Yb(i,{requestInit:this.requestInit,fetchFunc:this.fetch,onProgress:this.onProgress});return[a,Fp(u)]}};Jc.URL_SCHEME_REGEX=/^https?:\\/\\//;function Lz(r){let e=r.lastIndexOf(\"/\"),t=r.lastIndexOf(\"?\"),o=r.substring(0,e),n=t>e?r.substring(t):\"\";return[o+\"/\",n]}function Hm(r){return r.match(Jc.URL_SCHEME_REGEX)!=null}var Wv=(r,e)=>{if(typeof fetch==\"undefined\"&&(e==null||e.fetchFunc==null))return null;{let t=!0;if(Array.isArray(r)?t=r.every(o=>Hm(o)):t=Hm(r),t)return qm(r,e)}return null};lt.registerSaveRouter(Wv);lt.registerLoadRouter(Wv);function qm(r,e){return new Jc(r,e)}function Uv(r,e){return qm(r,e)}var el=class{constructor(e){this.modelArtifacts=e}load(){return this.modelArtifacts}},Km=class{constructor(e){this.saveHandler=e}save(e){return this.saveHandler(e)}},Zb=class{constructor(e){e.load&&(this.load=()=>Promise.resolve(e.load())),e.save&&(this.save=t=>Promise.resolve(e.save(t)))}};function Gv(r,e,t,o){let n=arguments;return new Zb(Jb(...n))}function Jb(r,e,t,o){return arguments.length===1?r.modelTopology!=null||r.weightSpecs!=null?new el(r):(console.warn(\"Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release.\"),new el({modelTopology:r})):(console.warn(\"Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release.\"),new el({modelTopology:r,weightSpecs:e,weightData:t,trainingConfig:o}))}function Hv(r){return new Km(r)}function qv(r){return new Km(r)}var jv={};Ue(jv,{confusionMatrix:()=>Kv});function Bz(r,e,t=!1,o=!1){let n=v(r,\"a\",\"matMul\"),s=v(e,\"b\",\"matMul\");[n,s]=Re(n,s);let a={a:n,b:s},i={transposeA:t,transposeB:o};return T.runKernel(Wo,a,i)}var Xe=N({matMul_:Bz});function Vz(r,e,t=1,o=0,n=\"int32\"){if(e<2)throw new Error(`Error in oneHot: depth must be >=2, but it is ${e}`);let a={indices:v(r,\"indices\",\"oneHot\",\"int32\")},i={dtype:n,depth:e,onValue:t,offValue:o};return T.runKernel(En,a,i)}var tl=N({oneHot_:Vz});function wie(){O().set(\"PROD\",!0)}function Iie(){O().set(\"DEBUG\",!0)}function vie(){O().set(\"DEPRECATION_WARNINGS_ENABLED\",!1),console.warn(\"TensorFlow.js deprecation warnings have been disabled.\")}function eC(r){O().getBool(\"DEPRECATION_WARNINGS_ENABLED\")&&console.warn(r+\" You can disable deprecation warnings with tf.disableDeprecationWarnings().\")}dv(eC);function kie(){T.disposeVariables()}function cr(){return T}function Nie(){return T.memory()}function Tie(r){return T.profile(r)}function Ee(r,e){return T.tidy(r,e)}function Dt(r){Qc(r).forEach(t=>t.dispose())}function _r(r){return T.keep(r)}function _ie(r){return T.time(r)}function Eie(r){return T.setBackend(r)}function $ie(){return T.ready()}function Aie(){return T.backendName}function Rie(r){T.removeBackend(r)}function Fie(r){return T.findBackend(r)}function Die(r){return T.findBackendFactory(r)}function Ci(r,e,t=1){return T.registerBackend(r,e,t)}function Oie(){return T.backend}function Pie(r,e){O().setPlatform(r,e)}function zz(r){let t={input:v(r,\"input\",\"imag\")};return T.runKernel(si,t)}var Si=N({imag_:zz});function Wz(r){let t={x:v(r,\"x\",\"neg\")};return T.runKernel(ws,t)}var yr=N({neg_:Wz});function Uz(r){let t={input:v(r,\"input\",\"real\")};return T.runKernel(ai,t)}var $a=N({real_:Uz});function Gz(r,e,t){let o=v(r,\"x\",\"transpose\");if(e==null&&(e=o.shape.map((a,i)=>i).reverse()),E(o.rank===e.length,()=>`Error in transpose: rank of input ${o.rank} must match length of perm ${e}.`),e.forEach(a=>{E(a>=0&&a`All entries in 'perm' must be between 0 and ${o.rank-1} but got ${e}`)}),o.rank<=1)return o.clone();let n={x:o},s={perm:e};return o.dtype===\"complex64\"?Ee(()=>{let a=$a(o),i=Si(o);return a=T.runKernel(ro,{x:a},s),i=T.runKernel(ro,{x:i},s),t&&(i=yr(i)),Tr(a,i)}):T.runKernel(ro,n,s)}var Mp=N({transpose_:Gz});function Hz(r,e,t){let o=v(r,\"labels\",\"confusionMatrix\"),n=v(e,\"predictions\",\"confusionMatrix\");E(t==null||t>0&&Number.isInteger(t),()=>`If provided, numClasses must be a positive integer, but got ${t}`),E(o.rank===1,()=>`Expected the rank of labels to be 1, but got ${o.rank}`),E(n.rank===1,()=>`Expected the rank of predictions to be 1, but got ${n.rank}`),E(o.shape[0]===n.shape[0],()=>`Mismatch in the number of examples: ${o.shape[0]} vs. ${n.shape[0]}. Labels and predictions should have the same number of elements.`),E(t>0&&Number.isInteger(t),()=>`numClasses is required to be a positive integer, but got ${t}`);let s=tl(Ke(o,\"int32\"),t),a=tl(Ke(n,\"int32\"),t),i=Mp(s),p=Xe(i,a);return Ke(p,\"int32\")}var Kv=N({confusionMatrix_:Hz});var br={};Ue(br,{assertAndGetBroadcastShape:()=>Je,getBroadcastDims:()=>Xv,getReductionAxes:()=>jm});function Xv(r,e){let t=r.length,o=[];for(let n=0;n1&&a===1&&o.unshift(s)}return o}function jm(r,e){let t=[];for(let o=0;o1)&&t.unshift(s)}return t}function Je(r,e){let t=[],o=Math.max(r.length,e.length);for(let n=0;nZz,fromPixelsAsync:()=>Yz,toPixels:()=>Qz});function Xm(r,e,t){if(Jr(r),e!=null&&e.length!==3)throw new Error(\"tensor3d() requires shape to have three numbers\");let o=or(r,t);if(o.length!==3&&o.length!==1)throw new Error(\"tensor3d() requires values to be number[][][] or flat/TypedArray\");if(o.length===1&&e==null)throw new Error(\"tensor3d() requires shape to be provided when `values` are a flat array\");return xr(r,e,o,t)}var su;function Yv(r,e=3){if(e>4)throw new Error(\"Cannot construct Tensor with more than 4 channels from pixels.\");if(r==null)throw new Error(\"pixels passed to tf.browser.fromPixels() can not be null\");let t=!1,o=!1,n=!1,s=!1,a=!1,i=!1;if(r.data instanceof Uint8Array)t=!0;else if(typeof ImageData!=\"undefined\"&&r instanceof ImageData)o=!0;else if(typeof HTMLVideoElement!=\"undefined\"&&r instanceof HTMLVideoElement)n=!0;else if(typeof HTMLImageElement!=\"undefined\"&&r instanceof HTMLImageElement)s=!0;else if(r.getContext!=null)a=!0;else if(typeof ImageBitmap!=\"undefined\"&&r instanceof ImageBitmap)i=!0;else throw new Error(`pixels passed to tf.browser.fromPixels() must be either an HTMLVideoElement, HTMLImageElement, HTMLCanvasElement, ImageData in browser, or OffscreenCanvas, ImageData in webworker or {data: Uint32Array, width: number, height: number}, but was ${r.constructor.name}`);if(qc(Zi,T.backendName)!=null){let f={pixels:r},h={numChannels:e};return T.runKernel(Zi,f,h)}let[u,c]=n?[r.videoWidth,r.videoHeight]:[r.width,r.height],l;if(a)l=r.getContext(\"2d\").getImageData(0,0,u,c).data;else if(o||t)l=r.data;else if(s||n||i){if(su==null)if(typeof document==\"undefined\")if(typeof OffscreenCanvas!=\"undefined\"&&typeof OffscreenCanvasRenderingContext2D!=\"undefined\")su=new OffscreenCanvas(1,1).getContext(\"2d\");else throw new Error(\"Cannot parse input in current context. Reason: OffscreenCanvas Context2D rendering is not supported.\");else su=document.createElement(\"canvas\").getContext(\"2d\",{willReadFrequently:!0});su.canvas.width=u,su.canvas.height=c,su.drawImage(r,0,0,u,c),l=su.getImageData(0,0,u,c).data}let m;if(e===4)m=new Int32Array(l);else{let f=u*c;m=new Int32Array(f*e);for(let h=0;h4||s===2)throw new Error(`toPixels only supports depth of size 1, 3 or 4 but got ${s}`);if(t.dtype!==\"float32\"&&t.dtype!==\"int32\")throw new Error(`Unsupported type for toPixels: ${t.dtype}. Please use float32 or int32 tensors.`);let a=await t.data(),i=t.dtype===\"float32\"?255:1,p=new Uint8ClampedArray(n*o*4);for(let u=0;u1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but encountered ${d}.`)}else if(t.dtype===\"int32\"&&(d<0||d>255))throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but encountered ${d}.`);s===1?(c[0]=d*i,c[1]=d*i,c[2]=d*i):c[m]=d*i}let l=u*4;p[l+0]=Math.round(c[0]),p[l+1]=Math.round(c[1]),p[l+2]=Math.round(c[2]),p[l+3]=Math.round(c[3])}if(e!=null){e.width=n,e.height=o;let u=e.getContext(\"2d\"),c=new ImageData(p,n,o);u.putImageData(c,0,0)}return t!==r&&t.dispose(),p}var Zz=N({fromPixels_:Yv});var Ym={};Ue(Ym,{prepareAndValidate:()=>Zv});function Zv(r,e){let t=r.shape.length,o=e.shape.length;if(t<1)throw new Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${t}.`);if(o<1)throw new Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${o}.`);if(e.dtype!==\"int32\")throw new Error(`tf.gatherND() expects the indices to be int32 type, but the dtype was ${e.dtype}.`);if(e.shape[o-1]>t)throw new Error(`index innermost dimension length must be <= tensor rank; saw: ${e.shape[o-1]} vs. ${t}`);if(ze(r.shape)===0)throw new Error(`Requested more than 0 entries, but input is empty. Input shape: ${r.shape}.`);let n=e.shape,s=n[n.length-1],a=1;for(let l=0;ll/u),1].slice(0,s);return[p,a,u,c]}var rl={};Ue(rl,{calculateShapes:()=>Jv,validateInput:()=>Qm,validateUpdateShape:()=>tC});function tC(r,e,t){let o=e.rank>1?e.shape[e.rank-1]:1,n=e.rank>1?e.rank-1:1,s=`Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${t.shape}, indices.shape: ${e.shape}, shape: ${r}, sliceDim: ${o}, and batchDim: ${n}.`;if(t.rank1?e.shape[o-1]:1,s=t.length,a=1;for(let l=n;leW,computeFlatOffset:()=>sW,computeOutShape:()=>rW,getNormalizedAxes:()=>oW,isSliceContinous:()=>nW,maskToAxes:()=>tW,parseSliceParams:()=>aW,sliceInfo:()=>iW,startForAxis:()=>i0,startIndicesWithElidedDims:()=>n0,stopForAxis:()=>u0,stopIndicesWithElidedDims:()=>s0,stridesForAxis:()=>a0,stridesWithElidedDims:()=>t0});var rC=-2,Jz=-1;function eW(r,e,t){let o=r.shape.length;E(o===e.length,()=>`Error in slice${o}D: Length of begin ${e} must match the rank of the array (${o}).`),E(o===t.length,()=>`Error in slice${o}D: Length of size ${t} must match the rank of the array (${o}).`);for(let n=0;n`Error in slice${o}D: begin[${n}] + size[${n}] (${e[n]+t[n]}) would overflow input.shape[${n}] (${r.shape[n]})`)}function tW(r){let e=[],t=0;for(;r>0;)r&1&&e.push(t),r/=2,t++;return e}function rW(r,e,t){let o=[];for(let n=0;n0){let d=e[0],f=t+1;c=n0(a,d,f,o,r),l=s0(i,d,f,n,r),m=t0(s,d,f,r)}else for(let d=0;d-1)s[i]=0;else{let p=r0(e,t,i),u=o[p];r&1<-1)s[i]=Number.MAX_SAFE_INTEGER;else{let p=r0(e,t,i),u=o[p];r&1<0?a=Number.MIN_SAFE_INTEGER:a=Number.MAX_SAFE_INTEGER);let p=o[n];return a<0&&(a+=p),a=op(0,a,p-1),a}function u0(r,e,t,o,n,s){let a=e[n],i=t[n]||1;(r&1<0?a=Number.MAX_SAFE_INTEGER:a=Number.MIN_SAFE_INTEGER);let p=o[n];return a<0&&(a+=p),i>0?a=op(0,a,p):a=op(-1,a,p-1),a}function nW(r,e,t){let o=t.length;for(let n=0;n1){o=n;break}for(let n=o+1;n0||t[n]!==r[n])return!1;return!0}function sW(r,e){let t=r.length>0?r[r.length-1]:1;for(let o=0;o{E(a!==-1,()=>\"slice() does not support negative begin indexing.\")});let s;return t==null?s=new Array(n).fill(-1):typeof t==\"number\"?s=[t,...new Array(n-1).fill(-1)]:t.lengtha>=0?a:(E(a===-1,()=>`Negative size values should be exactly -1 but got ${a} for the slice() size at index ${i}.`),r.shape[i]-o[i])),[o,s]}function iW(r,e,t,o,n,s,a,i,p){let u;if(o==null?(u=new Array(e.length),u.fill(1)):u=o,a!=null&&(a&a-1)!==0)throw new Error(\"Multiple ellipses in slice is not allowed.\");let c=!1,l={dims:u.length,numAddAxisAfterEllipsis:0,begin:e.slice(),end:t.slice(),strides:u.slice(),beginMask:n,endMask:s,ellipsisMask:a,newAxisMask:i,shrinkAxisMask:p};for(let C=0;C0?0:-1,m.strides[C]>0?k:k-1];if(w&&m.strides[C]<=0)throw Error(\"only stride 1 allowed on non-range indexing.\");h=h&&m.strides[C]===1;let A=!!(m.beginMask&1<=k)throw Error(`slice index ${m.begin[C]} of dimension ${C} out of bounds.`)}else m.begin[C]=e0(m.begin[C],0,m.strides[C],k,_,$),m.end[C]=e0(m.end[C],1,m.strides[C],k,_,$);let P=m.strides[C]===1&&m.begin[C]===0&&m.end[C]===k;d=d&&P,f=f&&(C===0&&m.strides[C]===1||P)}else d=d&&m.strides[C]===1&&A,f=f&&(C===0&&m.strides[C]===1||A);let R,D=!1;if(m.beginValid&&m.endValid?(R=m.end[C]-m.begin[C],D=!0):w?(R=1,D=!0):A&&k>=0&&(m.strides[C]<0?R=-k:R=k,D=!0),D){let P;R===0||R<0!=m.strides[C]<0?P=0:P=Math.trunc(R/m.strides[C])+(R%m.strides[C]!==0?1:0),g.push(P)}else g.push(-1)}for(let C=0;C=0?x.push(g[w]):w===rC&&x.push(1)}return{finalShapeSparse:x.filter((C,w)=>m.finalShapeGatherIndices[w]!==rC),finalShape:x,isIdentity:d,sliceDim0:f,isSimpleSlice:h,begin:m.begin,end:m.end,strides:m.strides}}function uW(r,e){e.beginMask=0,e.endMask=0,e.shrinkAxisMask=0;let t=0;e.beginValid=r.begin!=null,e.endValid=r.end!=null,e.begin=new Array(e.dims),e.end=new Array(e.dims),e.strides=new Array(e.dims),e.finalShapeGatherIndices=[],e.finalShapeGatherIndicesSparse=[],e.inputShapeGatherIndicesSparse=new Array(e.dims);for(let o=0;o0?s[e]:s[e+1&1];{let a=r<0?o+r:r;return as[1]?s[1]:a}}var p0={};Ue(p0,{Serializable:()=>ol,SerializationMap:()=>Bs,registerClass:()=>Er});var ol=class{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}},Bs=class{constructor(){this.classNameMap={}}static getMap(){return Bs.instance==null&&(Bs.instance=new Bs),Bs.instance}static register(e){Bs.getMap().classNameMap[e.className]=[e,e.fromConfig]}};function Er(r){E(r.className!=null,()=>\"Class being registered does not have the static className property defined.\"),E(typeof r.className==\"string\",()=>\"className is required to be a string, but got type \"+typeof r.className),E(r.className.length>0,()=>\"Class being registered has an empty-string as its className, which is disallowed.\"),Bs.register(r)}var d0={};Ue(d0,{TEST_EPSILON_FLOAT16:()=>c0,createVideoElement:()=>hW,encodeStrings:()=>m0,expectArrayBuffersEqual:()=>fW,expectArraysClose:()=>cW,expectArraysEqual:()=>mW,expectNumbersClose:()=>l0,expectPromiseToFail:()=>lW,expectValuesInRange:()=>dW,play:()=>gW,testEpsilon:()=>Zm});var pW=.001,c0=.1;function cW(r,e,t){return t==null&&(t=Zm()),oC(r,e,(o,n)=>nC(o,n,t))}function Zm(){return T.backend.floatPrecision()===32?pW:c0}function oC(r,e,t){let o=!0;if((Wt(r)||Wt(e))&&(o=!1),Wt(r)&&Wt(e)&&(o=!0),o){let a=r.constructor.name,i=e.constructor.name;if(a!==i)throw new Error(`Arrays are of different type. Actual: ${a}. Expected: ${i}`)}if(Array.isArray(r)&&Array.isArray(e)){let a=or(r),i=or(e);if(!Pr(a,i))throw new Error(`Arrays have different shapes. Actual: [${a}]. Expected: [${i}]`)}let n=Wt(r)?r:Oo(r),s=Wt(e)?e:Oo(e);if(n.length!==s.length)throw new Error(`Arrays have different lengths actual: ${n.length} vs expected: ${s.length}.\nActual: ${n}.\nExpected: ${s}.`);for(let a=0;ae.fail(),()=>e()),typeof expect!=\"undefined\"&&expect().nothing()}function mW(r,e){let t=typeof e==\"string\"||typeof e==\"number\"||typeof e==\"boolean\"?[e]:e;return Po(r)||Po(r[0])||Po(e)||Po(e[0])?oC(r,t,(o,n)=>o==n):oC(r,e,(o,n)=>nC(o,n,0))}function l0(r,e,t){if(t==null&&(t=Zm()),!nC(r,e,t))throw new Error(`Numbers differ: actual === ${r}, expected === ${e}`);typeof expect!=\"undefined\"&&expect().nothing()}function nC(r,e,t){return!isFinite(r)&&!isFinite(e)?!0:!(isNaN(r)||isNaN(e)||Math.abs(r-e)>t)}function dW(r,e,t){for(let o=0;ot)throw new Error(`Value out of range:${r[o]} low: ${e}, high: ${t}`)}function fW(r,e){let t=new Float32Array(r),o=new Float32Array(e);if(t.length!==o.length)throw new Error(`Expected ArrayBuffer to be of length ${o.length}, but it was ${t.length}`);for(let n=0;n{e.addEventListener(\"loadeddata\",o=>t(e)),e.load()})}async function gW(r){await r.play(),\"requestVideoFrameCallback\"in r&&await new Promise(e=>{r.requestVideoFrameCallback(e)})}var xW=\"4.1.0\";function yW(r,e){let t=v(r,\"a\",\"add\"),o=v(e,\"b\",\"add\");[t,o]=Re(t,o);let n={a:t,b:o};return T.runKernel(eo,n)}var xe=N({add_:yW});function bW(r,e){let t=v(r,\"a\",\"floorDiv\"),o=v(e,\"b\",\"floorDiv\");[t,o]=Re(t,o);let n={a:t,b:o};return T.runKernel(sn,n)}var Jm=N({floorDiv_:bW});function CW(r,e){let t=v(r,\"a\",\"div\"),o=v(e,\"b\",\"div\");if([t,o]=Re(t,o),t.dtype===\"int32\"&&o.dtype===\"int32\")return Jm(t,o);let n={a:t,b:o},s={};return T.runKernel(Jo,n,s)}var Ge=N({div_:CW});function SW(r,e){let t=v(r,\"a\",\"mul\"),o=v(e,\"b\",\"mul\");[t,o]=Re(t,o);let n={a:t,b:o};return T.runKernel(kn,n)}var ae=N({mul_:SW});function wW(r){let e=v(r,\"x\",\"abs\");if(e.dtype===\"complex64\"){let t={x:e};return T.runKernel(pp,t)}else{let t={x:e};return T.runKernel(gs,t)}}var Yt=N({abs_:wW});function IW(r){let t={x:v(r,\"x\",\"acos\")};return T.runKernel(sa,t)}var f0=N({acos_:IW});function vW(r){let t={x:v(r,\"x\",\"acosh\")};return T.runKernel(aa,t)}var h0=N({acosh_:vW});function kW(r){E(Array.isArray(r),()=>\"The argument passed to tf.addN() must be a list of tensors\"),E(r.length>=1,()=>`Must pass at least one tensor to tf.addN(), but got ${r.length}`);let e=r.map((n,s)=>v(n,`tensors${s}`,\"addN\")),t=e[0];e.forEach(n=>{if(n.dtype!==t.dtype)throw new Error(\"All tensors passed to tf.addN() must have the same dtype\")}),e.forEach(n=>{if(!Pr(n.shape,t.shape))throw new Error(\"All tensors passed to tf.addN() must have the same shape\")});let o=e;return T.runKernel(Mo,o)}var g0=N({addN_:kW});function NW(r,e=null,t=!1){let n={x:v(r,\"x\",\"all\",\"bool\")},s={axis:e,keepDims:t};return T.runKernel(Lo,n,s)}var x0=N({all_:NW});function TW(r,e=null,t=!1){let n={x:v(r,\"x\",\"any\",\"bool\")},s={axis:e,keepDims:t};return T.runKernel(Bo,n,s)}var y0=N({any_:TW});function _W(r,e=0){let o={x:v(r,\"x\",\"argMax\")},n={axis:e};return T.runKernel(Vo,o,n)}var b0=N({argMax_:_W});function EW(r,e=0){let o={x:v(r,\"x\",\"argMin\")},n={axis:e};return T.runKernel(Za,o,n)}var C0=N({argMin_:EW});function $W(r){let t={x:v(r,\"x\",\"asin\")};return T.runKernel(ia,t)}var S0=N({asin_:$W});function AW(r){let t={x:v(r,\"x\",\"asinh\")};return T.runKernel(ua,t)}var w0=N({asinh_:AW});function RW(r){let t={x:v(r,\"x\",\"atan\")};return T.runKernel(pa,t)}var I0=N({atan_:RW});function FW(r,e){let t=v(r,\"a\",\"atan2\"),o=v(e,\"b\",\"atan2\");[t,o]=Re(t,o);let n={a:t,b:o};return T.runKernel(la,n)}var v0=N({atan2_:FW});function DW(r){let t={x:v(r,\"x\",\"atanh\")};return T.runKernel(ca,t)}var k0=N({atanh_:DW});function OW(r,e,t,o,n=\"NHWC\",s){let a=r[3],i=[...e,a],p=T0(n);return uu(r,i,t,s,o,null,null,p)}function aC(r,e,t,o,n,s,a=\"channelsLast\"){let[i,p]=ed(e),u;if(a===\"channelsLast\")u=[i,p,r[3],r[3]];else if(a===\"channelsFirst\")u=[i,p,r[1],r[1]];else throw new Error(`Unknown dataFormat ${a}`);return uu(r,u,t,o,n,s,!1,a)}function PW(r,e,t,o,n,s,a=\"NDHWC\"){let[i,p,u]=sC(e),c,l;if(a===\"NDHWC\")l=\"channelsLast\",c=[i,p,u,r[4],r[4]];else if(a===\"NCDHW\")l=\"channelsFirst\",c=[i,p,u,r[1],r[1]];else throw new Error(`Unknown dataFormat ${a}`);return N0(r,c,t,o,n,!1,l,s)}function uu(r,e,t,o,n,s,a=!1,i=\"channelsLast\"){let[p,u,c,l]=[-1,-1,-1,-1];if(i===\"channelsLast\")[p,u,c,l]=r;else if(i===\"channelsFirst\")[p,l,u,c]=r;else throw new Error(`Unknown dataFormat ${i}`);let[m,d,,f]=e,[h,g]=ed(t),[x,b]=ed(o),C=Lp(m,x),w=Lp(d,b),{padInfo:k,outHeight:_,outWidth:$}=BW(n,u,c,h,g,C,w,s,i),A=a?f*l:f,R;return i===\"channelsFirst\"?R=[p,A,_,$]:i===\"channelsLast\"&&(R=[p,_,$,A]),{batchSize:p,dataFormat:i,inHeight:u,inWidth:c,inChannels:l,outHeight:_,outWidth:$,outChannels:A,padInfo:k,strideHeight:h,strideWidth:g,filterHeight:m,filterWidth:d,effectiveFilterHeight:C,effectiveFilterWidth:w,dilationHeight:x,dilationWidth:b,inShape:r,outShape:R,filterShape:e}}function N0(r,e,t,o,n,s=!1,a=\"channelsLast\",i){let[p,u,c,l,m]=[-1,-1,-1,-1,-1];if(a===\"channelsLast\")[p,u,c,l,m]=r;else if(a===\"channelsFirst\")[p,m,u,c,l]=r;else throw new Error(`Unknown dataFormat ${a}`);let[d,f,h,,g]=e,[x,b,C]=sC(t),[w,k,_]=sC(o),$=Lp(d,w),A=Lp(f,k),R=Lp(h,_),{padInfo:D,outDepth:P,outHeight:M,outWidth:L}=VW(n,u,c,l,x,b,C,$,A,R,i),W=s?g*m:g,V;return a===\"channelsFirst\"?V=[p,W,P,M,L]:a===\"channelsLast\"&&(V=[p,P,M,L,W]),{batchSize:p,dataFormat:a,inDepth:u,inHeight:c,inWidth:l,inChannels:m,outDepth:P,outHeight:M,outWidth:L,outChannels:W,padInfo:D,strideDepth:x,strideHeight:b,strideWidth:C,filterDepth:d,filterHeight:f,filterWidth:h,effectiveFilterDepth:$,effectiveFilterHeight:A,effectiveFilterWidth:R,dilationDepth:w,dilationHeight:k,dilationWidth:_,inShape:r,outShape:V,filterShape:e}}function MW(r,e,t,o,n){o==null&&(o=iC(r,e,t));let s=r[0],a=r[1],i=au((s-e+2*o)/t+1,n),p=au((a-e+2*o)/t+1,n);return[i,p]}function LW(r,e,t,o,n,s){n==null&&(n=iC(r,e,o));let a=r[0],i=r[1],p=r[2],u=au((a-e+2*n)/o+1,s),c=au((i-e+2*n)/o+1,s),l=au((p-e+2*n)/o+1,s);return[u,c,l,t]}function iC(r,e,t,o=1){let n=Lp(e,o);return Math.floor((r[0]*(t-1)-t+n)/2)}function ed(r){return typeof r==\"number\"?[r,r,r]:r.length===2?[r[0],r[1],1]:r}function sC(r){return typeof r==\"number\"?[r,r,r]:r}function Lp(r,e){return e<=1?r:r+(r-1)*(e-1)}function BW(r,e,t,o,n,s,a,i,p){let u,c,l;if(typeof r==\"number\"){u={top:r,bottom:r,left:r,right:r,type:r===0?\"VALID\":\"NUMBER\"};let d=MW([e,t],s,o,r,i);c=d[0],l=d[1]}else if(r===\"same\"){c=Math.ceil(e/o),l=Math.ceil(t/n);let m=Math.max(0,(c-1)*o+s-e),d=Math.max(0,(l-1)*n+a-t),f=Math.floor(m/2),h=m-f,g=Math.floor(d/2),x=d-g;u={top:f,bottom:h,left:g,right:x,type:\"SAME\"}}else if(r===\"valid\")u={top:0,bottom:0,left:0,right:0,type:\"VALID\"},c=Math.ceil((e-s+1)/o),l=Math.ceil((t-a+1)/n);else if(typeof r==\"object\"){let m=p===\"channelsLast\"?r[1][0]:r[2][0],d=p===\"channelsLast\"?r[1][1]:r[2][1],f=p===\"channelsLast\"?r[2][0]:r[3][0],h=p===\"channelsLast\"?r[2][1]:r[3][1];u={top:m,bottom:d,left:f,right:h,type:m===0&&d===0&&f===0&&h===0?\"VALID\":\"EXPLICIT\"},c=au((e-s+m+d)/o+1,i),l=au((t-a+f+h)/n+1,i)}else throw Error(`Unknown padding parameter: ${r}`);return{padInfo:u,outHeight:c,outWidth:l}}function VW(r,e,t,o,n,s,a,i,p,u,c){let l,m,d,f;if(typeof r==\"number\"){l={top:r,bottom:r,left:r,right:r,front:r,back:r,type:r===0?\"VALID\":\"NUMBER\"};let g=LW([e,t,o,1],i,1,n,r,c);m=g[0],d=g[1],f=g[2]}else if(r===\"same\"){m=Math.ceil(e/n),d=Math.ceil(t/s),f=Math.ceil(o/a);let h=(m-1)*n+i-e,g=(d-1)*s+p-t,x=(f-1)*a+u-o,b=Math.floor(h/2),C=h-b,w=Math.floor(g/2),k=g-w,_=Math.floor(x/2),$=x-_;l={top:w,bottom:k,left:_,right:$,front:b,back:C,type:\"SAME\"}}else if(r===\"valid\")l={top:0,bottom:0,left:0,right:0,front:0,back:0,type:\"VALID\"},m=Math.ceil((e-i+1)/n),d=Math.ceil((t-p+1)/s),f=Math.ceil((o-u+1)/a);else throw Error(`Unknown padding parameter: ${r}`);return{padInfo:l,outDepth:m,outHeight:d,outWidth:f}}function au(r,e){if(!e)return Math.trunc(r);switch(e){case\"round\":return Math.round(r);case\"ceil\":return Math.ceil(r);case\"floor\":return Math.floor(r);default:throw new Error(`Unknown roundingMode ${e}`)}}function iu(r){let[e,t,o]=ed(r);return e===1&&t===1&&o===1}function lr(r,e){return iu(r)||iu(e)}function T0(r){if(r===\"NHWC\")return\"channelsLast\";if(r===\"NCHW\")return\"channelsFirst\";throw new Error(`Unknown dataFormat ${r}`)}function Pt(r,e,t){if(t!=null){if(typeof e==\"string\")throw Error(`Error in ${r}: pad must be an integer when using dimRoundingMode ${t} but got pad ${e}.`);if(typeof e==\"number\")E(na(e),()=>`Error in ${r}: pad must be an integer when using dimRoundingMode ${t} but got pad ${e}.`);else if(typeof e==\"object\")e.forEach(o=>{o.forEach(n=>{E(na(n),()=>`Error in ${r}: pad must be an integer when using dimRoundingMode ${t} but got pad ${n}.`)})});else throw Error(`Error in ${r}: Unknown padding parameter: ${e}`)}}function zW(r,e){let o={x:v(r,\"x\",\"reshape\",\"string_or_numeric\")},n={shape:e};return T.runKernel(Ns,o,n)}var z=N({reshape_:zW});function WW(r,e,t,o,n){let s=v(r,\"x\",\"avgPool\",\"float32\"),a=1;E(lr(t,a),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${t} and dilations '${a}'`);let i=s,p=!1;s.rank===3&&(p=!0,i=z(s,[1,s.shape[0],s.shape[1],s.shape[2]])),E(i.rank===4,()=>`Error in avgPool: x must be rank 4 but got rank ${i.rank}.`),Pt(\"avgPool\",o,n);let u={x:i},c={filterSize:e,strides:t,pad:o,dimRoundingMode:n},l=T.runKernel(zo,u,c);return l=Ke(l,s.dtype),p?z(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var td=N({avgPool_:WW});function UW(r,e,t,o,n,s=\"NDHWC\"){let a=v(r,\"x\",\"avgPool3d\",\"float32\"),i=a,p=!1;a.rank===4&&(p=!0,i=z(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),E(i.rank===5,()=>`Error in avgPool3d: x must be rank 5 but got rank ${i.rank}.`),E(s===\"NDHWC\",()=>`Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${s}`),Pt(\"avgPool3d\",o,n);let u={x:i},c={filterSize:e,strides:t,pad:o,dimRoundingMode:n,dataFormat:s},l=T.runKernel(ip,u,c);return l=Ke(l,i.dtype),p?z(l,[l.shape[1],l.shape[2],l.shape[3],l.shape[4]]):l}var _0=N({avgPool3d_:UW});function GW(r,e=0){E(r.length>=1,()=>\"Pass at least one tensor to concat\");let t=Na(r,\"tensors\",\"concat\",\"string_or_numeric\");if(t[0].dtype===\"complex64\"&&t.forEach(s=>{if(s.dtype!==\"complex64\")throw new Error(`Cannot concatenate complex64 tensors with a tensor\n with dtype ${s.dtype}. `)}),t.length===1)return Br(t[0]);let o=t,n={axis:e};return T.runKernel(ys,o,n)}var gt=N({concat_:GW});function HW(r){let t={x:v(r,\"x\",\"sigmoid\",\"float32\")};return T.runKernel(Un,t)}var zs=N({sigmoid_:HW});function qW(r,e,t){let o=v(r,\"x\",\"slice\",\"string_or_numeric\");if(o.rank===0)throw new Error(\"Slicing scalar is not possible\");let n={x:o},s={begin:e,size:t};return T.runKernel(_s,n,s)}var He=N({slice_:qW});function KW(r){let t={x:v(r,\"x\",\"tanh\",\"float32\")};return T.runKernel(Qn,t)}var nl=N({tanh_:KW});function jW(r,e,t,o,n,s){let a=v(r,\"forgetBias\",\"basicLSTMCell\"),i=v(e,\"lstmKernel\",\"basicLSTMCell\"),p=v(t,\"lstmBias\",\"basicLSTMCell\"),u=v(o,\"data\",\"basicLSTMCell\"),c=v(n,\"c\",\"basicLSTMCell\"),l=v(s,\"h\",\"basicLSTMCell\"),m=gt([u,l],1),d=Xe(m,i),f=xe(d,p),h=f.shape[0],g=f.shape[1]/4,x=[h,g],b=He(f,[0,0],x),C=He(f,[0,g],x),w=He(f,[0,g*2],x),k=He(f,[0,g*3],x),_=xe(ae(zs(b),nl(C)),ae(c,zs(xe(a,w)))),$=ae(nl(_),zs(k));return[_,$]}var E0=N({basicLSTMCell_:jW});function XW(r,e,t){let o=v(r,\"x\",\"batchToSpaceND\"),n=e.reduce((i,p)=>i*p);E(o.rank>=1+e.length,()=>`input rank is ${o.rank} but should be > than blockShape.length ${e.length}`),E(t.length===e.length,()=>`crops.length is ${t.length} but should be equal to blockShape.length ${e.length}`),E(o.shape[0]%n===0,()=>`input tensor batch is ${o.shape[0]} but is not divisible by the product of the elements of blockShape ${e.join(\" * \")} === ${n}`);let s={x:o},a={blockShape:e,crops:t};return T.runKernel(xs,s,a)}var rd=N({batchToSpaceND_:XW});function $0(r){let e;return r.rank===0||r.rank===1?e=z(r,[1,1,1,r.size]):r.rank===2?e=z(r,[1,1,r.shape[0],r.shape[1]]):r.rank===3?e=z(r,[1,r.shape[0],r.shape[1],r.shape[2]]):e=r,e}function YW(r,e,t,o,n,s){s==null&&(s=.001);let a=v(r,\"x\",\"batchNorm\"),i=v(e,\"mean\",\"batchNorm\"),p=v(t,\"variance\",\"batchNorm\"),u;n!=null&&(u=v(n,\"scale\",\"batchNorm\"));let c;o!=null&&(c=v(o,\"offset\",\"batchNorm\")),E(i.rank===p.rank,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),E(c==null||i.rank===c.rank,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),E(u==null||i.rank===u.rank,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\");let m={x:$0(a),scale:u,offset:c,mean:i,variance:p},d={varianceEpsilon:s},f=T.runKernel(an,m,d);return z(f,a.shape)}var wi=N({batchNorm_:YW});function QW(r,e,t,o,n,s){let a=v(r,\"x\",\"batchNorm\"),i=v(e,\"mean\",\"batchNorm\"),p=v(t,\"variance\",\"batchNorm\"),u;n!=null&&(u=v(n,\"scale\",\"batchNorm\"));let c;return o!=null&&(c=v(o,\"offset\",\"batchNorm\")),E(a.rank===2,()=>`Error in batchNorm2D: x must be rank 2 but got rank ${a.rank}.`),E(i.rank===2||i.rank===1,()=>`Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${i.rank}.`),E(p.rank===2||p.rank===1,()=>`Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${p.rank}.`),u!=null&&E(u.rank===2||u.rank===1,()=>`Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${u.rank}.`),c!=null&&E(c.rank===2||c.rank===1,()=>`Error in batchNorm2D: offset must be rank 2 or rank 1 but got rank ${c.rank}.`),wi(a,i,p,c,u,s)}var A0=N({batchNorm2d_:QW});function ZW(r,e,t,o,n,s){let a=v(r,\"x\",\"batchNorm\"),i=v(e,\"mean\",\"batchNorm\"),p=v(t,\"variance\",\"batchNorm\"),u;n!=null&&(u=v(n,\"scale\",\"batchNorm\"));let c;return o!=null&&(c=v(o,\"offset\",\"batchNorm\")),E(a.rank===3,()=>`Error in batchNorm3D: x must be rank 3 but got rank ${a.rank}.`),E(i.rank===3||i.rank===1,()=>`Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${i.rank}.`),E(p.rank===3||p.rank===1,()=>`Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${p.rank}.`),u!=null&&E(u.rank===3||u.rank===1,()=>`Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${u.rank}.`),c!=null&&E(c.rank===3||c.rank===1,()=>`Error in batchNorm3D: offset must be rank 3 or rank 1 but got rank ${c.rank}.`),wi(a,i,p,c,u,s)}var R0=N({batchNorm3d_:ZW});function JW(r,e,t,o,n,s){let a=v(r,\"x\",\"batchNorm\"),i=v(e,\"mean\",\"batchNorm\"),p=v(t,\"variance\",\"batchNorm\"),u;n!=null&&(u=v(n,\"scale\",\"batchNorm\"));let c;return o!=null&&(c=v(o,\"offset\",\"batchNorm\")),E(a.rank===4,()=>`Error in batchNorm4D: x must be rank 4 but got rank ${a.rank}.`),E(i.rank===4||i.rank===1,()=>`Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${i.rank}.`),E(p.rank===4||p.rank===1,()=>`Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${p.rank}.`),u!=null&&E(u.rank===4||u.rank===1,()=>`Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${u.rank}.`),c!=null&&E(c.rank===4||c.rank===1,()=>`Error in batchNorm4D: offset must be rank 4 or rank 1 but got rank ${c.rank}.`),wi(a,i,p,c,u,s)}var F0=N({batchNorm4d_:JW});function eU(r,e,t){let o=v(r,\"x\",\"bincount\"),n=v(e,\"weights\",\"bincount\");E(o.dtype===\"int32\",()=>`Error in bincount: input dtype must be int32, but got ${o.dtype}`),E(t>=0,()=>`size must be non-negative, but got ${t}.`),E(n.size===o.size||n.size===0,()=>`Error in bincount: weights must have the same size as input or0-length, but got input shape: ${o.shape}, weights shape: ${n.shape}.`);let s={x:o,weights:n},a={size:t};return T.runKernel(Ja,s,a)}var od=N({bincount_:eU});function tU(r,e){let t=v(r,\"s0\",\"broadcastArgs\",\"int32\"),o=v(e,\"s1\",\"broadcastArgs\",\"int32\");if(t.rank!==1)throw new Error(`broadcastArgs(): first input must be a vector (rank=1). Has rank ${t.rank}`);if(o.rank!==1)throw new Error(`broadcastArgs(): second input must be a vector (rank=1). Has rank ${o.rank}`);let n={s0:t,s1:o};return T.runKernel(up,n)}var D0=N({broadcastArgs_:tU});function rU(r,e){let t=v(r,\"broadcastTo\",\"x\"),o=t.shape;if(yt(e),e.lengtht.rank){let u=t.shape.slice();for(;u.length=0;u--)if(n[u]===e[u])s[u]=1;else if(t.shape[u]!==1)throw new Error(`broadcastTo(): [${o}] cannot be broadcast to [${e}].`);if(s.map((u,c)=>u>1?c:-1).filter(u=>u>=0).length===0)return Br(t);let i={x:t},p={reps:s};return T.runKernel(to,i,p)}var Ii=N({broadcastTo_:rU});function oU(r){let t={x:v(r,\"x\",\"ceil\",\"float32\")};return T.runKernel(Uo,t)}var O0=N({ceil_:oU});function Ws(r,e,t){yt(r);let o={shape:r,value:e,dtype:t};return T.runKernel(Cs,{},o)}function nU(r,e,t){let o=v(r,\"x\",\"clipByValue\");if(E(e<=t,()=>`Error in clip: min (${e}) must be less than or equal to max (${t}).`),e===t)return Ws(o.shape,e,o.dtype);let n={x:o},s={clipValueMin:e,clipValueMax:t};return T.runKernel(lo,n,s)}var P0=N({clipByValue_:nU});function sU(r){return gt(r,0)}var M0=N({concat1d_:sU});function aU(r,e){return gt(r,e)}var L0=N({concat2d_:aU});function iU(r,e){return gt(r,e)}var B0=N({concat3d_:iU});function uU(r,e){return gt(r,e)}var V0=N({concat4d_:uU});function pU(r,e,t,o,n=\"NHWC\",s=[1,1],a){let i=v(r,\"x\",\"conv2d\",\"float32\"),p=v(e,\"filter\",\"conv2d\",\"float32\"),u=i,c=!1;i.rank===3&&(c=!0,u=z(i,[1,i.shape[0],i.shape[1],i.shape[2]])),E(u.rank===4,()=>`Error in conv2d: input must be rank 4, but got rank ${u.rank}.`),E(p.rank===4,()=>`Error in conv2d: filter must be rank 4, but got rank ${p.rank}.`),Pt(\"conv2d\",o,a);let l=n===\"NHWC\"?u.shape[3]:u.shape[1];E(l===p.shape[2],()=>`Error in conv2d: depth of input (${l}) must match input depth for filter ${p.shape[2]}.`),E(lr(t,s),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${t} and dilations '${s}'`);let m={x:u,filter:p},d={strides:t,pad:o,dataFormat:n,dilations:s,dimRoundingMode:a},f=T.runKernel(Go,m,d);return c?z(f,[f.shape[1],f.shape[2],f.shape[3]]):f}var vi=N({conv2d_:pU});function cU(r,e,t,o,n=\"NWC\",s=1,a){let i=v(r,\"x\",\"conv1d\"),p=v(e,\"filter\",\"conv1d\"),u=i,c=!1;i.rank===2&&(c=!0,u=z(i,[1,i.shape[0],i.shape[1]])),E(u.rank===3,()=>`Error in conv1d: input must be rank 3, but got rank ${u.rank}.`),E(p.rank===3,()=>`Error in conv1d: filter must be rank 3, but got rank ${p.rank}.`),Pt(\"conv1d\",o,a),E(u.shape[2]===p.shape[1],()=>`Error in conv1d: depth of input (${u.shape[2]}) must match input depth for filter ${p.shape[1]}.`),E(lr(t,s),()=>`Error in conv1D: Either stride or dilation must be 1. Got stride ${t} and dilation '${s}'`),E(n===\"NWC\",()=>`Error in conv1d: got dataFormat of ${n} but only NWC is currently supported.`);let l=z(p,[1,p.shape[0],p.shape[1],p.shape[2]]),m=z(u,[u.shape[0],1,u.shape[1],u.shape[2]]),g=vi(m,l,[1,t],o,\"NHWC\",[1,s],a);return c?z(g,[g.shape[2],g.shape[3]]):z(g,[g.shape[0],g.shape[2],g.shape[3]])}var z0=N({conv1d_:cU});function lU(r,e,t,o,n,s=\"NHWC\",a){E(r.length===e.rank,()=>`Length of inShape (${r.length}) and rank of dy (${e.rank}) must match`);let i=r,p=e,u=!1;e.rank===3&&(u=!0,p=z(e,[1,e.shape[0],e.shape[1],e.shape[2]]),i=[1,r[0],r[1],r[2]]),E(i.length===4,()=>`Error in conv2dDerInput: inShape must be length 4, but got length ${i.length}.`),E(p.rank===4,()=>`Error in conv2dDerInput: dy must be rank 4, but got rank ${p.rank}`),E(t.rank===4,()=>`Error in conv2dDerInput: filter must be rank 4, but got rank ${t.rank}`);let c=s===\"NHWC\"?i[3]:i[1],l=s===\"NHWC\"?p.shape[3]:p.shape[1];E(c===t.shape[2],()=>`Error in conv2dDerInput: depth of input (${c}) must match input depth for filter ${t.shape[2]}.`),E(l===t.shape[3],()=>`Error in conv2dDerInput: depth of output (${l}) must match output depth for filter ${t.shape[3]}.`),Pt(\"conv2dDerInput\",n,a);let m={dy:p,filter:t},d={strides:o,pad:n,dataFormat:s,dimRoundingMode:a,inputShape:i},f=T.runKernel(Ho,m,d);return u?z(f,[f.shape[1],f.shape[2],f.shape[3]]):f}var nd=N({conv2DBackpropInput_:lU});function mU(r,e,t,o,n,s){let a=v(r,\"x\",\"conv2dTranspose\"),i=v(e,\"filter\",\"conv2dTranspose\");return nd(t,a,i,o,n,\"NHWC\",s)}var W0=N({conv2dTranspose_:mU});function dU(r,e,t,o,n=\"NDHWC\",s=[1,1,1]){let a=v(r,\"x\",\"conv3d\"),i=v(e,\"filter\",\"conv3d\"),p=a,u=!1;a.rank===4&&(u=!0,p=z(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),E(p.rank===5,()=>`Error in conv3d: input must be rank 5, but got rank ${p.rank}.`),E(i.rank===5,()=>`Error in conv3d: filter must be rank 5, but got rank ${i.rank}.`),E(p.shape[4]===i.shape[3],()=>`Error in conv3d: depth of input (${p.shape[4]}) must match input depth for filter ${i.shape[3]}.`),E(lr(t,s),()=>`Error in conv3D: Either strides or dilations must be 1. Got strides ${t} and dilations '${s}'`),E(n===\"NDHWC\",()=>`Error in conv3d: got dataFormat of ${n} but only NDHWC is currently supported.`);let c={x:p,filter:i},l={strides:t,pad:o,dataFormat:n,dilations:s},m=T.runKernel(lp,c,l);return u?z(m,[m.shape[1],m.shape[2],m.shape[3],m.shape[4]]):m}var U0=N({conv3d_:dU});function fU(r,e,t,o,n){E(r.length===e.rank,()=>`Length of inShape (${r.length}) and rank of dy (${e.rank}) must match`);let s=r,a=e,i=!1;e.rank===4&&(i=!0,a=z(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]]),s=[1,r[0],r[1],r[2],r[3]]);let p=s[4],u=a.shape[4];E(s.length===5,()=>`Error in conv3dDerInput: inShape must be length 5, but got length ${s.length}.`),E(a.rank===5,()=>`Error in conv3dDerInput: dy must be rank 5, but got rank ${a.rank}`),E(t.rank===5,()=>`Error in conv3dDerInput: filter must be rank 5, but got rank ${t.rank}`),E(p===t.shape[3],()=>`Error in conv3dDerInput: depth of input (${p}) must match input depth for filter ${t.shape[3]}.`),E(u===t.shape[4],()=>`Error in conv3dDerInput: depth of output (${u}) must match output depth for filter ${t.shape[4]}.`);let c={dy:a,filter:t},l={pad:n,strides:o,inputShape:s},m=T.runKernel(mp,c,l);return i?z(m,[m.shape[1],m.shape[2],m.shape[3],m.shape[4]]):m}var G0=N({conv3DBackpropInput_:fU});function hU(r,e,t,o,n){let s=v(r,\"x\",\"conv3dTranspose\"),a=v(e,\"filter\",\"conv3dTranspose\");return G0(t,s,a,o,n)}var H0=N({conv3dTranspose_:hU});function gU(r){let t={x:v(r,\"x\",\"cos\",\"float32\")};return T.runKernel(qo,t)}var q0=N({cos_:gU});function xU(r){let t={x:v(r,\"x\",\"cosh\",\"float32\")};return T.runKernel(Ko,t)}var K0=N({cosh_:xU});function yU(r,e=0,t=!1,o=!1){let s={x:v(r,\"x\",\"cumprod\")},a={axis:e,exclusive:t,reverse:o};return T.runKernel(jo,s,a)}var j0=N({cumprod_:yU});function bU(r,e=0,t=!1,o=!1){let s={x:v(r,\"x\",\"cumsum\")},a={axis:e,exclusive:t,reverse:o};return T.runKernel(Xo,s,a)}var X0=N({cumsum_:bU});function CU(r,e,t,o=!1){let n=v(r,\"x\",\"denseBincount\"),s=v(e,\"weights\",\"denseBincount\");E(n.dtype===\"int32\",()=>`Error in denseBincount: input dtype must be int32, but got ${n.dtype}`),E(n.rank<=2,()=>`Error in denseBincount: input must be at most rank 2, but got rank ${n.rank}.`),E(t>=0,()=>`size must be non-negative, but got ${t}.`),E(s.size===n.size||s.size===0,()=>`Error in denseBincount: weights must have the same shape as x or 0-length, but got x shape: ${n.shape}, weights shape: ${s.shape}.`);let a={x:n,weights:s},i={size:t,binaryOutput:o};return T.runKernel(ti,a,i)}var Y0=N({denseBincount_:CU});function SU(r,e,t=\"NHWC\"){let o=v(r,\"x\",\"depthToSpace\",\"float32\"),n=t===\"NHWC\"?o.shape[1]:o.shape[2],s=t===\"NHWC\"?o.shape[2]:o.shape[3],a=t===\"NHWC\"?o.shape[3]:o.shape[1];E(e>1,()=>`blockSize should be > 1 for depthToSpace, but was: ${e}`),E(n*e>=0,()=>`Negative dimension size caused by overflow when multiplying\n ${n} and ${e} for depthToSpace with input shape\n ${o.shape}`),E(s*e>=0,()=>`Negative dimension size caused by overflow when multiplying\n ${s} and ${e} for depthToSpace with input shape\n ${o.shape}`),E(a%(e*e)===0,()=>`Dimension size must be evenly divisible by ${e*e} but is ${a} for depthToSpace with input shape ${o.shape}`);let i={x:o},p={blockSize:e,dataFormat:t};return T.runKernel(Qo,i,p)}var Q0=N({depthToSpace_:SU});function wU(r,e,t,o,n=\"NHWC\",s=[1,1],a){let i=v(r,\"x\",\"depthwiseConv2d\",\"float32\"),p=v(e,\"filter\",\"depthwiseConv2d\",\"float32\"),u=i,c=!1;i.rank===3&&(c=!0,u=z(i,[1,i.shape[0],i.shape[1],i.shape[2]])),E(u.rank===4,()=>`Error in depthwiseConv2d: input must be rank 4, but got rank ${u.rank}.`),E(p.rank===4,()=>`Error in depthwiseConv2d: filter must be rank 4, but got rank ${p.rank}.`);let l=n===\"NHWC\"?u.shape[3]:u.shape[1];E(l===p.shape[2],()=>`Error in depthwiseConv2d: number of input channels (${l}) must match the inChannels dimension in filter ${p.shape[2]}.`),Pt(\"depthwiseConv2d\",o,a);let m={x:u,filter:p},d={strides:t,pad:o,dataFormat:n,dilations:s,dimRoundingMode:a},f=T.runKernel(Zo,m,d);return c?z(f,[f.shape[1],f.shape[2],f.shape[3]]):f}var Bp=N({depthwiseConv2d_:wU});function IU(r){let t={x:v(r,\"x\",\"diag\")};return T.runKernel(hp,t)}var Z0=N({diag_:IU});function vU(r,e,t,o,n=[1,1],s=\"NHWC\"){let a=v(r,\"x\",\"dilation2d\"),i=v(e,\"filter\",\"dilation2d\");E(a.rank===3||a.rank===4,()=>`Error in dilation2d: input must be rank 3 or 4, but got rank ${a.rank}.`),E(i.rank===3,()=>`Error in dilation2d: filter must be rank 3, but got rank ${i.rank}.`),E(s===\"NHWC\",()=>`Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${s}`);let p=a,u=!1;a.rank===3&&(p=z(a,[1,a.shape[0],a.shape[1],a.shape[2]]),u=!0);let c={x:p,filter:i},l={strides:t,pad:o,dilations:n},m=T.runKernel(gp,c,l);return u?z(m,[m.shape[1],m.shape[2],m.shape[3]]):m}var J0=N({dilation2d_:vU});function kU(r,e){let t=v(r,\"a\",\"equal\",\"string_or_numeric\"),o=v(e,\"b\",\"equal\",\"string_or_numeric\");[t,o]=Re(t,o),Je(t.shape,o.shape);let n={a:t,b:o};return T.runKernel(tn,n)}var sd=N({equal_:kU});function NU(r,e,t){let o=v(e,\"a\",\"where\"),n=v(t,\"b\",\"where\"),s=v(r,\"condition\",\"where\",\"bool\"),a=Je(Je(s.shape,o.shape),n.shape),i=Ii(s,a),p=Ii(o,a),u=Ii(n,a),c={condition:i,t:p,e:u};return T.runKernel(Ts,c)}var os=N({where_:NU});function TU(r){let t={x:v(r,\"x\",\"zerosLike\")};return T.runKernel(Fs,t)}var Ut=N({zerosLike_:TU});function _U(r,e){let t=v(r,\"a\",\"div\"),o=v(e,\"b\",\"div\");[t,o]=Re(t,o);let n=Ge(t,o),s=Ut(n),a=sd(o,s);return os(a,s,n)}var ek=N({divNoNan_:_U});function EU(r,e){let t=v(r,\"t1\",\"dot\"),o=v(e,\"t2\",\"dot\");E((t.rank===1||t.rank===2)&&(o.rank===1||o.rank===2),()=>`Error in dot: inputs must all be rank 1 or 2, but got ranks ${t.rank} and ${o.rank}.`);let n=t.rank===1?t.size:t.shape[1],s=o.rank===1?o.size:o.shape[0];if(E(n===s,()=>`Error in dot: inner dimensions of inputs must match, but got ${n} and ${s}.`),t.rank===1&&o.rank===1){let a=z(t,[1,-1]),i=z(o,[-1,1]),p=Xe(a,i);return z(p,[])}else if(t.rank===1&&o.rank===2){let a=z(t,[1,-1]),i=z(o,[o.shape[0],o.shape[1]]),p=Xe(a,i);return z(p,[p.size])}else if(t.rank===2&&o.rank===1){let a=z(o,[-1,1]),i=Xe(t,a);return z(i,[i.size])}else{let a=z(o,[o.shape[0],o.shape[1]]);return Xe(t,a)}}var tk=N({dot_:EU});function $U(r,...e){let t=e.map((n,s)=>v(n,`tensors${s}`,\"einsum\")),o={equation:r};return T.runKernel(ri,t,o)}var rk=N({einsum_:$U});function AU(r){let t={x:v(r,\"x\",\"elu\",\"float32\")};return T.runKernel(en,t)}var ad=N({elu_:AU});function RU(r){let e=v(r,\"x\",\"erf\");E(e.dtype===\"int32\"||e.dtype===\"float32\",()=>\"Input dtype must be `int32` or `float32`.\"),e.dtype===\"int32\"&&(e=Ke(e,\"float32\"));let t={x:e};return T.runKernel(ma,t)}var ok=N({erf_:RU});function uC(r,e){for(let t=0;tr[s]);return[t,n]}function Aa(r,e){let t=e.map(o=>1);return nk(r,t,e)}function DU(r,e,t){E(uC(e,t),()=>`${r} supports only inner-most axes for now. Got axes ${e} and rank-${t} input.`)}function OU(r,e){if(uC(r,e))return null;let t=[];for(let o=0;ot.push(o)),t}function PU(r){return r.map((e,t)=>[t,e]).sort((e,t)=>e[1]-t[1]).map(e=>e[0])}function MU(r,e){let t=[];for(let o=e-r;o\"Axis must be <= rank of the tensor\");let o={input:t},n={dim:e};return T.runKernel(bs,o,n)}var Fa=N({expandDims_:jU});function XU(r){let t={x:v(r,\"x\",\"expm1\")};return T.runKernel(da,t)}var ik=N({expm1_:XU});function YU(r,e){let t=v(r,\"x\",\"tile\",\"string_or_numeric\");E(t.rank===e.length,()=>`Error in transpose: rank of input ${t.rank} must match length of reps ${e}.`);let o={x:t},n={reps:e};return T.runKernel(to,o,n)}var ki=N({tile_:YU});function QU(r,e,t,o=\"float32\"){e==null&&(e=r);let n=le([r,e],o),s=r<=e?r:e;for(let i=0;i`Error in localResponseNormalization: x must be rank 3 or 4 but got\n rank ${s.rank}.`),E(na(e),()=>`Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${e}.`);let a=s,i=!1;s.rank===3&&(i=!0,a=z(s,[1,s.shape[0],s.shape[1],s.shape[2]]));let p={x:a},u={depthRadius:e,bias:t,alpha:o,beta:n},c=T.runKernel(yp,p,u);return i?z(c,[c.shape[1],c.shape[2],c.shape[3]]):c}var dk=N({localResponseNormalization_:u4});function p4(r){let t={x:v(r,\"x\",\"log\",\"float32\")};return T.runKernel(hn,t)}var Da=N({log_:p4});function c4(r){let t={x:v(r,\"x\",\"log1p\")};return T.runKernel(ga,t)}var md=N({log1p_:c4});function l4(r){return E(fs(r),()=>\"The f passed in grad(f) must be a function\"),(e,t)=>{let o=v(e,\"x\",\"tf.grad\",\"string_or_numeric\"),n=t!=null?v(t,\"dy\",\"tf.grad\"):null;return T.tidy(()=>{let{value:s,grads:a}=T.gradients(()=>r(o),[o],n);return n!=null&&ht(s.shape,n.shape,\"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)\"),dd(a),a[0]})}}function m4(r){return E(fs(r),()=>\"The f passed in grads(f) must be a function\"),(e,t)=>{E(Array.isArray(e),()=>\"The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s\");let o=Na(e,\"args\",\"tf.grads\",\"string_or_numeric\"),n=t!=null?v(t,\"dy\",\"tf.grads\"):null;return T.tidy(()=>{let{value:s,grads:a}=T.gradients(()=>r(...o),o,n);return n!=null&&ht(s.shape,n.shape,\"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])\"),dd(a),a})}}function d4(r){return E(fs(r),()=>\"The f passed in valueAndGrad(f) must be a function\"),(e,t)=>{E(e instanceof it,()=>\"The x passed in valueAndGrad(f)(x) must be a tensor\"),E(t==null||t instanceof it,()=>\"The dy passed in valueAndGrad(f)(x, dy) must be a tensor\");let{grads:o,value:n}=T.gradients(()=>r(e),[e],t);return dd(o),{grad:o[0],value:n}}}function f4(r){return E(fs(r),()=>\"The f passed in valueAndGrads(f) must be a function\"),(e,t)=>{E(Array.isArray(e)&&e.every(n=>n instanceof it),()=>\"The args passed in valueAndGrads(f)(args) must be array of tensors\"),E(t==null||t instanceof it,()=>\"The dy passed in valueAndGrads(f)(args, dy) must be a tensor\");let o=T.gradients(()=>r(...e),e,t);return t!=null&&ht(o.value.shape,t.shape,\"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])\"),dd(o.grads),o}}function pC(r,e){E(fs(r),()=>\"The f passed in variableGrads(f) must be a function\"),E(e==null||Array.isArray(e)&&e.every(u=>u instanceof va),()=>\"The varList passed in variableGrads(f, varList) must be an array of variables\");let t=e!=null;if(!t){e=[];for(let u in T.registeredVariables)e.push(T.registeredVariables[u])}let o=t?e.filter(u=>!u.trainable):null,n=e.length;e=e.filter(u=>u.trainable),E(e.length>0,()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${n} variables is trainable.`);let s=!0,{value:a,grads:i}=T.gradients(r,e,null,s);E(i.some(u=>u!=null),()=>\"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize().\"),E(a.rank===0,()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${a.rank} tensor`);let p={};return e.forEach((u,c)=>{i[c]!=null&&(p[u.name]=i[c])}),o!=null&&o.forEach(u=>p[u.name]=null),{value:a,grads:p}}function Cr(r){return T.customGrad(r)}function dd(r){if(r.filter(t=>t==null).length>0)throw new Error(`Cannot compute gradient of y=f(x) with respect to x. Make sure that\n the f you passed encloses all operations that lead from x to y.`)}function h4(r){let t={x:v(r,\"x\",\"softplus\")};return T.runKernel(Qi,t)}var fd=N({softplus_:h4});function g4(r){let e=v(r,\"x\",\"logSigmoid\");return Cr(o=>({value:yr(fd(yr(o))),gradFunc:a=>ae(a,zs(yr(o)))}))(e)}var fk=N({logSigmoid_:g4});function x4(r,e){let t=v(r,\"a\",\"sub\"),o=v(e,\"b\",\"sub\");[t,o]=Re(t,o);let n={a:t,b:o};return T.runKernel(Xn,n)}var Ne=N({sub_:x4});function y4(r,e=-1){let t=v(r,\"logits\",\"logSoftmax\");if(e===-1&&(e=t.rank-1),e!==t.rank-1)throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${t.rank} and axis was ${e}`);return Cr((n,s)=>{let i=Us(n,e,!0),p=Ne(n,i),u=Ne(Ke(p,\"float32\"),Da(et(Co(p),e,!0)));return s([u]),{value:u,gradFunc:(l,m)=>{let[d]=m,f=!0,h=Co(d);return Ne(l,ae(et(l,e,f),h))}}})(t)}var hk=N({logSoftmax_:y4});function b4(r,e=null,t=!1){let o=v(r,\"x\",\"logSumExp\"),n=Qa(e,o.shape),s=Us(o,n,!0),a=Ne(o,s),i=Co(a),p=et(i,n),u=Da(p),c=xe(z(s,u.shape),u);if(t){let l=Aa(c.shape,n);return z(c,l)}return c}var hd=N({logSumExp_:b4});function C4(r,e){let t=v(r,\"a\",\"logicalAnd\",\"bool\"),o=v(e,\"b\",\"logicalAnd\",\"bool\");Je(t.shape,o.shape);let n={a:t,b:o};return T.runKernel(gn,n)}var lu=N({logicalAnd_:C4});function S4(r){let t={x:v(r,\"x\",\"logicalNot\",\"bool\")};return T.runKernel(xn,t)}var gd=N({logicalNot_:S4});function w4(r,e){let t=v(r,\"a\",\"logicalOr\",\"bool\"),o=v(e,\"b\",\"logicalOr\",\"bool\");Je(t.shape,o.shape);let n={a:t,b:o};return T.runKernel(xa,n)}var xd=N({logicalOr_:w4});function I4(r,e){let t=v(r,\"a\",\"logicalXor\",\"bool\"),o=v(e,\"b\",\"logicalXor\",\"bool\");return Je(t.shape,o.shape),lu(xd(r,e),gd(lu(r,e)))}var gk=N({logicalXor_:I4});var yd=2147483648;function v4(r,e,t=\"left\"){let o=v(r,\"sortedSequence\",\"searchSorted\"),n=v(e,\"values\",\"searchSorted\"),s=o.shape[o.shape.length-1],a=n.shape[n.shape.length-1],i=z(o,[-1,s]),p=z(n,[-1,a]);if(i.rank<2)throw new Error(\"Sorted input argument must be at least 2-dimensional\");if(i.shape[0]!==p.shape[0])throw new Error(\"Leading dimension of 'sortedSequence' and 'values' must match.\");if(ze(p.shape)>=yd)throw new Error(`values tensor size must less than ${yd}`);if(i.shape[1]>=yd)throw new Error(`trailing dim_size must less than ${yd} for int32 output type, was ${i.shape[1]}`);let u={sortedSequence:i,values:p},c={side:t};return T.runKernel(ii,u,c)}var al=N({searchSorted_:v4});function xk(r,e){return al(r,e,\"left\")}function k4(r,e,t,o,n){let s=v(r,\"x\",\"maxPool\"),a=1,i=s,p=!1;s.rank===3&&(p=!0,i=z(s,[1,s.shape[0],s.shape[1],s.shape[2]])),E(i.rank===4,()=>`Error in maxPool: input must be rank 4 but got rank ${i.rank}.`),E(lr(t,a),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${t} and dilations '${a}'`),Pt(\"maxPool\",o,n);let u={x:i},c={filterSize:e,strides:t,pad:o,dimRoundingMode:n},l=T.runKernel(Cn,u,c);return p?z(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var bd=N({maxPool_:k4});function N4(r,e=[1,1,1],t,o,n,s=\"NDHWC\"){let a=v(r,\"x\",\"maxPool3d\"),i=a,p=!1;a.rank===4&&(p=!0,i=z(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),E(i.rank===5,()=>`Error in maxPool3d: x must be rank 5 but got rank ${i.rank}.`),E(s===\"NDHWC\",()=>`Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${s}`),Pt(\"maxPool3d\",o,n);let u={x:i},c={filterSize:e,strides:t,pad:o,dimRoundingMode:n,dataFormat:s},l=T.runKernel(bp,u,c);return p?z(l,[l.shape[1],l.shape[2],l.shape[3],l.shape[4]]):l}var yk=N({maxPool3d_:N4});function T4(r,e,t,o,n=!1){let a={x:v(r,\"x\",\"maxPoolWithArgmax\")},i={filterSize:e,strides:t,pad:o,includeBatchInIndex:n},p=T.runKernel(Cp,a,i);return{result:p[0],indexes:p[1]}}var bk=N({maxPoolWithArgmax_:T4});function _4(r,e){let t=v(r,\"a\",\"maximum\"),o=v(e,\"b\",\"maximum\");[t,o]=Re(t,o),t.dtype===\"bool\"&&(t=Ke(t,\"int32\"),o=Ke(o,\"int32\")),Je(t.shape,o.shape);let n={a:t,b:o};return T.runKernel(bn,n)}var Cd=N({maximum_:_4});function E4(r,e=null,t=!1){let n={x:v(r,\"x\",\"mean\")},s={axis:e,keepDims:t};return T.runKernel(Sn,n,s)}var mu=N({mean_:E4});function Vr(r,e=\"float32\"){if(yt(r),e===\"complex64\"){let o=Vr(r,\"float32\"),n=Vr(r,\"float32\");return Tr(o,n)}let t=ap(ze(r),e);return T.makeTensor(t,r,e)}function Gs(r,e=\"float32\"){if(yt(r),e===\"complex64\"){let o=Gs(r,\"float32\"),n=Vr(r,\"float32\");return Tr(o,n)}let t=zc(ze(r),e);return T.makeTensor(t,r,e)}function Ck(r,e,{indexing:t=\"xy\"}={}){if(t!==\"xy\"&&t!==\"ij\")throw new TypeError(`${t} is not a valid third argument to meshgrid`);if(r===void 0)return[];let o=v(r,\"x\",\"meshgrid\",r instanceof it?r.dtype:\"float32\");if(e===void 0)return[o];let n=v(e,\"y\",\"meshgrid\",e instanceof it?e.dtype:\"float32\"),s=ze(o.shape),a=ze(n.shape);return t===\"xy\"?(o=z(o,[1,-1]),n=z(n,[-1,1]),[Xe(Gs([a,1],o.dtype),o),Xe(n,Gs([1,s],n.dtype))]):(o=z(o,[-1,1]),n=z(n,[1,-1]),[Xe(o,Gs([1,a],o.dtype)),Xe(Gs([s,1],n.dtype),n)])}function $4(r,e){let t=v(r,\"a\",\"minimum\"),o=v(e,\"b\",\"minimum\");[t,o]=Re(t,o),t.dtype===\"bool\"&&(t=Ke(t,\"int32\"),o=Ke(o,\"int32\")),Je(t.shape,o.shape);let n={a:t,b:o};return T.runKernel(In,n)}var Sd=N({minimum_:$4});function A4(r,e,t){E(t===\"reflect\"||t===\"symmetric\",()=>`Invalid mode. Mode must be either reflect or symmetric. Got ${t}.`);let o=v(r,\"x\",\"mirrorPad\");if(o.rank===0)throw new Error(\"mirrorPad(scalar) is not defined. Pass non-scalar to mirrorPad\");E(e.length===o.rank,()=>`Padding doesn't match input. Must be ${o.rank}. Got ${e.length}.`);let n=t===\"reflect\"?1:0;for(let i=0;i\"Invalid number of paddings. Must be length of 2 each.\"),E(e[i][0]>=0&&e[i][0]<=o.shape[i]-n&&e[i][1]>=0&&e[i][1]<=o.shape[i]-n,()=>`Padding in dimension ${i} cannot be greater than or equal to ${o.shape[i]-n} or less than 0 for input of shape ${o.shape}`);let s={paddings:e,mode:t},a={x:o};return T.runKernel(vn,a,s)}var Sk=N({mirrorPad_:A4});function R4(r,e){let t=v(r,\"a\",\"mod\"),o=v(e,\"b\",\"mod\");[t,o]=Re(t,o);let n={a:t,b:o};return T.runKernel(ya,n)}var wk=N({mod_:R4});function F4(r,e=null,t=!1){r=v(r,\"x\",\"moments\");let o=Qa(e,r.shape),n=mu(r,o,t),s=n.shape;t||(s=Aa(n.shape,o));let a=Qt(Ne(Ke(r,\"float32\"),z(n,s))),i=mu(a,o,t);return{mean:n,variance:i}}var Ik=N({moments_:F4});function D4(r,e,t,o){let n=v(e,\"data\",\"multiRNNCell\"),s=Na(t,\"c\",\"multiRNNCell\"),a=Na(o,\"h\",\"multiRNNCell\"),i=n,p=[];for(let l=0;l2)throw new Error(`Rank of probabilities must be 1 or 2, but is ${a}`);t=t||Math.random();let p={logits:a===1?z(n,[1,-1]):n},u={numSamples:e,seed:t,normalized:o},c=T.runKernel(Sp,p,u);return a===1?z(c,[c.size]):c}var kk=N({multinomial_:O4});function P4(r,e){let t=v(r,\"a\",\"notEqual\",\"string_or_numeric\"),o=v(e,\"b\",\"notEqual\",\"string_or_numeric\");[t,o]=Re(t,o),Je(t.shape,o.shape);let n={a:t,b:o};return T.runKernel(Nn,n)}var wd=N({notEqual_:P4});function M4(r){let t={x:v(r,\"x\",\"onesLike\")};return T.runKernel(Is,t)}var Nk=N({onesLike_:M4});function L4(r,e){let t=v(r,\"v1\",\"outerProduct\"),o=v(e,\"v2\",\"outerProduct\");E(t.rank===1&&o.rank===1,()=>`Error in outerProduct: inputs must be rank 1, but got ranks ${t.rank} and ${o.rank}.`);let n=z(t,[-1,1]),s=z(o,[1,-1]);return Xe(n,s)}var Tk=N({outerProduct_:L4});function B4(r,e,t=0){let o=v(r,\"x\",\"pad\");if(o.rank===0)throw new Error(\"pad(scalar) is not defined. Pass non-scalar to pad\");let n={paddings:e,constantValue:t},s={x:o};return T.runKernel($n,s,n)}var Hs=N({pad_:B4});function V4(r,e,t=0){return E(e.length===2,()=>\"Invalid number of paddings. Must be length of 2.\"),Hs(r,[e],t)}var _k=N({pad1d_:V4});function z4(r,e,t=0){return E(e.length===2&&e[0].length===2&&e[1].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),Hs(r,e,t)}var Ek=N({pad2d_:z4});function W4(r,e,t=0){return E(e.length===3&&e[0].length===2&&e[1].length===2&&e[2].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),Hs(r,e,t)}var $k=N({pad3d_:W4});function U4(r,e,t=0){return E(e.length===4&&e[0].length===2&&e[1].length===2&&e[2].length===2&&e[3].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),Hs(r,e,t)}var Ak=N({pad4d_:U4});function G4(r,e,t){let o=v(r,\"x\",\"spaceToBatchND\");E(o.rank>=1+e.length,()=>`input rank ${o.rank} should be > than [blockShape] ${e.length}`),E(t.length===e.length,()=>`paddings.shape[0] ${t.length} must be equal to [blockShape] ${e.length}`),E(o.shape.reduce((a,i,p)=>p>0&&p<=e.length?a&&(i+t[p-1][0]+t[p-1][1])%e[p-1]===0:a,!0),()=>`input spatial dimensions ${o.shape.slice(1)} with paddings ${t.toString()} must be divisible by blockShapes ${e.toString()}`);let n={x:o},s={blockShape:e,paddings:t};return T.runKernel(Es,n,s)}var Id=N({spaceToBatchND_:G4});function H4(r,e,t,o,n,s,a){n==null&&(n=[1,1]),s==null&&(s=1),o===0&&(o=\"valid\");let i=v(r,\"x\",\"maxPool\"),p=i,u=!1;i.rank===3&&(u=!0,p=z(i,[1,i.shape[0],i.shape[1],i.shape[2]])),E(lr(s,n),()=>`Error in pool: Either strides or dilations must be 1. Got strides ${s} and dilations '${n}'`);let c=aC(p.shape,e,s,n,o),l=[c.dilationHeight,c.dilationWidth],m;o===\"same\"?m=K4([c.filterHeight,c.filterWidth],l):m=[[0,0],[0,0]];let d=l[0]===1&&l[1]===1,[f,h]=q4([c.inHeight,c.inWidth],l,m),g=d?o:\"valid\",x=d?p:Id(p,l,f),C=(t===\"avg\"?()=>td(x,e,s,g,a):()=>bd(x,e,s,g,a))(),w=d?C:rd(C,l,h);return u?z(w,[w.shape[1],w.shape[2],w.shape[3]]):w}function q4(r,e,t){let o=t.map(c=>c[0]),n=t.map(c=>c[1]),s=r.concat(o,n),a=e.map((c,l)=>(c-s[l]%c)%c),i=n.map((c,l)=>c+a[l]),p=e.map((c,l)=>[o[l],i[l]]),u=e.map((c,l)=>[0,a[l]]);return[p,u]}function K4(r,e){let o=r.map((a,i)=>a+(a-1)*(e[i]-1)).map(a=>a-1),n=o.map(a=>Math.floor(a/2)),s=o.map((a,i)=>a-n[i]);return o.map((a,i)=>[n[i],s[i]])}var Rk=N({pool_:H4});function j4(r,e){let t=v(r,\"x\",\"prelu\"),o=v(e,\"alpha\",\"prelu\"),n={x:t,alpha:o};return T.runKernel(Rn,n)}var vd=N({prelu_:j4});function X4(r,e=null,t=!1){let o=v(r,\"x\",\"prod\");o.dtype===\"bool\"&&(o=Ke(o,\"int32\"));let n={x:o},s={axis:e,keepDims:t};return T.runKernel(Fn,n,s)}var Fk=N({prod_:X4});function Y4(r,e,t,o){let n=r.map((c,l)=>v(c,`tensors${l}`,\"raggedGather\",\"int32\")),s=v(e,\"paramsDenseValues\",\"raggedGather\"),a=v(t,\"indices\",\"raggedGather\",\"int32\"),i={paramsNestedSplits:n,paramsDenseValues:s,indices:a},p={outputRaggedRank:o},u=T.runKernel(wp,i,p);return{outputNestedSplits:u.slice(0,u.length-1),outputDenseValues:u[u.length-1]}}var Dk=N({raggedGather_:Y4});function Q4(r,e,t){let o=v(r,\"starts\",\"raggedRange\"),n=v(e,\"limits\",\"raggedRange\",o.dtype),s=v(t,\"deltas\",\"raggedRange\",o.dtype),a={starts:o,limits:n,deltas:s},i=T.runKernel(Ip,a);return{rtNestedSplits:i[0],rtDenseValues:i[1]}}var Ok=N({raggedRange_:Q4});function Z4(r,e,t,o,n){let s=v(r,\"shape\",\"raggedTensorToTensor\",\"int32\"),a=v(e,\"values\",\"raggedTensorToTensor\"),i=v(t,\"defaultValue\",\"raggedTensorToTensor\",a.dtype),p=o.map((l,m)=>v(l,`tensors${m}`,\"raggedTensorToTensor\",\"int32\")),u={shape:s,values:a,defaultValue:i,rowPartitionTensors:p},c={rowPartitionTypes:n};return T.runKernel(vp,u,c)}var Pk=N({raggedTensorToTensor_:Z4});function J4(r,e,t){yt(r);let o=ze(r),n=null;if(t==null||t===\"float32\")n=new Float32Array(o);else if(t===\"int32\")n=new Int32Array(o);else if(t===\"bool\")n=new Uint8Array(o);else throw new Error(`Unknown data type ${t}`);for(let s=0;s=1||a===0);let i=Math.sqrt(-2*Math.log(a)/a);e=this.mean+this.stdDev*n*i,t=this.mean+this.stdDev*s*i,(!this.truncated||this.isValidTruncated(e))&&(o=!0)}return(!this.truncated||this.isValidTruncated(t))&&(this.nextVal=this.convertValue(t)),this.convertValue(e)}convertValue(e){return this.dtype==null||this.dtype===\"float32\"?e:Math.round(e)}isValidTruncated(e){return e<=this.upper&&e>=this.lower}},Nd=class{constructor(e,t,o,n){this.alpha=e,this.beta=1/t,this.dtype=o;let s=n||Math.random();this.randu=_d.alea(s.toString()),this.randn=new fu(0,1,o,!1,this.randu()),e<1?this.d=e+2/3:this.d=e-1/3,this.c=1/Math.sqrt(9*this.d)}nextValue(){let e,t,o,n,s,a;for(;;){do n=this.randn.nextValue(),a=1+this.c*n;while(a<=0);if(a*=a*a,e=n*n,t=1-.331*e*e,o=.5*e+this.d*(1-a+Math.log(a)),s=this.randu(),sthis.dtype==null||this.dtype===\"float32\",this.min=e,this.range=t-e,this.dtype=o,n==null&&(n=Math.random()),typeof n==\"number\"&&(n=n.toString()),!this.canReturnFloat()&&this.range<=1)throw new Error(`The difference between ${e} - ${t} <= 1 and dtype is not float`);this.random=_d.alea(n)}convertValue(e){return this.canReturnFloat()?e:Math.round(e)}nextValue(){return this.convertValue(this.min+this.range*this.random())}};function aG(r,e,t=1,o=\"float32\",n){if(yt(r),t==null&&(t=1),o==null&&(o=\"float32\"),o!==\"float32\"&&o!==\"int32\")throw new Error(`Unsupported data type ${o}`);let s=new Nd(e,t,o,n),a=le(r,o);for(let i=0;i`Error in reverse1D: x must be rank 1 but got rank ${e.rank}.`),no(e,0)}var o1=N({reverse1d_:fG});function hG(r,e){let t=v(r,\"x\",\"reverse\");return E(t.rank===2,()=>`Error in reverse2D: x must be rank 2 but got rank ${t.rank}.`),no(t,e)}var n1=N({reverse2d_:hG});function gG(r,e){let t=v(r,\"x\",\"reverse\");return E(t.rank===3,()=>`Error in reverse3D: x must be rank 3 but got rank ${t.rank}.`),no(t,e)}var s1=N({reverse3d_:gG});function xG(r,e){let t=v(r,\"x\",\"reverse\");return E(t.rank===4,()=>`Error in reverse4D: x must be rank 4 but got rank ${t.rank}.`),no(t,e)}var a1=N({reverse4d_:xG});function yG(r){let t={x:v(r,\"x\",\"round\")};return T.runKernel(Ca,t)}var Rd=N({round_:yG});function bG(r){let t={x:v(r,\"x\",\"rsqrt\",\"float32\")};return T.runKernel(Vn,t)}var i1=N({rsqrt_:bG});function CG(r){let t={x:v(r,\"x\",\"selu\")};return T.runKernel(Xi,t)}var u1=N({selu_:CG});function SG(r,e,t,o,n,s=[1,1],a=\"NHWC\"){let i=v(r,\"x\",\"separableConv2d\"),p=v(e,\"depthwiseFilter\",\"separableConv2d\"),u=v(t,\"pointwiseFilter\",\"separableConv2d\"),c=i,l=!1;if(i.rank===3&&(l=!0,c=z(i,[1,i.shape[0],i.shape[1],i.shape[2]])),a===\"NCHW\")throw new Error(\"separableConv2d currently does not support dataFormat NCHW; only NHWC is supported\");E(c.rank===4,()=>`Error in separableConv2d: input must be rank 4, but got rank ${c.rank}.`),E(p.rank===4,()=>`Error in separableConv2d: depthwise filter must be rank 4, but got rank ${p.rank}.`),E(u.rank===4,()=>`Error in separableConv2d: pointwise filter must be rank 4, but got rank ${p.rank}.`),E(u.shape[0]===1,()=>`Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${u.shape[0]}.`),E(u.shape[1]===1,()=>`Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${u.shape[1]}.`);let m=p.shape[2],d=p.shape[3];E(u.shape[2]===m*d,()=>`Error in separableConv2d: the third dimension of pointwise filter must be ${m*d}, but got ${u.shape[2]}.`);let f=Bp(c,p,o,n,a,s),g=vi(f,u,1,\"valid\",a);return l?z(g,[g.shape[1],g.shape[2],g.shape[3]]):g}var p1=N({separableConv2d_:SG});async function wG(r,e){let t=v(r,\"x\",\"setdiff1d\"),o=v(e,\"y\",\"setdiff1d\");E(t.dtype===o.dtype,()=>`x and y should have the same dtype, but got x (${t.dtype}) and y (${o.dtype}).`),E(t.rank===1,()=>`x should be 1D tensor, but got x (${t.shape}).`),E(o.rank===1,()=>`y should be 1D tensor, but got y (${o.shape}).`);let n=await t.data(),s=await o.data(),a=new Set(s),i=0;for(let c=0;c`slice1d expects a rank-1 tensor, but got a rank-${o.rank} tensor`),He(o,[e],[t])}var f1=N({slice1d_:NG});function TG(r,e,t){let o=v(r,\"x\",\"slice2d\");return E(o.rank===2,()=>`slice2d expects a rank-2 tensor, but got a rank-${o.rank} tensor`),He(o,e,t)}var h1=N({slice2d_:TG});function _G(r,e,t){let o=v(r,\"x\",\"slice3d\");return E(o.rank===3,()=>`slice3d expects a rank-3 tensor, but got a rank-${o.rank} tensor`),He(o,e,t)}var g1=N({slice3d_:_G});function EG(r,e,t){let o=v(r,\"x\",\"slice4d\");return E(o.rank===4,()=>`slice4d expects a rank-4 tensor, but got a rank-${o.rank} tensor`),He(o,e,t)}var x1=N({slice4d_:EG});function $G(r,e=-1){let t=v(r,\"logits\",\"softmax\",\"float32\");if(e===-1&&(e=t.rank-1),e!==t.rank-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${t.rank} and dim was ${e}`);let o={logits:t},n={dim:e};return T.runKernel(qn,o,n)}var y1=N({softmax_:$G});function AG(r){E(r.dtype===\"complex64\",()=>`The dtype for tf.spectral.fft() must be complex64 but got ${r.dtype}.`);let e={input:r};return T.runKernel(oi,e)}var zp=N({fft_:AG});function RG(r){E(r.dtype===\"complex64\",()=>`The dtype for tf.spectral.ifft() must be complex64 but got ${r.dtype}.`);let e={input:r};return T.runKernel(ni,e)}var hu=N({ifft_:RG});function FG(r){let e=r.shape[r.shape.length-1],t=r.size/e,o;if(e<=2){let n=z(r,[t,e]);o=hu(n)}else{let n=[t,2*(e-1)],s=z($a(r),[t,e]),a=z(Si(r),[t,e]),i=no(He(s,[0,1],[t,e-2]),1),p=ae(no(He(a,[0,1],[t,e-2]),1),be(-1)),u=gt([s,i],1),c=gt([a,p],1),l=z(Tr(u,c),[n[0],n[1]]);o=hu(l)}if(o=$a(o),r.rank===3&&r.shape[0]!==0){let n=o,s=r.shape[0];o=z(o,[s,o.shape[0]/s,o.shape[1]]),n.dispose()}return o}var Fd=N({irfft_:FG});function DG(r,e,t=0){let n={x:v(r,\"x\",\"split\")},s={numOrSizeSplits:e,axis:t};return T.runKernel($s,n,s)}var Oa=N({split_:DG});function OG(r,e){E(r.dtype===\"float32\",()=>`The dtype for rfft() must be real value but got ${r.dtype}`);let t=r.shape[r.shape.length-1],o=r.size/t,n;if(e!=null&&e0),h=r.shape.map(g=>g);h[r.shape.length-1]=e,n=He(r,f,h),t=e}else if(e!=null&&e>t){let f=r.shape.map(h=>h);f[r.shape.length-1]=e-t,n=gt([r,Vr(f)],r.shape.length-1),t=e}else n=r;let s=Ut(n),a=z(Tr(n,s),[o,t]),i=zp(a),p=Math.floor(t/2)+1,u=$a(i),c=Si(i),l=Oa(u,[p,t-p],u.shape.length-1),m=Oa(c,[p,t-p],c.shape.length-1),d=n.shape.slice();return d[n.shape.length-1]=p,z(Tr(l[0],m[0]),d)}var Wp=N({rfft_:OG});function PG(r,e){let t=v(r,\"a\",\"squaredDifference\"),o=v(e,\"b\",\"squaredDifference\");[t,o]=Re(t,o),Je(t.shape,o.shape);let n={a:t,b:o},s={};return T.runKernel(Kn,n,s)}var Dd=N({squaredDifference_:PG});function MG(r,e){let t=v(r,\"x\",\"squeeze\",\"string_or_numeric\");return z(t,pb(t.shape,e).newShape)}var Up=N({squeeze_:MG});function LG(r,e=0){let t=Na(r,\"tensors\",\"stack\",\"string_or_numeric\");E(t.length>=1,()=>\"Pass at least one tensor to tf.stack\"),t.length>0&&E(e<=t[0].rank,()=>\"Axis must be <= rank of the tensor\");let o=t,n={axis:e};return T.runKernel(vs,o,n)}var Sr=N({stack_:LG});function BG(r,e=0){let o={x:v(r,\"x\",\"step\")},n={alpha:e};return T.runKernel(Ds,o,n)}var Od=N({step_:BG});function VG(r,e,t,o,n=0,s=0,a=0,i=0,p=0){let c={x:v(r,\"x\",\"stridedSlice\",\"string_or_numeric\")},l={begin:e,end:t,strides:o,beginMask:n,endMask:s,ellipsisMask:a,newAxisMask:i,shrinkAxisMask:p};return T.runKernel(jn,c,l)}var b1=N({stridedSlice_:VG});function zG(r){let t={x:v(r,\"x\",\"tan\",\"float32\")};return T.runKernel(Yn,t)}var C1=N({tan_:zG});function mr(r,e){Jr(r);let t=or(r,e);if(t.length!==1)throw new Error(\"tensor1d() requires values to be a flat/TypedArray\");return xr(r,null,t,e)}function _i(r,e,t){if(Jr(r),e!=null&&e.length!==2)throw new Error(\"tensor2d() requires shape to have two numbers\");let o=or(r,t);if(o.length!==2&&o.length!==1)throw new Error(\"tensor2d() requires values to be number[][] or flat/TypedArray\");if(o.length===1&&e==null)throw new Error(\"tensor2d() requires shape to be provided when `values` are a flat/TypedArray\");return xr(r,e,o,t)}function S1(r,e,t){if(Jr(r),e!=null&&e.length!==4)throw new Error(\"tensor4d() requires shape to have four numbers\");let o=or(r,t);if(o.length!==4&&o.length!==1)throw new Error(\"tensor4d() requires values to be number[][][][] or flat/TypedArray\");if(o.length===1&&e==null)throw new Error(\"tensor4d() requires shape to be provided when `values` are a flat array\");return xr(r,e,o,t)}function w1(r,e,t){if(Jr(r),e!=null&&e.length!==5)throw new Error(\"tensor5d() requires shape to have five numbers\");let o=or(r,t);if(o.length!==5&&o.length!==1)throw new Error(\"tensor5d() requires values to be number[][][][][] or flat/TypedArray\");if(o.length===1&&e==null)throw new Error(\"tensor5d() requires shape to be provided when `values` are a flat array\");return xr(r,e,o,t)}function I1(r,e,t){if(Jr(r),e!=null&&e.length!==6)throw new Error(\"tensor6d() requires shape to have six numbers\");let o=or(r,t);if(o.length!==6&&o.length!==1)throw new Error(\"tensor6d() requires values to be number[][][][][][] or flat/TypedArray\");if(o.length===1&&e==null)throw new Error(\"tensor6d() requires shape to be provided when `values` are a flat array\");return e=e||o,xr(r,e,o,t)}function WG(r,e=1,t=!0){let o=v(r,\"x\",\"topk\");if(o.rank===0)throw new Error(\"topk() expects the input to be of rank 1 or higher\");let n=o.shape[o.shape.length-1];if(e<0)throw new Error(`'k' passed to topk() must be >= 0 but got ${e}`);if(e>n)throw new Error(`'k' passed to topk() must be <= the last dimension (${n}) but got ${e}`);let s={x:o},a={k:e,sorted:t},[i,p]=T.runKernel(Zn,s,a);return{values:i,indices:p}}var v1=N({topk_:WG});function UG(r,e=0,t=1,o,n){if(yt(r),o!=null&&o===\"bool\")throw new Error(\"Unsupported data type $ { dtype }\");let s=new fu(e,t,o,!0,n),a=le(r,o);for(let i=0;i0,()=>\"The input tensor must be at least 1D\");let o={x:t},n={axis:e},[s,a]=T.runKernel(kp,o,n);return{values:s,indices:a}}var N1=N({unique_:GG});function HG(r,e,t){let o=v(r,\"x\",\"unsortedSegmentSum\"),n=v(e,\"segmentIds\",\"unsortedSegmentSum\",\"int32\");E(na(t),()=>\"numSegments must be of dtype int\");let s={x:o,segmentIds:n},a={numSegments:t};return T.runKernel(Np,s,a)}var T1=N({unsortedSegmentSum_:HG});function qG(r,e=0){let t=v(r,\"x\",\"unstack\",\"string_or_numeric\");E(e>=-t.shape.length&&e`Axis = ${e} is not in [-${t.shape.length}, ${t.shape.length})`);let o={value:t},n={axis:e};return T.runKernel(Rs,o,n)}var so=N({unstack_:qG});function _1(r,e){return al(r,e,\"right\")}function E1(r,e=!0,t,o){return T.makeVariable(r,e,t,o)}function Pd(r,e){let t=[];for(let s=0;s0,()=>\"mask cannot be scalar\"),ht(i.slice(s,s+a),n.shape,\"mask's shape must match the first K dimensions of tensor's shape,\");let p=1;for(let h=s;h\"Shape mismatch in v and x\");let p=be(1),u=Ne(p,i),c=ae(Ne(a,s),u);if(n){E(o!=null,()=>\"When using zeroDebias: true, step is required.\");let l=v(o,\"step\",\"movingAverage\");c=Ge(c,Ne(p,Ra(i,l)))}return xe(s,c)}var QG=N({movingAverage_:YG});function ZG(r,e,t){yt(t);let o=v(r,\"indices\",\"scatterND\",\"int32\"),n=v(e,\"updates\",\"scatterND\");Qm(n,o,t);let s={indices:o,updates:n},a={shape:t};return T.runKernel(zn,s,a)}var JG=N({scatterND_:ZG});function $1(r,e,t,o){if(r.dtype!==\"int32\")throw new Error(`tf.sparseToDense() expects the indices to be int32 type, but the dtype was ${r.dtype}.`);if(r.rank>2)throw new Error(`sparseIndices should be a scalar, vector, or matrix, but got shape ${r.shape}.`);let n=r.rank>0?r.shape[0]:1,s=r.rank>1?r.shape[1]:1;if(t.length!==s)throw new Error(`outputShape has incorrect number of elements:, ${t.length}, should be: ${s}.`);let a=e.size;if(!(e.rank===0||e.rank===1&&a===n))throw new Error(`sparseValues has incorrect shape ${e.shape}, should be [] or [${n}]`);if(e.dtype!==o.dtype)throw new Error(\"sparseValues.dtype must match defaultValues.dtype\")}function tH(r,e,t,o=0){yt(t);let n=v(r,\"sparseIndices\",\"sparseToDense\",\"int32\"),s=v(e,\"sparseValues\",\"sparseToDense\",\"string_or_numeric\"),a=v(o,\"defaultValue\",\"sparseToDense\",s.dtype);$1(n,s,t,a);let i={sparseIndices:n,sparseValues:s,defaultValue:a},p={outputShape:t};return T.runKernel(li,i,p)}var rH=N({sparseToDense_:tH});function oH(r,e){let t=v(e,\"indices\",\"gatherND\",\"int32\"),n={params:v(r,\"x\",\"gatherND\",\"string_or_numeric\"),indices:t};return T.runKernel(un,n)}var nH=N({gatherND_:oH});function A1(r,e){if(e==null)return r.shape.slice();if(Pr(r.shape,e))return e;if(r.shape.length===e.length){let t=[];for(let o=0;o`x has to be a floating point tensor since it's going to be scaled, but got a ${n.dtype} tensor instead.`),E(e>=0&&e<1,()=>`rate must be a float in the range [0, 1), but got ${e}.`),e===0)return r instanceof it?n.clone():n;let s=A1(n,t),a=1-e,i=Ge(ud(xe($d(s,0,1,\"float32\",o),a)),a);return ae(n,i)}var aH=N({dropout_:sH});function xC(r){return Math.floor(Math.pow(2,Math.ceil(Math.log(r)/Math.log(2))))}function il(r,e,t){let o=1-r%2,n=new Float32Array(r);for(let s=0;s1,()=>`inTopK() expects the predictions to be of rank 2 or higher, but got ${o.rank}`),E(o.rank-1===n.rank,()=>`predictions rank should be 1 larger than targets rank, but got predictions rank ${o.rank} and targets rank ${n.rank}`),ht(o.shape.slice(0,o.shape.length-1),n.shape,\"predictions's shape should be align with the targets' shape, except the last dimension.\");let s=o.shape[o.shape.length-1];E(t>0&&t<=s,()=>`'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${s}), but got ${t}`);let a=await o.data(),i=await n.data(),[p,u]=[a.length/s,s],c=cb(\"bool\",p);for(let l=0;lg.value-h.value),c[l]=0;for(let h=0;hF1,depthwiseConv2d:()=>P1,matMul:()=>M1});function pH(r,e,t,o,n,s=\"NHWC\",a){let i=r;r.rank===3&&(i=z(r,[1,r.shape[0],r.shape[1],r.shape[2]]));let p=e;p.rank===3&&(p=z(e,[1,e.shape[0],e.shape[1],e.shape[2]])),E(i.rank===4,()=>`Error in conv2dDerFilter: input must be rank 4, but got shape ${i.shape}.`),E(p.rank===4,()=>`Error in conv2dDerFilter: dy must be rank 4, but got shape ${p.shape}.`),E(t.length===4,()=>`Error in conv2dDerFilter: filterShape must be length 4, but got ${t}.`);let u=s===\"NHWC\"?i.shape[3]:i.shape[1],c=s===\"NHWC\"?p.shape[3]:p.shape[1];E(u===t[2],()=>`Error in conv2dDerFilter: depth of input ${u}) must match input depth in filter (${t[2]}.`),E(c===t[3],()=>`Error in conv2dDerFilter: depth of dy (${c}) must match output depth for filter (${t[3]}).`),Pt(\"conv2dDerFilter\",n,a);let l={x:i,dy:p},m={strides:o,pad:n,dataFormat:s,dimRoundingMode:a,filterShape:t};return T.runKernel(cp,l,m)}var R1=N({conv2DBackpropFilter_:pH});function gu(r,e,t){if(t==null||t===\"linear\")return r;if(t===\"relu\")return ae(r,Od(e));throw new Error(`Cannot compute gradient for fused activation ${t}.`)}function xu(r,e){let t=e,o=jm(r.shape,e.shape);return o.length>0&&(t=et(t,o)),z(t,r.shape)}function yu(r,e,t,o){if(e===\"linear\")return r;if(e===\"relu\")return Ti(r);if(e===\"elu\")return ad(r);if(e===\"relu6\")return Ad(r);if(e===\"prelu\")return vd(r,t);if(e===\"leakyrelu\")return ld(r,o);if(e===\"sigmoid\")return zs(r);throw new Error(`Unknown fused activation ${e}.`)}var bu=(r,e)=>!(r>0)||e===\"linear\";function cH({x:r,filter:e,strides:t,pad:o,dataFormat:n=\"NHWC\",dilations:s=[1,1],dimRoundingMode:a,bias:i,activation:p=\"linear\",preluActivationWeights:u,leakyreluAlpha:c}){if(p=p||\"linear\",bu(T.state.gradientDepth,p)===!1){E(n===\"NHWC\",()=>`Error in fused conv2d: got dataFormat of ${n} but only NHWC is currently supported for the case of gradient depth is 0 and the activation is not linear.`);let _=vi(r,e,t,o,n,s,a);return i!=null&&(_=xe(_,i)),yu(_,p,u,c)}let l=v(r,\"x\",\"conv2d\",\"float32\"),m=v(e,\"filter\",\"conv2d\",\"float32\"),d=l,f=!1;l.rank===3&&(f=!0,d=z(l,[1,l.shape[0],l.shape[1],l.shape[2]])),E(d.rank===4,()=>`Error in fused conv2d: input must be rank 4, but got rank ${d.rank}.`),E(m.rank===4,()=>`Error in fused conv2d: filter must be rank 4, but got rank ${m.rank}.`),Pt(\"fused conv2d\",o,a);let h=n===\"NHWC\"?d.shape[3]:d.shape[1];E(m.shape[2]===h,()=>`Error in conv2d: depth of input (${h}) must match input depth for filter ${m.shape[2]}.`),E(lr(t,s),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${t} and dilations '${s}'`);let g=uu(d.shape,m.shape,t,s,o,a),x;i!=null&&(x=v(i,\"bias\",\"fused conv2d\"),[x]=Re(x,l),n===\"NHWC\"?Je(g.outShape,x.shape):(E(x.shape.length<=1,()=>`Error in fused conv2d: only supports scalar or 1-D Tensor bias for NCHW format but got the bias of rank-${x.shape.length}.`),E(x.shape.length===0||x.shape[0]===g.outChannels||x.shape[0]===1,()=>`Error in fused conv2d: bias shape (${x.shape}) is not compatible with the number of output channels (${g.outChannels})`)));let b;if(u!=null){let _=u.shape;if(E(_.length<=1||_.length===3,()=>`Error in fused conv2d: only supports scalar, 1-D Tensor or 3-D Tensor PReLU activation weights but got a tensor of rank-${_.length}.`),_.length===1)E(_[0]===1||_[0]===g.outChannels,()=>`Error in fused conv2d: PReLU activation weights (${_}) is not compatible with the number of output channels (${g.outChannels}).`);else if(_.length===3)try{Je(_,g.outShape)}catch($){let A=`Error in fused conv2d: PReLU activation weights (${_}) is not compatible with the output shape of the conv2d (${g.outShape}).`;throw Error(A)}b=v(u,\"prelu weights\",\"fused conv2d\")}let C=(_,$)=>{E(n===\"NHWC\",()=>`Error in gradient of fused conv2D: got dataFormat of ${n} but only NHWC is currently supported.`);let[A,R,D,P]=$,M=gu(_,D,p);E(iu(s),()=>`Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${s}'`);let L=nd(R.shape,M,A,t,o),W=R1(R,M,A.shape,t,o),V=[L,W];if(P!=null){let U=xu(P,M);V.push(U)}return V},w={x:d,filter:m,bias:x,preluActivationWeights:b},k={strides:t,pad:o,dataFormat:n,dilations:s,dimRoundingMode:a,activation:p,leakyreluAlpha:c};return i==null?Cr(($,A,R)=>{let D=T.runKernel(ho,w,k);return R([A,$,D]),f&&(D=z(D,[D.shape[1],D.shape[2],D.shape[3]])),{value:D,gradFunc:C}})(d,m):Cr(($,A,R,D)=>{let P=T.runKernel(ho,w,k);return D([A,$,P,R]),f&&(P=z(P,[P.shape[1],P.shape[2],P.shape[3]])),{value:P,gradFunc:C}})(d,m,x)}var F1=N({fusedConv2d_:cH});function lH(r,e,t,o,n,s=[1,1],a){let i=r;r.rank===3&&(i=z(r,[1,r.shape[0],r.shape[1],r.shape[2]]));let p=e;p.rank===3&&(p=z(e,[1,e.shape[0],e.shape[1],e.shape[2]]));let u={x:i,dy:p},c={strides:o,pad:n,dimRoundingMode:a,dilations:s,filterShape:t};return T.runKernel(dp,u,c)}var D1=N({depthwiseConv2dNativeBackpropFilter_:lH});function mH(r,e,t,o,n,s=[1,1],a){let i=e,p=!1;e.rank===3&&(p=!0,i=z(e,[1,e.shape[0],e.shape[1],e.shape[2]]));let u={dy:i,filter:t},c={strides:o,pad:n,dimRoundingMode:a,dilations:s,inputShape:r},l=T.runKernel(fp,u,c);return p?z(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var O1=N({depthwiseConv2dNativeBackpropInput_:mH});function dH({x:r,filter:e,strides:t,pad:o,dataFormat:n=\"NHWC\",dilations:s=[1,1],dimRoundingMode:a,bias:i,activation:p=\"linear\",preluActivationWeights:u,leakyreluAlpha:c}){if(bu(T.state.gradientDepth,p)===!1){let k=Bp(r,e,t,o,n,s,a);return i!=null&&(k=xe(k,i)),yu(k,p,u,c)}let l=v(r,\"x\",\"depthwiseConv2d\",\"float32\"),m=v(e,\"filter\",\"depthwiseConv2d\",\"float32\"),d=l,f=!1;l.rank===3&&(f=!0,d=z(l,[1,l.shape[0],l.shape[1],l.shape[2]])),E(d.rank===4,()=>`Error in fused depthwiseConv2d: input must be rank 4, but got rank ${d.rank}.`),E(m.rank===4,()=>`Error in fused depthwiseConv2d: filter must be rank 4, but got rank ${m.rank}.`),E(d.shape[3]===m.shape[2],()=>`Error in fused depthwiseConv2d: number of input channels (${d.shape[3]}) must match the inChannels dimension in filter ${m.shape[2]}.`),s==null&&(s=[1,1]),E(lr(t,s),()=>`Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${t} and dilations '${s}'`),Pt(\"fused depthwiseConv2d\",o,a);let h=uu(d.shape,m.shape,t,s,o,a,!0),g;i!=null&&(g=v(i,\"bias\",\"fused conv2d\"),[g]=Re(g,l),Je(h.outShape,g.shape));let x;u!=null&&(x=v(u,\"prelu weights\",\"fused depthwiseConv2d\"));let b=(k,_)=>{E(iu(s),()=>`Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${s}'`);let[$,A,R,D]=_,P=gu(k,R,p),M=O1(A.shape,P,$,t,o,s,a),L=D1(A,P,$.shape,t,o,s,a);if(D!=null){let W=xu(g,P);return[M,L,W]}return[M,L]},C={x:d,filter:m,bias:g,preluActivationWeights:x},w={strides:t,pad:o,dataFormat:n,dilations:s,dimRoundingMode:a,activation:p,leakyreluAlpha:c};return i==null?Cr((_,$,A)=>{let R=T.runKernel(go,C,w);return A([$,_,R]),f&&(R=z(R,[R.shape[1],R.shape[2],R.shape[3]])),{value:R,gradFunc:b}})(d,m):Cr((_,$,A,R)=>{let D=T.runKernel(go,C,w);return R([$,_,D,A]),f&&(D=z(D,[D.shape[1],D.shape[2],D.shape[3]])),{value:D,gradFunc:b}})(d,m,g)}var P1=N({fusedDepthwiseConv2d_:dH});function fH({a:r,b:e,transposeA:t=!1,transposeB:o=!1,bias:n,activation:s=\"linear\",preluActivationWeights:a,leakyreluAlpha:i=.2}){if(bu(T.state.gradientDepth,s)===!1){let P=Xe(r,e,t,o);return n!=null&&(P=xe(P,n)),yu(P,s,a,i)}let p=v(r,\"a\",\"fused matMul\"),u=v(e,\"b\",\"fused matMul\");[p,u]=Re(p,u);let c=t?p.shape[p.rank-2]:p.shape[p.rank-1],l=o?u.shape[u.rank-1]:u.shape[u.rank-2],m=t?p.shape[p.rank-1]:p.shape[p.rank-2],d=o?u.shape[u.rank-2]:u.shape[u.rank-1],f=p.shape.slice(0,-2),h=u.shape.slice(0,-2),g=ze(f),x=ze(h);E(c===l,()=>`Error in fused matMul: inner shapes (${c}) and (${l}) of Tensors with shapes ${p.shape} and ${u.shape} and transposeA=${t} and transposeB=${o} must match.`);let C=Je(p.shape.slice(0,-2),u.shape.slice(0,-2)).concat([m,d]),w=t?z(p,[g,c,m]):z(p,[g,m,c]),k=o?z(u,[x,d,l]):z(u,[x,l,d]),_;n!=null&&(_=v(n,\"bias\",\"fused matMul\"),[_]=Re(_,p),Je(C,_.shape));let $;a!=null&&($=v(a,\"prelu weights\",\"fused matMul\"));let A=(P,M)=>{let[L,W,V,U]=M,q=gu(z(P,V.shape),V,s),H,j;if(!t&&!o?(H=Xe(q,W,!1,!0),j=Xe(L,q,!0,!1)):!t&&o?(H=Xe(q,W,!1,!1),j=Xe(q,L,!0,!1)):t&&!o?(H=Xe(W,q,!1,!0),j=Xe(L,q,!1,!1)):(H=Xe(W,q,!0,!0),j=Xe(q,L,!0,!0)),n!=null){let X=xu(U,q);return[H,j,X]}else return[H,j]},R={a:w,b:k,bias:_,preluActivationWeights:$},D={transposeA:t,transposeB:o,activation:s,leakyreluAlpha:i};return n==null?Cr((M,L,W)=>{let V=T.runKernel(fo,R,D);return W([M,L,V]),{value:z(V,C),gradFunc:A}})(w,k):Cr((M,L,W,V)=>{let U=T.runKernel(fo,R,D);return V([M,L,U,W]),{value:z(U,C),gradFunc:A}})(w,k,_)}var M1=N({fusedMatMul_:fH});function hH(r){return il(r,.54,.46)}var L1=N({hammingWindow_:hH});function gH(r){return il(r,.5,.5)}var Ld=N({hannWindow_:gH});function xH(r,e,t,o=!1,n=0){let s=0,a=[];for(;s+e<=r.size;)a.push(He(r,s,e)),s+=t;if(o)for(;s`Error in cropAndResize: image must be rank 4,but got rank ${a.rank}.`),E(i.rank===2&&i.shape[1]===4,()=>`Error in cropAndResize: boxes must be have size [${u},4] but had shape ${i.shape}.`),E(p.rank===1&&p.shape[0]===u,()=>`Error in cropAndResize: boxInd must be have size [${u}] but had shape ${i.shape}.`),E(o.length===2,()=>`Error in cropAndResize: cropSize must be of length 2, but got length ${o.length}.`),E(o[0]>=1&&o[1]>=1,()=>`cropSize must be atleast [1,1], but was ${o}`),E(n===\"bilinear\"||n===\"nearest\",()=>`method must be bilinear or nearest, but was ${n}`);let c={image:a,boxes:i,boxInd:p},l={method:n,extrapolationValue:s,cropSize:o};return T.runKernel(Yo,c,l)}var V1=N({cropAndResize_:bH});function CH(r){let e=v(r,\"image\",\"flipLeftRight\",\"float32\");E(e.rank===4,()=>`Error in flipLeftRight: image must be rank 4,but got rank ${e.rank}.`);let t={image:e};return T.runKernel(on,t,{})}var z1=N({flipLeftRight_:CH});function SH(r){let e=v(r,\"image\",\"grayscaleToRGB\"),t=e.rank-1,o=e.shape[t];E(e.rank>=2,()=>`Error in grayscaleToRGB: images must be at least rank 2, but got rank ${e.rank}.`),E(o===1,()=>`Error in grayscaleToRGB: last dimension of a grayscale image should be size 1, but got size ${o}.`);let n=new Array(e.rank);return n.fill(1,0,t),n[t]=3,ki(e,n)}var W1=N({grayscaleToRGB_:SH});function wH(r,e,t=0,o=.5){let n=v(r,\"image\",\"rotateWithOffset\",\"float32\");E(n.rank===4,()=>`Error in rotateWithOffset: image must be rank 4,but got rank ${n.rank}.`);let s={image:n},a={radians:e,fillValue:t,center:o};return T.runKernel(es,s,a)}var U1=N({rotateWithOffset_:wH});function So(r,e,t,o,n,s){o==null&&(o=.5),n==null&&(n=Number.NEGATIVE_INFINITY),s==null&&(s=0);let a=r.shape[0];return t=Math.min(t,a),E(0<=o&&o<=1,()=>`iouThreshold must be in [0, 1], but was '${o}'`),E(r.rank===2,()=>`boxes must be a 2D tensor, but was of rank '${r.rank}'`),E(r.shape[1]===4,()=>`boxes must have 4 columns, but 2nd dimension was ${r.shape[1]}`),E(e.rank===1,()=>\"scores must be a 1D tensor\"),E(e.shape[0]===a,()=>`scores has incompatible shape with boxes. Expected ${a}, but was ${e.shape[0]}`),E(0<=s&&s<=1,()=>`softNmsSigma must be in [0, 1], but was '${s}'`),{maxOutputSize:t,iouThreshold:o,scoreThreshold:n,softNmsSigma:s}}function IH(r,e,t,o=.5,n=Number.NEGATIVE_INFINITY){let s=v(r,\"boxes\",\"nonMaxSuppression\",\"float32\"),a=v(e,\"scores\",\"nonMaxSuppression\",\"float32\"),i=So(s,a,t,o,n);t=i.maxOutputSize,o=i.iouThreshold,n=i.scoreThreshold;let p={maxOutputSize:t,iouThreshold:o,scoreThreshold:n};return T.runKernel(Tn,{boxes:s,scores:a},p)}var G1=N({nonMaxSuppression_:IH});function H1(r,e,t){let o=vH(r,e,t),n=o<0?-(o+1):o;r.splice(n,0,e)}function vH(r,e,t){return NH(r,e,t||kH)}function kH(r,e){return r>e?1:r>>1);let i=t(e,r[s]);i>0?o=s+1:(n=s,a=!i)}return a?o:-o-1}function Vd(r,e,t,o,n){return bC(r,e,t,o,n,0)}function zd(r,e,t,o,n,s){return bC(r,e,t,o,n,0,!1,s,!0)}function Wd(r,e,t,o,n,s){return bC(r,e,t,o,n,s,!0)}function bC(r,e,t,o,n,s,a=!1,i=!1,p=!1){let u=[];for(let g=0;gn&&u.push({score:e[g],boxIndex:g,suppressBeginIndex:0});u.sort(q1);let c=s>0?-.5/s:0,l=[],m=[];for(;l.length0;){let g=u.pop(),{score:x,boxIndex:b,suppressBeginIndex:C}=g;if(x=C;--k){let _=TH(r,b,l[k]);if(_>=o){w=!0;break}if(g.score=g.score*_H(o,c,_),g.score<=n)break}g.suppressBeginIndex=l.length,w||(g.score===x?(l.push(b),m.push(g.score)):g.score>n&&H1(u,g,q1))}let d=l.length,f=t-d;i&&f>0&&(l.push(...new Array(f).fill(0)),m.push(...new Array(f).fill(0)));let h={selectedIndices:l};return a&&(h.selectedScores=m),p&&(h.validOutputs=d),h}function TH(r,e,t){let o=r.subarray(e*4,e*4+4),n=r.subarray(t*4,t*4+4),s=Math.min(o[0],o[2]),a=Math.min(o[1],o[3]),i=Math.max(o[0],o[2]),p=Math.max(o[1],o[3]),u=Math.min(n[0],n[2]),c=Math.min(n[1],n[3]),l=Math.max(n[0],n[2]),m=Math.max(n[1],n[3]),d=(i-s)*(p-a),f=(l-u)*(m-c);if(d<=0||f<=0)return 0;let h=Math.max(s,u),g=Math.max(a,c),x=Math.min(i,l),b=Math.min(p,m),C=Math.max(x-h,0)*Math.max(b-g,0);return C/(d+f-C)}function _H(r,e,t){let o=Math.exp(e*t*t);return t<=r?o:0}function q1(r,e){return r.score-e.score||r.score===e.score&&e.boxIndex-r.boxIndex}async function EH(r,e,t,o=.5,n=Number.NEGATIVE_INFINITY){let s=v(r,\"boxes\",\"nonMaxSuppressionAsync\"),a=v(e,\"scores\",\"nonMaxSuppressionAsync\"),i=So(s,a,t,o,n);t=i.maxOutputSize,o=i.iouThreshold,n=i.scoreThreshold;let p=await Promise.all([s.data(),a.data()]),u=p[0],c=p[1],{selectedIndices:l}=Vd(u,c,t,o,n);return s!==r&&s.dispose(),a!==e&&a.dispose(),mr(l,\"int32\")}var K1=EH;function $H(r,e,t,o=.5,n=Number.NEGATIVE_INFINITY,s=0){let a=v(r,\"boxes\",\"nonMaxSuppression\"),i=v(e,\"scores\",\"nonMaxSuppression\"),p=So(a,i,t,o,n,s);t=p.maxOutputSize,o=p.iouThreshold,n=p.scoreThreshold,s=p.softNmsSigma;let u={boxes:a,scores:i},c={maxOutputSize:t,iouThreshold:o,scoreThreshold:n,softNmsSigma:s},l=T.runKernel(_n,u,c);return{selectedIndices:l[0],selectedScores:l[1]}}var j1=N({nonMaxSuppressionWithScore_:$H});async function AH(r,e,t,o=.5,n=Number.NEGATIVE_INFINITY,s=0){let a=v(r,\"boxes\",\"nonMaxSuppressionAsync\"),i=v(e,\"scores\",\"nonMaxSuppressionAsync\"),p=So(a,i,t,o,n,s);t=p.maxOutputSize,o=p.iouThreshold,n=p.scoreThreshold,s=p.softNmsSigma;let u=await Promise.all([a.data(),i.data()]),c=u[0],l=u[1],{selectedIndices:m,selectedScores:d}=Wd(c,l,t,o,n,s);return a!==r&&a.dispose(),i!==e&&i.dispose(),{selectedIndices:mr(m,\"int32\"),selectedScores:mr(d)}}var X1=AH;function RH(r,e,t,o=.5,n=Number.NEGATIVE_INFINITY,s=!1){let a=v(r,\"boxes\",\"nonMaxSuppression\"),i=v(e,\"scores\",\"nonMaxSuppression\"),p=So(a,i,t,o,n,null),u=p.maxOutputSize,c=p.iouThreshold,l=p.scoreThreshold,m={boxes:a,scores:i},d={maxOutputSize:u,iouThreshold:c,scoreThreshold:l,padToMaxOutputSize:s},f=T.runKernel(ba,m,d);return{selectedIndices:f[0],validOutputs:f[1]}}var Y1=N({nonMaxSuppressionPadded_:RH});async function FH(r,e,t,o=.5,n=Number.NEGATIVE_INFINITY,s=!1){let a=v(r,\"boxes\",\"nonMaxSuppressionAsync\"),i=v(e,\"scores\",\"nonMaxSuppressionAsync\"),p=So(a,i,t,o,n,null),u=p.maxOutputSize,c=p.iouThreshold,l=p.scoreThreshold,[m,d]=await Promise.all([a.data(),i.data()]),{selectedIndices:f,validOutputs:h}=zd(m,d,u,c,l,s);return a!==r&&a.dispose(),i!==e&&i.dispose(),{selectedIndices:mr(f,\"int32\"),validOutputs:be(h,\"int32\")}}var Q1=FH;function DH(r,e,t=!1,o=!1){let n=v(r,\"images\",\"resizeBilinear\");E(n.rank===3||n.rank===4,()=>`Error in resizeBilinear: x must be rank 3 or 4, but got rank ${n.rank}.`),E(e.length===2,()=>`Error in resizeBilinear: new shape must 2D, but got shape ${e}.`),E(o===!1||t===!1,()=>\"Error in resizeBilinear: If halfPixelCenters is true, alignCorners must be false.\");let s=n,a=!1;n.rank===3&&(a=!0,s=z(n,[1,n.shape[0],n.shape[1],n.shape[2]]));let[]=e,i={images:s},p={alignCorners:t,halfPixelCenters:o,size:e},u=T.runKernel(Mn,i,p);return a?z(u,[u.shape[1],u.shape[2],u.shape[3]]):u}var Z1=N({resizeBilinear_:DH});function OH(r,e,t=!1,o=!1){let n=v(r,\"images\",\"resizeNearestNeighbor\");E(n.rank===3||n.rank===4,()=>`Error in resizeNearestNeighbor: x must be rank 3 or 4, but got rank ${n.rank}.`),E(e.length===2,()=>`Error in resizeNearestNeighbor: new shape must 2D, but got shape ${e}.`),E(n.dtype===\"float32\"||n.dtype===\"int32\",()=>\"`images` must have `int32` or `float32` as dtype\"),E(o===!1||t===!1,()=>\"Error in resizeNearestNeighbor: If halfPixelCenters is true, alignCorners must be false.\");let s=n,a=!1;n.rank===3&&(a=!0,s=z(n,[1,n.shape[0],n.shape[1],n.shape[2]]));let[]=e,i={images:s},p={alignCorners:t,halfPixelCenters:o,size:e},u=T.runKernel(Pn,i,p);return a?z(u,[u.shape[1],u.shape[2],u.shape[3]]):u}var J1=N({resizeNearestNeighbor_:OH});function PH(r,e=\"binary\",t=!1,o=.5){let n=v(r,\"image\",\"threshold\"),s=.2989,a=.587,i=.114,p=n.shape[0]*n.shape[1],u=ae(mr([o]),255),c,l,m,d;if(E(n.rank===3,()=>`Error in threshold: image must be rank 3,but got rank ${n.rank}.`),E(n.shape[2]===3||n.shape[2]===1,()=>`Error in threshold: image color channel must be equal to 3 or 1but got ${n.shape[2]}.`),E(n.dtype===\"int32\"||n.dtype===\"float32\",()=>`Error in dtype: image dtype must be int32 or float32,but got dtype ${n.dtype}.`),E(e===\"otsu\"||e===\"binary\",()=>`Method must be binary or otsu, but was ${e}`),n.shape[2]===3){[c,l,m]=Oa(n,[1,1,1],-1);let g=ae(c,s),x=ae(l,a),b=ae(m,i);d=xe(xe(g,x),b)}else d=r;if(e===\"otsu\"){let g=od(Ke(Rd(d),\"int32\"),nr([]),256);u=MH(g,p)}let f=t?Vp(d,u):cu(d,u);return Ke(ae(f,255),\"int32\")}function MH(r,e){let t=mr([-1]),o=mr([0]),n=mr([0]),s,a,i,p,u,c;for(let l=0;l`Error in transform: image must be rank 4,but got rank ${a.rank}.`),E(i.rank===2&&(i.shape[0]===a.shape[0]||i.shape[0]===1)&&i.shape[1]===8,()=>\"Error in transform: Input transform should be batch x 8 or 1 x 8\"),E(s==null||s.length===2,()=>`Error in transform: outputShape must be [height, width] or null, but got ${s}.`);let p={image:a,transforms:i},u={interpolation:t,fillMode:o,fillValue:n,outputShape:s};return T.runKernel(Jn,p,u)}var tN=N({transform_:LH});function BH(r,e,t){E(e%1===0,()=>`bandPart(): numLower must be an integer, got ${e}.`),E(t%1===0,()=>`bandPart(): numUpper must be an integer, got ${t}.`);let o=v(r,\"a\",\"bandPart\");E(o.rank>=2,()=>`bandPart(): Rank must be at least 2, got ${o.rank}.`);let n=o.shape,[s,a]=o.shape.slice(-2);if(!(e<=s))throw new Error(`bandPart(): numLower (${e}) must not be greater than the number of rows (${s}).`);if(!(t<=a))throw new Error(`bandPart(): numUpper (${t}) must not be greater than the number of columns (${a}).`);e<0&&(e=s),t<0&&(t=a);let i=z(Ni(0,s,1,\"int32\"),[-1,1]),p=Ni(0,a,1,\"int32\"),u=Ne(i,p),c=lu(Vp(u,be(+e,\"int32\")),cd(u,be(-t,\"int32\"))),l=Vr([s,a],o.dtype);return z(Sr(so(z(o,[-1,s,a])).map(m=>os(c,m,l))),n)}var rN=N({bandPart_:BH});function VH(r){let e;if(Array.isArray(r)){e=!1,E(r!=null&&r.length>0,()=>\"Gram-Schmidt process: input must not be null, undefined, or empty\");let n=r[0].shape[0];for(let s=1;s`Gram-Schmidt: Non-unique lengths found in the input vectors: (${r[s].shape[0]} vs. ${n})`)}else e=!0,r=Oa(r,r.shape[0],0).map(n=>Up(n,[0]));E(r.length<=r[0].shape[0],()=>`Gram-Schmidt: Number of vectors (${r.length}) exceeds number of dimensions (${r[0].shape[0]}).`);let t=[],o=r;for(let n=0;n{let s=o[n];if(n>0)for(let a=0;a=2,()=>`qr() requires input tensor to have a rank >= 2, but got rank ${r.rank}`),r.rank===2)return nN(r,e);{let t=r.shape.slice(0,r.shape.length-2).reduce((p,u)=>p*u),o=so(z(r,[t,r.shape[r.shape.length-2],r.shape[r.shape.length-1]]),0),n=[],s=[];o.forEach(p=>{let[u,c]=nN(p,e);n.push(u),s.push(c)});let a=z(Sr(n,0),r.shape),i=z(Sr(s,0),r.shape);return[a,i]}}function nN(r,e=!1){return T.tidy(()=>{E(r.shape.length===2,()=>`qr2d() requires a 2D Tensor, but got a ${r.shape.length}D Tensor.`);let t=r.shape[0],o=r.shape[1],n=id(t),s=Br(r),a=_i([[1]],[1,1]),i=Br(a),p=t>=o?o:t;for(let u=0;u{let d=He(s,[u,u],[t-u,1]),f=pu(d),h=He(s,[u,u],[1,1]),g=os(cu(h,0),_i([[-1]]),_i([[1]])),x=Ne(h,ae(g,f)),b=Ge(d,x);b.shape[0]===1?i=Br(a):i=gt([a,He(b,[1,0],[b.shape[0]-1,b.shape[1]])],0);let C=yr(Ge(Xe(g,x),f)),w=He(s,[u,0],[t-u,o]),k=ae(C,i),_=Mp(i);if(u===0)s=Ne(w,Xe(k,Xe(_,w)));else{let R=Ne(w,Xe(k,Xe(_,w)));s=gt([He(s,[0,0],[u,o]),R],0)}let $=Mp(k),A=He(n,[0,u],[t,n.shape[1]-u]);if(u===0)n=Ne(A,Xe(Xe(A,i),$));else{let R=Ne(A,Xe(Xe(A,i),$));n=gt([He(n,[0,0],[t,u]),R],1)}return[i,s,n]}),Dt([c,l,m])}return!e&&t>o&&(n=He(n,[0,0],[t,o]),s=He(s,[0,0],[o,o])),[n,s]})}var sN=N({qr_:zH});var Et;(function(r){r[r.NONE=0]=\"NONE\",r[r.MEAN=1]=\"MEAN\",r[r.SUM=2]=\"SUM\",r[r.SUM_BY_NONZERO_WEIGHTS=3]=\"SUM_BY_NONZERO_WEIGHTS\"})(Et||(Et={}));function WH(r,e,t=Et.SUM_BY_NONZERO_WEIGHTS){let o=v(r,\"losses\",\"computeWeightedLoss\"),n=null;e!=null&&(n=v(e,\"weights\",\"computeWeightedLoss\"));let s=n==null?o:ae(o,n);if(t===Et.NONE)return s;if(t===Et.SUM)return et(s);if(t===Et.MEAN){if(n==null)return mu(s);{let a=o.size/n.size,i=Ge(et(s),et(n));return a>1?Ge(i,be(a)):i}}if(t===Et.SUM_BY_NONZERO_WEIGHTS){if(n==null)return Ge(et(s),be(o.size));{let a=ae(n,Gs(o.shape)),i=Ke(et(wd(a,be(0))),\"float32\");return Ge(et(s),i)}}throw Error(`Unknown reduction: ${t}`)}var sr=N({computeWeightedLoss_:WH});function UH(r,e,t,o=Et.SUM_BY_NONZERO_WEIGHTS){let n=v(r,\"labels\",\"absoluteDifference\"),s=v(e,\"predictions\",\"absoluteDifference\"),a=null;t!=null&&(a=v(t,\"weights\",\"absoluteDifference\")),ht(n.shape,s.shape,\"Error in absoluteDifference: \");let i=Yt(Ne(n,s));return sr(i,a,o)}var aN=N({absoluteDifference_:UH});function GH(r,e,t,o,n=Et.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"labels\",\"cosineDistance\"),a=v(e,\"predictions\",\"cosineDistance\"),i=null;o!=null&&(i=v(o,\"weights\",\"cosineDistance\")),ht(s.shape,a.shape,\"Error in cosineDistance: \");let p=be(1),u=Ne(p,et(ae(s,a),t,!0));return sr(u,i,n)}var iN=N({cosineDistance_:GH});function HH(r,e,t,o=Et.SUM_BY_NONZERO_WEIGHTS){let n=v(r,\"labels\",\"hingeLoss\"),s=v(e,\"predictions\",\"hingeLoss\"),a=null;t!=null&&(a=v(t,\"weights\",\"hingeLoss\")),ht(n.shape,s.shape,\"Error in hingeLoss: \");let i=be(1);n=Ne(ae(be(2),n),i);let p=Ti(Ne(i,ae(n,s)));return sr(p,a,o)}var uN=N({hingeLoss_:HH});function qH(r,e,t,o=1,n=Et.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"labels\",\"huberLoss\"),a=v(e,\"predictions\",\"huberLoss\"),i=null;t!=null&&(i=v(t,\"weights\",\"huberLoss\")),ht(s.shape,a.shape,\"Error in huberLoss: \");let p=be(o),u=Yt(Ne(a,s)),c=Sd(u,p),l=Ne(u,c),m=xe(ae(be(.5),Qt(c)),ae(p,l));return sr(m,i,n)}var pN=N({huberLoss_:qH});function KH(r,e,t,o=1e-7,n=Et.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"labels\",\"logLoss\"),a=v(e,\"predictions\",\"logLoss\"),i=null;t!=null&&(i=v(t,\"weights\",\"logLoss\")),ht(s.shape,a.shape,\"Error in logLoss: \");let p=be(1),u=be(o),c=yr(ae(s,Da(xe(a,u)))),l=ae(Ne(p,s),Da(xe(Ne(p,a),u))),m=Ne(c,l);return sr(m,i,n)}var cN=N({logLoss_:KH});function jH(r,e,t,o=Et.SUM_BY_NONZERO_WEIGHTS){let n=v(r,\"labels\",\"meanSquaredError\"),s=v(e,\"predictions\",\"meanSquaredError\"),a=null;t!=null&&(a=v(t,\"weights\",\"meanSquaredError\")),ht(n.shape,s.shape,\"Error in meanSquaredError: \");let i=Dd(n,s);return sr(i,a,o)}var lN=N({meanSquaredError_:jH});function XH(r,e){let t=v(r,\"labels\",\"sigmoidCrossEntropyWithLogits\"),o=v(e,\"logits\",\"sigmoidCrossEntropyWithLogits\");ht(t.shape,o.shape,\"Error in sigmoidCrossEntropyWithLogits: \");let n=Ti(o),s=ae(o,t),a=md(Co(yr(Yt(o))));return xe(Ne(n,s),a)}function YH(r,e,t,o=0,n=Et.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"multiClassLabels\",\"sigmoidCrossEntropy\"),a=v(e,\"logits\",\"sigmoidCrossEntropy\"),i=null;if(t!=null&&(i=v(t,\"weights\",\"sigmoidCrossEntropy\")),ht(s.shape,a.shape,\"Error in sigmoidCrossEntropy: \"),o>0){let u=be(o),c=be(1),l=be(.5);s=xe(ae(s,Ne(c,u)),ae(l,u))}let p=XH(s,a);return sr(p,i,n)}var mN=N({sigmoidCrossEntropy_:YH});function QH(r,e,t=-1){if(t===-1&&(t=e.rank-1),t!==e.rank-1)throw Error(`Softmax cross entropy along a non-last dimension is not yet supported. Labels / logits was rank ${e.rank} and dim was ${t}`);return Cr((n,s,a)=>{let p=hd(s,[t],!0),u=Ne(Ke(s,\"float32\"),p);a([n,u]);let c=yr(ae(u,n));return{value:et(c,[t]),gradFunc:(d,f)=>{let[h,g]=f,x=Aa(d.shape,[t]);return[ae(z(d,x),Ne(Ke(h,\"float32\"),Co(g))),ae(z(d,x),Ne(Co(g),Ke(h,\"float32\")))]}}})(r,e)}function ZH(r,e,t,o=0,n=Et.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"onehotLabels\",\"softmaxCrossEntropy\"),a=v(e,\"logits\",\"softmaxCrossEntropy\"),i=null;if(t!=null&&(i=v(t,\"weights\",\"softmaxCrossEntropy\")),ht(s.shape,a.shape,\"Error in softmaxCrossEntropy: \"),o>0){let u=be(o),c=be(1),l=be(s.shape[1]);s=xe(ae(s,Ne(c,u)),Ge(u,l))}let p=QH(s,a);return sr(p,i,n)}var dN=N({softmaxCrossEntropy_:ZH});function JH(r,e,t,o){let n=v(r,\"indices\",\"sparseFillEmptyRows\",\"int32\"),s=v(e,\"values\",\"sparseFillEmptyRows\"),a=v(t,\"denseShape\",\"sparseFillEmptyRows\",\"int32\"),i=v(o,\"defaultValue\",\"sparseFillEmptyRows\",s.dtype);if(n.rank!==2)throw new Error(`Indices should be Tensor2D but received shape\n ${n.shape}`);if(s.rank!==1)throw new Error(`Values should be Tensor1D but received shape ${s.shape}`);if(a.rank!==1)throw new Error(`Dense shape should be Tensor1D but received shape ${a.shape}`);if(i.rank!==0)throw new Error(`Default value should be a scalar but received shape ${i.shape}`);let p={indices:n,values:s,denseShape:a,defaultValue:i},u=T.runKernel(ui,p);return{outputIndices:u[0],outputValues:u[1],emptyRowIndicator:u[2],reverseIndexMap:u[3]}}var fN=N({sparseFillEmptyRows_:JH});function eq(r,e,t){let o=v(r,\"inputIndices\",\"sparseReshape\",\"int32\"),n=v(e,\"inputShape\",\"sparseReshape\",\"int32\"),s=v(t,\"newShape\",\"sparseReshape\",\"int32\");if(o.rank!==2)throw new Error(`Input indices should be Tensor2D but received shape\n ${o.shape}`);if(n.rank!==1)throw new Error(`Input shape should be Tensor1D but received shape ${n.shape}`);if(s.rank!==1)throw new Error(`New shape should be Tensor1D but received shape ${s.shape}`);let a={inputIndices:o,inputShape:n,newShape:s},i=T.runKernel(wa,a);return{outputIndices:i[0],outputShape:i[1]}}var hN=N({sparseReshape_:eq});function tq(r,e,t){let o=v(r,\"data\",\"sparseSegmentMean\"),n=v(e,\"indices\",\"sparseSegmentMean\",\"int32\"),s=v(t,\"segmentIds\",\"sparseSegmentMean\",\"int32\");if(o.rank<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(n.rank!==1)throw new Error(`Indices should be Tensor1D but received shape\n ${n.shape}`);if(s.rank!==1)throw new Error(`Segment ids should be Tensor1D but received shape\n ${s.shape}`);let a={data:o,indices:n,segmentIds:s};return T.runKernel(pi,a)}var gN=N({sparseSegmentMean_:tq});function rq(r,e,t){let o=v(r,\"data\",\"sparseSegmentSum\"),n=v(e,\"indices\",\"sparseSegmentSum\",\"int32\"),s=v(t,\"segmentIds\",\"sparseSegmentSum\",\"int32\");if(o.rank<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(n.rank!==1)throw new Error(`Indices should be Tensor1D but received shape\n ${n.shape}`);if(s.rank!==1)throw new Error(`Segment ids should be Tensor1D but received shape\n ${s.shape}`);let a={data:o,indices:n,segmentIds:s};return T.runKernel(ci,a)}var xN=N({sparseSegmentSum_:rq});function oq(r,e,t,o,n,s,a,i){let p=v(r,\"data\",\"stringNGrams\",\"string\");if(p.dtype!==\"string\")throw new Error(\"Data must be of datatype string\");if(p.shape.length!==1)throw new Error(`Data must be a vector, saw: ${p.shape}`);let u=v(e,\"dataSplits\",\"stringNGrams\");if(u.dtype!==\"int32\")throw new Error(\"Data splits must be of datatype int32\");let c={separator:t,nGramWidths:o,leftPad:n,rightPad:s,padWidth:a,preserveShortSequences:i},l={data:p,dataSplits:u},m=T.runKernel(As,l,c);return{nGrams:m[0],nGramsSplits:m[1]}}var yN=N({stringNGrams_:oq});function nq(r,e,t=!0){let o=v(r,\"input\",\"stringSplit\",\"string\"),n=v(e,\"delimiter\",\"stringSplit\",\"string\");if(o.rank!==1)throw new Error(`Input should be Tensor1D but received shape ${o.shape}`);if(n.rank!==0)throw new Error(`Delimiter should be a scalar but received shape ${n.shape}`);let s={skipEmpty:t},a={input:o,delimiter:n},i=T.runKernel(di,a,s);return{indices:i[0],values:i[1],shape:i[2]}}var bN=N({stringSplit_:nq});function sq(r,e){let t=v(r,\"input\",\"stringToHashBucketFast\",\"string\"),o={numBuckets:e};if(e<=0)throw new Error(\"Number of buckets must be at least 1\");let n={input:t};return T.runKernel(fi,n,o)}var CN=N({stringToHashBucketFast_:sq});var aq={fft:zp,ifft:hu,rfft:Wp,irfft:Fd},iq={hammingWindow:L1,hannWindow:Ld,frame:Bd,stft:B1},uq={flipLeftRight:z1,grayscaleToRGB:W1,resizeNearestNeighbor:J1,resizeBilinear:Z1,rotateWithOffset:U1,cropAndResize:V1,nonMaxSuppression:G1,nonMaxSuppressionAsync:K1,nonMaxSuppressionWithScore:j1,nonMaxSuppressionWithScoreAsync:X1,nonMaxSuppressionPadded:Y1,nonMaxSuppressionPaddedAsync:Q1,threshold:eN,transform:tN},pq={bandPart:rN,gramSchmidt:oN,qr:sN},cq={absoluteDifference:aN,computeWeightedLoss:sr,cosineDistance:iN,hingeLoss:uN,huberLoss:pN,logLoss:cN,meanSquaredError:lN,sigmoidCrossEntropy:mN,softmaxCrossEntropy:dN},lq={sparseFillEmptyRows:fN,sparseReshape:hN,sparseSegmentMean:gN,sparseSegmentSum:xN},mq={stringNGrams:yN,stringSplit:bN,stringToHashBucketFast:CN};var wr=class extends ol{minimize(e,t=!1,o){let{value:n,grads:s}=this.computeGradients(e,o);if(o!=null){let a=o.map(i=>({name:i.name,tensor:s[i.name]}));this.applyGradients(a)}else this.applyGradients(s);return Dt(s),t?n:(n.dispose(),null)}get iterations(){return this.iterations_==null&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return pC(e,t)}dispose(){this.iterations_!=null&&Dt(this.iterations_)}async saveIterations(){return this.iterations_==null&&(this.iterations_=0),{name:\"iter\",tensor:be(this.iterations_,\"int32\")}}async getWeights(){throw new Error(\"getWeights() is not implemented for this optimizer yet.\")}async setWeights(e){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}};Object.defineProperty(wr,Symbol.hasInstance,{value:r=>r.minimize!=null&&r.computeGradients!=null&&r.applyGradients!=null});var Ei=class extends wr{constructor(e,t,o=null){super(),this.learningRate=e,this.rho=t,this.epsilon=o,this.accumulatedGrads=[],this.accumulatedUpdates=[],o==null&&(this.epsilon=T.backend.epsilon())}applyGradients(e){(Array.isArray(e)?e.map(o=>o.name):Object.keys(e)).forEach((o,n)=>{let s=T.registeredVariables[o],a=!1;this.accumulatedGrads[n]==null&&(this.accumulatedGrads[n]={originalName:`${o}/accum_grad`,variable:Ee(()=>Ut(s).variable(a))}),this.accumulatedUpdates[n]==null&&(this.accumulatedUpdates[n]={originalName:`${o}/accum_var`,variable:Ee(()=>Ut(s).variable(a))});let i=Array.isArray(e)?e[n].tensor:e[o];if(i==null)return;let p=this.accumulatedGrads[n].variable,u=this.accumulatedUpdates[n].variable;Ee(()=>{let c=xe(ae(p,this.rho),ae(Qt(i),1-this.rho)),l=ae(Ge($r(xe(u,this.epsilon)),$r(xe(p,this.epsilon))),i),m=xe(ae(u,this.rho),ae(Qt(l),1-this.rho));p.assign(c),u.assign(m);let d=xe(ae(l,-this.learningRate),s);s.assign(d)})}),this.incrementIterations()}dispose(){this.accumulatedUpdates!=null&&(Dt(this.accumulatedGrads.map(e=>e.variable)),Dt(this.accumulatedUpdates.map(e=>e.variable)))}async getWeights(){let e=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e);let t=e.length/2,o=!1;this.accumulatedGrads=e.slice(0,t).map(n=>({originalName:n.name,variable:n.tensor.variable(o)})),this.accumulatedUpdates=e.slice(t,t*2).map(n=>({originalName:n.name,variable:n.tensor.variable(o)}))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.rho,t.epsilon)}};Ei.className=\"Adadelta\";Er(Ei);var $i=class extends wr{constructor(e,t=.1){super(),this.learningRate=e,this.initialAccumulatorValue=t,this.accumulatedGrads=[]}applyGradients(e){(Array.isArray(e)?e.map(o=>o.name):Object.keys(e)).forEach((o,n)=>{let s=T.registeredVariables[o];this.accumulatedGrads[n]==null&&(this.accumulatedGrads[n]={originalName:`${o}/accumulator`,variable:Ee(()=>Ws(s.shape,this.initialAccumulatorValue).variable(!1))});let a=Array.isArray(e)?e[n].tensor:e[o];if(a==null)return;let i=this.accumulatedGrads[n].variable;Ee(()=>{let p=xe(i,Qt(a));i.assign(p);let u=xe(ae(Ge(a,$r(xe(p,T.backend.epsilon()))),-this.learningRate),s);s.assign(u)})}),this.incrementIterations()}dispose(){this.accumulatedGrads!=null&&Dt(this.accumulatedGrads.map(e=>e.variable))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e);let t=!1;this.accumulatedGrads=e.map(o=>({originalName:o.name,variable:o.tensor.variable(t)}))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(e,t){return new e(t.learningRate,t.initialAccumulatorValue)}};$i.className=\"Adagrad\";Er($i);var Ai=class extends wr{constructor(e,t,o,n=null){super(),this.learningRate=e,this.beta1=t,this.beta2=o,this.epsilon=n,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],Ee(()=>{this.accBeta1=be(t).variable(),this.accBeta2=be(o).variable()}),n==null&&(this.epsilon=T.backend.epsilon())}applyGradients(e){let t=Array.isArray(e)?e.map(o=>o.name):Object.keys(e);Ee(()=>{let o=Ne(1,this.accBeta1),n=Ne(1,this.accBeta2);t.forEach((s,a)=>{let i=T.registeredVariables[s],p=!1;this.accumulatedFirstMoment[a]==null&&(this.accumulatedFirstMoment[a]={originalName:`${s}/m`,variable:Ee(()=>Ut(i).variable(p))}),this.accumulatedSecondMoment[a]==null&&(this.accumulatedSecondMoment[a]={originalName:`${s}/v`,variable:Ee(()=>Ut(i).variable(p))});let u=Array.isArray(e)?e[a].tensor:e[s];if(u==null)return;let c=this.accumulatedFirstMoment[a].variable,l=this.accumulatedSecondMoment[a].variable,m=xe(ae(c,this.beta1),ae(u,1-this.beta1)),d=xe(ae(l,this.beta2),ae(Qt(u),1-this.beta2)),f=Ge(m,o),h=Ge(d,n);c.assign(m),l.assign(d);let g=xe(ae(Ge(f,xe($r(h),this.epsilon)),-this.learningRate),i);i.assign(g)}),this.accBeta1.assign(ae(this.accBeta1,this.beta1)),this.accBeta2.assign(ae(this.accBeta2,this.beta2))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),this.accumulatedFirstMoment!=null&&Dt(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedSecondMoment!=null&&Dt(this.accumulatedSecondMoment.map(e=>e.variable))}async getWeights(){let e=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e),Ee(()=>{this.accBeta1.assign(Ra(this.beta1,this.iterations_+1)),this.accBeta2.assign(Ra(this.beta2,this.iterations_+1))});let t=e.length/2,o=!1;this.accumulatedFirstMoment=e.slice(0,t).map(n=>({originalName:n.name,variable:n.tensor.variable(o)})),this.accumulatedSecondMoment=e.slice(t,t*2).map(n=>({originalName:n.name,variable:n.tensor.variable(o)}))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)}};Ai.className=\"Adam\";Er(Ai);var Ri=class extends wr{constructor(e,t,o,n=null,s=0){super(),this.learningRate=e,this.beta1=t,this.beta2=o,this.epsilon=n,this.decay=s,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],Ee(()=>{this.iteration=be(0).variable(),this.accBeta1=be(t).variable()}),n==null&&(this.epsilon=T.backend.epsilon())}applyGradients(e){let t=Array.isArray(e)?e.map(o=>o.name):Object.keys(e);Ee(()=>{let o=Ne(1,this.accBeta1),n=Ge(-this.learningRate,xe(ae(this.iteration,this.decay),1));t.forEach((s,a)=>{let i=T.registeredVariables[s],p=!1;this.accumulatedFirstMoment[a]==null&&(this.accumulatedFirstMoment[a]={originalName:`${s}/m`,variable:Ut(i).variable(p)}),this.accumulatedWeightedInfNorm[a]==null&&(this.accumulatedWeightedInfNorm[a]={originalName:`${s}/v`,variable:Ut(i).variable(p)});let u=Array.isArray(e)?e[a].tensor:e[s];if(u==null)return;let c=this.accumulatedFirstMoment[a].variable,l=this.accumulatedWeightedInfNorm[a].variable,m=xe(ae(c,this.beta1),ae(u,1-this.beta1)),d=ae(l,this.beta2),f=Yt(u),h=Cd(d,f);c.assign(m),l.assign(h);let g=xe(ae(Ge(n,o),Ge(m,xe(h,this.epsilon))),i);i.assign(g)}),this.iteration.assign(xe(this.iteration,1)),this.accBeta1.assign(ae(this.accBeta1,this.beta1))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),this.accumulatedFirstMoment!=null&&Dt(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedWeightedInfNorm!=null&&Dt(this.accumulatedWeightedInfNorm.map(e=>e.variable))}async getWeights(){throw new Error(\"getWeights() is not implemented for Adamax yet.\")}async setWeights(e){throw new Error(\"setWeights() is not implemented for Adamax yet.\")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)}};Ri.className=\"Adamax\";Er(Ri);var qs=class extends wr{constructor(e){super(),this.learningRate=e,this.setLearningRate(e)}applyGradients(e){(Array.isArray(e)?e.map(o=>o.name):Object.keys(e)).forEach((o,n)=>{let s=Array.isArray(e)?e[n].tensor:e[o];if(s==null)return;let a=T.registeredVariables[o];Ee(()=>{let i=xe(ae(this.c,s),a);a.assign(i)})}),this.incrementIterations()}setLearningRate(e){this.learningRate=e,this.c!=null&&this.c.dispose(),this.c=_r(be(-e))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(e){if(e=await this.extractIterations(e),e.length!==0)throw new Error(\"SGD optimizer does not have settable weights.\")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(e,t){return new e(t.learningRate)}};qs.className=\"SGD\";Er(qs);var Fi=class extends qs{constructor(e,t,o=!1){super(e),this.learningRate=e,this.momentum=t,this.useNesterov=o,this.accumulations=[],this.m=be(this.momentum)}applyGradients(e){(Array.isArray(e)?e.map(o=>o.name):Object.keys(e)).forEach((o,n)=>{let s=T.registeredVariables[o];this.accumulations[n]==null&&(this.accumulations[n]={originalName:`${o}/momentum`,variable:Ee(()=>Ut(s).variable(!1))});let a=this.accumulations[n].variable,i=Array.isArray(e)?e[n].tensor:e[o];i!=null&&Ee(()=>{let p,u=xe(ae(this.m,a),i);this.useNesterov?p=xe(ae(this.c,xe(i,ae(u,this.m))),s):p=xe(ae(this.c,u),s),a.assign(u),s.assign(p)})}),this.incrementIterations()}dispose(){this.m.dispose(),this.accumulations!=null&&Dt(this.accumulations.map(e=>e.variable))}setMomentum(e){this.momentum=e}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e);let t=!1;this.accumulations=e.map(o=>({originalName:o.name,variable:o.tensor.variable(t)}))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)}};Fi.className=\"Momentum\";Er(Fi);var Di=class extends wr{constructor(e,t=.9,o=0,n=null,s=!1){if(super(),this.learningRate=e,this.decay=t,this.momentum=o,this.epsilon=n,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=s,n==null&&(this.epsilon=T.backend.epsilon()),e==null)throw new Error(\"learningRate for RMSPropOptimizer must be defined.\")}applyGradients(e){(Array.isArray(e)?e.map(o=>o.name):Object.keys(e)).forEach((o,n)=>{let s=T.registeredVariables[o],a=!1;this.accumulatedMeanSquares[n]==null&&(this.accumulatedMeanSquares[n]={originalName:`${o}/rms`,variable:Ee(()=>Ut(s).variable(a))}),this.accumulatedMoments[n]==null&&(this.accumulatedMoments[n]={originalName:`${o}/momentum`,variable:Ee(()=>Ut(s).variable(a))}),this.accumulatedMeanGrads[n]==null&&this.centered&&(this.accumulatedMeanGrads[n]={originalName:`${o}/mg`,variable:Ee(()=>Ut(s).variable(a))});let i=Array.isArray(e)?e[n].tensor:e[o];if(i==null)return;let p=this.accumulatedMeanSquares[n].variable,u=this.accumulatedMoments[n].variable;Ee(()=>{let c=xe(ae(p,this.decay),ae(Qt(i),1-this.decay));if(this.centered){let l=this.accumulatedMeanGrads[n].variable,m=xe(ae(l,this.decay),ae(i,1-this.decay)),d=Ge(ae(i,this.learningRate),$r(Ne(c,xe(Qt(m),this.epsilon)))),f=xe(ae(u,this.momentum),d);p.assign(c),l.assign(m),u.assign(f);let h=Ne(s,f);s.assign(h)}else{let l=xe(ae(p,this.decay),ae(Qt(i),1-this.decay)),m=xe(ae(u,this.momentum),Ge(ae(i,this.learningRate),$r(xe(l,this.epsilon))));p.assign(l),u.assign(m);let d=Ne(s,m);s.assign(d)}})}),this.incrementIterations()}dispose(){this.accumulatedMeanSquares!=null&&Dt(this.accumulatedMeanSquares.map(e=>e.variable)),this.accumulatedMeanGrads!=null&&this.centered&&Dt(this.accumulatedMeanGrads.map(e=>e.variable)),this.accumulatedMoments!=null&&Dt(this.accumulatedMoments.map(e=>e.variable))}async getWeights(){let e=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&e.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e);let t=this.centered?e.length/3:e.length/2,o=!1;this.accumulatedMeanSquares=e.slice(0,t).map(n=>({originalName:n.name,variable:n.tensor.variable(o)})),this.accumulatedMoments=e.slice(t,t*2).map(n=>({originalName:n.name,variable:n.tensor.variable(o)})),this.centered&&(this.accumulatedMeanGrads=e.slice(t*2,t*3).map(n=>({originalName:n.name,variable:n.tensor.variable(o)})))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)}};Di.className=\"RMSProp\";Er(Di);var ns=class{static sgd(e){return new qs(e)}static momentum(e,t,o=!1){return new Fi(e,t,o)}static rmsprop(e,t=.9,o=0,n=null,s=!1){return new Di(e,t,o,n,s)}static adam(e=.001,t=.9,o=.999,n=null){return new Ai(e,t,o,n)}static adadelta(e=.001,t=.95,o=null){return new Ei(e,t,o)}static adamax(e=.002,t=.9,o=.999,n=null,s=0){return new Ri(e,t,o,n,s)}static adagrad(e,t=.1){return new $i(e,t)}};var hMe={sgd:ns.sgd,momentum:ns.momentum,adadelta:ns.adadelta,adagrad:ns.adagrad,rmsprop:ns.rmsprop,adamax:ns.adamax,adam:ns.adam};var dq=(()=>typeof requestAnimationFrame!=\"undefined\"?requestAnimationFrame:typeof setImmediate!=\"undefined\"?setImmediate:r=>r())();function CC(){return new Promise(r=>dq(()=>r()))}var S={};Ue(S,{ERF_A1:()=>$q,ERF_A2:()=>Aq,ERF_A3:()=>Rq,ERF_A4:()=>Fq,ERF_A5:()=>Dq,ERF_P:()=>Eq,PARALLELIZE_THRESHOLD:()=>Ud,RowPartitionType:()=>Ks,SELU_SCALE:()=>_q,SELU_SCALEALPHA:()=>Tq,applyActivation:()=>yu,assertAndGetBroadcastShape:()=>Je,assertAxesAreInnerMostDims:()=>DU,assertParamsConsistent:()=>fq,assignToTypedArray:()=>Vq,axesAreInnerMostDims:()=>uC,calculateShapes:()=>Jv,checkEinsumDimSizes:()=>qq,checkPadOnDimRoundingMode:()=>Pt,combineLocations:()=>nk,combineRaggedTensorToTensorShapes:()=>gq,complexWithEvenIndex:()=>Mq,complexWithOddIndex:()=>Lq,computeConv2DInfo:()=>uu,computeConv3DInfo:()=>N0,computeDefaultPad:()=>iC,computeDilation2DInfo:()=>OW,computeOptimalWindowSize:()=>Cq,computeOutAndReduceShapes:()=>FU,computeOutShape:()=>hq,computePool2DInfo:()=>aC,computePool3DInfo:()=>PW,convertConv2DDataFormat:()=>T0,decodeEinsumEquation:()=>Gq,eitherStridesOrDilationsAreOne:()=>lr,expandShapeToKeepDim:()=>Aa,exponent:()=>Wq,exponents:()=>zq,fromStringArrayToUint8:()=>dK,fromUint8ToStringArray:()=>mK,getAxesPermutation:()=>OU,getBroadcastDims:()=>Xv,getComplexWithIndex:()=>Bq,getEinsumComputePath:()=>Kq,getEinsumPermutation:()=>Hq,getFusedBiasGradient:()=>xu,getFusedDyActivation:()=>gu,getImageCenter:()=>Sq,getInnerMostAxes:()=>MU,getPermuted:()=>Iq,getRaggedRank:()=>yq,getReductionAxes:()=>jm,getReshaped:()=>wq,getReshapedPermuted:()=>vq,getRowPartitionTypesHelper:()=>xq,getSliceBeginCoords:()=>kq,getSliceSize:()=>Nq,getSparseFillEmptyRowsIndicesDenseShapeMismatch:()=>Qq,getSparseFillEmptyRowsNegativeIndexErrorMessage:()=>Zq,getSparseFillEmptyRowsOutOfRangeIndexErrorMessage:()=>Jq,getSparseReshapeEmptyTensorZeroOutputDimErrorMessage:()=>rK,getSparseReshapeInputOutputMismatchErrorMessage:()=>nK,getSparseReshapeInputOutputMultipleErrorMessage:()=>oK,getSparseReshapeMultipleNegativeOneOutputDimErrorMessage:()=>eK,getSparseReshapeNegativeOutputDimErrorMessage:()=>tK,getSparseSegmentReductionIndicesOutOfRangeErrorMessage:()=>uK,getSparseSegmentReductionNegativeSegmentIdsErrorMessage:()=>sK,getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage:()=>aK,getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage:()=>iK,getUndoAxesPermutation:()=>PU,isIdentityPermutation:()=>jq,log:()=>GV,mergeRealAndImagArrays:()=>Oq,prepareAndValidate:()=>Zv,prepareSplitSize:()=>Yq,segment_util:()=>wC,shouldFuse:()=>bu,slice_util:()=>ut,splitRealAndImagArrays:()=>Pq,tupleValuesAreOne:()=>iu,upcastType:()=>dt,validateDefaultValueShape:()=>bq,validateInput:()=>Qm,validateUpdateShape:()=>tC,warn:()=>Os});function fq(r,e){let t=r[0].length;r.forEach((n,s)=>{E(n.length===t,()=>`Error in concat${t}D: rank of tensors[${s}] must be the same as the rank of the rest (${t})`)}),E(e>=0&&e`Error in concat${t}D: axis must be between 0 and ${t-1}.`);let o=r[0];r.forEach((n,s)=>{for(let a=0;a`Error in concat${t}D: Shape of tensors[${s}] (${n}) does not match the shape of the rest (${o}) along the non-concatenated axis ${s}.`)})}function hq(r,e){let t=r[0].slice();for(let o=1;o=0)if(i>=0){if(i!==s)throw new Error(`rt input.shape and shape=${e} are incompatible: rt input.shape[${n+r}] = ${s} but shape[${n+r}] = ${i}`)}else o[a]=s}return o}function xq(r){let e={FIRST_DIM_SIZE:Ks.FIRST_DIM_SIZE,VALUE_ROWIDS:Ks.VALUE_ROWIDS,ROW_LENGTHS:Ks.ROW_LENGTHS,ROW_SPLITS:Ks.ROW_SPLITS,ROW_LIMITS:Ks.ROW_LIMITS,ROW_STARTS:Ks.ROW_STARTS},t=[];for(let o of r)if(o in e)t.push(e[o]);else break;return t}function yq(r){return r.length===0?0:r[0]===Ks.FIRST_DIM_SIZE?r.length-1:r.length}function bq(r,e){if(r==null||e==null)return;let t=r.length,o=e.length;if(t>=o)throw new Error(`defaultValue.shape=${r} and ragged tensor flatValues.shape=${e}, are incompatible: defaultValue.rank = ${t} must be less than ragged tensor input flatValues.rank = ${o})`);for(let n=0;n=0&&a>=0&&s!==1&&s!==a)throw new Error(`defaultValue.shape=${r}, and ragged tensor input flatValues.shape=${e} are incompatible: defaultValue.shape[${n-r.length}] = ${s} but ragged tensor input.flatValues.shape[${n-r.length}] = ${a}`)}}var Ud=30;function Cq(r){return r<=Ud?r:sp(r,Math.floor(Math.sqrt(r)))}function Sq(r,e,t){let o=t*(typeof r==\"number\"?r:r[0]),n=e*(typeof r==\"number\"?r:r[1]);return[o,n]}function wq(r,e,t,o=!0){let n=[];if(o)n=n.concat(e.slice(0)),n.push(r[0]/t),n=n.concat(r.slice(1));else{n=n.concat(r[0]);let s=e.length;for(let a=0;a=e*2+1||a%2===1?s.push(a):n.push(a);o.push(...n),o.push(0),o.push(...s)}return o}function vq(r,e,t,o=!0){let n=[];o?n.push(r[0]/t):n.push(r[0]*t);for(let s=1;s\",Uq=/->/g,SN=\",\",wN=\"...\";function Gq(r,e){r=r.replace(/\\s/g,\"\");let t=(r.length-r.replace(Uq,\"\").length)/SC.length;if(t<1)throw new Error(\"Equations without an arrow are not supported.\");if(t>1)throw new Error(`Equation must contain exactly one arrow (\"${SC}\").`);let[o,n]=r.split(SC);E(o.indexOf(wN)===-1,()=>`The ellipsis notation (\"${wN}\") is not supported yet.`);let s=o.split(SN),a=s.length;if(e!==a)throw new Error(`Expected ${a} input tensors, received ${e}`);if(a>2)throw new Error(\"Support for more than 2 input tensors is not implemented yet.\");let i=[];for(let m=0;mf.indexOf(d)!==-1))throw new Error(`Output subscripts contain the label ${d} not present in the input subscripts.`);i.indexOf(d)===-1&&i.push(d)}for(let m=0;mn!==-1),{permutationIndices:t,expandDims:o}}function qq(r,e,t){let o=new Array(r);for(let n=0;n`Expected dimension ${o[e[n][a]]} at axis ${a} of input shaped ${JSON.stringify(s)}, but got dimension ${s[a]}`)}}function Kq(r,e){let t=r,o=[],n=0;r.length===0&&t.push(-1),n=r.length+1;for(let a=0;ae===t)}function Xq(r,e){let t=[];for(let o=0;o\"Number of splits must evenly divide the axis.\"),o=new Array(e).fill(r.shape[t]/e);else{let n=e.reduce((a,i)=>(i===-1&&(a+=1),a),0);E(n<=1,()=>\"There should be only one negative value in split array.\");let s=e.indexOf(-1);if(s!==-1){let a=e.reduce((i,p)=>p>0?i+p:i);e[s]=r.shape[t]-a}E(r.shape[t]===e.reduce((a,i)=>a+i),()=>\"The sum of sizes must match the size of the axis dimension.\"),o=e}return o}function Qq(r){return`Received SparseTensor with denseShape[0] = 0 but\n indices.shape[0] = ${r}`}function Zq(r,e){return`indices(${r}, 0) is invalid: ${e} < 0`}function Jq(r,e,t){return`indices(${r}, 0) is invalid: ${e} >= ${t}`}function eK(r,e){return`only one output dimension may be -1, not both ${r} and ${e}`}function tK(r,e){return`size ${r} must be non-negative, not ${e}`}function rK(){return\"reshape cannot infer the missing input size for an empty tensor unless all specified input sizes are non-zero\"}function oK(r,e){let t=ze(r),o=ze(e);return`Input to reshape is a SparseTensor with ${t}\n dense values, but the requested shape requires a multiple of ${o}. inputShape=${r} outputShape= ${e}`}function nK(r,e){let t=ze(r),o=ze(e);return`Input to reshape is a tensor with ${t} dense values, but the requested shape has ${o}. inputShape=${r} outputShape=${e}`}function sK(){return\"segment ids must be >= 0\"}function aK(){return\"segment ids are not increasing\"}function iK(r,e){return`Segment id ${r} out of range [0, ${e}), possibly because segmentIds input is not sorted.`}function uK(r,e,t){return`Bad: indices[${r}] == ${e} out of range [0, ${t})`}var wC={};Ue(wC,{collectGatherOpShapeInfo:()=>lK,computeOutShape:()=>cK,segOpComputeOptimalWindowSize:()=>pK});function pK(r,e){let t=!1,o;for(r<=Ud?(o=r,t=!0):o=sp(r,Math.floor(Math.sqrt(r)));!t;)o>e||o===r?t=!0:o=sp(r,o+1);return o}function cK(r,e,t){let o=[],n=r.length;for(let s=0;sn))throw new Error(`Expect batchDims in the range of [-${n}, ${n}], but got ${o}`);if(o<0&&(o+=n),o>s)throw new Error(`batchDims (${o}) must be less than rank(x) (\n ${s}).`);if(tAp(e))}catch(e){throw new Error(`Failed to decode encoded string bytes into utf-8, error: ${e}`)}}function dK(r){return r.map(e=>gi(e))}var Lt={};Ue(Lt,{nonMaxSuppressionV3Impl:()=>Vd,nonMaxSuppressionV4Impl:()=>zd,nonMaxSuppressionV5Impl:()=>Wd,whereImpl:()=>Pd});var fK=O();fK.registerFlag(\"KEEP_INTERMEDIATE_TENSORS\",()=>!1,r=>{r&&console.warn(\"Keep intermediate tensors is ON. This will print the values of all intermediate tensors during model inference. Not all models support this mode. For details, check e2e/benchmarks/ model_config.js. This significantly impacts performance.\")});var ao;(function(r){r[r.DT_INVALID=0]=\"DT_INVALID\",r[r.DT_FLOAT=1]=\"DT_FLOAT\",r[r.DT_DOUBLE=2]=\"DT_DOUBLE\",r[r.DT_INT32=3]=\"DT_INT32\",r[r.DT_UINT8=4]=\"DT_UINT8\",r[r.DT_INT16=5]=\"DT_INT16\",r[r.DT_INT8=6]=\"DT_INT8\",r[r.DT_STRING=7]=\"DT_STRING\",r[r.DT_COMPLEX64=8]=\"DT_COMPLEX64\",r[r.DT_INT64=9]=\"DT_INT64\",r[r.DT_BOOL=10]=\"DT_BOOL\",r[r.DT_QINT8=11]=\"DT_QINT8\",r[r.DT_QUINT8=12]=\"DT_QUINT8\",r[r.DT_QINT32=13]=\"DT_QINT32\",r[r.DT_BFLOAT16=14]=\"DT_BFLOAT16\",r[r.DT_QINT16=15]=\"DT_QINT16\",r[r.DT_QUINT16=16]=\"DT_QUINT16\",r[r.DT_UINT16=17]=\"DT_UINT16\",r[r.DT_COMPLEX128=18]=\"DT_COMPLEX128\",r[r.DT_HALF=19]=\"DT_HALF\",r[r.DT_RESOURCE=20]=\"DT_RESOURCE\",r[r.DT_VARIANT=21]=\"DT_VARIANT\",r[r.DT_UINT32=22]=\"DT_UINT32\",r[r.DT_UINT64=23]=\"DT_UINT64\",r[r.DT_FLOAT_REF=101]=\"DT_FLOAT_REF\",r[r.DT_DOUBLE_REF=102]=\"DT_DOUBLE_REF\",r[r.DT_INT32_REF=103]=\"DT_INT32_REF\",r[r.DT_UINT8_REF=104]=\"DT_UINT8_REF\",r[r.DT_INT16_REF=105]=\"DT_INT16_REF\",r[r.DT_INT8_REF=106]=\"DT_INT8_REF\",r[r.DT_STRING_REF=107]=\"DT_STRING_REF\",r[r.DT_COMPLEX64_REF=108]=\"DT_COMPLEX64_REF\",r[r.DT_INT64_REF=109]=\"DT_INT64_REF\",r[r.DT_BOOL_REF=110]=\"DT_BOOL_REF\",r[r.DT_QINT8_REF=111]=\"DT_QINT8_REF\",r[r.DT_QUINT8_REF=112]=\"DT_QUINT8_REF\",r[r.DT_QINT32_REF=113]=\"DT_QINT32_REF\",r[r.DT_BFLOAT16_REF=114]=\"DT_BFLOAT16_REF\",r[r.DT_QINT16_REF=115]=\"DT_QINT16_REF\",r[r.DT_QUINT16_REF=116]=\"DT_QUINT16_REF\",r[r.DT_UINT16_REF=117]=\"DT_UINT16_REF\",r[r.DT_COMPLEX128_REF=118]=\"DT_COMPLEX128_REF\",r[r.DT_HALF_REF=119]=\"DT_HALF_REF\",r[r.DT_RESOURCE_REF=120]=\"DT_RESOURCE_REF\",r[r.DT_VARIANT_REF=121]=\"DT_VARIANT_REF\",r[r.DT_UINT32_REF=122]=\"DT_UINT32_REF\",r[r.DT_UINT64_REF=123]=\"DT_UINT64_REF\"})(ao||(ao={}));var IN;(function(r){let e;(function(t){t[t.LEGACY=0]=\"LEGACY\",t[t.V1=1]=\"V1\",t[t.V2=2]=\"V2\"})(e=r.CheckpointFormatVersion||(r.CheckpointFormatVersion={}))})(IN||(IN={}));var vC={};function gK(r,e){let t={tfOpName:r,category:\"custom\",inputs:[],attrs:[],customExecutor:e};vC[r]=t}function Gd(r){return vC[r]}function xK(r){delete vC[r]}function I(r,e,t,o,n){let s=e.inputParams[r];if(s&&s.inputIndexStart!==void 0){let i=s.inputIndexStart,p=s.inputIndexEnd===0?void 0:s.inputIndexEnd===void 0?i+1:s.inputIndexEnd;if(s.type===\"tensor\")return Gt(e.inputNames[s.inputIndexStart],t,o,n);if(s.type===\"tensors\")return e.inputNames.slice(i,p).map(m=>Gt(m,t,o,n));let u=Gt(e.inputNames.slice(i)[0],t,o,n),c=u.dataSync();return s.type===\"number\"?c[0]:y.toNestedArray(u.shape,c)}let a=e.attrParams[r];return a&&a.value}function Gt(r,e,t,o){let[n,s]=Ir(r);if(o!=null){let i=o.getHashTableHandleByName(n);if(i!=null)return i}let a=t.currentContextIds.find(i=>!!e[Hd(n,i)]);return a!==void 0?e[Hd(n,a)][s]:void 0}function vN(r,e,t){return e[Hd(r,t.currentContextId)]}function ss(r,e){let[t,o,n]=Ir(r);return[Hd(t,e&&e.currentContextId),o,n]}function Hd(r,e){return e?`${r}-${e}`:r}function Ir(r){let e=r.split(\":\");if(e.length===1)return[r,0,void 0];let t=e[0],o=e.length===3?e[1]:void 0,n=Number(e[e.length-1]);return[t,n,o]}function ul(r,e,t){let o=I(\"pad\",r,e,t);if(o===\"explicit\"){o=I(\"explicitPaddings\",r,e,t);let n=[[0,0],[0,0],[0,0],[0,0]];for(let s=0;s<4;s++)n[s][0]=o[s*2],n[s][1]=o[s*2+1];return n}return o}function as(r){return r.kept?r:Br(r)}var kC={};Ue(kC,{json:()=>yK});var yK=[{tfOpName:\"Add\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"AddV2\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"AddN\",category:\"arithmetic\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}]},{tfOpName:\"BiasAdd\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"Sub\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"RealDiv\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Div\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"DivNoNan\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"FloorDiv\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Mul\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Maximum\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Minimum\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Pow\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"SquaredDifference\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Mod\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"FloorMod\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]}];var NC={};Ue(NC,{json:()=>bK});var bK=[{tfOpName:\"Abs\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Acos\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Asin\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Atan\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Atan2\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"y\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Ceil\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ClipByValue\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"clipValueMin\",type:\"number\"},{start:2,name:\"clipValueMax\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Complex\",category:\"basic_math\",inputs:[{start:0,name:\"real\",type:\"tensor\"},{start:1,name:\"imag\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ComplexAbs\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Cos\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Cosh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Elu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Exp\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Floor\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Log\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Imag\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"outputType\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Neg\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Real\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"outputType\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Prelu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"alpha\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Relu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Relu6\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Selu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sigmoid\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sin\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sinh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sqrt\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Rsqrt\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Square\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Tan\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Tanh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sign\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Round\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Expm1\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Log1p\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Reciprocal\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Softplus\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Asinh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Acosh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Atanh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Erf\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Prod\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axes\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\",notSupported:!0},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LeakyRelu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"alpha\",name:\"alpha\",type:\"number\",defaultValue:.2},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"IsNan\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]}];var TC={};Ue(TC,{json:()=>CK});var CK=[{tfOpName:\"EmptyTensorList\",category:\"control\",inputs:[{start:0,name:\"elementShape\",type:\"shape\"},{start:1,name:\"maxNumElements\",type:\"number\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"LoopCond\",category:\"control\",inputs:[{start:0,name:\"pred\",type:\"tensor\"}]},{tfOpName:\"Switch\",category:\"control\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"pred\",type:\"tensor\"}]},{tfOpName:\"Merge\",category:\"control\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}]},{tfOpName:\"Enter\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"frame_name\",name:\"frameName\",type:\"string\"},{tfName:\"is_constant\",name:\"isConstant\",type:\"bool\"}]},{tfOpName:\"Exit\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"NextIteration\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"TensorArrayV3\",category:\"control\",inputs:[{start:0,name:\"size\",type:\"number\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"element_shape\",name:\"elementShape\",type:\"shape\"},{tfName:\"dynamic_size\",name:\"dynamicSize\",type:\"bool\"},{tfName:\"clear_after_read\",name:\"clearAfterRead\",type:\"bool\"},{tfName:\"identical_element_shapes\",name:\"identicalElementShapes\",type:\"bool\"},{tfName:\"tensor_array_name\",name:\"name\",type:\"string\"}]},{tfOpName:\"TensorArrayWriteV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"index\",type:\"number\"},{start:2,name:\"tensor\",type:\"tensor\"},{start:3,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"TensorArrayReadV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"index\",type:\"number\"},{start:2,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"TensorArrayGatherV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"element_shape\",name:\"elementShape\",type:\"shape\"}]},{tfOpName:\"TensorArrayScatterV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"tensor\",type:\"tensor\"},{start:3,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"TensorArrayConcatV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"element_shape_except0\",name:\"elementShapeExcept0\",type:\"shape\",notSupported:!0}]},{tfOpName:\"TensorArraySplitV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"tensor\",type:\"tensor\"},{start:2,name:\"lengths\",type:\"number[]\"},{start:3,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"TensorArraySizeV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"flowIn\",type:\"number\"}]},{tfOpName:\"TensorArrayCloseV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"}]},{tfOpName:\"StatelessIf\",category:\"control\",inputs:[{start:0,name:\"cond\",type:\"tensor\"},{start:1,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"then_branch\",name:\"thenBranch\",type:\"func\"},{tfName:\"else_branch\",name:\"elseBranch\",type:\"func\"}]},{tfOpName:\"If\",category:\"control\",inputs:[{start:0,name:\"cond\",type:\"tensor\"},{start:1,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"then_branch\",name:\"thenBranch\",type:\"func\"},{tfName:\"else_branch\",name:\"elseBranch\",type:\"func\"}]},{tfOpName:\"StatelessWhile\",category:\"control\",inputs:[{start:0,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"cond\",name:\"cond\",type:\"func\"},{tfName:\"body\",name:\"body\",type:\"func\"}]},{tfOpName:\"While\",category:\"control\",inputs:[{start:0,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"cond\",name:\"cond\",type:\"func\"},{tfName:\"body\",name:\"body\",type:\"func\"}]},{tfOpName:\"TensorListScatter\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListScatterV2\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"elementShape\",type:\"shape\"},{start:3,name:\"numElements\",type:\"number\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListGather\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListGetItem\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"index\",type:\"number\"},{start:2,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListSetItem\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"index\",type:\"number\"},{start:2,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListReserve\",category:\"control\",inputs:[{start:0,name:\"elementShape\",type:\"shape\"},{start:1,name:\"numElements\",type:\"number\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListFromTensor\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListStack\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"},{tfName:\"num_elements\",name:\"numElements\",type:\"dtype\"}]},{tfOpName:\"TensorListSplit\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"elementShape\",type:\"shape\"},{start:2,name:\"lengths\",type:\"number[]\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListConcat\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"}],attrs:[{tfName:\"element_shape\",name:\"elementShape\",type:\"shape\"},{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListConcatV2\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"}],attrs:[{tfName:\"element_shape\",name:\"elementShape\",type:\"shape\"},{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListPopBack\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListPushBack\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListLength\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"}]},{tfOpName:\"TensorListResize\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"size\",type:\"number\"}]}];var _C={};Ue(_C,{json:()=>SK});var SK=[{tfOpName:\"AvgPool\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"MaxPool\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[],notSupported:!0},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"MaxPoolWithArgmax\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"include_batch_in_index\",name:\"includeBatchInIndex\",type:\"bool\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"AvgPool3D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"MaxPool3D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Conv1D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"stride\",name:\"stride\",type:\"number\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NWC\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"dilation\",name:\"dilation\",type:\"number\",defaultValue:1}]},{tfOpName:\"Conv2D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"useCudnnOnGpu\",name:\"useCudnnOnGpu\",type:\"bool\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\"}]},{tfOpName:\"_FusedConv2D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"},{start:2,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"num_args\",name:\"numArgs\",type:\"number\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"use_cudnn_on_gpu\",name:\"useCudnnOnGpu\",type:\"bool\",defaultValue:!0},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\",defaultValue:[1,1,1,1]},{tfName:\"fused_ops\",name:\"fusedOps\",type:\"string[]\",defaultValue:[]},{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:1e-4},{tfName:\"leakyrelu_alpha\",name:\"leakyreluAlpha\",type:\"number\",defaultValue:.2}]},{tfOpName:\"Conv2DBackpropInput\",category:\"convolution\",inputs:[{start:2,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"},{start:0,name:\"outputShape\",type:\"number[]\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\",notSupported:!0}]},{tfOpName:\"DepthwiseConv2d\",category:\"convolution\",inputs:[{start:0,name:\"input\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\"}]},{tfOpName:\"DepthwiseConv2dNative\",category:\"convolution\",inputs:[{start:0,name:\"input\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\"}]},{tfOpName:\"FusedDepthwiseConv2dNative\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"},{start:2,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"num_args\",name:\"numArgs\",type:\"number\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\",defaultValue:[1,1,1,1]},{tfName:\"fused_ops\",name:\"fusedOps\",type:\"string[]\",defaultValue:[]},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]}]},{tfOpName:\"Conv3D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\"}]},{tfOpName:\"Dilation2D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"rates\",name:\"dilations\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"}]}];var EC={};Ue(EC,{json:()=>wK});var wK=[{tfOpName:\"Fill\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"},{start:1,name:\"value\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"LinSpace\",category:\"creation\",inputs:[{start:0,name:\"start\",type:\"number\"},{start:1,name:\"stop\",type:\"number\"},{start:2,name:\"num\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"OneHot\",category:\"creation\",inputs:[{start:0,name:\"indices\",type:\"tensor\"},{start:1,name:\"depth\",type:\"number\"},{start:2,name:\"onValue\",type:\"number\",defaultValue:1},{start:3,name:\"offValue\",type:\"number\",defaultValue:0}],attrs:[{tfName:\"axis\",name:\"axis\",type:\"number\",notSupported:!0},{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Ones\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"OnesLike\",category:\"creation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"RandomStandardNormal\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"seed\",name:\"seed\",type:\"number\",defaultValue:0},{tfName:\"seed2\",name:\"seed2\",type:\"number\",defaultValue:0,notSupported:!0},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"T\",name:\"T\",type:\"number\",notSupported:!0}]},{tfOpName:\"RandomUniform\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"minval\",name:\"minval\",type:\"number\",defaultValue:0},{tfName:\"maxval\",name:\"maxval\",type:\"number\",defaultValue:1},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"seed\",name:\"seed\",type:\"number\",defaultValue:0},{tfName:\"seed2\",name:\"seed2\",type:\"number\",defaultValue:0,notSupported:!0},{tfName:\"T\",name:\"T\",type:\"number\",notSupported:!0}]},{tfOpName:\"Range\",category:\"creation\",inputs:[{start:0,name:\"start\",type:\"number\"},{start:1,name:\"stop\",type:\"number\"},{start:2,name:\"step\",type:\"number\",defaultValue:0}],attrs:[{tfName:\"Tidx\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"TruncatedNormal\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"means\",name:\"mean\",type:\"number\",defaultValue:0},{tfName:\"stddev\",name:\"stdDev\",type:\"number\",defaultValue:1},{tfName:\"seed\",name:\"seed\",type:\"number\"},{tfName:\"seed2\",name:\"seed2\",type:\"number\",defaultValue:0,notSupported:!0},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"T\",name:\"T\",type:\"number\",notSupported:!0}]},{tfOpName:\"Zeros\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"ZerosLike\",category:\"creation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Multinomial\",category:\"creation\",inputs:[{start:0,name:\"logits\",type:\"tensor\"},{start:1,name:\"numSamples\",type:\"number\"}],attrs:[{tfName:\"seed\",name:\"seed\",type:\"number\"},{tfName:\"seed2\",name:\"seed2\",type:\"number\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\"},{tfName:\"output_dtype\",name:\"output_dtype\",type:\"dtype\"}]}];var $C={};Ue($C,{json:()=>IK});var IK=[{tfOpName:\"NonMaxSuppressionV2\",category:\"dynamic\",inputs:[{start:0,name:\"boxes\",type:\"tensor\"},{start:1,name:\"scores\",type:\"tensor\"},{start:2,name:\"maxOutputSize\",type:\"number\"},{start:3,name:\"iouThreshold\",type:\"number\"}]},{tfOpName:\"NonMaxSuppressionV3\",category:\"dynamic\",inputs:[{start:0,name:\"boxes\",type:\"tensor\"},{start:1,name:\"scores\",type:\"tensor\"},{start:2,name:\"maxOutputSize\",type:\"number\"},{start:3,name:\"iouThreshold\",type:\"number\"},{start:4,name:\"scoreThreshold\",type:\"number\"}]},{tfOpName:\"NonMaxSuppressionV4\",category:\"dynamic\",inputs:[{start:0,name:\"boxes\",type:\"tensor\"},{start:1,name:\"scores\",type:\"tensor\"},{start:2,name:\"maxOutputSize\",type:\"number\"},{start:3,name:\"iouThreshold\",type:\"number\"},{start:4,name:\"scoreThreshold\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"T_threshold\",name:\"threshold\",type:\"dtype\",notSupported:!0},{tfName:\"pad_to_max_output_size\",name:\"padToMaxOutputSize\",type:\"bool\"}]},{tfOpName:\"NonMaxSuppressionV5\",category:\"dynamic\",inputs:[{start:0,name:\"boxes\",type:\"tensor\"},{start:1,name:\"scores\",type:\"tensor\"},{start:2,name:\"maxOutputSize\",type:\"number\"},{start:3,name:\"iouThreshold\",type:\"number\"},{start:4,name:\"scoreThreshold\",type:\"number\"},{start:5,name:\"softNmsSigma\",type:\"number\"}]},{tfOpName:\"Where\",category:\"dynamic\",inputs:[{start:0,name:\"condition\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ListDiff\",category:\"dynamic\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"y\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]}];var AC={};Ue(AC,{json:()=>vK});var vK=[{tfOpName:\"LowerBound\",category:\"evaluation\",inputs:[{start:0,name:\"sortedSequence\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"}]},{tfOpName:\"TopKV2\",category:\"evaluation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"k\",type:\"number\"}],attrs:[{tfName:\"sorted\",name:\"sorted\",type:\"bool\"}]},{tfOpName:\"UpperBound\",category:\"evaluation\",inputs:[{start:0,name:\"sortedSequence\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"}]},{tfOpName:\"Unique\",category:\"evaluation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"UniqueV2\",category:\"evaluation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}]}];var RC={};Ue(RC,{json:()=>kK});var kK=[{tfOpName:\"PlaceholderWithDefault\",category:\"graph\",inputs:[{start:0,name:\"default\",type:\"tensor\"}],attrs:[{tfName:\"shape\",name:\"shape\",type:\"shape\"},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Placeholder\",category:\"graph\",attrs:[{tfName:\"shape\",name:\"shape\",type:\"shape\"},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Const\",category:\"graph\"},{tfOpName:\"Identity\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"IdentityN\",category:\"graph\",inputs:[{start:0,end:0,name:\"x\",type:\"tensors\"}]},{tfOpName:\"Snapshot\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"Rank\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"Size\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"Shape\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"ShapeN\",category:\"graph\",inputs:[{start:0,end:0,name:\"x\",type:\"tensors\"}]},{tfOpName:\"Print\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"data\",type:\"tensors\"}],attrs:[{tfName:\"message\",name:\"message\",type:\"string\"},{tfName:\"first_n\",name:\"firstN\",type:\"number\",notSupported:!0},{tfName:\"summarize\",name:\"summarize\",type:\"number\",defaultValue:3}]},{tfOpName:\"NoOp\",category:\"graph\",inputs:[]},{tfOpName:\"StopGradient\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"FakeQuantWithMinMaxVars\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"min\",name:\"min\",type:\"number\"},{tfName:\"max\",name:\"max\",type:\"number\"}]}];var FC={};Ue(FC,{json:()=>NK});var NK=[{tfOpName:\"HashTable\",category:\"hash_table\",inputs:[],attrs:[{tfName:\"shared_name\",name:\"sharedName\",type:\"string\"},{tfName:\"use_node_name_sharing\",name:\"useNodeNameSharing\",type:\"bool\"},{tfName:\"key_dtype\",name:\"keyDType\",type:\"dtype\"},{tfName:\"value_dtype\",name:\"valueDType\",type:\"dtype\"}]},{tfOpName:\"HashTableV2\",category:\"hash_table\",inputs:[],attrs:[{tfName:\"shared_name\",name:\"sharedName\",type:\"string\"},{tfName:\"use_node_name_sharing\",name:\"useNodeNameSharing\",type:\"bool\"},{tfName:\"key_dtype\",name:\"keyDType\",type:\"dtype\"},{tfName:\"value_dtype\",name:\"valueDType\",type:\"dtype\"}]},{tfOpName:\"LookupTableImport\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}],attrs:[{tfName:\"Tin\",name:\"tIn\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"tOut\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LookupTableImportV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}],attrs:[{tfName:\"Tin\",name:\"tIn\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"tOut\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LookupTableFind\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"defaultValue\",type:\"tensor\"}],attrs:[{tfName:\"Tin\",name:\"tIn\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"tOut\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LookupTableFindV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"defaultValue\",type:\"tensor\"}],attrs:[{tfName:\"Tin\",name:\"tIn\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"tOut\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LookupTableSize\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"}]},{tfOpName:\"LookupTableSizeV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"}]},{tfOpName:\"InitializeTable\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}]},{tfOpName:\"InitializeTableV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}]}];var DC={};Ue(DC,{json:()=>TK});var TK=[{tfOpName:\"ResizeBilinear\",category:\"image\",inputs:[{start:0,name:\"images\",type:\"tensor\"},{start:1,name:\"size\",type:\"number[]\"}],attrs:[{tfName:\"align_corners\",name:\"alignCorners\",type:\"bool\"},{tfName:\"half_pixel_centers\",name:\"halfPixelCenters\",type:\"bool\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ResizeNearestNeighbor\",category:\"image\",inputs:[{start:0,name:\"images\",type:\"tensor\"},{start:1,name:\"size\",type:\"number[]\"}],attrs:[{tfName:\"align_corners\",name:\"alignCorners\",type:\"bool\"},{tfName:\"half_pixel_centers\",name:\"halfPixelCenters\",type:\"bool\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"CropAndResize\",category:\"image\",inputs:[{start:0,name:\"image\",type:\"tensor\"},{start:1,name:\"boxes\",type:\"tensor\"},{start:2,name:\"boxInd\",type:\"tensor\"},{start:3,name:\"cropSize\",type:\"number[]\"}],attrs:[{tfName:\"method\",name:\"method\",type:\"string\"},{tfName:\"extrapolation_value\",name:\"extrapolationValue\",type:\"number\"}]},{tfOpName:\"ImageProjectiveTransformV3\",category:\"image\",inputs:[{start:0,name:\"images\",type:\"tensor\"},{start:1,name:\"transforms\",type:\"tensor\"},{start:2,name:\"outputShape\",type:\"number[]\"},{start:3,name:\"fillValue\",type:\"number\"}],attrs:[{tfName:\"interpolation\",name:\"interpolation\",type:\"string\"},{tfName:\"fill_mode\",name:\"fillMode\",type:\"string\"}]}];var OC={};Ue(OC,{json:()=>_K});var _K=[{tfOpName:\"Equal\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"NotEqual\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Greater\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"GreaterEqual\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Less\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LessEqual\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LogicalAnd\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LogicalNot\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LogicalOr\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Select\",category:\"logical\",inputs:[{start:0,name:\"condition\",type:\"tensor\"},{start:1,name:\"a\",type:\"tensor\"},{start:2,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"SelectV2\",category:\"logical\",inputs:[{start:0,name:\"condition\",type:\"tensor\"},{start:1,name:\"a\",type:\"tensor\"},{start:2,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]}];var PC={};Ue(PC,{json:()=>EK});var EK=[{tfOpName:\"_FusedMatMul\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"},{start:2,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"num_args\",name:\"numArgs\",type:\"number\"},{tfName:\"fused_ops\",name:\"fusedOps\",type:\"string[]\",defaultValue:[]},{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:1e-4},{tfName:\"transpose_a\",name:\"transposeA\",type:\"bool\",defaultValue:!1},{tfName:\"transpose_b\",name:\"transposeB\",type:\"bool\",defaultValue:!1},{tfName:\"leakyrelu_alpha\",name:\"leakyreluAlpha\",type:\"number\",defaultValue:.2},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"MatMul\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"transpose_a\",name:\"transposeA\",type:\"bool\",defaultValue:!1},{tfName:\"transpose_b\",name:\"transposeB\",type:\"bool\",defaultValue:!1},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"BatchMatMul\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"adj_x\",name:\"transposeA\",type:\"bool\",defaultValue:!1},{tfName:\"adj_y\",name:\"transposeB\",type:\"bool\",defaultValue:!1},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"BatchMatMulV2\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"adj_x\",name:\"transposeA\",type:\"bool\",defaultValue:!1},{tfName:\"adj_y\",name:\"transposeB\",type:\"bool\",defaultValue:!1},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Transpose\",category:\"matrices\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"perm\",type:\"number[]\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Einsum\",category:\"matrices\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}],attrs:[{tfName:\"equation\",name:\"equation\",type:\"string\"},{tfName:\"N\",name:\"n\",type:\"number\",defaultValue:2},{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]}];var MC={};Ue(MC,{json:()=>$K});var $K=[{tfOpName:\"EuclideanNorm\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\",defaultValue:!1}]},{tfOpName:\"FusedBatchNorm\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"scale\",type:\"tensor\"},{start:2,name:\"offset\",type:\"tensor\"},{start:3,name:\"mean\",type:\"tensor\"},{start:4,name:\"variance\",type:\"tensor\"}],attrs:[{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:.001},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"FusedBatchNormV2\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"scale\",type:\"tensor\"},{start:2,name:\"offset\",type:\"tensor\"},{start:3,name:\"mean\",type:\"tensor\"},{start:4,name:\"variance\",type:\"tensor\"}],attrs:[{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:.001},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"FusedBatchNormV3\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"scale\",type:\"tensor\"},{start:2,name:\"offset\",type:\"tensor\"},{start:3,name:\"mean\",type:\"tensor\"},{start:4,name:\"variance\",type:\"tensor\"}],attrs:[{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:.001},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"LRN\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"depth_radius\",name:\"radius\",type:\"number\",defaultValue:5},{tfName:\"bias\",name:\"bias\",type:\"number\",defaultValue:1},{tfName:\"alpha\",name:\"alpha\",type:\"number\",defaultValue:1},{tfName:\"beta\",name:\"beta\",type:\"number\",defaultValue:.5}]},{tfOpName:\"Softmax\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"LogSoftmax\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"SparseToDense\",category:\"normalization\",inputs:[{start:0,name:\"sparseIndices\",type:\"tensor\"},{start:1,name:\"outputShape\",type:\"number[]\"},{start:2,name:\"sparseValues\",type:\"tensor\"},{start:3,name:\"defaultValue\",type:\"tensor\"}],attrs:[{tfName:\"validate_indices\",name:\"validateIndices\",type:\"bool\",defaultValue:!0,notSupported:!0}]}];var LC={};Ue(LC,{json:()=>AK});var AK=[{tfOpName:\"Bincount\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"size\",type:\"number\"},{start:2,name:\"weights\",type:\"tensor\"}]},{tfOpName:\"DenseBincount\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"size\",type:\"number\"},{start:2,name:\"weights\",type:\"tensor\"}],attrs:[{tfName:\"binary_output\",name:\"binaryOutput\",type:\"bool\"}]},{tfOpName:\"Max\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Mean\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Min\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Sum\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"All\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Any\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"ArgMax\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}]},{tfOpName:\"ArgMin\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}]},{tfOpName:\"Prod\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Cumprod\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}],attrs:[{tfName:\"exclusive\",name:\"exclusive\",type:\"bool\"},{tfName:\"reverse\",name:\"reverse\",type:\"bool\"}]},{tfOpName:\"Cumsum\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}],attrs:[{tfName:\"exclusive\",name:\"exclusive\",type:\"bool\"},{tfName:\"reverse\",name:\"reverse\",type:\"bool\"}]}];var BC={};Ue(BC,{json:()=>RK});var RK=[{tfOpName:\"ConcatV2\",category:\"slice_join\",inputs:[{start:0,end:-1,name:\"tensors\",type:\"tensors\"},{start:-1,name:\"axis\",type:\"number\"}],attrs:[{tfName:\"N\",name:\"n\",type:\"number\",defaultValue:2}]},{tfOpName:\"Concat\",category:\"slice_join\",inputs:[{start:1,end:0,name:\"tensors\",type:\"tensors\"},{start:0,name:\"axis\",type:\"number\"}],attrs:[{tfName:\"N\",name:\"n\",type:\"number\",defaultValue:2}]},{tfOpName:\"GatherV2\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"axis\",type:\"number\",defaultValue:0}],attrs:[{tfName:\"batch_dims\",name:\"batchDims\",type:\"number\",defaultValue:0}]},{tfOpName:\"Gather\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"}],attrs:[{tfName:\"validate_indices\",name:\"validateIndices\",type:\"bool\",notSupported:!0}]},{tfOpName:\"Reverse\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"dims\",type:\"bool[]\"}]},{tfOpName:\"ReverseV2\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}]},{tfOpName:\"Slice\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"begin\",type:\"number[]\"},{start:2,name:\"size\",type:\"number[]\"}]},{tfOpName:\"StridedSlice\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"begin\",type:\"number[]\"},{start:2,name:\"end\",type:\"number[]\"},{start:3,name:\"strides\",type:\"number[]\"}],attrs:[{tfName:\"begin_mask\",name:\"beginMask\",type:\"number\",defaultValue:0},{tfName:\"end_mask\",name:\"endMask\",type:\"number\",defaultValue:0},{tfName:\"new_axis_mask\",name:\"newAxisMask\",type:\"number\",defaultValue:0},{tfName:\"ellipsis_mask\",name:\"ellipsisMask\",type:\"number\",defaultValue:0},{tfName:\"shrink_axis_mask\",name:\"shrinkAxisMask\",type:\"number\",defaultValue:0}]},{tfOpName:\"Pack\",category:\"slice_join\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}],attrs:[{tfName:\"axis\",name:\"axis\",type:\"number\",defaultValue:0}]},{tfOpName:\"Unpack\",category:\"slice_join\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"axis\",name:\"axis\",type:\"number\",defaultValue:0},{tfName:\"num\",name:\"num\",type:\"number\",defaultValue:0,notSupported:!0}]},{tfOpName:\"Tile\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"reps\",type:\"number[]\"}]},{tfOpName:\"Split\",category:\"slice_join\",inputs:[{start:0,name:\"axis\",type:\"number\",defaultValue:0},{start:1,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"num_split\",name:\"numOrSizeSplits\",type:\"number\",defaultValue:1}]},{tfOpName:\"SplitV\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"numOrSizeSplits\",type:\"number[]\"},{start:2,name:\"axis\",type:\"number\",defaultValue:0}]},{tfOpName:\"ScatterNd\",category:\"slice_join\",inputs:[{start:0,name:\"indices\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"},{start:2,name:\"shape\",type:\"number[]\"}]},{tfOpName:\"GatherNd\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"}]},{tfOpName:\"SparseToDense\",category:\"slice_join\",inputs:[{start:0,name:\"sparseIndices\",type:\"tensor\"},{start:1,name:\"outputShape\",type:\"number[]\"},{start:2,name:\"sparseValues\",type:\"tensor\"},{start:3,name:\"defaultValue\",type:\"tensor\"}],attrs:[{tfName:\"validate_indices\",name:\"validateIndices\",type:\"bool\",defaultValue:!1,notSupported:!0}]}];var VC={};Ue(VC,{json:()=>FK});var FK=[{tfOpName:\"SparseFillEmptyRows\",category:\"sparse\",inputs:[{start:0,name:\"indices\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"},{start:2,name:\"denseShape\",type:\"tensor\"},{start:3,name:\"defaultValue\",type:\"tensor\"}]},{tfOpName:\"SparseReshape\",category:\"sparse\",inputs:[{start:0,name:\"inputIndices\",type:\"tensor\"},{start:1,name:\"inputShape\",type:\"tensor\"},{start:2,name:\"newShape\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"SparseSegmentMean\",category:\"sparse\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"segmentIds\",type:\"tensor\"}]},{tfOpName:\"SparseSegmentSum\",category:\"sparse\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"segmentIds\",type:\"tensor\"}]}];var zC={};Ue(zC,{json:()=>DK});var DK=[{tfOpName:\"FFT\",category:\"spectral\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"IFFT\",category:\"spectral\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"RFFT\",category:\"spectral\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"fft_length\",type:\"number\",notSupported:!0}]},{tfOpName:\"IRFFT\",category:\"spectral\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"fft_length\",type:\"number\",notSupported:!0}]}];var WC={};Ue(WC,{json:()=>OK});var OK=[{tfOpName:\"StringNGrams\",category:\"string\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"dataSplits\",type:\"tensor\"}],attrs:[{tfName:\"separator\",name:\"separator\",type:\"string\"},{tfName:\"ngram_widths\",name:\"nGramWidths\",type:\"number[]\"},{tfName:\"left_pad\",name:\"leftPad\",type:\"string\"},{tfName:\"right_pad\",name:\"rightPad\",type:\"string\"},{tfName:\"pad_width\",name:\"padWidth\",type:\"number\"},{tfName:\"preserve_short_sequences\",name:\"preserveShortSequences\",type:\"bool\"}],outputs:[\"ngrams\",\"ngrams_splits\"]},{tfOpName:\"StringSplit\",category:\"string\",inputs:[{start:0,name:\"input\",type:\"tensor\"},{start:1,name:\"delimiter\",type:\"tensor\"}],attrs:[{tfName:\"skip_empty\",name:\"skipEmpty\",type:\"bool\"}],outputs:[\"indices\",\"values\",\"shape\"]},{tfOpName:\"StringToHashBucketFast\",category:\"string\",inputs:[{start:0,name:\"input\",type:\"tensor\"}],attrs:[{tfName:\"num_buckets\",name:\"numBuckets\",type:\"number\"}]}];var UC={};Ue(UC,{json:()=>PK});var PK=[{tfOpName:\"Cast\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"SrcT\",name:\"sdtype\",type:\"dtype\",notSupported:!0},{tfName:\"DstT\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"ExpandDims\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}]},{tfOpName:\"MirrorPad\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"padding\",type:\"number[]\"}],attrs:[{tfName:\"mode\",name:\"mode\",type:\"string\"}]},{tfOpName:\"Pad\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"padding\",type:\"number[]\"}],attrs:[{tfName:\"constant_value\",name:\"constantValue\",type:\"number\",defaultValue:0}]},{tfOpName:\"PadV2\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"padding\",type:\"number[]\"},{start:2,name:\"constantValue\",type:\"number\",defaultValue:0}]},{tfOpName:\"Reshape\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"shape\",type:\"number[]\"}]},{tfOpName:\"Squeeze\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"axis\",tfDeprecatedName:\"squeeze_dims\",name:\"axis\",type:\"number[]\"}]},{tfOpName:\"SpaceToBatchND\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"blockShape\",type:\"number[]\"},{start:2,name:\"paddings\",type:\"number[]\"}]},{tfOpName:\"BatchToSpaceND\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"blockShape\",type:\"number[]\"},{start:2,name:\"crops\",type:\"number[]\"}]},{tfOpName:\"DepthToSpace\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"block_size\",name:\"blockSize\",type:\"number\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\"}]},{tfOpName:\"BroadcastTo\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"shape\",type:\"number[]\"}],attrs:[]},{tfOpName:\"BroadcastArgs\",category:\"transformation\",inputs:[{start:0,name:\"s0\",type:\"tensor\"},{start:1,name:\"s1\",type:\"tensor\"}],attrs:[]}];var pl=class{constructor(){let e=[kC,NC,TC,_C,EC,$C,AC,RC,FC,DC,OC,PC,MC,LC,BC,VC,zC,WC,UC],t=[].concat(...e.map(o=>o.json));this.opMappers=t.reduce((o,n)=>(o[n.tfOpName]=n,o),{})}static get Instance(){return this._instance||(this._instance=new this)}transformGraph(e,t={}){let o=e.node,n=[],s=[],a=[],i=o.reduce((h,g)=>(h[g.name]=this.mapNode(g),g.op.startsWith(\"Placeholder\")?n.push(h[g.name]):g.op===\"Const\"?s.push(h[g.name]):(g.input==null||g.input.length===0)&&a.push(h[g.name]),h),{}),p=[],u=[],c={},l={};t!=null&&(c=this.mapSignatureEntries(t.inputs),l=this.mapSignatureEntries(t.outputs));let m=Object.keys(i);m.forEach(h=>{let g=i[h];g.inputNames.forEach((x,b)=>{let[C,,w]=ss(x),k=i[C];if(k.outputs!=null){let _=k.outputs.indexOf(w);if(_!==-1){let $=`${C}:${_}`;g.inputNames[b]=$}}g.inputs.push(k),k.children.push(g)})}),Object.keys(l).length===0?m.forEach(h=>{let g=i[h];g.children.length===0&&u.push(g)}):Object.keys(l).forEach(h=>{let[g]=ss(h),x=i[g];x!=null&&(x.signatureKey=l[h],u.push(x))}),Object.keys(c).length>0?Object.keys(c).forEach(h=>{let[g]=ss(h),x=i[g];x&&(x.signatureKey=c[h],p.push(x))}):p=n;let d={};e.library!=null&&e.library.function!=null&&(d=e.library.function.reduce((h,g)=>(h[g.signature.name]=this.mapFunction(g),h),{}));let f={nodes:i,inputs:p,outputs:u,weights:s,placeholders:n,signature:t,functions:d};return a.length>0&&(f.initNodes=a),f}mapSignatureEntries(e){return Object.keys(e||{}).reduce((t,o)=>(t[e[o].name]=o,t),{})}mapNode(e){let t=Gd(e.op)||this.opMappers[e.op]||{};e.attr==null&&(e.attr={});let o={name:e.name,op:e.op,category:t.category,inputNames:(e.input||[]).map(n=>n.startsWith(\"^\")?n.slice(1):n),inputs:[],children:[],inputParams:{},attrParams:{},rawAttrs:e.attr,outputs:t.outputs};return t.inputs!=null&&(o.inputParams=t.inputs.reduce((n,s)=>(n[s.name]={type:s.type,inputIndexStart:s.start,inputIndexEnd:s.end},n),{})),t.attrs!=null&&(o.attrParams=t.attrs.reduce((n,s)=>{let a=s.type,i;switch(s.type){case\"string\":i=qd(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=qd(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"string[]\":i=Jd(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=Jd(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"number\":i=jd(e.attr,s.tfName,s.defaultValue||0),i===void 0&&!!s.tfDeprecatedName&&(i=jd(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"number[]\":i=Zd(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=Zd(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"bool\":i=Kd(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=Kd(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"bool[]\":i=tf(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=tf(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"shape\":i=Qd(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=Qd(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"shape[]\":i=ef(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=ef(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"dtype\":i=Xd(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=Xd(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"dtype[]\":i=Yd(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=Yd(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"func\":i=kN(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=kN(e.attr,s.tfDeprecatedName,s.defaultValue));break;case\"tensor\":case\"tensors\":break;default:throw new Error(`Unsupported param type: ${s.type} for op: ${e.op}`)}return n[s.name]={value:i,type:a},n},{})),o}mapFunction(e){let t=e.nodeDef,o=[],n=[],s={};t!=null&&(s=t.reduce((l,m)=>(l[m.name]=this.mapNode(m),m.op===\"Const\"&&n.push(l[m.name]),l),{}));let a=[],i=[];e.signature.inputArg.forEach(l=>{let[m]=ss(l.name),d={name:m,op:\"Placeholder\",inputs:[],inputNames:[],category:\"graph\",inputParams:{},attrParams:{dtype:{value:GC(l.type),type:\"dtype\"}},children:[]};d.signatureKey=l.name,a.push(d),s[m]=d}),Object.keys(s).forEach(l=>{let m=s[l];m.inputNames.forEach((d,f)=>{let[h,,g]=ss(d),x=s[h];if(x.outputs!=null){let b=x.outputs.indexOf(g);if(b!==-1){let C=`${h}:${b}`;m.inputNames[f]=C}}m.inputs.push(x),x.children.push(m)})});let u=e.ret;e.signature.outputArg.forEach(l=>{let[m,d]=ss(u[l.name]),f=s[m];f!=null&&(f.defaultOutput=d,i.push(f))});let c=this.mapArgsToSignature(e);return{nodes:s,inputs:a,outputs:i,weights:n,placeholders:o,signature:c}}mapArgsToSignature(e){return{methodName:e.signature.name,inputs:e.signature.inputArg.reduce((t,o)=>(t[o.name]=this.mapArgToTensorInfo(o),t),{}),outputs:e.signature.outputArg.reduce((t,o)=>(t[o.name]=this.mapArgToTensorInfo(o,e.ret),t),{})}}mapArgToTensorInfo(e,t){let o=e.name;return t!=null&&(o=t[o]),{name:o,dtype:e.type}}};function MK(r){let e=O().global;if(typeof e.atob!=\"undefined\")return e.atob(r);if(typeof Buffer!=\"undefined\")return new Buffer(r,\"base64\").toString();throw new Error(\"Unable to decode base64 in this environment. Missing built-in atob() or Buffer()\")}function NN(r,e){let t=Array.isArray(r)?String.fromCharCode.apply(null,r):MK(r);return e?t:t.toLowerCase()}function qd(r,e,t,o=!1){let n=r[e];return n!=null?NN(n.s,o):t}function Kd(r,e,t){let o=r[e];return o?o.b:t}function jd(r,e,t){let o=r[e]||{},n=o.i!=null?o.i:o.f!=null?o.f:t;return typeof n==\"number\"?n:parseInt(n,10)}function GC(r){switch(typeof r==\"string\"&&(r=ao[r]),r){case ao.DT_FLOAT:case ao.DT_HALF:return\"float32\";case ao.DT_INT32:case ao.DT_INT64:case ao.DT_INT8:case ao.DT_UINT8:return\"int32\";case ao.DT_BOOL:return\"bool\";case ao.DT_DOUBLE:return\"float32\";case ao.DT_STRING:return\"string\";default:return null}}function kN(r,e,t){let o=r[e];return o&&o.func?o.func.name:t}function Xd(r,e,t){let o=r[e];return o&&o.type?GC(o.type):t}function Yd(r,e,t){let o=r[e];return o&&o.list&&o.list.type?o.list.type.map(n=>GC(n)):t}function TN(r){if(!r.unknownRank)return r.dim!=null?r.dim.map(e=>typeof e.size==\"number\"?e.size:parseInt(e.size,10)):[]}function Qd(r,e,t){let o=r[e];return o&&o.shape?TN(o.shape):t}function Zd(r,e,t){let o=r[e];return o?((o.list.f&&o.list.f.length?o.list.f:o.list.i)||[]).map(n=>typeof n==\"number\"?n:parseInt(n,10)):t}function Jd(r,e,t,o=!1){let n=r[e];return n&&n.list&&n.list.s?n.list.s.map(s=>NN(s,o)):t}function ef(r,e,t){let o=r[e];return o&&o.list&&o.list.shape?o.list.shape.map(n=>TN(n)):t}function tf(r,e,t){let o=r[e];return o&&o.list&&o.list.b?o.list.b:t}var rf=class{constructor(e,t,o){this.node=e,this.tensorMap=t,this.context=o,this.inputs=[],this.attrs={},this.inputs=e.inputNames.map(n=>this.getInput(n)),e.rawAttrs!=null&&(this.attrs=Object.keys(e.rawAttrs).reduce((n,s)=>(n[s]=this.getAttr(s),n),{}))}getInput(e){return Gt(e,this.tensorMap,this.context)}getAttr(e,t){let o=this.node.rawAttrs[e];if(o.tensor!=null)return Gt(e,this.tensorMap,this.context);if(o.i!=null||o.f!=null)return jd(this.node.rawAttrs,e,t);if(o.s!=null)return qd(this.node.rawAttrs,e,t);if(o.b!=null)return Kd(this.node.rawAttrs,e,t);if(o.shape!=null)return Qd(this.node.rawAttrs,e,t);if(o.type!=null)return Xd(this.node.rawAttrs,e,t);if(o.list!=null){if(o.list.i!=null||o.list.f!=null)return Zd(this.node.rawAttrs,e,t);if(o.list.s!=null)return Jd(this.node.rawAttrs,e,t);if(o.list.shape!=null)return ef(this.node.rawAttrs,e,t);if(o.list.b!=null)return tf(this.node.rawAttrs,e,t);if(o.list.type!=null)return Yd(this.node.rawAttrs,e,t)}return t}};var Ye={};Ue(Ye,{OP_SCOPE_SUFFIX:()=>Lb,abs:()=>Yt,acos:()=>f0,acosh:()=>h0,add:()=>xe,addN:()=>g0,all:()=>x0,any:()=>y0,argMax:()=>b0,argMin:()=>C0,asin:()=>S0,asinh:()=>w0,atan:()=>I0,atan2:()=>v0,atanh:()=>k0,avgPool:()=>td,avgPool3d:()=>_0,basicLSTMCell:()=>E0,batchNorm:()=>wi,batchNorm2d:()=>A0,batchNorm3d:()=>R0,batchNorm4d:()=>F0,batchToSpaceND:()=>rd,bincount:()=>od,booleanMaskAsync:()=>XG,broadcastArgs:()=>D0,broadcastTo:()=>Ii,buffer:()=>le,cast:()=>Ke,ceil:()=>O0,clipByValue:()=>P0,clone:()=>Br,complex:()=>Tr,concat:()=>gt,concat1d:()=>M0,concat2d:()=>L0,concat3d:()=>B0,concat4d:()=>V0,conv1d:()=>z0,conv2d:()=>vi,conv2dTranspose:()=>W0,conv3d:()=>U0,conv3dTranspose:()=>H0,cos:()=>q0,cosh:()=>K0,cosineWindow:()=>il,cumprod:()=>j0,cumsum:()=>X0,denseBincount:()=>Y0,depthToSpace:()=>Q0,depthwiseConv2d:()=>Bp,diag:()=>Z0,dilation2d:()=>J0,div:()=>Ge,divNoNan:()=>ek,dot:()=>tk,dropout:()=>aH,einsum:()=>rk,elu:()=>ad,enclosingPowerOfTwo:()=>xC,equal:()=>sd,erf:()=>ok,euclideanNorm:()=>ak,exp:()=>Co,expandDims:()=>Fa,expm1:()=>ik,eye:()=>id,fft:()=>zp,fill:()=>Ws,floor:()=>ud,floorDiv:()=>Jm,fused:()=>yC,gather:()=>pd,gatherND:()=>nH,greater:()=>cu,greaterEqual:()=>cd,ifft:()=>hu,imag:()=>Si,image:()=>uq,inTopKAsync:()=>uH,irfft:()=>Fd,isFinite:()=>uk,isInf:()=>pk,isNaN:()=>ck,leakyRelu:()=>ld,less:()=>lk,lessEqual:()=>Vp,linalg:()=>pq,linspace:()=>mk,localResponseNormalization:()=>dk,log:()=>Da,log1p:()=>md,logSigmoid:()=>fk,logSoftmax:()=>hk,logSumExp:()=>hd,logicalAnd:()=>lu,logicalNot:()=>gd,logicalOr:()=>xd,logicalXor:()=>gk,losses:()=>cq,lowerBound:()=>xk,matMul:()=>Xe,max:()=>Us,maxPool:()=>bd,maxPool3d:()=>yk,maxPoolWithArgmax:()=>bk,maximum:()=>Cd,mean:()=>mu,meshgrid:()=>Ck,min:()=>sl,minimum:()=>Sd,mirrorPad:()=>Sk,mod:()=>wk,moments:()=>Ik,movingAverage:()=>QG,mul:()=>ae,multiRNNCell:()=>vk,multinomial:()=>kk,neg:()=>yr,norm:()=>pu,notEqual:()=>wd,oneHot:()=>tl,ones:()=>Gs,onesLike:()=>Nk,op:()=>N,outerProduct:()=>Tk,pad:()=>Hs,pad1d:()=>_k,pad2d:()=>Ek,pad3d:()=>$k,pad4d:()=>Ak,pool:()=>Rk,pow:()=>Ra,prelu:()=>vd,print:()=>Gm,prod:()=>Fk,raggedGather:()=>Dk,raggedRange:()=>Ok,raggedTensorToTensor:()=>Pk,rand:()=>Mk,randomGamma:()=>e1,randomNormal:()=>Ed,randomStandardNormal:()=>t1,randomUniform:()=>$d,range:()=>Ni,real:()=>$a,reciprocal:()=>r1,relu:()=>Ti,relu6:()=>Ad,reshape:()=>z,reverse:()=>no,reverse1d:()=>o1,reverse2d:()=>n1,reverse3d:()=>s1,reverse4d:()=>a1,rfft:()=>Wp,round:()=>Rd,rsqrt:()=>i1,scalar:()=>be,scatterND:()=>JG,searchSorted:()=>al,selu:()=>u1,separableConv2d:()=>p1,setdiff1dAsync:()=>c1,sigmoid:()=>zs,sign:()=>l1,signal:()=>iq,sin:()=>m1,sinh:()=>d1,slice:()=>He,slice1d:()=>f1,slice2d:()=>h1,slice3d:()=>g1,slice4d:()=>x1,softmax:()=>y1,softplus:()=>fd,spaceToBatchND:()=>Id,sparse:()=>lq,sparseToDense:()=>rH,spectral:()=>aq,split:()=>Oa,sqrt:()=>$r,square:()=>Qt,squaredDifference:()=>Dd,squeeze:()=>Up,stack:()=>Sr,step:()=>Od,stridedSlice:()=>b1,string:()=>mq,sub:()=>Ne,sum:()=>et,tan:()=>C1,tanh:()=>nl,tensor:()=>nr,tensor1d:()=>mr,tensor2d:()=>_i,tensor3d:()=>Xm,tensor4d:()=>S1,tensor5d:()=>w1,tensor6d:()=>I1,tile:()=>ki,topk:()=>v1,transpose:()=>Mp,truncatedNormal:()=>k1,unique:()=>N1,unsortedSegmentSum:()=>T1,unstack:()=>so,upperBound:()=>_1,variable:()=>E1,where:()=>os,whereAsync:()=>Md,zeros:()=>Vr,zerosLike:()=>Ut});var _N=(r,e,t,o=Ye)=>{switch(r.op){case\"BiasAdd\":case\"AddV2\":case\"Add\":return[o.add(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"AddN\":return[o.addN(I(\"tensors\",r,e,t))];case\"FloorMod\":case\"Mod\":return[o.mod(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"Mul\":return[o.mul(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"RealDiv\":case\"Div\":return[o.div(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"DivNoNan\":return[o.divNoNan(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"FloorDiv\":return[o.floorDiv(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"Sub\":return[o.sub(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"Minimum\":return[o.minimum(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"Maximum\":return[o.maximum(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"Pow\":return[o.pow(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"SquaredDifference\":return[o.squaredDifference(I(\"a\",r,e,t),I(\"b\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var EN=(r,e,t,o=Ye)=>{switch(r.op){case\"Abs\":case\"ComplexAbs\":return[o.abs(I(\"x\",r,e,t))];case\"Acos\":return[o.acos(I(\"x\",r,e,t))];case\"Acosh\":return[o.acosh(I(\"x\",r,e,t))];case\"Asin\":return[o.asin(I(\"x\",r,e,t))];case\"Asinh\":return[o.asinh(I(\"x\",r,e,t))];case\"Atan\":return[o.atan(I(\"x\",r,e,t))];case\"Atan2\":return[o.atan2(I(\"x\",r,e,t),I(\"y\",r,e,t))];case\"Atanh\":return[o.atanh(I(\"x\",r,e,t))];case\"Ceil\":return[o.ceil(I(\"x\",r,e,t))];case\"Complex\":return[o.complex(I(\"real\",r,e,t),I(\"imag\",r,e,t))];case\"Cos\":return[o.cos(I(\"x\",r,e,t))];case\"Cosh\":return[o.cosh(I(\"x\",r,e,t))];case\"Elu\":return[o.elu(I(\"x\",r,e,t))];case\"Erf\":return[o.erf(I(\"x\",r,e,t))];case\"Exp\":return[o.exp(I(\"x\",r,e,t))];case\"Expm1\":return[o.expm1(I(\"x\",r,e,t))];case\"Floor\":return[o.floor(I(\"x\",r,e,t))];case\"Log\":return[o.log(I(\"x\",r,e,t))];case\"Log1p\":return[o.log1p(I(\"x\",r,e,t))];case\"Imag\":return[o.imag(I(\"x\",r,e,t))];case\"Neg\":return[o.neg(I(\"x\",r,e,t))];case\"Reciprocal\":return[o.reciprocal(I(\"x\",r,e,t))];case\"Real\":return[o.real(I(\"x\",r,e,t))];case\"Relu\":return[o.relu(I(\"x\",r,e,t))];case\"Round\":return[o.round(I(\"x\",r,e,t))];case\"Selu\":return[o.selu(I(\"x\",r,e,t))];case\"Sigmoid\":return[o.sigmoid(I(\"x\",r,e,t))];case\"Sin\":return[o.sin(I(\"x\",r,e,t))];case\"Sign\":return[o.sign(I(\"x\",r,e,t))];case\"Sinh\":return[o.sinh(I(\"x\",r,e,t))];case\"Softplus\":return[o.softplus(I(\"x\",r,e,t))];case\"Sqrt\":return[o.sqrt(I(\"x\",r,e,t))];case\"Square\":return[o.square(I(\"x\",r,e,t))];case\"Tanh\":return[o.tanh(I(\"x\",r,e,t))];case\"Tan\":return[o.tan(I(\"x\",r,e,t))];case\"ClipByValue\":return[o.clipByValue(I(\"x\",r,e,t),I(\"clipValueMin\",r,e,t),I(\"clipValueMax\",r,e,t))];case\"Relu6\":return[o.relu6(I(\"x\",r,e,t))];case\"Rsqrt\":return[o.rsqrt(Gt(r.inputNames[0],e,t))];case\"Prod\":return[o.prod(I(\"x\",r,e,t),I(\"axes\",r,e,t))];case\"LeakyRelu\":return[o.leakyRelu(I(\"x\",r,e,t),I(\"alpha\",r,e,t))];case\"Prelu\":return[o.prelu(I(\"x\",r,e,t),I(\"alpha\",r,e,t))];case\"IsNan\":return[o.isNaN(Gt(r.inputNames[0],e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function zr(r,e,t=\"\"){if(!(typeof r==\"number\"||typeof e==\"number\")){y.assert(r.length===e.length,()=>t+` Shapes ${r} and ${e} must match`);for(let o=0;ot+` Shapes ${r} and ${e} must match`)}}}function $N(r){return!(typeof r==\"number\"||r.some(e=>e<0))}function Gp(r,e,t){let o=of(r,t),n=!$N(o);if(n&&e.length===0)throw new Error(`Tried to calculate elements of an empty list with non-fully-defined elementShape: ${o}`);if(n&&e.forEach(s=>{o=of(s.shape,o)}),!$N(o))throw new Error(`Non-fully-defined elementShape: ${o}`);return o}function of(r,e){if(typeof r==\"number\")return e;if(typeof e==\"number\")return r;if(r.length!==e.length)throw new Error(`Incompatible ranks during merge: ${r} vs. ${e}`);let t=[];for(let o=0;o=0&&s>=0&&n!==s)throw new Error(`Incompatible shape during merge: ${r} vs. ${e}`);t[o]=n>=0?n:s}return t}var nf=class{constructor(e,t,o,n,s,a,i){this.name=e,this.dtype=t,this.maxSize=o,this.elementShape=n,this.identicalElementShapes=s,this.dynamicSize=a,this.clearAfterRead=i,this.tensors=[],this.closed_=!1,this.idTensor=be(0),_r(this.idTensor)}get id(){return this.idTensor.id}get closed(){return this.closed_}clearAndClose(e){this.tensors.forEach(t=>{(e==null||!e.has(t.tensor.id))&&t.tensor.dispose()}),this.tensors=[],this.closed_=!0,this.idTensor.dispose()}size(){return this.tensors.length}read(e){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||e>=this.size())throw new Error(`Tried to read from index ${e}, but array size is: ${this.size()}`);let t=this.tensors[e];if(t.cleared)throw new Error(`TensorArray ${this.name}: Could not read index ${e} twice because it was cleared after a previous read (perhaps try setting clear_after_read = false?).`);return this.clearAfterRead&&(t.cleared=!0),t.read=!0,t.tensor}readMany(e){return e.map(t=>this.read(t))}write(e,t){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||!this.dynamicSize&&e>=this.maxSize)throw new Error(`Tried to write to index ${e}, but array is not resizeable and size is: ${this.maxSize}`);let o=this.tensors[e]||{};if(t.dtype!==this.dtype)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e},\n because the value dtype is ${t.dtype}, but TensorArray dtype is ${this.dtype}.`);if(this.size()===0&&(this.elementShape==null||this.elementShape.length===0)&&(this.elementShape=t.shape),zr(this.elementShape,t.shape,`TensorArray ${this.name}: Could not write to TensorArray index ${e}.`),o.read)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been read.`);if(o.written)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been written.`);o.tensor=t,_r(t),o.written=!0,this.tensors[e]=o}writeMany(e,t){if(e.length!==t.length)throw new Error(`TensorArray ${this.name}: could not write multiple tensors,because the index size: ${e.length} is not the same as tensors size: ${t.length}.`);e.forEach((o,n)=>this.write(o,t[n]))}gather(e,t){if(!!t&&t!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but gather requested dtype ${t}`);if(e)e=e.slice(0,this.size());else{e=[];for(let n=0;n=this.maxSize)throw new Error(`Max index must be < array size (${o} vs. ${this.maxSize})`);this.writeMany(e,so(t,0))}split(e,t){if(t.dtype!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but tensor has dtype ${t.dtype}`);let o=0,n=e.map(p=>(o+=p,o));if(o!==t.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${o}, and tensor's shape is: ${t.shape}`);if(!this.dynamicSize&&e.length!==this.maxSize)throw new Error(`TensorArray's size is not equal to the size of lengths (${this.maxSize} vs. ${e.length}), and the TensorArray is not marked as dynamically resizeable`);let s=o===0?0:t.size/o,a=[];Ee(()=>{t=z(t,[1,o,s]);for(let p=0;p{if(o!==s.dtype)throw new Error(`Invalid data types; op elements ${o}, but list elements ${s.dtype}`);zr(t,s.shape,\"TensorList shape mismatch: \"),_r(s)}),this.idTensor=be(0),this.maxNumElements=n,_r(this.idTensor)}get id(){return this.idTensor.id}copy(){return new Pa([...this.tensors],this.elementShape,this.elementDtype)}clearAndClose(e){this.tensors.forEach(t=>{(e==null||!e.has(t.id))&&t.dispose()}),this.tensors.length=0,this.idTensor.dispose()}size(){return this.tensors.length}stack(e,t,o=-1){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(o!==-1&&this.tensors.length!==o)throw new Error(`Operation expected a list with ${o} elements but got a list with ${this.tensors.length} elements.`);zr(e,this.elementShape,\"TensorList shape mismatch: \");let n=Gp(this.elementShape,this.tensors,e);return Ee(()=>{let s=this.tensors.map(a=>z(a,n));return Sr(s,0)})}popBack(e,t){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(this.size()===0)throw new Error(\"Trying to pop from an empty list.\");let o=Gp(this.elementShape,this.tensors,e),n=this.tensors.pop();return n.kept=!1,zr(n.shape,e,\"TensorList shape mismatch: \"),z(n,o)}pushBack(e){if(e.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${this.elementDtype}`);if(zr(e.shape,this.elementShape,\"TensorList shape mismatch: \"),this.maxNumElements===this.size())throw new Error(\"Trying to push element into a full list.\");_r(e),this.tensors.push(e)}resize(e){if(e<0)throw new Error(`TensorListResize expects size to be non-negative. Got: ${e}`);if(this.maxNumElements!==-1&&e>this.maxNumElements)throw new Error(`TensorListResize input size ${e} is greater maxNumElement ${this.maxNumElements}.`);let t=new Pa([],this.elementShape,this.elementDtype,this.maxNumElements);t.tensors.length=e;for(let o=0;othis.tensors.length)throw new Error(`Trying to access element ${e} in a list with ${this.tensors.length} elements.`);if(this.tensors[e]==null)throw new Error(`element at index ${e} is null.`);zr(this.tensors[e].shape,t,\"TensorList shape mismatch: \");let n=Gp(this.elementShape,this.tensors,t);return z(this.tensors[e],n)}setItem(e,t){if(t.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t.dtype}, but list elements ${this.elementDtype}`);if(e<0||this.maxNumElements!==-1&&e>=this.maxNumElements)throw new Error(`Trying to set element ${e} in a list with max ${this.maxNumElements} elements.`);zr(this.elementShape,t.shape,\"TensorList shape mismatch: \"),_r(t),this.tensors[e]!=null&&(this.tensors[e].kept=!1),this.tensors[e]=t}gather(e,t,o){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);zr(this.elementShape,o,\"TensorList shape mismatch: \"),e=e.slice(0,this.size());let n=Gp(this.elementShape,this.tensors,o);return e.length===0?nr([],[0].concat(n)):Ee(()=>{let s=e.map(a=>z(this.tensors[a],n));return Sr(s,0)})}concat(e,t){if(!!e&&e!==this.elementDtype)throw new Error(`TensorList dtype is ${this.elementDtype} but concat requested dtype ${e}`);zr(this.elementShape,t,\"TensorList shape mismatch: \");let o=Gp(this.elementShape,this.tensors,t);return this.size()===0?nr([],[0].concat(o)):Ee(()=>{let n=this.tensors.map(s=>z(s,o));return gt(n,0)})}};function AN(r,e,t){let o=r.dtype;if(r.shape.length<1)throw new Error(`Tensor must be at least a vector, but saw shape: ${r.shape}`);if(r.dtype!==t)throw new Error(`Invalid data types; op elements ${r.dtype}, but list elements ${t}`);let n=r.shape.slice(1);zr(n,e,\"TensorList shape mismatch: \");let s=so(r);return new Pa(s,e,o)}function RN(r,e,t,o){return new Pa([],r,e,o)}function FN(r,e,t,o){if(e.length!==r.shape[0])throw new Error(`Expected len(indices) == tensor.shape[0], but saw: ${e.length} vs. ${r.shape[0]}`);let n=Math.max(...e);if(o!=null&&o!==-1&&n>=o)throw new Error(`Max index must be < array size (${n} vs. ${o})`);let s=new Pa([],t,r.dtype,o),a=so(r,0);return e.forEach((i,p)=>{s.setItem(i,a[p])}),s}function DN(r,e,t){let o=0,n=e.map(c=>(o+=c,o));if(o!==r.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${o}, and tensor's shape is: ${r.shape}`);let s=r.shape.slice(1),a=of(s,t),i=o===0?0:r.size/o,p=Ee(()=>{let c=[];r=z(r,[1,o,i]);for(let l=0;l{switch(r.op){case\"If\":case\"StatelessIf\":{let o=I(\"thenBranch\",r,e,t),n=I(\"elseBranch\",r,e,t),s=I(\"cond\",r,e,t),a=I(\"args\",r,e,t);return(await s.data())[0]?t.functionMap[o].executeFunctionAsync(a,t.tensorArrayMap,t.tensorListMap):t.functionMap[n].executeFunctionAsync(a,t.tensorArrayMap,t.tensorListMap)}case\"While\":case\"StatelessWhile\":{let o=I(\"body\",r,e,t),n=I(\"cond\",r,e,t),s=I(\"args\",r,e,t),a=await t.functionMap[n].executeFunctionAsync(s,t.tensorArrayMap,t.tensorListMap),i=s.map(c=>c.id),p=await a[0].data();a.forEach(c=>{!c.kept&&i.indexOf(c.id)===-1&&c.dispose()});let u=s;for(;p[0];){let c=u;u=await t.functionMap[o].executeFunctionAsync(u,t.tensorArrayMap,t.tensorListMap);let l=u.map(d=>d.id);c.forEach(d=>{!d.kept&&i.indexOf(d.id)===-1&&l.indexOf(d.id)===-1&&d.dispose()});let m=await t.functionMap[n].executeFunctionAsync(u,t.tensorArrayMap,t.tensorListMap);p=await m[0].data(),m.forEach(d=>{!d.kept&&i.indexOf(d.id)===-1&&l.indexOf(d.id)===-1&&d.dispose()})}return u}case\"LoopCond\":{let o=I(\"pred\",r,e,t);return[as(o)]}case\"Switch\":{let o=I(\"pred\",r,e,t),n=I(\"data\",r,e,t);return n.kept||(n=as(n)),(await o.data())[0]?[void 0,n]:[n,void 0]}case\"Merge\":{let o=r.inputNames.find(n=>Gt(n,e,t)!==void 0);if(o){let n=Gt(o,e,t);return[as(n)]}return}case\"Enter\":{let o=I(\"frameName\",r,e,t),n=I(\"tensor\",r,e,t);return t.enterFrame(o),[as(n)]}case\"Exit\":{let o=I(\"tensor\",r,e,t);return t.exitFrame(),[as(o)]}case\"NextIteration\":{let o=I(\"tensor\",r,e,t);return t.nextIteration(),[as(o)]}case\"TensorArrayV3\":{let o=I(\"size\",r,e,t),n=I(\"dtype\",r,e,t),s=I(\"elementShape\",r,e,t),a=I(\"dynamicSize\",r,e,t),i=I(\"clearAfterRead\",r,e,t),p=I(\"identicalElementShapes\",r,e,t),u=I(\"name\",r,e,t),c=new nf(u,n,o,s,p,a,i);return t.addTensorArray(c),[c.idTensor,be(1)]}case\"TensorArrayWriteV3\":{let o=I(\"tensorArrayId\",r,e,t),n=I(\"index\",r,e,t),s=I(\"tensor\",r,e,t),a=t.getTensorArray(o.id);return a.write(n,s),[a.idTensor]}case\"TensorArrayReadV3\":{let o=I(\"tensorArrayId\",r,e,t),n=I(\"index\",r,e,t);return[t.getTensorArray(o.id).read(n)]}case\"TensorArrayGatherV3\":{let o=I(\"tensorArrayId\",r,e,t),n=I(\"indices\",r,e,t),s=I(\"dtype\",r,e,t);return[t.getTensorArray(o.id).gather(n,s)]}case\"TensorArrayScatterV3\":{let o=I(\"tensorArrayId\",r,e,t),n=I(\"indices\",r,e,t),s=I(\"tensor\",r,e,t),a=t.getTensorArray(o.id);return a.scatter(n,s),[a.idTensor]}case\"TensorArrayConcatV3\":{let o=I(\"tensorArrayId\",r,e,t),n=t.getTensorArray(o.id),s=I(\"dtype\",r,e,t);return[n.concat(s)]}case\"TensorArraySplitV3\":{let o=I(\"tensorArrayId\",r,e,t),n=I(\"tensor\",r,e,t),s=I(\"lengths\",r,e,t),a=t.getTensorArray(o.id);return a.split(s,n),[a.idTensor]}case\"TensorArraySizeV3\":{let o=I(\"tensorArrayId\",r,e,t),n=t.getTensorArray(o.id);return[be(n.size(),\"int32\")]}case\"TensorArrayCloseV3\":{let o=I(\"tensorArrayId\",r,e,t),n=t.getTensorArray(o.id);return n.clearAndClose(),[n.idTensor]}case\"TensorListSetItem\":{let o=I(\"tensorListId\",r,e,t),n=I(\"index\",r,e,t),s=I(\"tensor\",r,e,t),a=t.getTensorList(o.id);return a.setItem(n,s),[a.idTensor]}case\"TensorListGetItem\":{let o=I(\"tensorListId\",r,e,t),n=I(\"index\",r,e,t),s=I(\"elementShape\",r,e,t),a=I(\"elementDType\",r,e,t);return[t.getTensorList(o.id).getItem(n,s,a)]}case\"TensorListScatterV2\":case\"TensorListScatter\":{let o=I(\"indices\",r,e,t),n=I(\"tensor\",r,e,t),s=I(\"elementShape\",r,e,t),a=I(\"numElements\",r,e,t),i=FN(n,o,s,a);return t.addTensorList(i),[i.idTensor]}case\"TensorListReserve\":case\"EmptyTensorList\":{let o=I(\"elementShape\",r,e,t),n=I(\"elementDType\",r,e,t),s;r.op===\"TensorListReserve\"?s=\"numElements\":s=\"maxNumElements\";let a=I(s,r,e,t),i=r.op===\"TensorListReserve\"?-1:a,p=RN(o,n,a,i);return t.addTensorList(p),[p.idTensor]}case\"TensorListGather\":{let o=I(\"tensorListId\",r,e,t),n=I(\"indices\",r,e,t),s=I(\"elementShape\",r,e,t),a=I(\"elementDType\",r,e,t);return[t.getTensorList(o.id).gather(n,a,s)]}case\"TensorListStack\":{let o=I(\"tensorListId\",r,e,t),n=I(\"elementShape\",r,e,t),s=I(\"elementDType\",r,e,t),a=I(\"numElements\",r,e,t);return[t.getTensorList(o.id).stack(n,s,a)]}case\"TensorListFromTensor\":{let o=I(\"tensor\",r,e,t),n=I(\"elementShape\",r,e,t),s=I(\"elementDType\",r,e,t),a=AN(o,n,s);return t.addTensorList(a),[a.idTensor]}case\"TensorListConcat\":case\"TensorListConcatV2\":{let o=I(\"tensorListId\",r,e,t),n=t.getTensorList(o.id),s=I(\"dtype\",r,e,t),a=I(\"elementShape\",r,e,t);return[n.concat(s,a)]}case\"TensorListPushBack\":{let o=I(\"tensorListId\",r,e,t),n=I(\"tensor\",r,e,t),s=t.getTensorList(o.id);return s.pushBack(n),[s.idTensor]}case\"TensorListPopBack\":{let o=I(\"tensorListId\",r,e,t),n=I(\"elementShape\",r,e,t),s=I(\"elementDType\",r,e,t);return[t.getTensorList(o.id).popBack(n,s)]}case\"TensorListSplit\":{let o=I(\"tensor\",r,e,t),n=I(\"elementShape\",r,e,t),s=I(\"lengths\",r,e,t),a=DN(o,s,n);return t.addTensorList(a),[a.idTensor]}case\"TensorListLength\":{let o=I(\"tensorListId\",r,e,t),n=t.getTensorList(o.id);return[be(n.size(),\"int32\")]}case\"TensorListResize\":{let o=I(\"tensorListId\",r,e,t),n=I(\"size\",r,e,t),a=t.getTensorList(o.id).resize(n);return t.addTensorList(a),[a.idTensor]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};function PN(r,e,t){let[o,n]=I(\"fusedOps\",r,e,t),s=o===\"biasadd\",a=!s,i=n===\"prelu\",p=o===\"fusedbatchnorm\",u=I(\"numArgs\",r,e,t);if(s){if(i&&u!==2)throw new Error(\"FusedConv2d and DepthwiseConv2d with BiasAdd and Prelu must have two extra arguments: bias and alpha.\");if(!i&&s&&u!==1)throw new Error(\"FusedConv2d and DepthwiseConv2d with BiasAdd must have one extra argument: bias.\")}if(p)throw new Error(\"FusedConv2d and DepthwiseConv2d with FusedBatchNorm is not supported\");let c=I(\"strides\",r,e,t),l=ul(r,e,t),m=I(\"dataFormat\",r,e,t).toUpperCase(),d=I(\"dilations\",r,e,t),[f,h]=I(\"args\",r,e,t);a&&(h=f,f=void 0);let g=I(\"leakyreluAlpha\",r,e,t);return{stride:c,pad:l,dataFormat:m,dilations:d,biasArg:f,preluArg:h,activationFunc:n,leakyreluAlpha:g}}var MN=(r,e,t,o=Ye)=>{switch(r.op){case\"Conv1D\":{let n=I(\"stride\",r,e,t),s=I(\"pad\",r,e,t),a=I(\"dataFormat\",r,e,t).toUpperCase(),i=I(\"dilation\",r,e,t);return[o.conv1d(I(\"x\",r,e,t),I(\"filter\",r,e,t),n,s,a,i)]}case\"Conv2D\":{let n=I(\"strides\",r,e,t),s=ul(r,e,t),a=I(\"dataFormat\",r,e,t).toUpperCase(),i=I(\"dilations\",r,e,t);return[o.conv2d(I(\"x\",r,e,t),I(\"filter\",r,e,t),[n[1],n[2]],s,a,[i[1],i[2]])]}case\"_FusedConv2D\":{let{stride:n,pad:s,dataFormat:a,dilations:i,biasArg:p,preluArg:u,activationFunc:c,leakyreluAlpha:l}=PN(r,e,t);return[o.fused.conv2d({x:I(\"x\",r,e,t),filter:I(\"filter\",r,e,t),strides:[n[1],n[2]],pad:s,dataFormat:a,dilations:[i[1],i[2]],bias:p,activation:c,preluActivationWeights:u,leakyreluAlpha:l})]}case\"FusedDepthwiseConv2dNative\":{let{stride:n,pad:s,dataFormat:a,dilations:i,biasArg:p,preluArg:u,activationFunc:c,leakyreluAlpha:l}=PN(r,e,t);return[o.fused.depthwiseConv2d({x:I(\"x\",r,e,t),filter:I(\"filter\",r,e,t),strides:[n[1],n[2]],pad:s,dataFormat:a,dilations:[i[1],i[2]],bias:p,activation:c,preluActivationWeights:u,leakyreluAlpha:l})]}case\"Conv2DBackpropInput\":case\"Conv2dTranspose\":{let n=I(\"outputShape\",r,e,t),s=I(\"strides\",r,e,t),a=ul(r,e,t);return[o.conv2dTranspose(I(\"x\",r,e,t),I(\"filter\",r,e,t),n,[s[1],s[2]],a)]}case\"DepthwiseConv2dNative\":case\"DepthwiseConv2d\":{let n=I(\"strides\",r,e,t),s=ul(r,e,t),a=I(\"dilations\",r,e,t),i=I(\"dataFormat\",r,e,t).toUpperCase();return[o.depthwiseConv2d(I(\"input\",r,e,t),I(\"filter\",r,e,t),[n[1],n[2]],s,i,[a[1],a[2]])]}case\"Conv3D\":{let n=I(\"strides\",r,e,t),s=I(\"pad\",r,e,t),a=I(\"dataFormat\",r,e,t).toUpperCase(),i=I(\"dilations\",r,e,t);return[o.conv3d(I(\"x\",r,e,t),I(\"filter\",r,e,t),[n[1],n[2],n[3]],s,a,[i[1],i[2],i[3]])]}case\"AvgPool\":{let n=I(\"strides\",r,e,t),s=I(\"pad\",r,e,t),a=I(\"kernelSize\",r,e,t);return[o.avgPool(I(\"x\",r,e,t),[a[1],a[2]],[n[1],n[2]],s)]}case\"MaxPool\":{let n=I(\"strides\",r,e,t),s=I(\"pad\",r,e,t),a=I(\"kernelSize\",r,e,t);return[o.maxPool(I(\"x\",r,e,t),[a[1],a[2]],[n[1],n[2]],s)]}case\"MaxPoolWithArgmax\":{let n=I(\"strides\",r,e,t),s=I(\"pad\",r,e,t),a=I(\"kernelSize\",r,e,t),i=I(\"includeBatchInIndex\",r,e,t),{result:p,indexes:u}=o.maxPoolWithArgmax(I(\"x\",r,e,t),[a[1],a[2]],[n[1],n[2]],s,i);return[p,u]}case\"AvgPool3D\":{let n=I(\"strides\",r,e,t),s=I(\"pad\",r,e,t),a=I(\"kernelSize\",r,e,t);return[o.avgPool3d(I(\"x\",r,e,t),[a[1],a[2],a[3]],[n[1],n[2],n[3]],s)]}case\"MaxPool3D\":{let n=I(\"strides\",r,e,t),s=I(\"pad\",r,e,t),a=I(\"kernelSize\",r,e,t);return[o.maxPool3d(I(\"x\",r,e,t),[a[1],a[2],a[3]],[n[1],n[2],n[3]],s)]}case\"Dilation2D\":{let n=I(\"strides\",r,e,t),s=I(\"pad\",r,e,t),a=I(\"dilations\",r,e,t),i=n[1],p=n[2],u=a[1],c=a[2];return[o.dilation2d(I(\"x\",r,e,t),I(\"filter\",r,e,t),[i,p],s,[u,c],\"NHWC\")]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var LN=(r,e,t,o=Ye)=>{switch(r.op){case\"Fill\":{let n=I(\"shape\",r,e,t),s=I(\"dtype\",r,e,t),a=I(\"value\",r,e,t);return[o.fill(n,a,s)]}case\"LinSpace\":{let n=I(\"start\",r,e,t),s=I(\"stop\",r,e,t),a=I(\"num\",r,e,t);return[o.linspace(n,s,a)]}case\"Multinomial\":{let n=I(\"logits\",r,e,t),s=I(\"numSamples\",r,e,t),a=I(\"seed\",r,e,t);return[o.multinomial(n,s,a)]}case\"OneHot\":{let n=I(\"indices\",r,e,t),s=I(\"depth\",r,e,t),a=I(\"onValue\",r,e,t),i=I(\"offValue\",r,e,t),p=I(\"dtype\",r,e,t);return[o.oneHot(n,s,a,i,p)]}case\"Ones\":return[o.ones(I(\"shape\",r,e,t),I(\"dtype\",r,e,t))];case\"OnesLike\":return[o.onesLike(I(\"x\",r,e,t))];case\"RandomStandardNormal\":return[o.randomStandardNormal(I(\"shape\",r,e,t),I(\"dtype\",r,e,t),I(\"seed\",r,e,t))];case\"RandomUniform\":return[o.randomUniform(I(\"shape\",r,e,t),I(\"minval\",r,e,t),I(\"maxval\",r,e,t),I(\"dtype\",r,e,t))];case\"Range\":{let n=I(\"start\",r,e,t),s=I(\"stop\",r,e,t),a=I(\"step\",r,e,t);return[o.range(n,s,a,I(\"dtype\",r,e,t))]}case\"TruncatedNormal\":{let n=I(\"shape\",r,e,t),s=I(\"mean\",r,e,t),a=I(\"stdDev\",r,e,t),i=I(\"seed\",r,e,t);return[o.truncatedNormal(n,s,a,I(\"dtype\",r,e,t),i)]}case\"Zeros\":return[o.zeros(I(\"shape\",r,e,t),I(\"dtype\",r,e,t))];case\"ZerosLike\":return[o.zerosLike(I(\"x\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function HC(r,e,t){let o=I(\"boxes\",r,e,t),n=I(\"scores\",r,e,t),s=I(\"maxOutputSize\",r,e,t),a=I(\"iouThreshold\",r,e,t),i=I(\"scoreThreshold\",r,e,t),p=I(\"softNmsSigma\",r,e,t);return{boxes:o,scores:n,maxOutputSize:s,iouThreshold:a,scoreThreshold:i,softNmsSigma:p}}var BN=async(r,e,t,o,n=Ye)=>{switch(r.op){case\"NonMaxSuppressionV5\":{let{boxes:s,scores:a,maxOutputSize:i,iouThreshold:p,scoreThreshold:u,softNmsSigma:c}=HC(r,e,t),l=await n.image.nonMaxSuppressionWithScoreAsync(s,a,i,p,u,c);return[l.selectedIndices,l.selectedScores]}case\"NonMaxSuppressionV4\":{let{boxes:s,scores:a,maxOutputSize:i,iouThreshold:p,scoreThreshold:u}=HC(r,e,t),c=I(\"padToMaxOutputSize\",r,e,t),l=await n.image.nonMaxSuppressionPaddedAsync(s,a,i,p,u,c);return[l.selectedIndices,l.validOutputs]}case\"NonMaxSuppressionV3\":case\"NonMaxSuppressionV2\":{let{boxes:s,scores:a,maxOutputSize:i,iouThreshold:p,scoreThreshold:u}=HC(r,e,t);return[await n.image.nonMaxSuppressionAsync(s,a,i,p,u)]}case\"Where\":{let s=n.cast(I(\"condition\",r,e,t),\"bool\"),a=[await n.whereAsync(s)];return s.dispose(),a}case\"ListDiff\":return n.setdiff1dAsync(I(\"x\",r,e,t),I(\"y\",r,e,t));default:throw TypeError(`Node type ${r.op} is not implemented`)}};var VN=(r,e,t,o=Ye)=>{switch(r.op){case\"LowerBound\":{let n=I(\"sortedSequence\",r,e,t),s=I(\"values\",r,e,t);return[o.lowerBound(n,s)]}case\"TopKV2\":{let n=I(\"x\",r,e,t),s=I(\"k\",r,e,t),a=I(\"sorted\",r,e,t),i=o.topk(n,s,a);return[i.values,i.indices]}case\"UpperBound\":{let n=I(\"sortedSequence\",r,e,t),s=I(\"values\",r,e,t);return[o.upperBound(n,s)]}case\"Unique\":{let n=I(\"x\",r,e,t),s=o.unique(n);return[s.values,s.indices]}case\"UniqueV2\":{let n=I(\"x\",r,e,t),s=I(\"axis\",r,e,t),a=o.unique(n,s);return[a.values,a.indices]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var zN=(r,e,t,o=Ye)=>{switch(r.op){case\"Const\":return e[r.name];case\"PlaceholderWithDefault\":let n=I(\"default\",r,e,t);return[Gt(r.name,e,t)||n];case\"Placeholder\":return[Gt(r.name,e,t)];case\"Identity\":case\"StopGradient\":case\"FakeQuantWithMinMaxVars\":{let c=I(\"x\",r,e,t);return[as(c)]}case\"IdentityN\":return I(\"x\",r,e,t).map(c=>as(c));case\"Snapshot\":let s=I(\"x\",r,e,t);return[as(s)];case\"Shape\":return[o.tensor1d(I(\"x\",r,e,t).shape,\"int32\")];case\"ShapeN\":return I(\"x\",r,e,t).map(c=>o.tensor1d(c.shape));case\"Size\":return[o.scalar(I(\"x\",r,e,t).size,\"int32\")];case\"Rank\":return[o.scalar(I(\"x\",r,e,t).rank,\"int32\")];case\"NoOp\":return[o.scalar(1)];case\"Print\":let a=I(\"x\",r,e,t),i=I(\"data\",r,e,t),p=I(\"message\",r,e,t),u=I(\"summarize\",r,e,t);console.warn(\"The graph has a tf.print() operation,usually used for debugging, which slows down performance.\"),console.log(p);for(let c=0;ce.dispose()),this.tensorMap.clear(),this.handle.dispose()}size(){return this.tensorMap.size}tensorSize(){return be(this.size(),\"int32\")}async import(e,t){this.checkKeyAndValueTensor(e,t);let o=await e.data();return this.tensorMap.forEach(n=>n.dispose()),this.tensorMap.clear(),Ee(()=>{let n=so(t),s=o.length,a=n.length;y.assert(s===a,()=>`The number of elements doesn't match, keys has ${s} elements, the values has ${a} elements.`);for(let i=0;i{let n=[];for(let s=0;s{switch(r.op){case\"HashTable\":case\"HashTableV2\":{let n=o.getHashTableHandleByName(r.name);if(n!=null)return[n];{let s=I(\"keyDType\",r,e,t),a=I(\"valueDType\",r,e,t),i=new sf(s,a);return o.addHashTable(r.name,i),[i.handle]}}case\"InitializeTable\":case\"InitializeTableV2\":case\"LookupTableImport\":case\"LookupTableImportV2\":{let n=I(\"tableHandle\",r,e,t,o),s=I(\"keys\",r,e,t),a=I(\"values\",r,e,t);return[await o.getHashTableById(n.id).import(s,a)]}case\"LookupTableFind\":case\"LookupTableFindV2\":{let n=I(\"tableHandle\",r,e,t,o),s=I(\"keys\",r,e,t),a=I(\"defaultValue\",r,e,t);return[await o.getHashTableById(n.id).find(s,a)]}case\"LookupTableSize\":case\"LookupTableSizeV2\":{let n=I(\"tableHandle\",r,e,t,o);return[o.getHashTableById(n.id).tensorSize()]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var UN=(r,e,t,o=Ye)=>{switch(r.op){case\"ResizeBilinear\":{let n=I(\"images\",r,e,t),s=I(\"size\",r,e,t),a=I(\"alignCorners\",r,e,t),i=I(\"halfPixelCenters\",r,e,t);return[o.image.resizeBilinear(n,[s[0],s[1]],a,i)]}case\"ResizeNearestNeighbor\":{let n=I(\"images\",r,e,t),s=I(\"size\",r,e,t),a=I(\"alignCorners\",r,e,t),i=I(\"halfPixelCenters\",r,e,t);return[o.image.resizeNearestNeighbor(n,[s[0],s[1]],a,i)]}case\"CropAndResize\":{let n=I(\"image\",r,e,t),s=I(\"boxes\",r,e,t),a=I(\"boxInd\",r,e,t),i=I(\"cropSize\",r,e,t),p=I(\"method\",r,e,t),u=I(\"extrapolationValue\",r,e,t);return[o.image.cropAndResize(n,s,a,i,p,u)]}case\"ImageProjectiveTransformV3\":{let n=I(\"images\",r,e,t),s=I(\"transforms\",r,e,t),a=I(\"outputShape\",r,e,t),i=I(\"fillValue\",r,e,t),p=I(\"interpolation\",r,e,t),u=I(\"fillMode\",r,e,t);return[o.image.transform(n,s,p.toLowerCase(),u.toLowerCase(),i,a)]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var GN=(r,e,t,o=Ye)=>{switch(r.op){case\"Equal\":return[o.equal(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"NotEqual\":return[o.notEqual(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"Greater\":return[o.greater(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"GreaterEqual\":return[o.greaterEqual(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"Less\":return[o.less(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"LessEqual\":return[o.lessEqual(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"LogicalAnd\":return[o.logicalAnd(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"LogicalNot\":return[o.logicalNot(I(\"a\",r,e,t))];case\"LogicalOr\":return[o.logicalOr(I(\"a\",r,e,t),I(\"b\",r,e,t))];case\"Select\":case\"SelectV2\":return[o.where(I(\"condition\",r,e,t),I(\"a\",r,e,t),I(\"b\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var HN=(r,e,t,o=Ye)=>{switch(r.op){case\"BatchMatMul\":case\"BatchMatMulV2\":case\"MatMul\":return[o.matMul(I(\"a\",r,e,t),I(\"b\",r,e,t),I(\"transposeA\",r,e,t),I(\"transposeB\",r,e,t))];case\"Einsum\":return[o.einsum(I(\"equation\",r,e,t),...I(\"tensors\",r,e,t))];case\"Transpose\":return[o.transpose(I(\"x\",r,e,t),I(\"perm\",r,e,t))];case\"_FusedMatMul\":let[n,s]=I(\"fusedOps\",r,e,t),a=n===\"biasadd\",i=s===\"prelu\",p=I(\"numArgs\",r,e,t),u=I(\"leakyreluAlpha\",r,e,t);if(a){if(i&&p!==2)throw new Error(\"Fused MatMul with BiasAdd and Prelu must have two extra arguments: bias and alpha.\");if(!i&&p!==1)throw new Error(\"Fused MatMul with BiasAdd must have one extra argument: bias.\")}let[c,l]=I(\"args\",r,e,t);return[o.fused.matMul({a:I(\"a\",r,e,t),b:I(\"b\",r,e,t),transposeA:I(\"transposeA\",r,e,t),transposeB:I(\"transposeB\",r,e,t),bias:c,activation:s,preluActivationWeights:l,leakyreluAlpha:u})];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var qN=(r,e,t,o=Ye)=>{switch(r.op){case\"EuclideanNorm\":return[o.euclideanNorm(I(\"x\",r,e,t),I(\"axis\",r,e,t),I(\"keepDims\",r,e,t))];case\"FusedBatchNorm\":case\"FusedBatchNormV2\":return[o.batchNorm(I(\"x\",r,e,t),I(\"mean\",r,e,t),I(\"variance\",r,e,t),I(\"offset\",r,e,t),I(\"scale\",r,e,t),I(\"epsilon\",r,e,t))];case\"FusedBatchNormV3\":return[o.batchNorm(I(\"x\",r,e,t),I(\"mean\",r,e,t),I(\"variance\",r,e,t),I(\"offset\",r,e,t),I(\"scale\",r,e,t),I(\"epsilon\",r,e,t))];case\"LRN\":return[o.localResponseNormalization(I(\"x\",r,e,t),I(\"radius\",r,e,t),I(\"bias\",r,e,t),I(\"alpha\",r,e,t),I(\"beta\",r,e,t))];case\"Softmax\":return[o.softmax(I(\"x\",r,e,t))];case\"LogSoftmax\":return[o.logSoftmax(I(\"x\",r,e,t))];case\"SparseToDense\":return[o.sparseToDense(I(\"sparseIndices\",r,e,t),I(\"outputShape\",r,e,t),I(\"sparseValues\",r,e,t),I(\"defaultValue\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var KN=(r,e,t,o=Ye)=>{switch(r.op){case\"RaggedGather\":{let{outputNestedSplits:n,outputDenseValues:s}=o.raggedGather(I(\"paramsNestedSplits\",r,e,t),I(\"paramsDenseValues\",r,e,t),I(\"indices\",r,e,t),I(\"outputRaggedRank\",r,e,t));return n.concat(s)}case\"RaggedRange\":{let{rtNestedSplits:n,rtDenseValues:s}=o.raggedRange(I(\"starts\",r,e,t),I(\"limits\",r,e,t),I(\"splits\",r,e,t));return[n,s]}case\"RaggedTensorToTensor\":return[o.raggedTensorToTensor(I(\"shape\",r,e,t),I(\"values\",r,e,t),I(\"defaultValue\",r,e,t),I(\"rowPartitionTensors\",r,e,t),I(\"rowPartitionTypes\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var jN=(r,e,t,o=Ye)=>{switch(r.op){case\"Max\":{let i=I(\"axis\",r,e,t),p=I(\"keepDims\",r,e,t);return[o.max(I(\"x\",r,e,t),i,p)]}case\"Mean\":{let i=I(\"axis\",r,e,t),p=I(\"keepDims\",r,e,t);return[o.mean(I(\"x\",r,e,t),i,p)]}case\"Min\":{let i=I(\"axis\",r,e,t),p=I(\"keepDims\",r,e,t);return[o.min(I(\"x\",r,e,t),i,p)]}case\"Sum\":{let i=I(\"axis\",r,e,t),p=I(\"keepDims\",r,e,t);return[o.sum(I(\"x\",r,e,t),i,p)]}case\"All\":{let i=I(\"axis\",r,e,t),p=I(\"keepDims\",r,e,t);return[o.all(I(\"x\",r,e,t),i,p)]}case\"Any\":{let i=I(\"axis\",r,e,t),p=I(\"keepDims\",r,e,t);return[o.any(I(\"x\",r,e,t),i,p)]}case\"ArgMax\":{let i=I(\"axis\",r,e,t);return[o.argMax(I(\"x\",r,e,t),i)]}case\"ArgMin\":{let i=I(\"axis\",r,e,t);return[o.argMin(I(\"x\",r,e,t),i)]}case\"Prod\":{let i=I(\"axis\",r,e,t),p=I(\"keepDims\",r,e,t);return[o.prod(I(\"x\",r,e,t),i,p)]}case\"Cumprod\":{let i=I(\"axis\",r,e,t),p=I(\"exclusive\",r,e,t),u=I(\"reverse\",r,e,t);return[o.cumprod(I(\"x\",r,e,t),i,p,u)]}case\"Cumsum\":{let i=I(\"axis\",r,e,t),p=I(\"exclusive\",r,e,t),u=I(\"reverse\",r,e,t);return[o.cumsum(I(\"x\",r,e,t),i,p,u)]}case\"Bincount\":let n=I(\"x\",r,e,t),s=I(\"weights\",r,e,t),a=I(\"size\",r,e,t);return[o.bincount(n,s,a)];case\"DenseBincount\":{let i=I(\"x\",r,e,t),p=I(\"weights\",r,e,t),u=I(\"size\",r,e,t),c=I(\"binaryOutput\",r,e,t);return[o.denseBincount(i,p,u,c)]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var XN=(r,e,t,o=Ye)=>{switch(r.op){case\"ConcatV2\":case\"Concat\":{let n=I(\"n\",r,e,t),s=I(\"axis\",r,e,t),a=I(\"tensors\",r,e,t);return a=a.slice(0,n),[o.concat(a,s)]}case\"Gather\":{let n=I(\"x\",r,e,t),s=I(\"indices\",r,e,t);return[o.gather(n,o.cast(s,\"int32\"),0)]}case\"GatherV2\":{let n=I(\"axis\",r,e,t),s=I(\"batchDims\",r,e,t),a=I(\"x\",r,e,t),i=I(\"indices\",r,e,t);return[o.gather(a,o.cast(i,\"int32\"),n,s)]}case\"Reverse\":{let n=I(\"dims\",r,e,t),s=[];for(let i=0;i{let n=I(\"axis\",r,e,t),s=I(\"tensors\",r,e,t),a=s[0].shape,i=o.squeeze(s[0]).shape,p=s.map(u=>{let c=y.arraysEqual(u.shape,a);if(!c&&!y.arraysEqual(o.squeeze(u).shape,i))throw new Error(\"the input tensors shape does not match\");return c?u:o.reshape(u,a)});return[o.stack(p,n)]});case\"Unpack\":{let n=I(\"axis\",r,e,t),s=I(\"tensor\",r,e,t);return o.unstack(s,n)}case\"Tile\":{let n=I(\"reps\",r,e,t);return[o.tile(I(\"x\",r,e,t),n)]}case\"Split\":case\"SplitV\":{let n=I(\"axis\",r,e,t),s=I(\"numOrSizeSplits\",r,e,t),a=I(\"x\",r,e,t);return o.split(a,s,n)}case\"ScatterNd\":{let n=I(\"indices\",r,e,t),s=I(\"values\",r,e,t),a=I(\"shape\",r,e,t);return[o.scatterND(n,s,a)]}case\"GatherNd\":{let n=I(\"x\",r,e,t),s=I(\"indices\",r,e,t);return[o.gatherND(n,s)]}case\"SparseToDense\":{let n=I(\"sparseIndices\",r,e,t),s=I(\"outputShape\",r,e,t),a=I(\"sparseValues\",r,e,t),i=I(\"defaultValue\",r,e,t);return[o.sparseToDense(n,a,s,a.dtype===i.dtype?i:o.cast(i,a.dtype))]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var YN=(r,e,t,o=Ye)=>{switch(r.op){case\"SparseFillEmptyRows\":{let{outputIndices:n,outputValues:s,emptyRowIndicator:a,reverseIndexMap:i}=o.sparse.sparseFillEmptyRows(I(\"indices\",r,e,t),I(\"values\",r,e,t),I(\"denseShape\",r,e,t),I(\"defaultValue\",r,e,t));return[n,s,a,i]}case\"SparseReshape\":{let{outputIndices:n,outputShape:s}=o.sparse.sparseReshape(I(\"inputIndices\",r,e,t),I(\"inputShape\",r,e,t),I(\"newShape\",r,e,t));return[n,s]}case\"SparseSegmentMean\":return[o.sparse.sparseSegmentMean(I(\"data\",r,e,t),I(\"indices\",r,e,t),I(\"segmentIds\",r,e,t))];case\"SparseSegmentSum\":return[o.sparse.sparseSegmentSum(I(\"data\",r,e,t),I(\"indices\",r,e,t),I(\"segmentIds\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var QN=(r,e,t,o=Ye)=>{switch(r.op){case\"FFT\":return[o.fft(I(\"x\",r,e,t))];case\"IFFT\":return[o.ifft(I(\"x\",r,e,t))];case\"RFFT\":return[o.rfft(I(\"x\",r,e,t))];case\"IRFFT\":return[o.irfft(I(\"x\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var ZN=(r,e,t,o=Ye)=>{switch(r.op){case\"StringNGrams\":{let{nGrams:n,nGramsSplits:s}=o.string.stringNGrams(I(\"data\",r,e,t),I(\"dataSplits\",r,e,t),I(\"separator\",r,e,t),I(\"nGramWidths\",r,e,t),I(\"leftPad\",r,e,t),I(\"rightPad\",r,e,t),I(\"padWidth\",r,e,t),I(\"preserveShortSequences\",r,e,t));return[n,s]}case\"StringSplit\":{let{indices:n,values:s,shape:a}=o.string.stringSplit(I(\"input\",r,e,t),I(\"delimiter\",r,e,t),I(\"skipEmpty\",r,e,t));return[n,s,a]}case\"StringToHashBucketFast\":return[o.string.stringToHashBucketFast(I(\"input\",r,e,t),I(\"numBuckets\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var JN=(r,e,t,o=Ye)=>{switch(r.op){case\"Cast\":return[o.cast(I(\"x\",r,e,t),I(\"dtype\",r,e,t))];case\"ExpandDims\":{let n=I(\"axis\",r,e,t);return[o.expandDims(I(\"x\",r,e,t),n)]}case\"Squeeze\":{let n=I(\"axis\",r,e,t);return[o.squeeze(I(\"x\",r,e,t),n)]}case\"Reshape\":return[o.reshape(I(\"x\",r,e,t),I(\"shape\",r,e,t))];case\"MirrorPad\":return[o.mirrorPad(I(\"x\",r,e,t),I(\"padding\",r,e,t),I(\"mode\",r,e,t))];case\"PadV2\":case\"Pad\":return[o.pad(I(\"x\",r,e,t),I(\"padding\",r,e,t),I(\"constantValue\",r,e,t))];case\"SpaceToBatchND\":{let n=I(\"blockShape\",r,e,t),s=I(\"paddings\",r,e,t);return[o.spaceToBatchND(I(\"x\",r,e,t),n,s)]}case\"BatchToSpaceND\":{let n=I(\"blockShape\",r,e,t),s=I(\"crops\",r,e,t);return[o.batchToSpaceND(I(\"x\",r,e,t),n,s)]}case\"DepthToSpace\":{let n=I(\"blockSize\",r,e,t),s=I(\"dataFormat\",r,e,t).toUpperCase();return[o.depthToSpace(I(\"x\",r,e,t),n,s)]}case\"BroadcastTo\":return[o.broadcastTo(I(\"x\",r,e,t),I(\"shape\",r,e,t))];case\"BroadcastArgs\":return[o.broadcastArgs(I(\"s0\",r,e,t),I(\"s1\",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function qC(r,e,t,o,n=Ee){let s=((a,i,p)=>{switch(a.category){case\"arithmetic\":return n(()=>_N(a,i,p));case\"basic_math\":return n(()=>EN(a,i,p));case\"control\":return ON(a,i,p);case\"convolution\":return n(()=>MN(a,i,p));case\"creation\":return n(()=>LN(a,i,p));case\"dynamic\":return BN(a,i,p);case\"evaluation\":return n(()=>VN(a,i,p));case\"image\":return n(()=>UN(a,i,p));case\"graph\":return n(()=>zN(a,i,p));case\"logical\":return n(()=>GN(a,i,p));case\"matrices\":return n(()=>HN(a,i,p));case\"normalization\":return n(()=>qN(a,i,p));case\"ragged\":return n(()=>KN(a,i,p));case\"reduction\":return n(()=>jN(a,i,p));case\"slice_join\":return n(()=>XN(a,i,p));case\"sparse\":return n(()=>YN(a,i,p));case\"spectral\":return n(()=>QN(a,i,p));case\"string\":return n(()=>ZN(a,i,p));case\"transformation\":return n(()=>JN(a,i,p));case\"hash_table\":return WN(a,i,p,o);case\"custom\":let u=Gd(a.op);if(u&&u.customExecutor)return u.customExecutor(new rf(a,i,p));throw TypeError(`Custom op ${a.op} is not registered.`);default:throw TypeError(`Unknown op '${a.op}'. File an issue at https://github.com/tensorflow/tfjs/issues so we can add it, or register a custom execution with tf.registerOp()`)}})(r,e,t);return y.isPromise(s)?s.then(a=>[].concat(a)):[].concat(s)}var cl=class{constructor(e={},t={},o={},n={}){this.weightMap=e,this.tensorArrayMap=t,this.tensorListMap=o,this.functionMap=n,this.rootContext={id:0,frameName:\"\",iterationId:0},this.contexts=[this.rootContext],this.lastId=0,this.generateCurrentContextIds()}newFrame(e,t){return{id:e,frameName:t,iterationId:0}}set currentContext(e){this.contexts!==e&&(this.contexts=e,this.generateCurrentContextIds())}get currentContext(){return this.contexts}get currentContextId(){return this._currentContextIds[0]}get currentContextIds(){return this._currentContextIds}generateCurrentContextIds(){let e=[];for(let t=0;tt.id===0&&t.iterationId===0?\"\":`${t.frameName}-${t.iterationId}`).join(\"/\"):\"\"}enterFrame(e){this.contexts&&(this.lastId++,this.contexts=this.contexts.slice(),this.contexts.push(this.newFrame(this.lastId,e)),this._currentContextIds.unshift(this.contextIdforContexts(this.contexts)))}exitFrame(){if(this.contexts&&this.contexts.length>1)this.contexts=this.contexts.slice(),this.contexts.splice(-1),this.currentContextIds.shift();else throw new Error(\"Cannot exit frame, the context is empty\")}nextIteration(){if(this.contexts&&this.contexts.length>0){this.contexts=this.contexts.slice(),this.lastId++;let e=Object.assign({},this.contexts[this.contexts.length-1]);e.iterationId+=1,e.id=this.lastId,this.contexts.splice(-1,1,e),this._currentContextIds.splice(0,1,this.contextIdforContexts(this.contexts))}else throw new Error(\"Cannot increase frame iteration, the context is empty\")}getWeight(e){return this.weightMap[e]}addTensorArray(e){this.tensorArrayMap[e.id]=e}getTensorArray(e){return this.tensorArrayMap[e]}addTensorList(e){this.tensorListMap[e.id]=e}getTensorList(e){return this.tensorListMap[e]}dispose(e){for(let t in this.tensorArrayMap)this.tensorArrayMap[t].clearAndClose(e);for(let t in this.tensorListMap)this.tensorListMap[t].clearAndClose(e)}};function KC(r,e,t,o){let n=new Set,s=[],a=null,i=null,p=new Set,u=Object.keys(r).map(m=>Ir(m)[0]),c=[];o!=null&&(c=o.map(m=>Ir(m.name)[0]));let l=[...e];for(;l.length>0;){let m=l.pop();if((jC(m)||i6(m)||u6(m))&&a==null&&(a=m,i=a.children.map(d=>d.name).filter(d=>n.has(d))),n.add(m.name),t[m.name]==null&&u.indexOf(m.name)===-1&&c.indexOf(m.name)===-1){if(m.inputs.length===0){s.push(m.name);continue}m.inputs.forEach(d=>{p.has(d.name)||(p.add(d.name),l.push(d))})}}return{inputs:r,outputs:e,usedNodes:n,missingInputs:s,dynamicNode:a,syncInputs:i}}function eT(r,e,t){let{usedNodes:o,inputs:n}=t,s=[],a=Object.keys(n).map(c=>Ir(c)[0]).map(c=>r.nodes[c]),i=r.initNodes;a.forEach(c=>{o.has(c.name)&&s.push(c)}),r.weights.forEach(c=>{o.has(c.name)&&s.push(c)}),i!=null&&i.forEach(c=>{o.has(c.name)&&s.push(c)});let p=new Set,u=[];for(;s.length>0;){let c=s.pop();p.add(c.name),e[c.name]||u.push(c),c.children.forEach(l=>{!p.has(l.name)&&o.has(l.name)&&l.inputs.every(m=>p.has(m.name))&&s.push(l)})}return u}var n6=[\"Switch\",\"Merge\",\"Enter\",\"Exit\",\"NextIteration\",\"StatelessIf\",\"StatelessWhile\",\"if\",\"While\"],s6=[\"NonMaxSuppressionV2\",\"NonMaxSuppressionV3\",\"NonMaxSuppressionV5\",\"Where\"],a6=[\"HashTable\",\"HashTableV2\",\"LookupTableImport\",\"LookupTableImportV2\",\"LookupTableFind\",\"LookupTableFindV2\",\"LookupTableSize\",\"LookupTableSizeV2\"];function jC(r){return n6.indexOf(r.op)>=0}function i6(r){return s6.indexOf(r.op)>=0}function u6(r){return a6.indexOf(r.op)>=0}var Cu=class{constructor(e,t){this.graph=e,this.parent=t,this.compiledMap=new Map,this._weightMap={},this.SEPERATOR=\",\",this._functions={},this._functionExecutorMap={},this.keepIntermediateTensors=!1,this._outputs=e.outputs,this._inputs=e.inputs,this._initNodes=e.initNodes,this._signature=e.signature,this._functions=e.functions,e.functions!=null&&Object.keys(e.functions).forEach(o=>{this._functionExecutorMap[o]=new Cu(e.functions[o],this)})}get weightIds(){return this.parent?this.parent.weightIds:this._weightIds}get functionExecutorMap(){return this.parent?this.parent.functionExecutorMap:this._functionExecutorMap}get weightMap(){return this.parent?this.parent.weightMap:this._weightMap}set weightMap(e){let t=Object.keys(e).map(o=>e[o].map(n=>n.id));this._weightIds=[].concat(...t),this._weightMap=e}set resourceManager(e){this._resourceManager=e}get inputs(){return this._inputs.map(e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0}))}get outputs(){return this._outputs.map(e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0}))}get inputNodes(){return this._inputs.map(e=>e.signatureKey||e.name)}get outputNodes(){return this._outputs.map(e=>{let t=e.signatureKey||e.name;return e.defaultOutput?`${t}:${e.defaultOutput}`:t})}get functions(){return Object.keys(this._functions).reduce((e,t)=>(e[t]=this._functions[t].signature,e),{})}getCompilationKey(e,t){let o=e.map(s=>s.name).sort(),n=t.map(s=>s.name).sort();return o.join(this.SEPERATOR)+\"--\"+n.join(this.SEPERATOR)}compile(e,t){let o=KC(e,t,this.weightMap,this._initNodes),{missingInputs:n,dynamicNode:s,syncInputs:a}=o;if(s!=null)throw new Error(`This execution contains the node '${s.name}', which has the dynamic op '${s.op}'. Please use model.executeAsync() instead. Alternatively, to avoid the dynamic ops, specify the inputs [${a}]`);if(n.length>0){let i=t.map(u=>u.name),p=Object.keys(e);throw new Error(`Cannot compute the outputs [${i}] from the provided inputs [${p}]. Missing the following inputs: [${n}]`)}return eT(this.graph,this.weightMap,o)}cloneAndKeepTensor(e){if(e==null)return null;let t=e.clone();return _r(t),t}cloneTensorList(e){return e?e.map(o=>this.cloneAndKeepTensor(o)):null}cloneTensorMap(e){return Object.fromEntries(Object.entries(e).map(([t,o])=>[t,this.cloneTensorList(o)]))}execute(e,t){this.disposeIntermediateTensors(),e=this.mapInputs(e);let o=Object.keys(e).sort();this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t);let n=o.map(l=>this.graph.nodes[Ir(l)[0]]),s=t.map(l=>Ir(l)[0]),a=s.map(l=>this.graph.nodes[l]);a.length===0&&(a=this._outputs);let i=this.getCompilationKey(n,a),p=this.compiledMap.get(i);p==null&&(p=this.compile(e,a),this.compiledMap.set(i,p));try{this.keepIntermediateTensors=O().getBool(\"KEEP_INTERMEDIATE_TENSORS\")}catch(l){this.keepIntermediateTensors=!1,console.warn(l.message)}let u={},c={};return Ee(()=>{let l=new cl(this.weightMap,u,c,this.functionExecutorMap),m=Object.assign({},this.weightMap);this.keepIntermediateTensors&&(this.clonedTensorsMap=this.cloneTensorMap(this.weightMap)),Object.keys(e).forEach(h=>{let[g,x]=Ir(h),b=[];b[x]=e[h],m[g]=b,this.keepIntermediateTensors&&(this.clonedTensorsMap[g]=this.cloneTensorList(b))});let d=this.getFrozenTensorIds(m),f={};for(let h=0;hGt(h,m,l))})}getFrozenTensorIds(e){let t=[].concat.apply([],Object.keys(e).map(o=>e[o]).map(o=>o.map(n=>n.id)));return new Set(t)}checkTensorForDisposal(e,t,o,n,s,a,i){t.category===\"control\"||a.indexOf(e)!==-1||(o[e].forEach(p=>{p!=null&&(i[p.id]=(i[p.id]||0)+t.children.length)}),t.inputs.forEach(p=>{if(p.category!==\"control\"){let u=vN(p.name,o,n);u!=null&&u.forEach(c=>{if(c&&!c.kept&&!s.has(c.id)){let l=i[c.id];l===1?(c.dispose(),delete i[c.id]):l!=null&&i[c.id]--}})}}))}async executeAsync(e,t){return this._executeAsync(e,t)}disposeIntermediateTensors(){!this.clonedTensorsMap||(Object.values(this.clonedTensorsMap).forEach(e=>{for(let t of e)t&&!t.isDisposed&&t.dispose()}),this.clonedTensorsMap=null)}getIntermediateTensors(){return this.clonedTensorsMap}async _executeAsync(e,t,o=!1,n={},s={}){this.disposeIntermediateTensors(),o||(e=this.mapInputs(e),this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t));try{this.keepIntermediateTensors=O().getBool(\"KEEP_INTERMEDIATE_TENSORS\")}catch(m){this.keepIntermediateTensors=!1,console.warn(m.message)}let a=new cl(this.weightMap,n,s,this.functionExecutorMap);this.keepIntermediateTensors&&(this.clonedTensorsMap=this.cloneTensorMap(this.weightMap));let i=await this.executeWithControlFlow(e,a,t,o),p=t.map(m=>Gt(m,i,a)),u=p.map(m=>m.id),c=Object.keys(e).map(m=>e[m].id),l=new Set([...u,...c,...this.weightIds]);return Object.values(i).forEach(m=>{m.forEach(d=>{d&&!d.isDisposed&&!l.has(d.id)&&d.dispose()})}),this.parent==null&&a.dispose(l),p}async executeFunctionAsync(e,t,o){let n=e.reduce((s,a,i)=>(s[this.inputs[i].name]=a,s),{});return this._executeAsync(n,this.outputNodes,!0,t,o)}async executeWithControlFlow(e,t,o,n){let s=Object.keys(e),a=s.map(C=>this.graph.nodes[Ir(C)[0]]),i=o.map(C=>Ir(C)[0]),p=i.map(C=>this.graph.nodes[C]);p.length===0&&(p=this._outputs);let{usedNodes:u,missingInputs:c,dynamicNode:l,syncInputs:m}=KC(e,p,this.weightMap,this._initNodes),d=[...a,...this.graph.weights,...this._initNodes||[]].map(C=>({node:C,contexts:t.currentContext})),f=Object.assign({},this.weightMap);Object.keys(e).forEach(C=>{let[w,k]=Ir(C),_=[];_[k]=e[C],f[w]=_});let h={},g=this.getFrozenTensorIds(f),x={};for(;d.length>0;){let C=this.processStack(a,d,t,f,x,g,i,h,u);await Promise.all(C)}l==null&&!n&&console.warn(\"This model execution did not contain any nodes with control flow or dynamic output shapes. You can use model.execute() instead.\");let b=p.filter(C=>!jC(C)&&!Gt(C.name,f,t)).map(C=>C.name);if(b.length>0){let C=\"\";throw l!=null&&(C=`Alternatively, to avoid the dynamic ops, use model.execute() and specify the inputs [${m}]`),new Error(`Cannot compute the outputs [${b}] from the provided inputs [${s}]. Consider providing the following inputs: [${c}]. ${C}`)}return f}processStack(e,t,o,n,s,a,i,p,u){let c=[];for(;t.length>0;){let l=t.pop();o.currentContext=l.contexts;let m=\"\";if(l.node.op===\"Enter\"&&I(\"isConstant\",l.node,n,o)&&([m]=ss(l.node.name,o)),n[l.node.name]==null){let d=qC(l.node,n,o,this._resourceManager);m||([m]=ss(l.node.name,o));let f=o.currentContext;y.isPromise(d)?c.push(d.then(h=>(n[m]=h,this.keepIntermediateTensors&&(this.clonedTensorsMap[m]=this.cloneTensorList(h)),o.currentContext=f,this.checkTensorForDisposal(m,l.node,n,o,a,i,p),this.processChildNodes(l.node,t,o,n,s,u),h))):(n[m]=d,this.keepIntermediateTensors&&(this.clonedTensorsMap[m]=this.cloneTensorList(d)),this.checkTensorForDisposal(m,l.node,n,o,a,i,p),this.processChildNodes(l.node,t,o,n,s,u))}else this.processChildNodes(l.node,t,o,n,s,u)}return c}processChildNodes(e,t,o,n,s,a){e.children.forEach(i=>{let[p]=ss(i.name,o);s[p]||!a.has(i.name)||(i.op===\"Merge\"?i.inputNames.some(u=>!!Gt(u,n,o))&&(s[p]=!0,t.push({contexts:o.currentContext,node:i})):i.inputNames.every(u=>!!Gt(u,n,o))&&(s[p]=!0,t.push({contexts:o.currentContext,node:i})))})}dispose(){Object.keys(this.weightMap).forEach(e=>this.weightMap[e].forEach(t=>t.dispose()))}checkInputShapeAndType(e){Object.keys(e).forEach(t=>{let o=e[t],[n]=Ir(t),s=this.graph.nodes[n];if(s.attrParams.shape&&s.attrParams.shape.value){let a=s.attrParams.shape.value,i=a.length===o.shape.length&&o.shape.every((p,u)=>a[u]===-1||a[u]===p);y.assert(i,()=>`The shape of dict['${s.name}'] provided in model.execute(dict) must be [${a}], but was [${o.shape}]`)}s.attrParams.dtype&&s.attrParams.dtype.value&&y.assert(o.dtype===s.attrParams.dtype.value,()=>`The dtype of dict['${s.name}'] provided in model.execute(dict) must be ${s.attrParams.dtype.value}, but was ${o.dtype}`)})}mapInputs(e){var t,o;let n={};for(let s in e){let a=(o=(t=this._signature)===null||t===void 0?void 0:t.inputs)===null||o===void 0?void 0:o[s];a!=null?n[a.name]=e[s]:n[s]=e[s]}return n}checkInputs(e){let t=Object.keys(e).filter(o=>{let[n]=Ir(o);return this.graph.nodes[n]==null});if(t.length>0)throw new Error(`The dict provided in model.execute(dict) has keys: [${t}] that are not part of graph`)}mapOutputs(e){return e.map(t=>{var o,n;let s=(n=(o=this._signature)===null||o===void 0?void 0:o.outputs)===null||n===void 0?void 0:n[t];return s!=null?s.name:t},{})}checkOutputs(e){e.forEach(t=>{let[o]=Ir(t);if(!this.graph.nodes[o])throw new Error(`The output '${t}' is not found in the graph`)})}};var af=class{constructor(e={},t={}){this.hashTableNameToHandle=e,this.hashTableMap=t}addHashTable(e,t){this.hashTableNameToHandle[e]=t.handle,this.hashTableMap[t.id]=t}getHashTableHandleByName(e){return this.hashTableNameToHandle[e]}getHashTableById(e){return this.hashTableMap[e]}dispose(){for(let e in this.hashTableMap)this.hashTableMap[e].clearAndClose(),delete this.hashTableMap[e];for(let e in this.hashTableNameToHandle)this.hashTableNameToHandle[e].dispose(),delete this.hashTableNameToHandle[e]}};var p6=\"?tfjs-format=file\",c6=\"model.json\",ll=class{constructor(e,t={},o=Ea){this.modelUrl=e,this.loadOptions=t,this.version=\"n/a\",this.io=o,t==null&&(this.loadOptions={}),this.resourceManager=new af}get modelVersion(){return this.version}get inputNodes(){return this.executor.inputNodes}get outputNodes(){return this.executor.outputNodes}get inputs(){return this.executor.inputs}get outputs(){return this.executor.outputs}get weights(){return this.executor.weightMap}get metadata(){return this.artifacts.userDefinedMetadata}get modelSignature(){return this.signature}get modelStructuredOutputKeys(){return this.structuredOutputKeys}findIOHandler(){let e=this.modelUrl;if(e.load!=null)this.handler=e;else if(this.loadOptions.requestInit!=null)this.handler=this.io.browserHTTPRequest(e,this.loadOptions);else{let t=this.io.getLoadHandlers(e,this.loadOptions);if(t.length===0)t.push(this.io.browserHTTPRequest(e,this.loadOptions));else if(t.length>1)throw new Error(`Found more than one (${t.length}) load handlers for URL '${[e]}'`);this.handler=t[0]}}load(){if(this.findIOHandler(),this.handler.load==null)throw new Error(\"Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.\");let e=this.handler.load();return y.isPromise(e)?e.then(t=>this.loadSync(t)):this.loadSync(e)}loadSync(e){this.artifacts=e;let t=this.artifacts.modelTopology,o=this.artifacts.signature;if(this.artifacts.userDefinedMetadata!=null){let s=this.artifacts.userDefinedMetadata;s.signature!=null&&(o=s.signature),s.structuredOutputKeys!=null&&(this.structuredOutputKeys=s.structuredOutputKeys)}this.signature=o,this.version=`${t.versions.producer}.${t.versions.minConsumer}`;let n=this.io.decodeWeights(this.artifacts.weightData,this.artifacts.weightSpecs);if(this.executor=new Cu(pl.Instance.transformGraph(t,this.signature)),this.executor.weightMap=this.convertTensorMapToTensorsMap(n),this.executor.resourceManager=this.resourceManager,e.modelInitializer!=null&&e.modelInitializer.node!=null){let s=pl.Instance.transformGraph(e.modelInitializer);this.initializer=new Cu(s),this.initializer.weightMap=this.executor.weightMap,this.initializer.resourceManager=this.resourceManager,this.initializerSignature=e.initializerSignature}return!0}async save(e,t){if(typeof e==\"string\"){let o=this.io.getSaveHandlers(e);if(o.length===0)throw new Error(`Cannot find any save handlers for URL '${e}'`);if(o.length>1)throw new Error(`Found more than one (${o.length}) save handlers for URL '${e}'`);e=o[0]}if(e.save==null)throw new Error(\"GraphModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.\");return e.save(this.artifacts)}addStructuredOutputNames(e){if(this.structuredOutputKeys){let t=e instanceof it?[e]:e,o={};return t.forEach((n,s)=>o[this.structuredOutputKeys[s]]=n),o}return e}predict(e,t){let o=this.execute(e,this.outputNodes);return this.addStructuredOutputNames(o)}async predictAsync(e,t){let o=await this.executeAsync(e,this.outputNodes);return this.addStructuredOutputNames(o)}normalizeInputs(e){var t;if(!(e instanceof it)&&!Array.isArray(e)){let s=(t=this.signature)===null||t===void 0?void 0:t.inputs;if(s!=null)for(let a in s){let i=s[a];i.resourceId!=null&&(e[a]=this.resourceIdToCapturedInput[i.resourceId])}return e}e=Array.isArray(e)?e:[e];let o=Object.keys(this.resourceIdToCapturedInput).length;if(e.length+o!==this.inputNodes.length)throw new Error(`Input tensor count mismatch, the graph model has ${this.inputNodes.length-o} non-resource placeholders, while there are ${e.length} input tensors provided.`);let n=0;return this.inputNodes.reduce((s,a)=>{var i,p,u;let c=(u=(p=(i=this.signature)===null||i===void 0?void 0:i.inputs)===null||p===void 0?void 0:p[a])===null||u===void 0?void 0:u.resourceId;return c!=null?s[a]=this.resourceIdToCapturedInput[c]:s[a]=e[n++],s},{})}normalizeOutputs(e){return e=e||this.outputNodes,Array.isArray(e)?e:[e]}executeInitializerGraph(){return this.initializer==null?[]:this.initializerSignature==null?this.initializer.execute({},[]):this.initializer.execute({},Object.keys(this.initializerSignature.outputs))}async executeInitializerGraphAsync(){return this.initializer==null?[]:this.initializerSignature==null?this.initializer.executeAsync({},[]):this.initializer.executeAsync({},Object.keys(this.initializerSignature.outputs))}setResourceIdToCapturedInput(e){if(this.resourceIdToCapturedInput={},this.initializerSignature){let t=this.initializerSignature.outputs,o=Object.keys(t);for(let n=0;n1?o:o[0]}async executeAsync(e,t){this.resourceIdToCapturedInput==null&&this.setResourceIdToCapturedInput(await this.executeInitializerGraphAsync()),e=this.normalizeInputs(e),t=this.normalizeOutputs(t);let o=await this.executor.executeAsync(e,t);return o.length>1?o:o[0]}getIntermediateTensors(){return this.executor.getIntermediateTensors()}disposeIntermediateTensors(){this.executor.disposeIntermediateTensors()}convertTensorMapToTensorsMap(e){return Object.keys(e).reduce((t,o)=>(t[o]=[e[o]],t),{})}dispose(){this.executor.dispose(),this.initializer&&(this.initializer.dispose(),this.resourceIdToCapturedInput&&Dt(this.resourceIdToCapturedInput)),this.resourceManager.dispose()}};async function l6(r,e={},t=Ea){if(r==null)throw new Error(\"modelUrl in loadGraphModel() cannot be null. Please provide a url or an IOHandler that loads the model\");e==null&&(e={}),e.fromTFHub&&typeof r==\"string\"&&(r=d6(r));let o=new ll(r,e,t);return await o.load(),o}function m6(r){if(r==null)throw new Error(\"modelUrl in loadGraphModelSync() cannot be null. Please provide model artifacts or an IOHandler that loads the model\");let e;if(r instanceof Array){let[o,n]=r;if(!o)throw new Error(\"modelJSON must be the first element of the array\");if(!n||!(n instanceof ArrayBuffer))throw new Error(\"An ArrayBuffer of weights must be the second element of the array\");if(!(\"modelTopology\"in o))throw new Error(\"Model JSON is missing 'modelTopology'\");if(!(\"weightsManifest\"in o))throw new Error(\"Model JSON is missing 'weightsManifest'\");let s=Ea.getWeightSpecs(o.weightsManifest),a=Ea.getModelArtifactsForJSONSync(o,s,n);e=Ea.fromMemorySync(a)}else if(\"load\"in r)e=r;else if(\"modelTopology\"in r&&\"weightSpecs\"in r&&\"weightData\"in r)e=Ea.fromMemorySync(r);else throw new Error(\"Unknown model format\");let t=new ll(e);return t.load(),t}function d6(r){return r.endsWith(\"/\")||(r=r+\"/\"),`${r}${c6}${p6}`}var f6=\"4.1.0\";function K(r,e){Array.isArray(r)||(r=[r]),r.forEach(t=>{t!=null&&y.assert(t.dtype!==\"complex64\",()=>`${e} does not support complex64 tensors in the CPU backend.`)})}var h6=Lt.whereImpl,Oi=class extends Zr{constructor(){super(),this.blockSize=48,this.firstUse=!0,this.data=new Do(this,cr())}nextDataId(){return Oi.nextDataId++}write(e,t,o){this.firstUse&&(this.firstUse=!1,O().get(\"IS_NODE\")&&S.warn(`\n============================\nHi, looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, visit https://github.com/tensorflow/tfjs-node for more details. \n============================`));let n={id:this.nextDataId()};return this.data.set(n,{values:e,dtype:o,refCount:1}),n}makeTensorInfo(e,t,o){let n;if(t===\"string\"&&o!=null&&o.length>0&&y.isString(o[0])){let s=o.map(a=>y.encodeString(a));n=this.write(s,e,t)}else n=this.write(o,e,t);return{dataId:n,shape:e,dtype:t}}refCount(e){return this.data.has(e)?this.data.get(e).refCount:0}incRef(e){let t=this.data.get(e);t.refCount++}decRef(e){if(this.data.has(e)){let t=this.data.get(e);t.refCount--}}move(e,t,o,n,s){this.data.set(e,{values:t,dtype:n,refCount:s})}numDataIds(){return this.data.numDataIds()}async read(e){return this.readSync(e)}readSync(e){let{dtype:t,complexTensorInfos:o}=this.data.get(e);if(t===\"complex64\"){let n=this.readSync(o.real.dataId),s=this.readSync(o.imag.dataId);return S.mergeRealAndImagArrays(n,s)}return this.data.get(e).values}bufferSync(e){let t=this.readSync(e.dataId);if(e.dtype===\"string\")try{let o=t.map(n=>y.decodeString(n));return le(e.shape,e.dtype,o)}catch(o){throw new Error(\"Failed to decode encoded string bytes into utf-8\")}return le(e.shape,e.dtype,t)}makeOutput(e,t,o){return cr().makeTensorFromTensorInfo(this.makeTensorInfo(t,o,e),this)}disposeData(e,t=!1){if(this.data.has(e)){if(this.data.get(e).refCount--,!t&&this.data.get(e).refCount>0)return!1;let{complexTensorInfos:o}=this.data.get(e);o!=null&&(this.disposeData(o.real.dataId,!0),this.disposeData(o.imag.dataId,!0)),this.data.delete(e)}return!0}disposeIntermediateTensorInfo(e){this.disposeData(e.dataId)}async time(e){let t=y.now();return e(),{kernelMs:y.now()-t}}memory(){return{unreliable:!0,reasons:[\"The reported memory is an upper bound. Due to automatic garbage collection, the true allocated memory may be less.\"]}}where(e){K([e],\"where\");let t=this.readSync(e.dataId);return h6(e.shape,t)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}};Oi.nextDataId=0;var Qp={};Ue(Qp,{addImpl:()=>QC,bincountImpl:()=>Kp,bincountReduceImpl:()=>uf,castImpl:()=>YC,ceilImpl:()=>ZC,concatImpl:()=>Su,equalImpl:()=>JC,expImpl:()=>tS,expm1Impl:()=>oS,floorImpl:()=>nS,gatherNdImpl:()=>pf,gatherV2Impl:()=>cf,greaterEqualImpl:()=>aS,greaterImpl:()=>sS,lessEqualImpl:()=>uS,lessImpl:()=>iS,linSpaceImpl:()=>lf,logImpl:()=>pS,maxImpl:()=>mf,maximumImpl:()=>cS,minimumImpl:()=>lS,multiplyImpl:()=>ml,negImpl:()=>mS,notEqualImpl:()=>dS,prodImpl:()=>fS,raggedGatherImpl:()=>df,raggedRangeImpl:()=>ff,raggedTensorToTensorImpl:()=>hf,rangeImpl:()=>Iu,rsqrtImpl:()=>hS,scatterImpl:()=>Ma,sigmoidImpl:()=>ET,simpleAbsImpl:()=>XC,sliceImpl:()=>vu,sparseFillEmptyRowsImpl:()=>gf,sparseReshapeImpl:()=>xf,sparseSegmentReductionImpl:()=>Yp,sqrtImpl:()=>RT,squaredDifferenceImpl:()=>xS,stridedSliceImpl:()=>yf,stringNGramsImpl:()=>ku,stringSplitImpl:()=>Nu,stringToHashBucketFastImpl:()=>Tu,subImpl:()=>bS,tileImpl:()=>bf,topKImpl:()=>Cf,transposeImpl:()=>jp,uniqueImpl:()=>Sf});function XC(r){let e=new Float32Array(r.length);for(let t=0;t{let{x:e}=r.inputs,t=r.backend;K(e,\"abs\");let o=new Float32Array(y.sizeFromShape(e.shape)),n=t.data.get(e.dataId).values;return o=XC(n),t.makeOutput(o,e.shape,e.dtype)},tT={kernelName:gs,backendName:\"cpu\",kernelFunc:g6};function Be(r){return(e,t,o,n,s)=>{let a=S.assertAndGetBroadcastShape(e,t),i=a.length,p=y.computeStrides(a),u=y.sizeFromShape(a),c=y.getTypedArrayFromDType(s,u),l=e.length,m=t.length,d=y.computeStrides(e),f=y.computeStrides(t),h=S.getBroadcastDims(e,a),g=S.getBroadcastDims(t,a);if(h.length+g.length===0)for(let x=0;xC[$]=0);let w=y.locToIndex(C,l,d),k=b.slice(-m);g.forEach($=>k[$]=0);let _=y.locToIndex(k,m,f);c[x]=r(o[w],n[_])}return[c,a]}}function Ht(r){let{inputs:e,backend:t}=r,{real:o,imag:n}=e,s=t.data.get(o.dataId).values,a=t.data.get(n.dataId).values,i=t.makeTensorInfo(o.shape,\"complex64\"),p=t.data.get(i.dataId);return p.complexTensorInfos={real:t.makeTensorInfo(o.shape,\"float32\",s),imag:t.makeTensorInfo(n.shape,\"float32\",a)},i}var rT={kernelName:ei,backendName:\"cpu\",kernelFunc:Ht};function Hp(r,e,t=\"float32\"){if(t===\"complex64\"){let n=Hp(r,e,\"float32\"),s=Hp(r,e,\"float32\");return Ht({inputs:{real:n,imag:s},backend:r})}let o=y.makeZerosTypedArray(y.sizeFromShape(e),t);return r.makeTensorInfo(e,t,o)}function ar(r){let{inputs:e,backend:t}=r,{x:o}=e;return t.incRef(o.dataId),{dataId:o.dataId,shape:o.shape,dtype:o.dtype}}var oT={kernelName:mo,backendName:\"cpu\",kernelFunc:ar};function wo(r){let{inputs:e,backend:t}=r,{input:o}=e,n=t.data.get(o.dataId).complexTensorInfos.real,s=t.data.get(n.dataId).values;return t.makeTensorInfo(n.shape,n.dtype,s)}var nT={kernelName:ai,backendName:\"cpu\",kernelFunc:wo};function YC(r,e,t,o){if(o===\"int32\"){let n=Int32Array.from(r);return[e,\"int32\",n]}if(o===\"bool\"){let n=y.toTypedArray([0],t),[s,a]=Be((i,p)=>i!==p?1:0)(e,[],r,n,\"bool\");return[a,\"bool\",s]}throw new Error(`Error in Cast: failed to cast ${t} to ${o}`)}function Io(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{dtype:s}=o;if(s===\"complex64\"){if(n.dtype===\"complex64\")return ar({inputs:{x:n},backend:t});let c=Hp(t,n.shape,n.dtype),l=Io({inputs:{x:n},backend:t,attrs:{dtype:\"float32\"}}),m=Ht({inputs:{real:l,imag:c},backend:t});return t.disposeIntermediateTensorInfo(c),t.disposeIntermediateTensorInfo(l),m}if(n.dtype===\"complex64\"){let c=wo({inputs:{input:n},backend:t}),l=Io({inputs:{x:c},backend:t,attrs:{dtype:s}});return t.disposeIntermediateTensorInfo(c),l}if(!y.hasEncodingLoss(n.dtype,s)){let c=ar({inputs:{x:n},backend:t});return{dataId:c.dataId,shape:c.shape,dtype:s}}let a=t.data.get(n.dataId).values,[i,p,u]=YC(a,n.shape,n.dtype,s);return t.makeTensorInfo(i,p,u)}var sT={kernelName:co,backendName:\"cpu\",kernelFunc:Io};function Qe(r,e,t,o){return t==null?({inputs:n,backend:s})=>{let{a,b:i}=n,p=s;K([a,i],r);let u=p.data.get(a.dataId).values,c=p.data.get(i.dataId).values,l=a.dtype===\"string\"?S.fromUint8ToStringArray(u):u,m=a.dtype===\"string\"?S.fromUint8ToStringArray(c):c,d=o||a.dtype,[f,h]=e(a.shape,i.shape,l,m,d);return p.makeTensorInfo(h,d,f)}:({inputs:n,backend:s})=>{let{a,b:i}=n,p=s;if(a.dtype===\"complex64\"||i.dtype===\"complex64\"){let u=Io({inputs:{x:a},backend:p,attrs:{dtype:\"complex64\"}}),c=p.data.get(u.dataId),l=c.complexTensorInfos.real,m=c.complexTensorInfos.imag,d=p.data.get(l.dataId).values,f=p.data.get(m.dataId).values,h=Io({inputs:{x:i},backend:p,attrs:{dtype:\"complex64\"}}),g=p.data.get(h.dataId),x=g.complexTensorInfos.real,b=g.complexTensorInfos.imag,C=p.data.get(x.dataId).values,w=p.data.get(b.dataId).values,[k,_,$]=t(a.shape,i.shape,d,f,C,w),A=p.makeTensorInfo($,\"float32\",k),R=p.makeTensorInfo($,\"float32\",_),D=Ht({inputs:{real:A,imag:R},backend:p});return p.disposeIntermediateTensorInfo(u),p.disposeIntermediateTensorInfo(h),p.disposeIntermediateTensorInfo(A),p.disposeIntermediateTensorInfo(R),D}else{let u=p.data.get(a.dataId).values,c=p.data.get(i.dataId).values,l=o||a.dtype,[m,d]=e(a.shape,i.shape,u,c,l);return p.makeTensorInfo(d,l,m)}}}function qp(r){return(e,t,o,n,s,a)=>{let i=S.assertAndGetBroadcastShape(e,t),p=y.sizeFromShape(i),u=i.length,c=y.computeStrides(i),l=y.getTypedArrayFromDType(\"float32\",p),m=y.getTypedArrayFromDType(\"float32\",p),d=S.getBroadcastDims(e,i),f=S.getBroadcastDims(t,i),h=S.mergeRealAndImagArrays(o,n),g=S.mergeRealAndImagArrays(s,a),x=e.length,b=y.computeStrides(e),C=t.length,w=y.computeStrides(t);if(d.length+f.length===0)for(let k=0;k$[M]=0);let A=y.locToIndex($,x,b),R=_.slice(-C);f.forEach(M=>R[M]=0);let D=y.locToIndex(R,C,w),P=r(h[A*2],h[A*2+1],g[D*2],g[D*2+1]);l[k]=P.real,m[k]=P.imag}return[l,m,i]}}var QC=Be((r,e)=>r+e),x6=qp((r,e,t,o)=>({real:r+t,imag:e+o})),js=Qe(eo,QC,x6),aT={kernelName:eo,backendName:\"cpu\",kernelFunc:js};function Kp(r,e,t,o,n){let s=y.sizeFromShape(o),a=y.makeZerosTypedArray(n,t);for(let i=0;i=n||(s>0?a[p]+=e[i]:a[p]+=1)}return a}function uf(r,e,t,o=!1){let n=r.shape[0],s=r.shape[1],a=le([n,t],e.dtype);for(let i=0;i=t||(o?a.set(1,i,u):e.size>0?a.set(a.get(i,u)+e.get(i,p),i,u):a.set(a.get(i,u)+1,i,u))}return a}function vr(r){return(e,t,o)=>{let n=y.getTypedArrayFromDType(t,e.length);for(let s=0;s{let{x:a}=o;if(K(a,r),a.dtype===\"string\"||t===\"string\")throw new Error(\"unaryKernelFunc does not support string input/output\");let i=s,p=i.data.get(a.dataId).values,u=y.sizeFromShape(a.shape),c=t||a.dtype,l=y.getArrayFromDType(c,u);for(let m=0;m{let{x:a}=o;if(K(a,r),a.dtype===\"string\"||t===\"string\")throw new Error(\"unaryKernelFunc does not support string input/output\");let i=s,p=i.data.get(a.dataId).values,u=t||a.dtype,c=e(p,u,n);return i.makeTensorInfo(a.shape,u,c)}}var ZC=vr(r=>Math.ceil(r)),y6=vo(Uo,ZC),iT={kernelName:Uo,backendName:\"cpu\",kernelFunc:y6};function Su(r,e,t,o){let n=y.getArrayFromDType(t,y.sizeFromShape(e));if(o&&t!==\"string\"){let s=0;r.forEach(a=>{let i=y.sizeFromShape(a.shape);n.set(a.vals,s),s+=i})}else{let s=0;r.forEach(a=>{let i=t===\"string\"?S.fromUint8ToStringArray(a.vals):a.vals,p=0;for(let u=0;ur===e?1:0),eS=Qe(tn,JC,null,\"bool\"),uT={kernelName:tn,backendName:\"cpu\",kernelFunc:eS};var tS=vr(r=>Math.exp(r)),rS=vo(rn,tS,\"float32\"),pT={kernelName:rn,backendName:\"cpu\",kernelFunc:rS};var oS=vr(r=>Math.expm1(r)),b6=vo(da,oS),cT={kernelName:da,backendName:\"cpu\",kernelFunc:b6};var nS=vr(r=>Math.floor(r)),C6=vo(nn,nS),lT={kernelName:nn,backendName:\"cpu\",kernelFunc:C6};function pf(r,e,t,o,n,s,a,i,p){let u=le([o,s],t);for(let c=0;c=p/s)throw new Error(`Invalid indices: ${l} does not index into ${i}`);for(let d=0;dr>e?1:0),S6=Qe(pn,sS,null,\"bool\"),mT={kernelName:pn,backendName:\"cpu\",kernelFunc:S6};var aS=Be((r,e)=>r>=e?1:0),w6=Qe(cn,aS,null,\"bool\"),dT={kernelName:cn,backendName:\"cpu\",kernelFunc:w6};var iS=Be((r,e)=>rr<=e?1:0),v6=Qe(fn,uS,null,\"bool\"),hT={kernelName:fn,backendName:\"cpu\",kernelFunc:v6};function lf(r,e,t){let o=(e-r)/(t-1),n=y.makeZerosTypedArray(t,\"float32\");n[0]=r;for(let s=1;sMath.log(r)),k6=vo(hn,pS),gT={kernelName:hn,backendName:\"cpu\",kernelFunc:k6};function mf(r,e,t,o){let n=y.getTypedArrayFromDType(o,y.sizeFromShape(t));for(let s=0;si)&&(i=u)}n[s]=i}return n}var cS=Be((r,e)=>Math.max(r,e)),N6=Qe(bn,cS),xT={kernelName:bn,backendName:\"cpu\",kernelFunc:N6};var lS=Be((r,e)=>Math.min(r,e)),T6=Qe(In,lS),yT={kernelName:In,backendName:\"cpu\",kernelFunc:T6};var ml=Be((r,e)=>r*e),_6=qp((r,e,t,o)=>({real:r*t-e*o,imag:r*o+e*t})),wu=Qe(kn,ml,_6),bT={kernelName:kn,backendName:\"cpu\",kernelFunc:wu};function mS(r,e,t){let o=y.createScalarValue(-1,t);return ml([],e,o,r,t)}function E6(r){let{inputs:e,backend:t}=r,{x:o}=e;K(o,\"neg\");let n=t.data.get(o.dataId).values,[s,a]=mS(n,o.shape,o.dtype);return t.makeTensorInfo(a,o.dtype,s)}var CT={kernelName:ws,backendName:\"cpu\",kernelFunc:E6};var dS=Be((r,e)=>r!==e?1:0),$6=Qe(Nn,dS,null,\"bool\"),ST={kernelName:Nn,backendName:\"cpu\",kernelFunc:$6};function jp(r,e,t,o,n){let s=e.length,a=y.sizeFromShape(e),i=y.computeStrides(e),p=y.computeStrides(n),u=y.getTypedArrayFromDType(t,y.sizeFromShape(n));for(let c=0;ct.disposeIntermediateTensorInfo(b)),t.makeTensorInfo(x,g,f)}var IT={kernelName:Fn,backendName:\"cpu\",kernelFunc:A6};function R6(r,e,t){r.forEach((o,n)=>{if(o<0||o>=t){let s=y.indexToLoc(n,e.length,y.computeStrides(e)).join(\",\");throw new Error(`indices[${s}] = ${o} is not in [0, ${t})`)}})}function F6(r,e){for(let t=0;tn)throw new Error(\"Ragged splits must not point past values\");for(let s=1;so[s])throw new Error(\"Ragged splits must be sorted in ascending order\")}}function D6(r,e,t,o){let n=[],s=0,a=e.length-1+t.length,i=new Array(a).fill(null).map(()=>[0]);F6(t,o);let p=1;for(let u=0;u=0){let h=i[f],g=h[h.length-1]-d[c];for(let x=c;xn[a]=s)}return e}function vT(r,e){let t=r.slice(0,e);for(;t.length1)throw new Error(\"starts must be a scalar or vector\");if(n.length>1)throw new Error(\"limits must be a scalar or vector\");if(a.length>1)throw new Error(\"deltas must be a scalar or vector\");let i=e.length===0,p=n.length===0,u=a.length===0,c=[];i||c.push(e[0]),p||c.push(n[0]),u||c.push(a[0]);for(let g=1;g0&&bx)w=0;else if(w=Math.ceil(Math.abs((b-x)/C)),w>kT)throw new Error(`Requires ((limit - start) / delta) <= ${kT}`);m[g+1]=m[g]+w}let d=m[l],f=y.getArrayFromDType(t,d),h=0;for(let g=0;go&&(o=s)}return o}static getMaxWidthValueRowID(e){let t=e.length;if(t===0)return 0;let o=0,n=e[0],s=0;for(let a=1;a\"Final length of result must be equal to firstDimension.\"),s}calculateOutputIndexRowSplit(e,t,o,n){let s=e.length,a=[];for(let i=0;i0&&a.length!==e[s-1])throw new Error(\"Invalid row split size.\");return a}calculateOutputIndexValueRowID(e,t,o,n){let s=e.length,a=[];if(s===0)return[];let i=0,p=e[0];if(p>=t.length)throw new Error(`Got currentValueRowId=${p}, which is not less than ${t.length}`);let u=t[p];a.push(u);for(let c=1;c=0&&(++i,i=t.length)throw new Error(`Got nextValueRowId=${l} which is not less than ${t.length}`);u=t[l]}a.push(u)}if(a.length!==e.length)throw new Error(\"Invalid row ids.\");return a}calculateOutputIndex(e,t,o,n){let s=this.getRowPartitionTensor(e),a=this.getRowPartitionTypeByDimension(e);switch(a){case ko.VALUE_ROWIDS:return this.calculateOutputIndexValueRowID(s,t,o,n);case ko.ROW_SPLITS:if(s.length-1>t.length)throw new Error(`Row partition size is greater than output size: ${s.length-1} > ${t.length}`);return this.calculateOutputIndexRowSplit(s,t,o,n);default:throw new Error(`Unsupported partition type: ${ko[a]}`)}}getFirstDimensionSize(){let e=this.rowPartitionValues[0];if(this.rowPartitionTypes.length===0)throw new Error(\"No row_partition_types given.\");let t=this.rowPartitionTypes[0];switch(t){case ko.FIRST_DIM_SIZE:return e[0];case ko.VALUE_ROWIDS:throw new Error(\"Cannot handle VALUE_ROWIDS in first dimension.\");case ko.ROW_SPLITS:return this.rowPartitionValuesShapes[0][0]-1;default:throw new Error(`Cannot handle type ${ko[t]}`)}}compute(){if(this.rowPartitionValues[0].length<=0)throw new Error(\"Invalid first partition input. Tensor requires at least one element.\");let t=this.getFirstDimensionSize(),o=this.calculateOutputSize(t),n=new Array(this.raggedRank+1);n[n.length-1]=1;for(let p=n.length-2;p>=0;--p)n[p]=n[p+1]*o[p+1];let s=TT(o,!1),a=y.getArrayFromDType(this.valuesDType,y.sizeFromShape(s));if(n[0]*o[0]>0){let p=this.calculateFirstParentOutputIndex(t,n[0],o[0]);for(let u=1;u<=this.raggedRank;++u)p=this.calculateOutputIndex(u-1,p,n[u],o[u]);this.setOutput(this.raggedRank,p,a,s)}return[s,a]}setOutput(e,t,o,n){if(o.length===0)return;let s=this.values,a=o,i=n.slice();i=i.slice(e+1);let p=y.sizeFromShape(i),u=t.length,c=this.defaultValue;if(c.length!==p&&c.length!==1){let f=this.defaultValueShape;Ee(()=>{let h=z(c,f);c=Ii(h,i).dataSync()})}let l=0,m=0,d=0;for(let f=0;f<=u;++f){let h=f=u){let g=o.length;h=Math.floor(g/p)}if(h>d)if(this.defaultValue.length===1)a.subarray(d*p,h*p).fill(this.defaultValue[0]),d=h;else for(;h>d;){let g=a.slice(d*p);NT(g,c,p),++d}h<0?(l=f+1,m=d):(l=f,m=d,d=m+1)}}};function NT(r,e,t){for(let o=0;o= 0`);if(o<-1)throw new Error(`Dimension ${o} must be >= -1`);o=-1}t.push(o)}return t}function hf(r,e,t,o,n,s,a,i,p,u){return new Xp(r,e,t,o,n,s,a,i,p,u).compute()}function Iu(r,e,t,o){let n=r===e,s=r1;if(n||s||a)return y.makeZerosTypedArray(0,o);let i=Math.abs(Math.ceil((e-r)/t)),p=y.makeZerosTypedArray(i,o);e1/Math.sqrt(r)),L6=vo(Vn,hS),_T={kernelName:Vn,backendName:\"cpu\",kernelFunc:L6};function Ma(r,e,t,o,n,s,a,i,p,u){let c=[o/n,n],l=r.values,m=e.values;if(o===0)return le(t,e.dtype);let d=le(c,e.dtype);typeof p==\"string\"||typeof p==\"number\"?d.values.fill(p):typeof p==\"boolean\"&&d.values.fill(+p);for(let f=0;f=o/n)throw new Error(`Invalid indices: ${h} does not index into ${t}`);for(let x=0;x1/(1+Math.exp(-r))),gS=Ie(Un,r=>1/(1+Math.exp(-r))),$T={kernelName:Un,backendName:\"cpu\",kernelFunc:gS};function vu(r,e,t,o,n){let s=ut.isSliceContinous(o,e,t),a=y.sizeFromShape(t),i=y.computeStrides(o);if(s){let l=ut.computeFlatOffset(e,i);return n===\"string\"?r.slice(l,l+a):r.subarray(l,l+a)}let p=n===\"string\"?S.fromUint8ToStringArray(r):r,u=le(o,n,p),c=le(t,n);for(let l=0;lf+e[h]);c.set(u.get(...d),...m)}return n===\"string\"?S.fromStringArrayToUint8(c.values):c.values}function No(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{begin:s,size:a}=o;K(n,\"slice\");let[i,p]=ut.parseSliceParams(n,s,a);ut.assertParamsValid(n,i,p);let u=t.data.get(n.dataId).values,c=vu(u,i,p,n.shape,n.dtype);return t.makeTensorInfo(p,n.dtype,c)}var AT={kernelName:_s,backendName:\"cpu\",kernelFunc:No};function gf(r,e,t,o,n,s,a){let i=e[0],p=s[0],u=new Array(p),c=new Array(i),l=e[1];if(p===0){if(i!==0)throw new Error(S.getSparseFillEmptyRowsIndicesDenseShapeMismatch(i));let g=y.getArrayFromDType(t,0),x=y.getArrayFromDType(n,0);return[g,[0,l],x,u,c]}let m=!0,d=0,f=new Array(p).fill(0);for(let g=0;g=p)throw new Error(S.getSparseFillEmptyRowsOutOfRangeIndexErrorMessage(g,x,p));++f[x],m=m&&x>=d,d=x}let h=!0;for(let g=0;g0&&(f[g]+=f[g-1])}if(h&&m){let g=r,x=o;for(let b=0;b0){d[m-1]=1;for(let g=m-2;g>=0;--g)d[g]=d[g+1]*o[g+1]}let f=[];if(i>0){f[i-1]=1;for(let g=i-2;g>=0;--g)f[g]=f[g+1]*p[g+1]}let h=y.getArrayFromDType(t,a*i);for(let g=0;g0?n[i-1]+1:0;if(l<0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let m=e.slice();m[0]=l;let d=m.reduce((C,w)=>C*w,1),f=y.getArrayFromDType(t,d);if(i===0)return l>0&&f.fill(a),[f,m];if(l<=0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let h=0,g=1,x=0,b=n[h];for(;;){let C=0;if(g=C)throw new Error(S.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage())}if(b<0||b>=l)throw new Error(S.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(b,l));b>x&&f.fill(a,x*u,b*u);for(let w=h;w=p[0])throw new Error(S.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(w,o[w],p[0]));for(let _=0;_i)break}return xMath.sqrt(r)),B6=Ie(Gn,r=>Math.sqrt(r)),FT={kernelName:Gn,backendName:\"cpu\",kernelFunc:B6};var xS=Be((r,e)=>{let t=r-e;return t*t}),V6=Qe(Kn,xS),DT={kernelName:Kn,backendName:\"cpu\",kernelFunc:V6};function yf(r,e,t,o){let n=le(r,e.dtype);for(let s=0;s0?0:i-p),d=0;d+=u*this.leftPad.length;for(let b=0;bb.forEach(C=>h[g++]=C);for(let b=0;b0){x(e[m+l-1]);for(let b=0;b0){let p=t[0];if(p!==0)throw new Error(`First split value must be 0, got ${p}`);for(let u=1;u=p;if(c=c&&t[u]<=o,!c)throw new Error(`Invalid split value ${t[u]}, must be in [${p}, ${o}]`);p=t[u]}if(p!==o)throw new Error(`Last split value must be data size. Expected ${o}, got ${p}`)}let s=n-1,a=y.getArrayFromDType(\"int32\",n);if(o===0||n===0){let p=new Array(o);for(let u=0;u<=s;++u)a[u]=0;return[p,a]}a[0]=0;for(let p=1;p<=s;++p){let u=t[p]-t[p-1],c=0;this.nGramWidths.forEach(l=>{c+=this.getNumNGrams(u,l)}),this.preserveShort&&u>0&&c===0&&(c=1),a[p]=a[p-1]+c}let i=new Array(a[s]);for(let p=0;p{let m=t[p+1]-t[p],d=this.getNumNGrams(m,l);this.createNGrams(e,u,i,c,d,l),c+=d}),this.preserveShort&&c===a[p]){let l=t[p+1]-t[p];if(l===0)continue;let m=l+2*this.padWidth,d=1;this.createNGrams(e,u,i,c,d,m)}}return[i,a]}};function ku(r,e,t,o,n,s,a,i){return new yS(t,o,n,s,a,i).compute(r,e)}function z6(r,e,t,o){if(!r.length)return;if(e.length===0){for(let s=0;sr-e),W6=qp((r,e,t,o)=>({real:r-t,imag:e-o})),dl=Qe(Xn,bS,W6),OT={kernelName:Xn,backendName:\"cpu\",kernelFunc:dl};function bf(r,e){let t=new Array(r.rank);for(let n=0;n{let t=e.value-r.value;return t===0?r.index-e.index:t};function PT(r,e,t=0,o=r.length-1){for(;o>t;){if(o-t>600){let i=o-t+1,p=e-t+1,u=Math.log(i),c=.5*Math.exp(2*u/3),l=.5*Math.sqrt(u*c*(i-c)/i)*Math.sign(p-i/2),m=Math.max(t,Math.floor(e-p*c/i+l)),d=Math.min(o,Math.floor(e+(i-p)*c/i+l));PT(r,e,m,d)}let n=r[e],s=t,a=o;for(y.swap(r,t,e),fl(r[o],n)>0&&y.swap(r,t,o);s0;)a=a-1}fl(r[t],n)===0?y.swap(r,t,a):(a=a+1,y.swap(r,a,o)),a<=e&&(t=a+1),e<=a&&(o=a-1)}}function Cf(r,e,t,o,n){let s=e[e.length-1],[a,i]=[r.length/s,s],p=y.getTypedArrayFromDType(t,a*o),u=y.getTypedArrayFromDType(\"int32\",a*o);for(let l=0;lf[C]={value:b,index:C}),o{for(let g=0;gnew Oi,1);var CS=Ie(en,r=>r>=0?r:Math.exp(r)-1),MT={kernelName:en,backendName:\"cpu\",kernelFunc:CS};function SS(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{alpha:s}=o;K([n],\"leakyRelu\");let a=y.sizeFromShape(n.shape),i=t.data.get(n.dataId).values,p=y.getTypedArrayFromDType(\"float32\",a);for(let u=0;ur<0?e*r:r);function wS(r){let{inputs:e,backend:t}=r,{x:o,alpha:n}=e;K([o,n],\"prelu\");let s=t.data.get(o.dataId).values,a=t.data.get(n.dataId).values,[i,p]=G6(o.shape,n.shape,s,a,\"float32\");return t.makeTensorInfo(p,\"float32\",i)}var BT={kernelName:Rn,backendName:\"cpu\",kernelFunc:wS};var IS=Ie(On,r=>Math.max(0,r)),VT={kernelName:On,backendName:\"cpu\",kernelFunc:IS};var vS=Ie(Ln,r=>Math.min(Math.max(0,r),6)),zT={kernelName:Ln,backendName:\"cpu\",kernelFunc:vS};function _u(r,e,t,o,n){if(t===\"linear\")return ar({inputs:{x:e},backend:r});if(t===\"relu\")return IS({inputs:{x:e},backend:r});if(t===\"elu\")return CS({inputs:{x:e},backend:r});if(t===\"relu6\")return vS({inputs:{x:e},backend:r});if(t===\"prelu\")return wS({inputs:{x:e,alpha:o},backend:r});if(t===\"leakyrelu\")return SS({inputs:{x:e},backend:r,attrs:{alpha:n}});if(t===\"sigmoid\")return gS({inputs:{x:e},backend:r});throw new Error(`Activation ${t} has not been implemented for the CPU backend.`)}function Me(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{shape:s}=o,a=y.sizeFromShape(n.shape),i=y.inferFromImplicitShape(s,a),p=y.sizeFromShape(i);y.assert(a===p,()=>`The new shape (${i}) has ${p} elements and the old shape (${n.shape}) has ${a} elements. The new shape and old shape must have the same number of elements.`),t.incRef(n.dataId);let u=t.data.get(n.dataId);if(u.complexTensorInfos!=null){let c=u.complexTensorInfos.real,l=u.complexTensorInfos.imag;c.shape=i,l.shape=i}return{dataId:n.dataId,shape:i,dtype:n.dtype}}var WT={kernelName:Ns,backendName:\"cpu\",kernelFunc:Me};function kS(r){let{inputs:e,backend:t,attrs:o}=r,{a:n,b:s}=e,{transposeA:a,transposeB:i}=o;K([n,s],\"matMul\");let p=n.shape.length,u=s.shape.length,c=a?n.shape[p-2]:n.shape[p-1],l=i?s.shape[u-1]:s.shape[u-2],m=a?n.shape[p-1]:n.shape[p-2],d=i?s.shape[u-2]:s.shape[u-1],f=n.shape.slice(0,-2),h=s.shape.slice(0,-2),g=y.sizeFromShape(f),x=y.sizeFromShape(h),C=br.assertAndGetBroadcastShape(n.shape.slice(0,-2),s.shape.slice(0,-2)).concat([m,d]);y.assert(c===l,()=>`Error in matMul: inner shapes (${c}) and (${l}) of Tensors with shapes ${n.shape} and ${s.shape} and transposeA=${a} and transposeB=${i} must match.`);let w=a?[g,c,m]:[g,m,c],k=i?[x,d,l]:[x,l,d],_=Me({inputs:{x:n},backend:t,attrs:{shape:w}}),$=Me({inputs:{x:s},backend:t,attrs:{shape:k}}),A=a?_.shape[1]:_.shape[2],R=a?_.shape[2]:_.shape[1],D=i?$.shape[1]:$.shape[2],P=Math.max(g,x),M=t.data.get(_.dataId).values,L=t.data.get($.dataId).values,W=y.computeStrides(_.shape),V=y.computeStrides($.shape),[U,q,H]=a?[W[0],1,W[1]]:[W[0],W[1],1],[j,X,Z]=i?[1,V[1],V[0]]:[V[1],1,V[0]],ee=R*D,Y=le([P,R,D],_.dtype),J=Y.values,ie=t.blockSize;for(let pe=0;peMath.acos(r)),HT={kernelName:sa,backendName:\"cpu\",kernelFunc:q6};var K6=Ie(aa,r=>Math.acosh(r)),qT={kernelName:aa,backendName:\"cpu\",kernelFunc:K6};function j6(r){let{inputs:e,backend:t}=r,o=e;K(e,\"addN\");let n=o.map(i=>t.data.get(i.dataId).values),s=le(o[0].shape,o[0].dtype),a=s.values;for(let i=0;ib&&(b=k,C=w)}d[g]=C}return u.forEach(g=>t.disposeIntermediateTensorInfo(g)),t.makeTensorInfo(c,\"int32\",d)}var YT={kernelName:Vo,backendName:\"cpu\",kernelFunc:Q6};function Z6(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s}=o;K(n,\"argMin\");let a=y.parseAxisParam(s,n.shape),i=S.getAxesPermutation(a,n.shape.length),p=n,u=[];i!=null&&(p=Ct({inputs:{x:n},backend:t,attrs:{perm:i}}),u.push(p),a=S.getInnerMostAxes(a.length,p.shape.length)),a=[a[0]],S.assertAxesAreInnerMostDims(\"argMin\",a,p.shape.length);let[c,l]=S.computeOutAndReduceShapes(p.shape,a),m=y.sizeFromShape(c),d=y.makeZerosTypedArray(m,\"int32\"),f=y.sizeFromShape(l),h=t.data.get(p.dataId).values;for(let g=0;gt.disposeIntermediateTensorInfo(g)),t.makeTensorInfo(c,\"int32\",d)}var QT={kernelName:Za,backendName:\"cpu\",kernelFunc:Z6};var J6=Ie(ia,r=>Math.asin(r)),ZT={kernelName:ia,backendName:\"cpu\",kernelFunc:J6};var ej=Ie(ua,r=>Math.asinh(r)),JT={kernelName:ua,backendName:\"cpu\",kernelFunc:ej};var tj=Ie(pa,r=>Math.atan(r)),e2={kernelName:pa,backendName:\"cpu\",kernelFunc:tj};var rj=Be((r,e)=>Math.atan2(r,e)),oj=Qe(la,rj),t2={kernelName:la,backendName:\"cpu\",kernelFunc:oj};var nj=Ie(ca,r=>Math.atanh(r)),r2={kernelName:ca,backendName:\"cpu\",kernelFunc:nj};function Zp(r,e,t,o,n,s){let a=n.strideHeight,i=n.strideWidth,p=n.dilationHeight,u=n.dilationWidth,c=n.effectiveFilterHeight,l=n.effectiveFilterWidth,m=n.padInfo.top,d=n.padInfo.left,f=s===\"max\"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,h=le(n.outShape,t),g=h.values,x=n.outShape[1]*n.outShape[2]*n.outShape[3],b=n.outShape[2]*n.outShape[3],C=n.outShape[3];for(let w=0;wq?q=ie:s===\"avg\"&&(H+=ie,j++)}if(isNaN(q))break}let X=M+L*C+$;g[X]=s===\"avg\"?H/j:q}}}return h}function wf(r,e,t,o,n=!1,s=!1){let a=le(o.outShape,\"int32\"),i=o.strideHeight,p=o.strideWidth,u=o.dilationHeight,c=o.dilationWidth,l=o.effectiveFilterHeight,m=o.effectiveFilterWidth,d=o.padInfo.top,f=o.padInfo.left,h=le(e,t,r);for(let g=0;gD&&(D=U,n?P=s?((g*o.inHeight+M)*o.inWidth+W)*o.inChannels+x:(M*o.inWidth+W)*o.inChannels+x:P=L*m+V)}}a.set(P,g,b,_,x)}}return a}function If(r,e,t,o,n,s){let a=n.strideDepth,i=n.strideHeight,p=n.strideWidth,u=n.dilationDepth,c=n.dilationHeight,l=n.dilationWidth,m=n.effectiveFilterDepth,d=n.effectiveFilterHeight,f=n.effectiveFilterWidth,h=n.padInfo.front,g=n.padInfo.top,x=n.padInfo.left,b=s===\"max\"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,C=le(n.outShape,t),w=C.values,k=n.outShape[1]*n.outShape[2]*n.outShape[3]*n.outShape[4],_=n.outShape[2]*n.outShape[3]*n.outShape[4],$=n.outShape[3]*n.outShape[4],A=n.outShape[4];for(let R=0;Rwe?we=wt:s===\"avg\"&&(ve+=wt,$e++),isNaN(we))break}if(isNaN(we))break}if(isNaN(we))break}let Le=he+M;w[Le]=s===\"avg\"?ve/$e:we}}}}return C}function o2(r,e){let t=le(e.outShape,\"int32\"),o=e.strideDepth,n=e.strideHeight,s=e.strideWidth,a=e.dilationDepth,i=e.dilationHeight,p=e.dilationWidth,u=e.effectiveFilterDepth,c=e.effectiveFilterHeight,l=e.effectiveFilterWidth,m=e.padInfo.front,d=e.padInfo.top,f=e.padInfo.left;for(let h=0;h=L&&(L=Z,W=U*c*l+H*c+X)}}}t.set(W,h,x,k,R,g)}}}return t}function sj(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e;K(n,\"avgPool\");let{filterSize:s,strides:a,pad:i,dimRoundingMode:p}=o,u=1;y.assert(S.eitherStridesOrDilationsAreOne(a,u),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${a} and dilations '${u}'`);let c=S.computePool2DInfo(n.shape,s,a,u,i,p),l;if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))l=ar({inputs:{x:n},backend:t});else{let m=t.data.get(n.dataId).values,d=y.computeStrides(n.shape),f=Zp(m,n.shape,n.dtype,d,c,\"avg\");l=t.makeTensorInfo(c.outShape,n.dtype,f.values)}return l}var n2={kernelName:zo,backendName:\"cpu\",kernelFunc:sj};function aj(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{filterSize:s,strides:a,pad:i,dimRoundingMode:p,dataFormat:u}=o;K(n,\"avgPool3d\");let c=S.computePool3DInfo(n.shape,s,a,1,i,p,u),l=t.data.get(n.dataId).values,m=If(l,n.shape,n.dtype,y.computeStrides(n.shape),c,\"avg\");return t.makeTensorInfo(m.shape,\"float32\",m.values)}var s2={kernelName:ip,backendName:\"cpu\",kernelFunc:aj};function ij(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,input:s}=e,{filterSize:a,strides:i,pad:p,dimRoundingMode:u}=o;K([n,s],\"avgPool3DGrad\");let c=S.computePool3DInfo(s.shape,a,i,1,p,u),l=c.strideDepth,m=c.strideHeight,d=c.strideWidth,f=c.filterDepth,h=c.filterHeight,g=c.filterWidth,x=c.dilationDepth,b=c.dilationHeight,C=c.dilationWidth,w=c.effectiveFilterDepth,k=c.effectiveFilterHeight,_=c.effectiveFilterWidth,$=w-1-c.padInfo.front,A=_-1-c.padInfo.left,R=k-1-c.padInfo.top,D=le(s.shape,\"float32\"),P=1/(f*h*g),M=t.bufferSync(n);for(let L=0;L=c.outDepth||Math.floor(Y)!==Y))for(let J=0;J=c.outHeight||Math.floor(ie)!==ie))for(let pe=0;pe<_;pe+=C){let he=(X+pe)/d;if(he<0||he>=c.outWidth||Math.floor(he)!==he)continue;let we=M.get(L,Y,ie,he,W);Z+=we}}}D.set(Z*P,L,V,U,q,W)}return t.makeTensorInfo(D.shape,D.dtype,D.values)}var a2={kernelName:Im,backendName:\"cpu\",kernelFunc:ij};function uj(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,input:s}=e,a=s;K([n,s],\"avgPoolGrad\");let{filterSize:i,strides:p,pad:u}=o,c=S.computePool2DInfo(a.shape,i,p,1,u),l=c.strideHeight,m=c.strideWidth,d=c.filterHeight,f=c.filterWidth,h=c.dilationHeight,g=c.dilationWidth,x=c.effectiveFilterHeight,b=c.effectiveFilterWidth,C=b-1-c.padInfo.left,w=x-1-c.padInfo.top,k=le(a.shape,\"float32\"),_=1/(d*f),$=t.data.get(n.dataId).values,A=le(n.shape,\"float32\",$);for(let R=0;R=c.outHeight||Math.floor(q)!==q))for(let H=0;H=c.outWidth||Math.floor(j)!==j)continue;let X=A.get(R,q,j,D);V+=X}}k.set(V*_,R,P,M,D)}return t.makeTensorInfo(k.shape,k.dtype,k.values)}var i2={kernelName:wm,backendName:\"cpu\",kernelFunc:uj};function pj(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,scale:s,offset:a,mean:i,variance:p}=e;y.assert(i.shape.length===p.shape.length,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),y.assert(a==null||i.shape.length===a.shape.length,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),y.assert(s==null||i.shape.length===s.shape.length,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\"),K([n,i,p,s,a],\"batchNorm\");let{varianceEpsilon:u}=o;u==null&&(u=.001);let c=t.data.get(n.dataId).values,l=t.data.get(i.dataId).values,m=t.data.get(p.dataId).values,d=s?t.data.get(s.dataId).values:new Float32Array([1]),f=a?t.data.get(a.dataId).values:new Float32Array([0]),h=new Float32Array(c.length),g=f.length,x=d.length,b=m.length,C=l.length,w=0,k=0,_=0,$=0;for(let A=0;A=g&&(w=0),k>=C&&(k=0),_>=x&&(_=0),$>=b&&($=0);return t.makeTensorInfo(n.shape,n.dtype,h)}var u2={kernelName:an,backendName:\"cpu\",kernelFunc:pj};function cj(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{blockShape:s,crops:a}=o;K([n],\"batchToSpaceND\");let i=s.reduce((x,b)=>x*b),p=S.getReshaped(n.shape,s,i),u=S.getPermuted(p.length,s.length),c=S.getReshapedPermuted(n.shape,s,i),l=S.getSliceBeginCoords(a,s.length),m=S.getSliceSize(c,a,s.length),d=Me({inputs:{x:n},backend:t,attrs:{shape:p}}),f=Ct({inputs:{x:d},backend:t,attrs:{perm:u}}),h=Me({inputs:{x:f},backend:t,attrs:{shape:c}}),g=No({inputs:{x:h},backend:t,attrs:{begin:l,size:m}});return t.disposeIntermediateTensorInfo(d),t.disposeIntermediateTensorInfo(f),t.disposeIntermediateTensorInfo(h),g}var p2={kernelName:xs,backendName:\"cpu\",kernelFunc:cj};function lj(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,weights:s}=e,{size:a}=o,i=t.data.get(n.dataId).values,p=t.data.get(s.dataId).values,u=Kp(i,p,s.dtype,s.shape,a);return t.makeTensorInfo([a],s.dtype,u)}var c2={kernelName:Ja,backendName:\"cpu\",kernelFunc:lj};function mj(r){let{inputs:e,backend:t}=r,{s0:o,s1:n}=e,s=t.data.get(o.dataId).values,a=t.data.get(n.dataId).values,i=S.assertAndGetBroadcastShape(Array.from(s),Array.from(a));return t.makeTensorInfo([i.length],\"int32\",Int32Array.from(i))}var l2={kernelName:up,backendName:\"cpu\",kernelFunc:mj};var dj=Ie(lo,(r,e)=>{let t=e;return r>t.clipValueMax?t.clipValueMax:r{let{x:e}=r.inputs,t=r.backend,o=new Float32Array(y.sizeFromShape(e.shape)),n=t.data.get(e.dataId),s=n.complexTensorInfos.real,a=n.complexTensorInfos.imag,i=t.data.get(s.dataId).values,p=t.data.get(a.dataId).values;for(let u=0;uh.shape);S.assertParamsConsistent(a,s);let i=S.computeOutShape(e.map(h=>h.shape),s);if(y.sizeFromShape(i)===0)return t.makeTensorInfo(i,e[0].dtype,[]);let p=e.filter(h=>y.sizeFromShape(h.shape)>0);if(p.length===1)return ar({inputs:{x:p[0]},backend:t});if(p[0].dtype===\"complex64\"){let h=p.map(w=>wo({inputs:{input:w},backend:t})),g=p.map(w=>Xs({inputs:{input:w},backend:t})),x=Pi({inputs:h,backend:t,attrs:{axis:s}}),b=Pi({inputs:g,backend:t,attrs:{axis:s}}),C=Ht({inputs:{real:x,imag:b},backend:t});return h.forEach(w=>t.disposeIntermediateTensorInfo(w)),g.forEach(w=>t.disposeIntermediateTensorInfo(w)),t.disposeIntermediateTensorInfo(x),t.disposeIntermediateTensorInfo(b),C}let u=p.map(h=>{let x=[-1,y.sizeFromShape(h.shape.slice(s))];return Me({inputs:{x:h},backend:t,attrs:{shape:x}})}),c=u.map(h=>({vals:t.data.get(h.dataId).values,shape:h.shape}));i=S.computeOutShape(u.map(h=>h.shape),1);let l=u[0].shape[0]===1,m=Su(c,i,e[0].dtype,l),d=S.computeOutShape(p.map(h=>h.shape),s),f=t.makeTensorInfo(d,e[0].dtype,m);return u.forEach(h=>t.disposeIntermediateTensorInfo(h)),f}var h2={kernelName:ys,backendName:\"cpu\",kernelFunc:Pi};function NS(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s}=e,{strides:a,pad:i,dataFormat:p,dilations:u,dimRoundingMode:c}=o;K([n,s],\"conv2d\");let l=S.convertConv2DDataFormat(p),m=S.computeConv2DInfo(n.shape,s.shape,a,u,i,c,!1,l),d=m.filterHeight,f=m.filterWidth,h=m.dilationHeight,g=m.dilationWidth,x=m.padInfo.left,b=m.padInfo.top,C=m.dataFormat===\"channelsLast\",w=new st(m.outShape,n.dtype),k=y.computeStrides(n.shape),_=y.computeStrides(s.shape),$=k[0],A=C?k[1]:k[2],R=C?k[2]:1,D=C?1:k[1],P=w.strides[0],M=C?w.strides[1]:w.strides[2],L=C?w.strides[2]:1,W=C?1:w.strides[1],V=t.data.get(n.dataId).values,U=t.data.get(s.dataId).values,q=w.values;for(let H=0;H=m.inHeight)continue;let pe=J*_[0],he=j+ie*A;for(let we=0;we=m.inWidth)continue;let pt=pe+Le*_[1],Oe=he+nt*R,mt=pt;for(let at=0;at=u.inDepth)continue;let H=U*R[0],j=P+q*A[1];for(let X=0;X=u.inHeight)continue;let ie=H+Y*R[1],pe=j+J*A[2];for(let he=0;he=u.inWidth)continue;let nt=ie+$e*R[2],pt=pe+Le*u.inChannels,Oe=nt;for(let mt=0;mtMath.cos(r)),w2={kernelName:qo,backendName:\"cpu\",kernelFunc:Cj};var Sj=Ie(Ko,r=>Math.cosh(r)),I2={kernelName:Ko,backendName:\"cpu\",kernelFunc:Sj};function wj(r){let{inputs:e,backend:t,attrs:o}=r,{image:n,boxes:s,boxInd:a}=e,{cropSize:i,method:p,extrapolationValue:u}=o,[c,l,m,d]=n.shape,f=s.shape[0],[h,g]=i,x=le([f,h,g,d],\"float32\"),b=t.data.get(s.dataId).values,C=t.data.get(a.dataId).values,w=t.data.get(n.dataId).values,k=y.computeStrides(n.shape),_=y.computeStrides(x.shape);for(let $=0;$=c)continue;let W=h>1?(P-R)*(l-1)/(h-1):0,V=g>1?(M-D)*(m-1)/(g-1):0;for(let U=0;U1?R*(l-1)+U*W:.5*(R+P)*(l-1);if(q<0||q>l-1){for(let H=0;H1?D*(m-1)+Z*V:.5*(D+M)*(m-1);if(ee<0||ee>m-1){for(let pe=0;pe1?D*(m-1)+H*V:.5*(D+M)*(m-1);if(j<0||j>m-1){for(let ee=0;eex+f-b-1:(x,b)=>x+b;for(let x=0;xx+f-b-1:(x,b)=>x+b;for(let x=0;x`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${a}`);let i=n.shape[0],p=n.shape[1],u=n.shape[2],c=n.shape[3],l=p*s,m=u*s,d=c/(s*s),f=t.data.get(n.dataId).values,h=new Float32Array(i*l*m*d),g=0;for(let x=0;x`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${a} and dilations '${m}'`);let d=S.computeConv2DInfo(n.shape,s.shape,a,m,i,u,!0),{filterHeight:f,filterWidth:h,dilationHeight:g,dilationWidth:x,padInfo:b}=d,C=b.left,w=b.top,k=d.outChannels/d.inChannels,_=new st(d.outShape,n.dtype),$=t.data.get(n.dataId).values,A=t.data.get(s.dataId).values,R=_.values;for(let D=0;D=d.inHeight)continue;let H=U*l[0],j=P+q*c[1];for(let X=0;X=d.inWidth)continue;let ie=H+Y*l[1],pe=j+J*d.inChannels,he=Z,we=ie;for(let ve=0;ve{let{x:o,filter:n}=r,{strides:s,pad:a,dilations:i}=t,p=e,u=p.data.get(o.dataId).values,c=o.shape.length,l=p.data.get(n.dataId).values,m=n.shape.length,{batchSize:d,inHeight:f,inWidth:h,inChannels:g,outHeight:x,outWidth:b,padInfo:C,strideHeight:w,strideWidth:k,filterHeight:_,filterWidth:$,dilationHeight:A,dilationWidth:R,outShape:D}=S.computeDilation2DInfo(o.shape,n.shape,s,a,\"NHWC\",i),P=y.sizeFromShape(D),M=D.length,L=y.getArrayFromDType(o.dtype,P);for(let V=0;V=0&&J=0&&peZ&&(Z=ve)}}}let ee=y.locToIndex([V,U,H,X],M,y.computeStrides(D));L[ee]=Z}}}return{dataId:p.write(y.toTypedArray(L,o.dtype),D,o.dtype),shape:D,dtype:o.dtype}}};var D2={kernelName:bb,backendName:\"cpu\",kernelFunc:({inputs:r,backend:e,attrs:t})=>{let{x:o,filter:n,dy:s}=r,{strides:a,pad:i,dilations:p}=t,u=e,c=y.toNestedArray(o.shape,u.data.get(o.dataId).values),l=y.toNestedArray(n.shape,u.data.get(n.dataId).values),{batchSize:m,inHeight:d,inWidth:f,inChannels:h,outHeight:g,outWidth:x,padInfo:b,strideHeight:C,strideWidth:w,filterHeight:k,filterWidth:_,dilationHeight:$,dilationWidth:A,outShape:R}=S.computeDilation2DInfo(o.shape,n.shape,a,i,\"NHWC\",p);y.assert(s.rank===R.length,()=>`Error in ${bb}, dy must have the same rank as output ${R.length}, but got ${s.rank}`);let D=y.toNestedArray(R,u.data.get(s.dataId).values),P=y.makeZerosNestedTypedArray(n.shape,n.dtype);for(let L=0;L=0&&Y=0&&iej&&(j=pe,X=ee,Z=J)}}}P[X][Z][H]+=D[L][W][U][H]}}}return{dataId:u.write(y.toTypedArray(P,o.dtype),n.shape,n.dtype),shape:n.shape,dtype:n.dtype}}};var O2={kernelName:yb,backendName:\"cpu\",kernelFunc:({inputs:r,backend:e,attrs:t})=>{let{x:o,filter:n,dy:s}=r,{strides:a,pad:i,dilations:p}=t,u=e,c=y.toNestedArray(o.shape,u.data.get(o.dataId).values),l=y.toNestedArray(n.shape,u.data.get(n.dataId).values),{batchSize:m,inHeight:d,inWidth:f,inChannels:h,outHeight:g,outWidth:x,padInfo:b,strideHeight:C,strideWidth:w,filterHeight:k,filterWidth:_,dilationHeight:$,dilationWidth:A,outShape:R}=S.computeDilation2DInfo(o.shape,n.shape,a,i,\"NHWC\",p);y.assert(s.rank===R.length,()=>`Error in ${yb}, dy must have the same rank as output ${R.length}, but got ${s.rank}`);let D=y.toNestedArray(R,u.data.get(s.dataId).values),P=y.makeZerosNestedTypedArray(o.shape,o.dtype);for(let L=0;L=0&&Y=0&&iej&&(j=pe,X=Y,Z=ie)}}}P[L][X][Z][H]+=D[L][W][U][H]}}}return{dataId:u.write(y.toTypedArray(P,o.dtype),o.shape,o.dtype),shape:o.shape,dtype:o.dtype}}};function La(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o;K(n,\"sum\");let i;n.dtype===\"bool\"?i=Io({inputs:{x:n},backend:t,attrs:{dtype:\"int32\"}}):i=ar({inputs:{x:n},backend:t});let p=i.shape.length,u=y.parseAxisParam(s,i.shape),c=S.getAxesPermutation(u,p),l=u,m=i;c!=null&&(m=Ct({inputs:{x:i},backend:t,attrs:{perm:c}}),l=S.getInnerMostAxes(l.length,p)),S.assertAxesAreInnerMostDims(\"sum\",l,m.shape.length);let[d,f]=S.computeOutAndReduceShapes(m.shape,l),h=S.upcastType(m.dtype,\"int32\"),g=Hp(t,d,h),x=y.sizeFromShape(f),b=t.data.get(g.dataId).values,C=t.data.get(m.dataId).values;for(let w=0;w=0&&(m=La({inputs:{x:m},backend:t,attrs:{axis:u[h]-(a.length-d),keepDims:!1}}),f.push(m)),d--)}for(let h of f)h!==m&&t.disposeIntermediateTensorInfo(h);return m}var M2={kernelName:ri,backendName:\"cpu\",kernelFunc:$j};function Aj(r){let{inputs:e,backend:t}=r,{dy:o,y:n}=e;K([o,n],\"eluGrad\");let s=new Float32Array(y.sizeFromShape(n.shape)),a=t.data.get(n.dataId).values,i=t.data.get(o.dataId).values;for(let p=0;p=1?s[p]=i[p]:s[p]=i[p]*(u+1)}return t.makeTensorInfo(n.shape,\"float32\",s)}var L2={kernelName:km,backendName:\"cpu\",kernelFunc:Aj};var Rj=S.ERF_P,Fj=S.ERF_A1,Dj=S.ERF_A2,Oj=S.ERF_A3,Pj=S.ERF_A4,Mj=S.ERF_A5,Lj=Ie(ma,r=>{let e=Math.sign(r),t=Math.abs(r),o=1/(1+Rj*t);return e*(1-((((Mj*o+Pj)*o+Oj)*o+Dj)*o+Fj)*o*Math.exp(-t*t))}),B2={kernelName:ma,backendName:\"cpu\",kernelFunc:Lj};function Jp(r){let{inputs:e,backend:t,attrs:o}=r,{input:n}=e,{dim:s}=o,a=n.shape.length,i=n.shape.slice(),p=s;return s<0&&(y.assert(-(a+1)<=s,()=>`Axis must be in the interval [${-(a+1)}, ${a}]`),p=a+s+1),i.splice(p,0,1),Me({inputs:{x:n},backend:t,attrs:{shape:i}})}var V2={kernelName:bs,backendName:\"cpu\",kernelFunc:Jp};var Bj=Be((r,e)=>r/e),hl=Qe(Jo,Bj),gl={kernelName:Jo,backendName:\"cpu\",kernelFunc:hl};function vf(r,e,t){let o=r.shape,n=o[0],s=o[1],a=t.data.get(r.dataId),i=a.complexTensorInfos.real,p=a.complexTensorInfos.imag,u=[n,s],c=y.sizeFromShape(u),l=y.getTypedArrayFromDType(\"float32\",c),m=y.getTypedArrayFromDType(\"float32\",c);for(let g=0;g{let{image:o}=r,n=t,s=y.getTypedArrayFromDType(o.dtype,y.sizeFromShape(o.shape)),[a,i,p,u]=o.shape,c=n.data.get(o.dataId).values;for(let m=0;m=0&&CMath.floor(r/e)),qj=Qe(sn,Hj,null,\"int32\"),G2={kernelName:sn,backendName:\"cpu\",kernelFunc:qj};function Kj(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s,bias:a,preluActivationWeights:i}=e,{strides:p,pad:u,dataFormat:c,dilations:l,dimRoundingMode:m,activation:d,leakyreluAlpha:f}=o,h=NS({inputs:{x:n,filter:s},backend:t,attrs:{strides:p,pad:u,dataFormat:c,dilations:l,dimRoundingMode:m}});if(a){let g=h;if(c===\"NCHW\"&&a.shape.length===1&&a.shape[0]!==1){let x=Me({inputs:{x:a},backend:t,attrs:{shape:[a.shape[0],1,1]}});h=js({inputs:{a:h,b:x},backend:t}),t.disposeIntermediateTensorInfo(x)}else h=js({inputs:{a:h,b:a},backend:t});t.disposeIntermediateTensorInfo(g)}if(d){let g=h;if(c===\"NCHW\"&&d===\"prelu\"&&i.shape.length===1&&i.shape[0]!==1){let x=Me({inputs:{x:i},backend:t,attrs:{shape:[i.shape[0],1,1]}});h=_u(t,h,d,x,f),t.disposeIntermediateTensorInfo(x)}else h=_u(t,h,d,i,f);t.disposeIntermediateTensorInfo(g)}return h}var H2={kernelName:ho,backendName:\"cpu\",kernelFunc:Kj};function jj(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s,bias:a,preluActivationWeights:i}=e,{strides:p,pad:u,dataFormat:c,dilations:l,dimRoundingMode:m,activation:d,leakyreluAlpha:f}=o,h=TS({inputs:{x:n,filter:s},backend:t,attrs:{strides:p,pad:u,dataFormat:c,dilations:l,dimRoundingMode:m}});if(a){let g=h;h=js({inputs:{a:h,b:a},backend:t}),t.disposeIntermediateTensorInfo(g)}if(d){let g=h;h=_u(t,h,d,i,f),t.disposeIntermediateTensorInfo(g)}return h}var q2={kernelName:go,backendName:\"cpu\",kernelFunc:jj};function Xj(r){let{inputs:e,backend:t}=r,{params:o,indices:n}=e,s=y.sizeFromShape(o.shape),a=n.shape,i=a[a.length-1],[p,u,c,l]=S.prepareAndValidate(o,n);if(u===0)return t.makeTensorInfo(p,o.dtype,[]);let m=t.data.get(n.dataId).values,d=t.bufferSync(o),f=pf(m,d,o.dtype,u,i,c,l,o.shape,s);return t.makeTensorInfo(p,o.dtype,f.values)}var K2={kernelName:un,backendName:\"cpu\",kernelFunc:Xj};function Yj(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,indices:s}=e,{axis:a,batchDims:i}=o;K([n,s],\"gatherV2\");let p=y.parseAxisParam(a,n.shape)[0],u=t.data.get(s.dataId).values,c=n.shape[p];for(let w=0;w=0,()=>`GatherV2: the index value ${k} is not in [0, ${c-1}]`)}let l=i;i==null&&(l=0);let m=y.sizeFromShape(s.shape),d=S.segment_util.collectGatherOpShapeInfo(n,s,p,l),f=Me({inputs:{x:n},backend:t,attrs:{shape:[d.batchSize,d.outerSize,d.dimSize,d.sliceSize]}}),h=Me({inputs:{x:s},backend:t,attrs:{shape:[d.batchSize,m/d.batchSize]}}),g=[d.batchSize,d.outerSize,m/d.batchSize,d.sliceSize],x=t.bufferSync(h),b=t.bufferSync(f),C=cf(b,x,g);return t.disposeIntermediateTensorInfo(f),t.disposeIntermediateTensorInfo(h),t.makeTensorInfo(d.outputShape,C.dtype,C.values)}var j2={kernelName:Ss,backendName:\"cpu\",kernelFunc:Yj};function Qj(r){let{inputs:e,backend:t}=r,{input:o}=e,n=y.sizeFromShape(o.shape),s=o.shape[o.shape.length-1],a=n/s,i=Me({inputs:{x:o},backend:t,attrs:{shape:[a,s]}}),p=vf(i,!0,t),u=Me({inputs:{x:p},backend:t,attrs:{shape:o.shape}});return t.disposeIntermediateTensorInfo(i),t.disposeIntermediateTensorInfo(p),u}var X2={kernelName:ni,backendName:\"cpu\",kernelFunc:Qj};var Zj=Ie(fa,r=>Number.isFinite(r)?1:0,\"bool\"),Y2={kernelName:fa,backendName:\"cpu\",kernelFunc:Zj};var Jj=Ie(ha,r=>Math.abs(r)===1/0?1:0,\"bool\"),Q2={kernelName:ha,backendName:\"cpu\",kernelFunc:Jj};var eX=Ie(ln,r=>Number.isNaN(r)?1:0,\"bool\"),Z2={kernelName:ln,backendName:\"cpu\",kernelFunc:eX};function tX(r){let{backend:e,attrs:t}=r,{start:o,stop:n,num:s}=t,a=lf(o,n,s);return e.makeTensorInfo([a.length],\"float32\",a)}var J2={kernelName:xp,backendName:\"cpu\",kernelFunc:tX};var rX=Ie(ga,r=>Math.log1p(r)),e_={kernelName:ga,backendName:\"cpu\",kernelFunc:rX};var oX=Be((r,e)=>r&&e),nX=Qe(gn,oX,null,\"bool\"),t_={kernelName:gn,backendName:\"cpu\",kernelFunc:nX};var sX=Ie(xn,r=>r?0:1,\"bool\"),r_={kernelName:xn,backendName:\"cpu\",kernelFunc:sX};var aX=Be((r,e)=>r||e),iX=Qe(xa,aX,null,\"bool\"),o_={kernelName:xa,backendName:\"cpu\",kernelFunc:iX};function uX(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{depthRadius:s,bias:a,alpha:i,beta:p}=o;K(n,\"LRN\");let u=n.shape[3],c=u-1,l=t.data.get(n.dataId).values,m=y.sizeFromShape(n.shape),d=new Float32Array(m);function f(h){let g=h%u,x=h-g+Math.max(0,g-s),b=h-g+Math.min(g+s,c),C=0;for(;x<=b;x++){let w=l[x];C+=w*w}return C}for(let h=0;h`Error in maxPool: Either strides or dilations must be 1. Got strides ${a} and dilations '${u}'`);let c=S.computePool2DInfo(n.shape,s,a,u,i,p),l;if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))l=ar({inputs:{x:n},backend:t});else{let m=t.data.get(n.dataId).values,d=y.computeStrides(n.shape),f=Zp(m,n.shape,n.dtype,d,c,\"max\");l=t.makeTensorInfo(c.outShape,n.dtype,f.values)}return l}var i_={kernelName:Cn,backendName:\"cpu\",kernelFunc:cX};function lX(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{filterSize:s,strides:a,pad:i,dimRoundingMode:p,dataFormat:u}=o;K(n,\"maxPool3d\");let c=S.computePool3DInfo(n.shape,s,a,1,i,p,u),l=t.data.get(n.dataId).values,m=If(l,n.shape,n.dtype,y.computeStrides(n.shape),c,\"max\");return t.makeTensorInfo(m.shape,\"float32\",m.values)}var u_={kernelName:bp,backendName:\"cpu\",kernelFunc:lX};function mX(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,input:s}=e,{filterSize:a,strides:i,pad:p,dimRoundingMode:u}=o;K([n,s],\"maxPool3DGrad\");let c=S.computePool3DInfo(s.shape,a,i,1,p,u),l=t.bufferSync(s),m=o2(l,c),d=c.strideDepth,f=c.strideHeight,h=c.strideWidth,g=c.dilationDepth,x=c.dilationHeight,b=c.dilationWidth,C=c.effectiveFilterDepth,w=c.effectiveFilterHeight,k=c.effectiveFilterWidth,_=C-1-c.padInfo.front,$=k-1-c.padInfo.left,A=w-1-c.padInfo.top,R=le(s.shape,\"float32\"),D=t.bufferSync(n);for(let P=0;P=c.outDepth||Math.floor(Z)!==Z))for(let ee=0;ee=c.outHeight||Math.floor(Y)!==Y))for(let J=0;J=c.outWidth||Math.floor(ie)!==ie)continue;let pe=C*w*k-1-m.get(P,Z,Y,ie,M),he=X*w*k+ee*k+J,we=pe===he?1:0;if(we===0)continue;let ve=D.get(P,Z,Y,ie,M);j+=ve*we}}}R.set(j,P,L,W,V,M)}return t.makeTensorInfo(R.shape,R.dtype,R.values)}var p_={kernelName:_m,backendName:\"cpu\",kernelFunc:mX};function dX(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,input:s,output:a}=e,i=s;K([s,a],\"maxPoolGrad\");let{filterSize:p,strides:u,pad:c,dimRoundingMode:l}=o,m=S.computePool2DInfo(i.shape,p,u,1,c,l),d=t.data.get(i.dataId).values,f=le(m.outShape,i.dtype,wf(d,i.shape,i.dtype,m).values),h=m.strideHeight,g=m.strideWidth,x=m.dilationHeight,b=m.dilationWidth,C=m.effectiveFilterHeight,w=m.effectiveFilterWidth,k=w-1-m.padInfo.left,_=C-1-m.padInfo.top,$=le(i.shape,\"float32\"),A=t.data.get(n.dataId).values,R=le(n.shape,\"float32\",A);for(let D=0;D=m.outHeight||Math.floor(H)!==H))for(let j=0;j=m.outWidth||Math.floor(X)!==X)continue;let Z=C*w-1-f.get(D,H,X,P),ee=q*w+j,Y=Z===ee?1:0;if(Y===0)continue;let J=R.get(D,H,X,P);U+=J*Y}}$.set(U,D,M,L,P)}return t.makeTensorInfo($.shape,$.dtype,$.values)}var c_={kernelName:Tm,backendName:\"cpu\",kernelFunc:dX};function l_(r,e,t,o,n){let s=y.computeStrides(e),a=Zp(r,e,t,s,n,\"max\"),i=wf(r,e,t,n,!0,o);return[a.values,i.values]}var m_={kernelName:Cp,backendName:\"cpu\",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{x:o}=r,{filterSize:n,strides:s,pad:a,includeBatchInIndex:i}=e,p=t;K(o,\"MaxPoolWithArgmax\");let u=p.data.get(o.dataId).values,c=S.computePool2DInfo(o.shape,n,s,[1,1],a),[l,m]=l_(u,o.shape,o.dtype,i,c),d=p.write(l,c.outShape,o.dtype),f=p.write(m,c.outShape,o.dtype);return[{dataId:d,shape:c.outShape,dtype:o.dtype},{dataId:f,shape:c.outShape,dtype:\"int32\"}]}};function fX(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o,i=y.parseAxisParam(s,n.shape),u=S.computeOutAndReduceShapes(n.shape,i)[1],c=y.sizeFromShape(u),l=[],m=t.makeTensorInfo([],\"float32\",new Float32Array([c]));l.push(m);let d=Io({inputs:{x:n},backend:t,attrs:{dtype:\"float32\"}});l.push(d);let f=hl({inputs:{a:d,b:m},backend:t});l.push(f);let h=La({inputs:{x:f},backend:t,attrs:{axis:s,keepDims:a}});return l.forEach(g=>t.disposeIntermediateTensorInfo(g)),h}var d_={kernelName:Sn,backendName:\"cpu\",kernelFunc:fX};function hX(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o;K(n,\"min\");let i=y.parseAxisParam(s,n.shape),p=i,u=S.getAxesPermutation(p,n.shape.length),c=n;u!=null&&(c=Ct({inputs:{x:n},backend:t,attrs:{perm:u}}),p=S.getInnerMostAxes(p.length,n.shape.length)),S.assertAxesAreInnerMostDims(\"min\",p,c.shape.length);let[l,m]=S.computeOutAndReduceShapes(c.shape,p),d=y.sizeFromShape(m),f=y.makeZerosTypedArray(y.sizeFromShape(l),c.dtype),h=t.data.get(c.dataId).values;for(let x=0;xC[0]+n.shape[w]+C[1]),p=s.map(C=>C[0]),u=s.map((C,w)=>C[0]+n.shape[w]),c=a===\"reflect\"?0:1,l=t.data.get(n.dataId).values,m=n.shape.length,d=y.computeStrides(n.shape),f=y.sizeFromShape(i),h=i.length,g=y.computeStrides(i),x=y.getTypedArrayFromDType(n.dtype,f);for(let C=0;C=u[_]&&(w[_]=(u[_]-1)*2-w[_]+c);w=w.map((_,$)=>_-p[$]);let k=y.locToIndex(w,m,d);x[C]=l[k]}return{dataId:t.write(x,i,n.dtype),shape:i,dtype:n.dtype}}var h_={kernelName:vn,backendName:\"cpu\",kernelFunc:gX};var xX=Be((r,e)=>{let t=r%e;return r<0&&e<0||r>=0&&e>=0?t:(t+e)%e}),yX=Qe(ya,xX),g_={kernelName:ya,backendName:\"cpu\",kernelFunc:yX};var y_=rp(gC());function $S(r){let{inputs:e,backend:t,attrs:o}=r,{logits:n}=e,{dim:s}=o,a=n.shape.length,i=s;if(i===-1&&(i=a-1),i!==a-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${a} and dim was ${i}`);let p=y.parseAxisParam([i],n.shape),u=ES({inputs:{x:n},backend:t,attrs:{reductionIndices:p,keepDims:!1}}),c=S.expandShapeToKeepDim(u.shape,p),l=Me({inputs:{x:u},backend:t,attrs:{shape:c}}),m=dl({inputs:{a:n,b:l},backend:t}),d=rS({inputs:{x:m},backend:t}),f=La({inputs:{x:d},backend:t,attrs:{axis:p,keepDims:!1}}),h=Me({inputs:{x:f},backend:t,attrs:{shape:c}}),g=hl({inputs:{a:d,b:h},backend:t});return t.disposeIntermediateTensorInfo(u),t.disposeIntermediateTensorInfo(l),t.disposeIntermediateTensorInfo(m),t.disposeIntermediateTensorInfo(d),t.disposeIntermediateTensorInfo(f),t.disposeIntermediateTensorInfo(h),g}var x_={kernelName:qn,backendName:\"cpu\",kernelFunc:$S};function bX(r){let{inputs:e,backend:t,attrs:o}=r,{logits:n}=e,{numSamples:s,seed:a,normalized:i}=o;K(n,\"multinomial\");let p=i?n:$S({inputs:{logits:n},backend:t,attrs:{dim:-1}}),u=p.shape[0],c=p.shape[1],l=t.data.get(p.dataId).values,m=[u,s],d=y.makeZerosTypedArray(y.sizeFromShape(m),\"int32\");for(let f=0;f=0&&l[m]{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(a===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let i=[],p=e.map(c=>{let l=Jp({inputs:{input:c},backend:t,attrs:{dim:n}});return i.push(l),l}),u=Pi({inputs:p,backend:t,attrs:{axis:n}});return i.forEach(c=>t.disposeIntermediateTensorInfo(c)),u}var T_={kernelName:vs,backendName:\"cpu\",kernelFunc:AS};function TX(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{paddings:s,constantValue:a}=o;K(n,\"pad\");let i=s.map((b,C)=>b[0]+n.shape[C]+b[1]),p=s.map(b=>b[0]),u=t.data.get(n.dataId).values,c=y.sizeFromShape(n.shape),l=n.shape.length,m=y.computeStrides(n.shape),d=y.sizeFromShape(i),f=i.length,h=y.computeStrides(i),g=y.getTypedArrayFromDType(n.dtype,d);a!==0&&g.fill(a);for(let b=0;b_+p[$]),k=y.locToIndex(w,f,h);g[k]=u[b]}return{dataId:t.write(g,i,n.dtype),shape:i,dtype:n.dtype}}var kf={kernelName:$n,backendName:\"cpu\",kernelFunc:TX};var _X=Be((r,e)=>Math.pow(r,e)),EX=Qe(An,_X),__={kernelName:An,backendName:\"cpu\",kernelFunc:EX};function $X(r){let{inputs:e,backend:t,attrs:o}=r,{paramsNestedSplits:n,paramsDenseValues:s,indices:a}=e,{outputRaggedRank:i}=o,p=n.map(x=>t.data.get(x.dataId).values),u=n.map(x=>x.shape),c=t.data.get(s.dataId).values,l=t.data.get(a.dataId).values,[m,d,f]=df(p,u,c,s.shape,s.dtype,l,a.shape,i),h=m.map(x=>t.makeTensorInfo([x.length],\"int32\",x)),g=t.makeTensorInfo(f,s.dtype,d);return h.concat([g])}var E_={kernelName:wp,backendName:\"cpu\",kernelFunc:$X};function AX(r){let{inputs:e,backend:t}=r,{starts:o,limits:n,deltas:s}=e,a=t.data.get(o.dataId).values,i=t.data.get(n.dataId).values,p=t.data.get(s.dataId).values,[u,c]=ff(a,o.shape,o.dtype,i,n.shape,p,s.shape),l=t.makeTensorInfo([u.length],\"int32\",u),m=t.makeTensorInfo([c.length],o.dtype,c);return[l,m]}var $_={kernelName:Ip,backendName:\"cpu\",kernelFunc:AX};function RX(r){let{inputs:e,backend:t,attrs:o}=r,{shape:n,values:s,defaultValue:a,rowPartitionTensors:i}=e,{rowPartitionTypes:p}=o,u=t.data.get(n.dataId).values,c=t.data.get(s.dataId).values,l=t.data.get(a.dataId).values,m=i.map(g=>t.data.get(g.dataId).values),d=i.map(g=>g.shape),[f,h]=hf(u,n.shape,c,s.shape,s.dtype,l,a.shape,m,d,p);return t.makeTensorInfo(f,s.dtype,h)}var A_={kernelName:vp,backendName:\"cpu\",kernelFunc:RX};function FX(r){let{backend:e,attrs:t}=r,{start:o,stop:n,dtype:s,step:a}=t,i=Iu(o,n,a,s);return e.makeTensorInfo([i.length],s,i)}var R_={kernelName:ks,backendName:\"cpu\",kernelFunc:FX};var DX=Ie(Dn,r=>1/r),F_={kernelName:Dn,backendName:\"cpu\",kernelFunc:DX};function OX(r){let{inputs:e,backend:t,attrs:o}=r,{images:n}=e,{alignCorners:s,halfPixelCenters:a,size:i}=o;K(n,\"resizeBilinear\");let p=y.computeStrides(n.shape),[u,c]=i,[l,m,d,f]=n.shape,h=t.data.get(n.dataId).values,g=new Float32Array(y.sizeFromShape([l,u,c,f])),x=[s&&u>1?m-1:m,s&&c>1?d-1:d],b=[s&&u>1?u-1:u,s&&c>1?c-1:c],C=0,w=x[0]/b[0],k=x[1]/b[1];for(let _=0;_1?u-1:u,a&&d>1?c-1:c],g=[a&&m>1?m-1:m,a&&d>1?d-1:d],x=h[0]/g[0],b=h[1]/g[1],C=t.data.get(s.dataId).values,w=0;for(let k=0;k1?m-1:m,s&&c>1?d-1:d],b=[s&&u>1?u-1:u,s&&c>1?c-1:c],C=x[0]/b[0],w=x[1]/b[1],k=0;for(let _=0;_1?c-1:c,a&&f>1?l-1:l],b=[a&&d>1?d-1:d,a&&f>1?f-1:f],C=x[0]/b[0],w=x[1]/b[1],k=1/C,_=1/w,$=Math.ceil(k)*2+2,A=Math.ceil(_)*2+2;for(let R=0;R=d)continue;let Y=D+ee*p[1],J=ee*C,ie=Math.min(c-1,a?Math.round(J):Math.floor(J));if(P===ie)for(let pe=0;pe=f)continue;let we=Y+he*p[2],ve=he*w,$e=Math.min(l-1,a?Math.round(ve):Math.floor(ve));V===$e&&(X+=g[we+j])}}h[U+j]=X}}}}return t.makeTensorInfo(n.shape,n.dtype,h)}var M_={kernelName:Em,backendName:\"cpu\",kernelFunc:LX};function BX(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{dims:s}=o;K(n,\"reverse\");let a=n.shape.length,i=y.parseAxisParam(s,n.shape);if(a===0)return ar({inputs:{x:n},backend:t});let p=new st(n.shape,n.dtype),u=t.bufferSync(n);for(let c=0;cm[d]=n.shape[d]-1-m[d]),p.set(u.get(...m),...l)}return t.makeTensorInfo(p.shape,p.dtype,p.values)}var L_={kernelName:Bn,backendName:\"cpu\",kernelFunc:BX};var B_={kernelName:es,backendName:\"cpu\",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{image:o}=r,{radians:n,fillValue:s,center:a}=e,i=t,p=y.getTypedArrayFromDType(o.dtype,y.sizeFromShape(o.shape)),[u,c,l,m]=o.shape,[d,f]=S.getImageCenter(a,c,l),h=255,g=Math.sin(n),x=Math.cos(n),b=i.data.get(o.dataId).values;for(let w=0;w=0&&W=0&&V{let e=Math.floor(r);return r-e<.5?Math.floor(r):r-e>.5?Math.ceil(r):e%2===0?e:e+1}),V_={kernelName:Ca,backendName:\"cpu\",kernelFunc:VX};function zX(r){let{inputs:e,backend:t,attrs:o}=r,{indices:n,updates:s}=e,{shape:a}=o,{sliceRank:i,numUpdates:p,sliceSize:u,strides:c,outputSize:l}=S.calculateShapes(s,n,a),m=!0,d=t.bufferSync(n),f=t.bufferSync(s),h=Ma(d,f,a,l,u,p,i,c,0,m);return t.makeTensorInfo(a,h.dtype,h.values)}var z_={kernelName:zn,backendName:\"cpu\",kernelFunc:zX};function WX(r,e){let t=0,o=r.length,n=0;for(;t1||n.shape.length===1?1:y.sizeFromShape(n.shape.slice(1));for(let f=0;fr>=0?KX*r:qX*(Math.exp(r)-1)),H_={kernelName:Xi,backendName:\"cpu\",kernelFunc:jX};var XX=Ie(Yi,r=>r<0?-1:r>0?1:0),q_={kernelName:Yi,backendName:\"cpu\",kernelFunc:XX};var YX=Ie(Wn,r=>Math.sin(r)),K_={kernelName:Wn,backendName:\"cpu\",kernelFunc:YX};var QX=Ie(Sa,r=>Math.sinh(r)),j_={kernelName:Sa,backendName:\"cpu\",kernelFunc:QX};var ZX=11920928955078125e-23,X_=Math.log(ZX)+2,JX=Ie(Qi,r=>{let e=r>-X_,t=rNumber(g)))),t.makeTensorInfo([h.length],o.dtype,new Int32Array(h))]}var Z_={kernelName:ui,backendName:\"cpu\",kernelFunc:t5};function r5(r){let{inputs:e,backend:t}=r,{inputIndices:o,inputShape:n,newShape:s}=e;if(o.shape.length!==2)throw new Error(`Input indices should be a matrix but received shape\n ${o.shape}`);if(n.shape.length!==1)throw new Error(`Input shape should be a vector but received shape\n ${n.shape}`);if(s.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);let a=Array.from(t.data.get(n.dataId).values),i=t.data.get(o.dataId).values,p=Array.from(t.data.get(s.dataId).values),[u,c,l]=xf(i,o.shape,o.dtype,a,p);return[t.makeTensorInfo(c,o.dtype,u),t.makeTensorInfo([l.length],s.dtype,new Int32Array(l))]}var J_={kernelName:wa,backendName:\"cpu\",kernelFunc:r5};function o5(r){let{inputs:e,backend:t}=r,{data:o,indices:n,segmentIds:s}=e;if(o.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(n.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${n.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(n.shape[0]!==s.shape[0])throw new Error(\"segmentIds and indices should have same size.\");let a=t.data.get(o.dataId).values,i=t.data.get(n.dataId).values,p=t.data.get(s.dataId).values,[u,c]=Yp(a,o.shape,o.dtype,i,p,!0);return t.makeTensorInfo(c,o.dtype,u)}var eE={kernelName:pi,backendName:\"cpu\",kernelFunc:o5};function n5(r){let{inputs:e,backend:t}=r,{data:o,indices:n,segmentIds:s}=e;if(o.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(n.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${n.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(n.shape[0]!==s.shape[0])throw new Error(\"segmentIds and indices should have same size.\");let a=t.data.get(o.dataId).values,i=t.data.get(n.dataId).values,p=t.data.get(s.dataId).values,[u,c]=Yp(a,o.shape,o.dtype,i,p);return t.makeTensorInfo(c,o.dtype,u)}var tE={kernelName:ci,backendName:\"cpu\",kernelFunc:n5};function s5(r){let{inputs:e,backend:t,attrs:o}=r,{sparseIndices:n,sparseValues:s,defaultValue:a}=e,{outputShape:i}=o,{sliceRank:p,numUpdates:u,sliceSize:c,strides:l,outputSize:m}=S.calculateShapes(s,n,i),d=!1,f=t.bufferSync(n),h;switch(s.dtype){case\"bool\":{let g=t.bufferSync(s),x=Boolean(t.data.get(a.dataId).values[0]);h=Ma(f,g,i,m,c,u,p,l,x,d);break}case\"float32\":{let g=t.bufferSync(s),x=t.data.get(a.dataId).values[0];h=Ma(f,g,i,m,c,u,p,l,x,d);break}case\"int32\":{let g=t.bufferSync(s),x=t.data.get(a.dataId).values[0];h=Ma(f,g,i,m,c,u,p,l,x,d);break}case\"string\":{let g=t.bufferSync(s),x=y.decodeString(t.data.get(a.dataId).values[0]);h=Ma(f,g,i,m,c,u,p,l,x,d);break}default:throw new Error(`Unsupported type ${s.dtype}`)}return t.makeTensorInfo(i,h.dtype,h.values)}var rE={kernelName:li,backendName:\"cpu\",kernelFunc:s5};function a5(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{numOrSizeSplits:s,axis:a}=o,i=y.parseAxisParam(a,n.shape)[0],p=S.prepareSplitSize(n,s,i),u=new Array(n.shape.length).fill(0),c=n.shape.slice();return p.map(l=>{let m=[...c];m[i]=l;let d=No({inputs:{x:n},backend:t,attrs:{begin:u,size:m}});return u[i]+=l,d})}var oE={kernelName:$s,backendName:\"cpu\",kernelFunc:a5};var nE={kernelName:mi,backendName:\"cpu\",kernelFunc:({inputs:r,backend:e})=>{let{x:t}=r,o=e;K(t,\"square\");let n=o.data.get(t.dataId).values,s=new Float32Array(n.length);for(let i=0;i{let t=e;return isNaN(r)?NaN:r>0?1:t.alpha}),sE={kernelName:Ds,backendName:\"cpu\",kernelFunc:i5};function u5(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{begin:s,end:a,strides:i,beginMask:p,endMask:u,ellipsisMask:c,newAxisMask:l,shrinkAxisMask:m}=o;K(n,\"stridedSlice\");let{finalShapeSparse:d,finalShape:f,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:C,strides:w}=ut.sliceInfo(n.shape,s,a,i,p,u,c,l,m),k;if(h)k=Me({inputs:{x:n},backend:t,attrs:{shape:f}});else if(g||x){y.assert(n.shape.length>=1,()=>`Input must have rank at least 1, got: ${n.shape.length}`);let _=ut.computeOutShape(b,C,w),$=No({inputs:{x:n},backend:t,attrs:{begin:b,size:_}});k=Me({inputs:{x:$},backend:t,attrs:{shape:f}}),t.disposeIntermediateTensorInfo($)}else{let _=t.bufferSync(n),$=yf(d,_,w,b);k=t.makeTensorInfo(f,$.dtype,$.values)}return k}var aE={kernelName:jn,backendName:\"cpu\",kernelFunc:u5};function p5(r){let{inputs:e,backend:t,attrs:o}=r,{separator:n,nGramWidths:s,leftPad:a,rightPad:i,padWidth:p,preserveShortSequences:u}=o,{data:c,dataSplits:l}=e,m=t.data.get(c.dataId).values,d=t.data.get(l.dataId).values,[f,h]=ku(m,d,n,s,a,i,p,u);return[t.makeTensorInfo([f.length],\"string\",f),t.makeTensorInfo(l.shape,\"int32\",h)]}var iE={kernelName:As,backendName:\"cpu\",kernelFunc:p5};function c5(r){let{inputs:e,backend:t,attrs:o}=r,{skipEmpty:n}=o,{input:s,delimiter:a}=e;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(s.shape.length!==1)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(a.shape.length!==0)throw new Error(`Delimiter must be a scalar, got shape: ${a.shape}`);let i=t.data.get(s.dataId).values,p=t.data.get(a.dataId).values[0],[u,c,l]=Nu(i,p,n),m=c.length;return[t.makeTensorInfo([m,2],\"int32\",u),t.makeTensorInfo([m],\"string\",c),t.makeTensorInfo([2],\"int32\",new Int32Array(l))]}var uE={kernelName:di,backendName:\"cpu\",kernelFunc:c5};function l5(r){let{inputs:e,backend:t,attrs:o}=r,{numBuckets:n}=o,{input:s}=e;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(n<=0)throw new Error(\"Number of buckets must be at least 1\");let a=t.data.get(s.dataId).values,i=Tu(a,n);return t.makeTensorInfo(s.shape,\"int32\",i)}var pE={kernelName:fi,backendName:\"cpu\",kernelFunc:l5};var m5=Ie(Yn,r=>Math.tan(r)),cE={kernelName:Yn,backendName:\"cpu\",kernelFunc:m5};var d5=Ie(Qn,r=>Math.tanh(r)),lE={kernelName:Qn,backendName:\"cpu\",kernelFunc:d5};function f5(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{reps:s}=o;K(n,\"tile\");let a=bf(t.bufferSync(n),s);return t.makeTensorInfo(a.shape,a.dtype,a.values)}var mE={kernelName:to,backendName:\"cpu\",kernelFunc:f5};function h5(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{k:s,sorted:a}=o;K(n,\"topk\");let i=t.data.get(n.dataId).values,[p,u]=Cf(i,n.shape,n.dtype,s,a);return[t.makeTensorInfo(p.shape,p.dtype,p.values),t.makeTensorInfo(u.shape,u.dtype,u.values)]}var dE={kernelName:Zn,backendName:\"cpu\",kernelFunc:h5};function g5(r){let{inputs:e,attrs:t,backend:o}=r,{image:n,transforms:s}=e,{interpolation:a,fillMode:i,fillValue:p,outputShape:u}=t,[c,l,m,d]=n.shape,[f,h]=u!=null?u:[l,m],g=[c,f,h,d],x=y.computeStrides(n.shape),b=x[0],C=x[1],w=x[2],k=y.computeStrides(g),_=k[0],$=k[1],A=k[2],R=y.getTypedArrayFromDType(n.dtype,y.sizeFromShape(g));R.fill(p);let D=o.data.get(n.dataId).values,P=o.data.get(s.dataId).values;for(let L=0;Le-1)if(e<=1)t=0;else{let o=2*e;t-=o*Math.trunc(t/o),t>=e&&(t=o-t-1)}return y.clamp(0,t,e-1)}function y5(r,e){let t=r;if(t<0)if(e<=1)t=0;else{let o=e-1;t+=e*(Math.trunc(-t/o)+1)}else if(t>e-1)if(e<=1)t=0;else{let o=e-1;t-=e*Math.trunc(t/o)}return y.clamp(0,t,e-1)}function b5(r,e){return r}function C5(r,e){return y.clamp(0,r,e-1)}function bl(r,e,t,o,n,s,a,i,p,u,c){let l=a*o+i*n+p*s+u;return 0<=i&&it.disposeIntermediateTensorInfo(f)),d}var yE={kernelName:Np,backendName:\"cpu\",kernelFunc:k5};var N5=[GT,tT,HT,qT,aT,KT,jT,XT,YT,QT,ZT,JT,e2,t2,r2,n2,s2,a2,i2,UT,u2,p2,c2,l2,sT,iT,m2,rT,d2,h2,g2,x2,y2,b2,C2,S2,w2,I2,v2,k2,N2,T2,_2,E2,$2,A2,R2,F2,D2,O2,M2,MT,L2,uT,B2,pT,V2,cT,z2,W2,U2,lT,G2,H2,q2,K2,j2,mT,dT,oT,X2,f2,Y2,Q2,Z2,LT,fT,hT,J2,gT,e_,t_,r_,o_,n_,s_,a_,xT,i_,u_,p_,c_,m_,d_,f_,yT,h_,g_,b_,bT,CT,C_,S_,w_,ST,I_,N_,T_,kf,__,BT,IT,E_,$_,A_,R_,nT,gl,F_,VT,zT,WT,D_,O_,P_,M_,L_,B_,V_,_T,z_,U_,G_,H_,$T,q_,K_,j_,AT,x_,Y_,Q_,Z_,J_,eE,tE,rE,oE,FT,nE,DT,sE,aE,iE,uE,pE,OT,P2,cE,lE,mE,dE,hE,wT,gE,xE,yE,v_];for(let r of N5)Ia(r);var oc={};Ue(oc,{assertNotComplex:()=>is,bindCanvasToFramebuffer:()=>O5,bindColorTextureToFramebuffer:()=>Il,bindTextureToProgramUniformSampler:()=>KS,bindTextureUnit:()=>wE,bindVertexBufferToProgramAttribute:()=>Af,callAndCheck:()=>ce,canBeRepresented:()=>OS,createFragmentShader:()=>MS,createFramebuffer:()=>GS,createProgram:()=>LS,createStaticIndexBuffer:()=>zS,createStaticVertexBuffer:()=>VS,createTexture:()=>WS,createVertexShader:()=>PS,getBatchDim:()=>Va,getExtensionOrThrow:()=>ec,getFramebufferErrorMessage:()=>IE,getMaxTexturesInShader:()=>YS,getNumChannels:()=>F5,getProgramUniformLocation:()=>qS,getProgramUniformLocationOrThrow:()=>HS,getRowsCols:()=>za,getShapeAs3D:()=>rc,getTextureShapeFromLogicalShape:()=>jS,getWebGLDisjointQueryTimerVersion:()=>QS,getWebGLErrorMessage:()=>SE,getWebGLMaxTextureSize:()=>XS,hasExtension:()=>Ur,isCapableOfRenderingToFloatTexture:()=>ZS,isDownloadFloatTextureEnabled:()=>JS,isReshapeFree:()=>Li,isWebGLFenceEnabled:()=>ew,isWebGLVersionEnabled:()=>Ff,linkProgram:()=>BS,logShaderSourceAndInfoLog:()=>$f,resetMaxTextureSize:()=>P5,resetMaxTexturesInShader:()=>M5,unbindColorTextureFromFramebuffer:()=>Rf,unbindTextureUnit:()=>D5,validateFramebuffer:()=>tc,validateProgram:()=>wl,validateTextureSize:()=>US});var Eu={},Nf={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function RS(r,e){Eu[r]=e}function Wr(r,e){if(!(r in Eu)||e!=null){let o=_5(r,e);if(o!==null)Eu[r]=o;else return console.log(\"Could not get context for WebGL version\",r),null}let t=Eu[r];return t==null||t.isContextLost()?(delete Eu[r],Wr(r)):(t.disable(t.DEPTH_TEST),t.disable(t.STENCIL_TEST),t.disable(t.BLEND),t.disable(t.DITHER),t.disable(t.POLYGON_OFFSET_FILL),t.disable(t.SAMPLE_COVERAGE),t.enable(t.SCISSOR_TEST),t.enable(t.CULL_FACE),t.cullFace(t.BACK),Eu[r])}function T5(r){if(typeof OffscreenCanvas!=\"undefined\"&&r===2)return new OffscreenCanvas(300,150);if(typeof document!=\"undefined\")return document.createElement(\"canvas\");throw new Error(\"Cannot create a canvas in this context\")}function _5(r,e){if(r!==1&&r!==2)throw new Error(\"Cannot get WebGL rendering context, WebGL is disabled.\");let t=e==null?T5(r):e;return t.addEventListener(\"webglcontextlost\",o=>{o.preventDefault(),delete Eu[r]},!1),O().getBool(\"SOFTWARE_WEBGL_ENABLED\")&&(Nf.failIfMajorPerformanceCaveat=!1),r===1?t.getContext(\"webgl\",Nf)||t.getContext(\"experimental-webgl\",Nf):t.getContext(\"webgl2\",Nf)}var Mi;(function(r){r[r.DENSE=0]=\"DENSE\",r[r.SHARED_BATCH=1]=\"SHARED_BATCH\"})(Mi||(Mi={}));var ir;(function(r){r[r.RENDER=0]=\"RENDER\",r[r.UPLOAD=1]=\"UPLOAD\",r[r.PIXELS=2]=\"PIXELS\",r[r.DOWNLOAD=3]=\"DOWNLOAD\"})(ir||(ir={}));var Zt;(function(r){r[r.UNPACKED_FLOAT16=0]=\"UNPACKED_FLOAT16\",r[r.UNPACKED_FLOAT32=1]=\"UNPACKED_FLOAT32\",r[r.PACKED_4X1_UNSIGNED_BYTE=2]=\"PACKED_4X1_UNSIGNED_BYTE\",r[r.PACKED_2X2_FLOAT32=3]=\"PACKED_2X2_FLOAT32\",r[r.PACKED_2X2_FLOAT16=4]=\"PACKED_2X2_FLOAT16\"})(Zt||(Zt={}));function $u(r,e){return[e,r]}function bE(r,e){return r*e}function Cl(r){let e=y.sizeFromShape(r),t=Math.ceil(e/4);return y.sizeToSquarishShape(t)}function Ys(r,e){return[Math.max(1,Math.ceil(e/2)),Math.max(1,Math.ceil(r/2))]}function CE(r,e){let[t,o]=Ys(r,e);return t*o*4}function Sl(r,e){let t=r,o,n,s,a,i,p,u,c,l,m;return O().getNumber(\"WEBGL_VERSION\")===2?(o=t.R32F,n=t.R16F,s=t.RGBA16F,a=t.RGBA32F,i=t.RED,u=4,c=1,l=t.HALF_FLOAT,m=t.FLOAT,p=t.RGBA8):(o=r.RGBA,n=r.RGBA,s=r.RGBA,a=t.RGBA,i=r.RGBA,u=4,c=4,l=e!=null?e.HALF_FLOAT_OES:null,m=r.FLOAT,p=r.RGBA),{internalFormatFloat:o,internalFormatHalfFloat:n,internalFormatPackedHalfFloat:s,internalFormatPackedFloat:a,textureFormatFloat:i,downloadTextureFormat:p,downloadUnpackNumChannels:u,defaultNumChannels:c,textureTypeHalfFloat:l,textureTypeFloat:m}}function ce(r,e){let t=e();return O().getBool(\"DEBUG\")&&E5(r),t}function E5(r){let e=r.getError();if(e!==r.NO_ERROR)throw new Error(\"WebGL Error: \"+SE(r,e))}var $5=596e-10,A5=65504;function OS(r){return!!(O().getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")||r===0||$5r.getExtension(e),'Extension \"'+e+'\" not supported on this browser.')}function PS(r,e){let t=Ba(r,()=>r.createShader(r.VERTEX_SHADER),\"Unable to create vertex WebGLShader.\");if(ce(r,()=>r.shaderSource(t,e)),ce(r,()=>r.compileShader(t)),r.getShaderParameter(t,r.COMPILE_STATUS)===!1)throw console.log(r.getShaderInfoLog(t)),new Error(\"Failed to compile vertex shader.\");return t}function MS(r,e){let t=Ba(r,()=>r.createShader(r.FRAGMENT_SHADER),\"Unable to create fragment WebGLShader.\");if(ce(r,()=>r.shaderSource(t,e)),ce(r,()=>r.compileShader(t)),O().get(\"ENGINE_COMPILE_ONLY\"))return t;if(r.getShaderParameter(t,r.COMPILE_STATUS)===!1)throw $f(e,r.getShaderInfoLog(t)),new Error(\"Failed to compile fragment shader.\");return t}var R5=/ERROR: [0-9]+:([0-9]+):/g;function $f(r,e){let t=R5.exec(e);if(t==null){console.log(`Couldn't parse line number in error: ${e}`),console.log(r);return}let o=+t[1],n=r.split(`\n`),s=n.length.toString().length+2,a=n.map((l,m)=>y.rightPad((m+1).toString(),s)+l),i=0;for(let l=0;lr.createProgram(),\"Unable to create WebGLProgram.\")}function BS(r,e){if(ce(r,()=>r.linkProgram(e)),!O().get(\"ENGINE_COMPILE_ONLY\")&&r.getProgramParameter(e,r.LINK_STATUS)===!1)throw console.log(r.getProgramInfoLog(e)),new Error(\"Failed to link vertex and fragment shaders.\")}function wl(r,e){if(ce(r,()=>r.validateProgram(e)),r.getProgramParameter(e,r.VALIDATE_STATUS)===!1)throw console.log(r.getProgramInfoLog(e)),new Error(\"Shader program validation failed.\")}function VS(r,e){let t=Ba(r,()=>r.createBuffer(),\"Unable to create WebGLBuffer\");return ce(r,()=>r.bindBuffer(r.ARRAY_BUFFER,t)),ce(r,()=>r.bufferData(r.ARRAY_BUFFER,e,r.STATIC_DRAW)),t}function zS(r,e){let t=Ba(r,()=>r.createBuffer(),\"Unable to create WebGLBuffer\");return ce(r,()=>r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,t)),ce(r,()=>r.bufferData(r.ELEMENT_ARRAY_BUFFER,e,r.STATIC_DRAW)),t}function F5(){return O().getNumber(\"WEBGL_VERSION\")===2?1:4}function WS(r){return Ba(r,()=>r.createTexture(),\"Unable to create WebGLTexture.\")}function US(r,e){let t=O().getNumber(\"WEBGL_MAX_TEXTURE_SIZE\");if(r<=0||e<=0){let o=`[${r}x${e}]`;throw new Error(\"Requested texture size \"+o+\" is invalid.\")}if(r>t||e>t){let o=`[${r}x${e}]`,n=`[${t}x${t}]`;throw new Error(\"Requested texture size \"+o+\" greater than WebGL maximum on this browser / GPU \"+n+\".\")}}function GS(r){return Ba(r,()=>r.createFramebuffer(),\"Unable to create WebGLFramebuffer.\")}function Af(r,e,t,o,n,s,a){let i=r.getAttribLocation(e,t);return i===-1?!1:(ce(r,()=>r.bindBuffer(r.ARRAY_BUFFER,o)),ce(r,()=>r.vertexAttribPointer(i,n,r.FLOAT,!1,s,a)),ce(r,()=>r.enableVertexAttribArray(i)),!0)}function wE(r,e,t){vE(r,t),ce(r,()=>r.activeTexture(r.TEXTURE0+t)),ce(r,()=>r.bindTexture(r.TEXTURE_2D,e))}function D5(r,e){vE(r,e),ce(r,()=>r.activeTexture(r.TEXTURE0+e)),ce(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function HS(r,e,t){return Ba(r,()=>r.getUniformLocation(e,t),'uniform \"'+t+'\" not present in program.')}function qS(r,e,t){return r.getUniformLocation(e,t)}function KS(r,e,t,o){ce(r,()=>wE(r,e,o)),ce(r,()=>r.uniform1i(t,o))}function O5(r){ce(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,null)),ce(r,()=>r.viewport(0,0,r.canvas.width,r.canvas.height)),ce(r,()=>r.scissor(0,0,r.canvas.width,r.canvas.height))}function Il(r,e,t){ce(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,t)),ce(r,()=>r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,e,0))}function Rf(r,e){ce(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,e)),ce(r,()=>r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,null,0))}function tc(r){let e=r.checkFramebufferStatus(r.FRAMEBUFFER);if(e!==r.FRAMEBUFFER_COMPLETE)throw new Error(\"Error binding framebuffer: \"+IE(r,e))}function IE(r,e){switch(e){case r.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\";case r.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\";case r.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\";case r.FRAMEBUFFER_UNSUPPORTED:return\"FRAMEBUFFER_UNSUPPORTED\";default:return`unknown error ${e}`}}function Ba(r,e,t){let o=ce(r,()=>e());if(o==null)throw new Error(t);return o}function vE(r,e){let t=r.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,o=e+r.TEXTURE0;if(ot){let n=`[gl.TEXTURE0, gl.TEXTURE${t}]`;throw new Error(`textureUnit must be in ${n}.`)}}function Va(r,e=2){return y.sizeFromShape(r.slice(0,r.length-e))}function za(r){if(r.length===0)throw Error(\"Cannot get rows and columns of an empty shape array.\");return[r.length>1?r[r.length-2]:1,r[r.length-1]]}function rc(r){let e=[1,1,1];return r.length===0||r.length===1&&r[0]===1||(e=[Va(r),...za(r)]),e}function jS(r,e=!1){let t=O().getNumber(\"WEBGL_MAX_TEXTURE_SIZE\"),o=O().getNumber(\"WEBGL_MAX_SIZE_FOR_NARROW_TEXTURE\");o===1/0&&O().getBool(\"WEBGL_AUTO_SQUARIFY_NARROW_TEXTURE_SHAPE\")&&(o=t/2),e&&(t=t*2,o=o*2,r=r.map((i,p)=>p>=r.length-2?y.nearestLargerEven(r[p]):r[p]),r.length===1&&(r=[2,r[0]])),r.length!==2&&(r=y.squeezeShape(r).newShape);let n=y.sizeFromShape(r),s=null;r.length<=1&&n<=t?s=[1,n]:r.length===2&&r[0]<=t&&r[1]<=t?s=r:r.length===3&&r[0]*r[1]<=t&&r[2]<=t?s=[r[0]*r[1],r[2]]:r.length===3&&r[0]<=t&&r[1]*r[2]<=t?s=[r[0],r[1]*r[2]]:r.length===4&&r[0]*r[1]*r[2]<=t&&r[3]<=t?s=[r[0]*r[1]*r[2],r[3]]:r.length===4&&r[0]<=t&&r[1]*r[2]*r[3]<=t&&(s=[r[0],r[1]*r[2]*r[3]]);let a=s!=null&&Math.max(...s)>o&&Math.min(...s)<=(e?2:1)&&Math.min(...s)>0;if(s==null||a)if(e){let i=Va(r),p=2,u=2;r.length&&([p,u]=za(r)),n=i*(p/2)*(u/2),s=y.sizeToSquarishShape(n).map(c=>c*2)}else s=y.sizeToSquarishShape(n);return s}function Tf(r){return r%2===0}function Li(r,e){if(r=r.slice(-2),e=e.slice(-2),y.arraysEqual(r,e)||!r.length||!e.length||r[0]===0||r[1]===0||e[0]===0||e[1]===0)return!0;if(r.length!==e.length){let t=r.slice(-1)[0],o=e.slice(-1)[0];if(t===o||Tf(t)&&Tf(o)&&(r[0]===1||e[0]===1))return!0}return r[1]===e[1]&&Tf(r[0])&&Tf(e[0])}var _f,Ef;function XS(r){if(_f==null){let e=Wr(r);_f=e.getParameter(e.MAX_TEXTURE_SIZE)}return _f}function P5(){_f=null}function M5(){Ef=null}function YS(r){if(Ef==null){let e=Wr(r);Ef=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS)}return Math.min(16,Ef)}function QS(r){if(r===0)return 0;let e,t=Wr(r);return Ur(t,\"EXT_disjoint_timer_query_webgl2\")&&r===2?e=2:Ur(t,\"EXT_disjoint_timer_query\")?e=1:e=0,e}function Ur(r,e){return r.getExtension(e)!=null}function Ff(r){try{if(Wr(r)!=null)return!0}catch(e){return console.log(\"Error when getting WebGL context: \",e),!1}return!1}function ZS(r){if(r===0)return!1;let e=Wr(r);if(r===1){if(!Ur(e,\"OES_texture_float\"))return!1}else if(!Ur(e,\"EXT_color_buffer_float\"))return!1;return DS(e)}function JS(r){if(r===0)return!1;let e=Wr(r);if(r===1){if(!Ur(e,\"OES_texture_float\")||!Ur(e,\"WEBGL_color_buffer_float\"))return!1}else{if(Ur(e,\"EXT_color_buffer_float\"))return DS(e);let o=\"EXT_color_buffer_half_float\";if(Ur(e,o)){let n=e.getExtension(o);return L5(e,n)}return!1}return DS(e)}function DS(r){let e=Sl(r),t=r.createTexture();r.bindTexture(r.TEXTURE_2D,t);let o=1,n=1;r.texImage2D(r.TEXTURE_2D,0,e.internalFormatFloat,o,n,0,e.textureFormatFloat,e.textureTypeFloat,null);let s=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,s),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,t,0);let a=r.checkFramebufferStatus(r.FRAMEBUFFER)===r.FRAMEBUFFER_COMPLETE;return r.bindTexture(r.TEXTURE_2D,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteTexture(t),r.deleteFramebuffer(s),a}function L5(r,e){let t=Sl(r,e),o=r.createTexture();r.bindTexture(r.TEXTURE_2D,o);let n=1,s=1;r.texImage2D(r.TEXTURE_2D,0,t.internalFormatHalfFloat,n,s,0,t.textureFormatFloat,t.textureTypeHalfFloat,null);let a=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,a),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,o,0);let i=r.checkFramebufferStatus(r.FRAMEBUFFER)===r.FRAMEBUFFER_COMPLETE;return r.bindTexture(r.TEXTURE_2D,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteTexture(o),r.deleteFramebuffer(a),i}function ew(r){return r!==2?!1:Wr(r).fenceSync!=null}function is(r,e){Array.isArray(r)||(r=[r]),r.forEach(t=>{t!=null&&y.assert(t.dtype!==\"complex64\",()=>`${e} does not support complex64 tensors in the WebGL backend.`)})}var Ce=O();Ce.registerFlag(\"HAS_WEBGL\",()=>Ce.getNumber(\"WEBGL_VERSION\")>0);Ce.registerFlag(\"WEBGL_VERSION\",()=>Ff(2)?2:Ff(1)?1:0);Ce.registerFlag(\"WEBGL_CHECK_NUMERICAL_PROBLEMS\",()=>!1);Ce.registerFlag(\"WEBGL_BUFFER_SUPPORTED\",()=>Ce.get(\"WEBGL_VERSION\")===2);Ce.registerFlag(\"WEBGL_CPU_FORWARD\",()=>!0);Ce.registerFlag(\"WEBGL_FORCE_F16_TEXTURES\",()=>!1);Ce.registerFlag(\"WEBGL_PACK\",()=>Ce.getBool(\"HAS_WEBGL\"));Ce.registerFlag(\"WEBGL_PACK_NORMALIZATION\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_PACK_CLIP\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_PACK_DEPTHWISECONV\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_PACK_BINARY_OPERATIONS\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_PACK_UNARY_OPERATIONS\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_PACK_ARRAY_OPERATIONS\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_PACK_IMAGE_OPERATIONS\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_PACK_REDUCE\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_LAZILY_UNPACK\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_CONV_IM2COL\",()=>Ce.getBool(\"WEBGL_PACK\"));Ce.registerFlag(\"WEBGL_MAX_TEXTURE_SIZE\",()=>XS(Ce.getNumber(\"WEBGL_VERSION\")));Ce.registerFlag(\"WEBGL_MAX_TEXTURES_IN_SHADER\",()=>YS(Ce.getNumber(\"WEBGL_VERSION\")));Ce.registerFlag(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\",()=>{let r=Ce.getNumber(\"WEBGL_VERSION\");return r===0?0:QS(r)});Ce.registerFlag(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\",()=>Ce.getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")>0&&!yi.isMobile());Ce.registerFlag(\"WEBGL_RENDER_FLOAT32_CAPABLE\",()=>ZS(Ce.getNumber(\"WEBGL_VERSION\")));Ce.registerFlag(\"WEBGL_RENDER_FLOAT32_ENABLED\",()=>Ce.getBool(\"WEBGL_FORCE_F16_TEXTURES\")?!1:Ce.getBool(\"WEBGL_RENDER_FLOAT32_CAPABLE\"));Ce.registerFlag(\"WEBGL_DOWNLOAD_FLOAT_ENABLED\",()=>JS(Ce.getNumber(\"WEBGL_VERSION\")));Ce.registerFlag(\"WEBGL_FENCE_API_ENABLED\",()=>ew(Ce.getNumber(\"WEBGL_VERSION\")));Ce.registerFlag(\"WEBGL_SIZE_UPLOAD_UNIFORM\",()=>Ce.getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")?4:0);Ce.registerFlag(\"WEBGL_DELETE_TEXTURE_THRESHOLD\",()=>-1,r=>{if(r<0&&r!==-1)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be -1 (indicating never delete) or at least 0, but got ${r}.`)});Ce.registerFlag(\"WEBGL_FLUSH_THRESHOLD\",()=>yi.isMobile()?1:-1,r=>{if(r<0&&r!==-1)throw new Error(`WEBGL_FLUSH_THRESHOLD must be -1 (indicating never manual flush) or at least 0, but got ${r}.`)});Ce.registerFlag(\"CPU_HANDOFF_SIZE_THRESHOLD\",()=>128);Ce.registerFlag(\"WEBGL_USE_SHAPES_UNIFORMS\",()=>!1);Ce.registerFlag(\"TOPK_LAST_DIM_CPU_HANDOFF_SIZE_THRESHOLD\",()=>1e5);Ce.registerFlag(\"TOPK_K_CPU_HANDOFF_THRESHOLD\",()=>128);Ce.registerFlag(\"WEBGL_EXP_CONV\",()=>!1);Ce.registerFlag(\"SOFTWARE_WEBGL_ENABLED\",()=>Ce.getBool(\"IS_TEST\"));Ce.registerFlag(\"WEBGL_MAX_SIZE_FOR_NARROW_TEXTURE\",()=>1/0);Ce.registerFlag(\"WEBGL_AUTO_SQUARIFY_NARROW_TEXTURE_SHAPE\",()=>!1);Ce.registerFlag(\"WEBGL2_ISNAN_CUSTOM\",()=>!1);Ce.registerFlag(\"ENGINE_COMPILE_ONLY\",()=>!1);function St(){let r,e,t,o,n,s,a,i,p,u;return O().getNumber(\"WEBGL_VERSION\")===2?(r=\"#version 300 es\",e=\"in\",t=\"out\",o=\"in\",n=\"texture\",s=\"outputColor\",a=\"out vec4 outputColor;\",i=O().getBool(\"WEBGL2_ISNAN_CUSTOM\")?`\n bool isnan_custom(float val) {\n uint floatToUint = floatBitsToUint(val);\n return (floatToUint & 0x7fffffffu) > 0x7f800000u;\n }\n\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan_custom(val.x),\n isnan_custom(val.y), isnan_custom(val.z), isnan_custom(val.w));\n }\n\n #define isnan(value) isnan_custom(value)\n `:\"\",p=\"\",u=`\n #define round(value) newRound(value)\n int newRound(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 newRound(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n `):(r=\"\",e=\"attribute\",t=\"varying\",o=\"varying\",n=\"texture2D\",s=\"gl_FragColor\",a=\"\",i=`\n #define isnan(value) isnan_custom(value)\n bool isnan_custom(float val) {\n return (val > 0. || val < 1. || val == 0.) ? false : true;\n }\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan(val.x), isnan(val.y), isnan(val.z), isnan(val.w));\n }\n `,p=`\n uniform float INFINITY;\n\n bool isinf(float val) {\n return abs(val) == INFINITY;\n }\n bvec4 isinf(vec4 val) {\n return equal(abs(val), vec4(INFINITY));\n }\n `,u=`\n int round(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 round(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n `),{version:r,attribute:e,varyingVs:t,varyingFs:o,texture2D:n,output:s,defineOutput:a,defineSpecialNaN:i,defineSpecialInf:p,defineRound:u}}function us(r,e,t=\"index\"){let o=y.computeStrides(e);return o.map((n,s)=>{let a=`int ${r[s]} = ${t} / ${n}`,i=s===o.length-1?`int ${r[s+1]} = ${t} - ${r[s]} * ${n}`:`index -= ${r[s]} * ${n}`;return`${a}; ${i};`}).join(\"\")}function Au(r,e,t=\"index\"){let o=y.computeStrides(e);return o.map((n,s)=>{let a=`int ${r[s]} = ${t} / outShapeStrides[${s}]`,i=s===o.length-1?`int ${r[s+1]} = ${t} - ${r[s]} * outShapeStrides[${s}]`:`index -= ${r[s]} * outShapeStrides[${s}]`;return`${a}; ${i};`}).join(\"\")}function B5(r,e){let t=r.length,o=r.map(s=>`${e}[${s}]`),n=new Array(t-1);n[t-2]=o[t-1];for(let s=t-3;s>=0;--s)n[s]=`(${n[s+1]} * ${o[s+1]})`;return n}function kE(r,e,t=\"index\"){let o=r.map((s,a)=>a),n=B5(o,e);return n.map((s,a)=>{let i=`int ${r[a]} = ${t} / ${n[a]}`,p=a===n.length-1?`int ${r[a+1]} = ${t} - ${r[a]} * ${n[a]}`:`index -= ${r[a]} * ${n[a]}`;return`${i}; ${p};`}).join(\"\")}function nc(r){let e=y.computeStrides(r).map(t=>t.toString());return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * ${e[0]} + coords.y * ${e[1]} + coords.z;\n }\n`}function sc(){return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n`}var Df=`\n const float FLOAT_MAX = 1.70141184e38;\n const float FLOAT_MIN = 1.17549435e-38;\n\n lowp vec4 encode_float(highp float v) {\n if (isnan(v)) {\n return vec4(255, 255, 255, 255);\n }\n\n highp float av = abs(v);\n\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 255.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n highp float e = floor(log2(av));\n highp float m = exp2(fract(log2(av))) - 1.0;\n\n c[2] = floor(128.0 * m);\n m -= c[2] / 128.0;\n c[1] = floor(32768.0 * m);\n m -= c[1] / 32768.0;\n c[0] = floor(8388608.0 * m);\n\n highp float ebias = e + 127.0;\n c[3] = floor(ebias / 2.0);\n ebias -= c[3] * 2.0;\n c[2] += floor(ebias) * 128.0;\n\n c[3] += 128.0 * step(0.0, -v);\n\n return c / 255.0;\n }\n`;var{getBroadcastDims:NE}=S;function TE(r,e,t){let o=[];if(r.forEach(d=>{let f=y.sizeFromShape(d.shapeInfo.logicalShape);if(d.shapeInfo.isUniform?o.push(`uniform float ${d.name}${f>1?`[${f}]`:\"\"};`):(o.push(`uniform sampler2D ${d.name};`),o.push(`uniform int offset${d.name};`)),t.enableShapeUniforms){let{uniformShape:h}=Of(t.packedInputs,d.shapeInfo.logicalShape,d.shapeInfo.texShape);switch(h.length){case 1:o.push(`uniform int ${d.name}Shape;`);break;case 2:o.push(`uniform ivec2 ${d.name}Shape;`);break;case 3:o.push(`uniform ivec3 ${d.name}Shape;`);break;case 4:o.push(`uniform ivec4 ${d.name}Shape;`);break;default:break}o.push(`uniform ivec2 ${d.name}TexShape;`)}}),t.enableShapeUniforms){switch(e.logicalShape.length){case 1:o.push(\"uniform int outShape;\");break;case 2:o.push(\"uniform ivec2 outShape;\"),o.push(\"uniform int outShapeStrides;\");break;case 3:o.push(\"uniform ivec3 outShape;\"),o.push(\"uniform ivec2 outShapeStrides;\");break;case 4:o.push(\"uniform ivec4 outShape;\"),o.push(\"uniform ivec3 outShapeStrides;\");break;default:break}o.push(\"uniform ivec2 outTexShape;\")}t.customUniforms&&t.customUniforms.forEach(d=>{o.push(`uniform ${d.type} ${d.name}${d.arrayIndex?`[${d.arrayIndex}]`:\"\"};`)});let n=o.join(`\n`),s=r.map(d=>V5(d,e,t.packedInputs,t.enableShapeUniforms)).join(`\n`),a=e.texShape,i=St(),p=U5(i),u,c,l=q5(i);return e.isPacked?(u=z5(e.logicalShape,a,t.enableShapeUniforms),c=H5(i)):(u=W5(e.logicalShape,a,t.enableShapeUniforms),c=G5(i)),t.packedInputs&&(l+=Y5),[l,p,c,n,u,s,t.userCode].join(`\n`)}function ic(r,e=!1){let t=r.shapeInfo.logicalShape;switch(t.length){case 0:return u8(r,e);case 1:return c8(r,e);case 2:return m8(r,e);case 3:return f8(r,e);case 4:return g8(r,e);case 5:return x8(r);case 6:return y8(r);default:throw new Error(`${t.length}-D input sampling is not yet supported`)}}function _E(r,e){switch(r.shapeInfo.logicalShape.length){case 0:return i8(r);case 1:return p8(r,e);case 2:return l8(r,e);case 3:return d8(r,e);default:return h8(r,e)}}function V5(r,e,t=!1,o){let n=\"\";t?n+=_E(r,o):n+=ic(r,o);let s=r.shapeInfo.logicalShape,a=e.logicalShape;return s.length<=a.length&&(t?n+=b8(r,e):n+=C8(r,e)),n}function z5(r,e,t){switch(r.length){case 0:return EE();case 1:return Q5(r,e,t);case 2:return s8(r,e,t);case 3:return J5(r,e,t);default:return t8(r,e,t)}}function W5(r,e,t){switch(r.length){case 0:return EE();case 1:return Z5(r,e,t);case 2:return a8(r,e,t);case 3:return e8(r,e,t);case 4:return r8(r,e,t);case 5:return o8(r,e);case 6:return n8(r,e);default:throw new Error(`${r.length}-D output sampling is not yet supported`)}}function U5(r){return`\n float sampleTexture(sampler2D textureSampler, vec2 uv) {\n return ${r.texture2D}(textureSampler, uv).r;\n }\n `}function G5(r){return`\n void setOutput(float val) {\n ${r.output} = vec4(val, 0, 0, 0);\n }\n `}function H5(r){return`\n void setOutput(vec4 val) {\n ${r.output} = val;\n }\n `}function q5(r){return`${r.version}\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n ${r.varyingFs} vec2 resultUV;\n ${r.defineOutput}\n const vec2 halfCR = vec2(0.5, 0.5);\n\n struct ivec5\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n };\n\n struct ivec6\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n int v;\n };\n\n uniform float NAN;\n ${r.defineSpecialNaN}\n ${r.defineSpecialInf}\n ${r.defineRound}\n\n int imod(int x, int y) {\n return x - y * (x / y);\n }\n\n int idiv(int a, int b, float sign) {\n int res = a / b;\n int mod = imod(a, b);\n if (sign < 0. && mod != 0) {\n res -= 1;\n }\n return res;\n }\n\n //Based on the work of Dave Hoskins\n //https://www.shadertoy.com/view/4djSRW\n #define HASHSCALE1 443.8975\n float random(float seed){\n vec2 p = resultUV * seed;\n vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1);\n p3 += dot(p3, p3.yzx + 19.19);\n return fract((p3.x + p3.y) * p3.z);\n }\n\n ${K5}\n ${j5}\n ${X5}\n `}var K5=`\nvec2 uvFromFlat(int texNumR, int texNumC, int index) {\n int texR = index / texNumC;\n int texC = index - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\nvec2 packedUVfrom1D(int texNumR, int texNumC, int index) {\n int texelIndex = index / 2;\n int texR = texelIndex / texNumC;\n int texC = texelIndex - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,j5=`\nvec2 packedUVfrom2D(int texelsInLogicalRow, int texNumR,\n int texNumC, int row, int col) {\n int texelIndex = (row / 2) * texelsInLogicalRow + (col / 2);\n int texR = texelIndex / texNumC;\n int texC = texelIndex - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,X5=`\nvec2 packedUVfrom3D(int texNumR, int texNumC,\n int texelsInBatch, int texelsInLogicalRow, int b,\n int row, int col) {\n int index = b * texelsInBatch + (row / 2) * texelsInLogicalRow + (col / 2);\n int texR = index / texNumC;\n int texC = index - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,Y5=`\n float getChannel(vec4 frag, vec2 innerDims) {\n vec2 modCoord = mod(innerDims, 2.);\n return modCoord.x == 0. ?\n (modCoord.y == 0. ? frag.r : frag.g) :\n (modCoord.y == 0. ? frag.b : frag.a);\n }\n float getChannel(vec4 frag, int dim) {\n float modCoord = mod(float(dim), 2.);\n return modCoord == 0. ? frag.r : frag.g;\n }\n`;function EE(){return`\n int getOutputCoords() {\n return 0;\n }\n `}function Q5(r,e,t){let o=[Math.ceil(e[0]/2),Math.ceil(e[1]/2)];return o[0]===1?t?`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ceil(float(outTexShape[1]) / 2.0));\n }\n `:`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ${o[1]}.0);\n }\n `:o[1]===1?t?`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ceil(float(outTexShape[0]) / 2.0));\n }\n `:`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ${o[0]}.0);\n }\n `:t?`\n int getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n return 2 * (resTexRC.x * packedTexShape[1] + resTexRC.y);\n }\n `:`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${o[0]}, ${o[1]}));\n return 2 * (resTexRC.x * ${o[1]} + resTexRC.y);\n }\n `}function Z5(r,e,t){return e[0]===1?t?`\n int getOutputCoords() {\n return int(resultUV.x * float(outTexShape[1]));\n }\n `:`\n int getOutputCoords() {\n return int(resultUV.x * ${e[1]}.0);\n }\n `:e[1]===1?t?`\n int getOutputCoords() {\n return int(resultUV.y * float(outTexShape[0]));\n }\n `:`\n int getOutputCoords() {\n return int(resultUV.y * ${e[0]}.0);\n }\n `:t?`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(outTexShape[0], outTexShape[1]));\n return resTexRC.x * outTexShape[1] + resTexRC.y;\n }\n `:`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${e[0]}, ${e[1]}));\n return resTexRC.x * ${e[1]} + resTexRC.y;\n }\n `}function J5(r,e,t){if(t)return`\n ivec3 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec3(b, r, c);\n }\n `;let o=[Math.ceil(e[0]/2),Math.ceil(e[1]/2)],n=Math.ceil(r[2]/2),s=n*Math.ceil(r[1]/2);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${o[0]}, ${o[1]}));\n int index = resTexRC.x * ${o[1]} + resTexRC.y;\n\n int b = index / ${s};\n index -= b * ${s};\n\n int r = 2 * (index / ${n});\n int c = imod(index, ${n}) * 2;\n\n return ivec3(b, r, c);\n }\n `}function e8(r,e,t){if(t)return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(outTexShape[0], outTexShape[1]));\n int index = resTexRC.x * outTexShape[1] + resTexRC.y;\n ${Au([\"r\",\"c\",\"d\"],r)}\n return ivec3(r, c, d);\n }\n`;let o=us([\"r\",\"c\",\"d\"],r);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${e[0]}, ${e[1]}));\n int index = resTexRC.x * ${e[1]} + resTexRC.y;\n ${o}\n return ivec3(r, c, d);\n }\n `}function t8(r,e,t){if(t)return`\n ivec4 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int texelsInLogicalRow = int(ceil(float(outShape[3]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatchN = texelsInBatch * outShape[1];\n\n int b2 = index / texelsInBatchN;\n index -= b2 * texelsInBatchN;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec4(b2, b, r, c);\n }\n `;let o=[Math.ceil(e[0]/2),Math.ceil(e[1]/2)],n=Math.ceil(r[r.length-1]/2),s=n*Math.ceil(r[r.length-2]/2),a=s,i=\"\",p=\"b, r, c\";for(let u=2;u=1?c=\"coords = 0;\":c=i.map(b=>`coords.${l[b+u]} = 0;`).join(`\n`);let m=\"\";a<2&&s>0?m=\"coords\":m=r.shapeInfo.logicalShape.map((b,C)=>`coords.${l[C+u]}`).join(\", \");let d=\"return outputValue;\",h=y.sizeFromShape(r.shapeInfo.logicalShape)===1,x=y.sizeFromShape(e.logicalShape)===1;if(s===1&&!h&&!x)d=`\n return vec4(outputValue.xy, outputValue.xy);\n `;else if(h&&!x)a===1?d=`\n return vec4(outputValue.x, outputValue.x, 0., 0.);\n `:d=`\n return vec4(outputValue.x);\n `;else if(i.length){let b=s-2,C=s-1;i.indexOf(b)>-1&&i.indexOf(C)>-1?d=\"return vec4(outputValue.x);\":i.indexOf(b)>-1?d=\"return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);\":i.indexOf(C)>-1&&(d=\"return vec4(outputValue.xx, outputValue.zz);\")}return`\n vec4 ${n}() {\n ${p} coords = getOutputCoords();\n ${c}\n vec4 outputValue = get${o}(${m});\n ${d}\n }\n `}function C8(r,e){let t=r.name,o=t.charAt(0).toUpperCase()+t.slice(1),n=\"get\"+o+\"AtOutCoords\",s=e.texShape,a=r.shapeInfo.texShape,i=r.shapeInfo.logicalShape.length,p=e.logicalShape.length;if(!r.shapeInfo.isUniform&&i===p&&r.shapeInfo.flatOffset==null&&y.arraysEqual(a,s))return`\n float ${n}() {\n return sampleTexture(${t}, resultUV);\n }\n `;let u=_e(p),c=NE(r.shapeInfo.logicalShape,e.logicalShape),l=p-i,m,d=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"];i===0?m=\"\":p<2&&c.length>=1?m=\"coords = 0;\":m=c.map(h=>`coords.${d[h+l]} = 0;`).join(`\n`);let f=\"\";return p<2&&i>0?f=\"coords\":f=r.shapeInfo.logicalShape.map((h,g)=>`coords.${d[g+l]}`).join(\", \"),`\n float ${n}() {\n ${u} coords = getOutputCoords();\n ${m}\n return get${o}(${f});\n }\n `}function _e(r){if(r<=1)return\"int\";if(r===2)return\"ivec2\";if(r===3)return\"ivec3\";if(r===4)return\"ivec4\";if(r===5)return\"ivec5\";if(r===6)return\"ivec6\";throw Error(`GPU for rank ${r} is not yet supported`)}function Of(r,e,t){let{newShape:o,keptDims:n}=y.squeezeShape(e),s=e.length,a=r&&s===3&&e[0]===1,i=a?e.slice(1):o,p=!r&&s>1&&!y.arraysEqual(e,t)&&o.lengthr[t]).join(\", \")}function AE(r,e,t,o){let n=t.map((c,l)=>{let m={logicalShape:c.shape,texShape:c.isUniform?null:c.texData.texShape,isUniform:c.isUniform,isPacked:c.isUniform?!1:c.texData.isPacked,flatOffset:null};return c.texData!=null&&c.texData.slice!=null&&c.texData.slice.flatOffset>0&&(m.flatOffset=c.texData.slice.flatOffset),{name:e.variableNames[l],shapeInfo:m}}),s=n.map(c=>c.shapeInfo),a={logicalShape:o.shape,texShape:o.texData.texShape,isUniform:!1,isPacked:o.texData.isPacked,flatOffset:null},i=TE(n,a,e),p=MS(r.gl,i),u=r.createProgram(p);return O().get(\"ENGINE_COMPILE_ONLY\")?{program:e,fragmentShader:p,source:i,webGLProgram:u,inShapeInfos:s,outShapeInfo:a,uniformLocations:null,customUniformLocations:null,infLoc:null,nanLoc:null,inShapesLocations:null,inTexShapesLocations:null,outShapeLocation:null,outShapeStridesLocation:null,outTexShapeLocation:null}:Object.assign({program:e,fragmentShader:p,source:i,webGLProgram:u,inShapeInfos:s,outShapeInfo:a},tw(r,e,u))}function tw(r,e,t){let o={},n={},s={},a=[],i,p,u,c=null,l=null;l=r.getUniformLocation(t,\"NAN\",!1),O().getNumber(\"WEBGL_VERSION\")===1&&(c=r.getUniformLocation(t,\"INFINITY\",!1));let m=!1;for(let d=0;d{a[f]=r.getUniformLocation(t,d.name,m)}),{uniformLocations:o,customUniformLocations:a,infLoc:c,nanLoc:l,inShapesLocations:n,inTexShapesLocations:s,outShapeLocation:i,outShapeStridesLocation:u,outTexShapeLocation:p}}function $E(r,e){if(r.length!==e.length)throw Error(`Binary was compiled with ${r.length} inputs, but was executed with ${e.length} inputs`);r.forEach((t,o)=>{let n=t.logicalShape,s=e[o],a=s.shape;if(!y.arraysEqual(n,a))throw Error(`Binary was compiled with different shapes than the current args. Shapes ${n} and ${a} must match`);if(t.isUniform&&s.isUniform)return;let i=t.texShape,p=s.isUniform?null:s.texData.texShape;if(!y.arraysEqual(i,p))throw Error(`Binary was compiled with different texture shapes than the current args. Shape ${i} and ${p} must match`)})}function RE(r,e,t,o,n){e.program.enableShapeUniforms||($E(e.inShapeInfos,t),$E([e.outShapeInfo],[o]));let s=o.texData.texture,a=o.texData.texShape;o.texData.isPacked?r.setOutputPackedMatrixTexture(s.texture,a[0],a[1]):r.setOutputMatrixTexture(s.texture,a[0],a[1]),r.setProgram(e.webGLProgram),O().getNumber(\"WEBGL_VERSION\")===1&&e.infLoc!==null&&r.gl.uniform1f(e.infLoc,1/0),e.nanLoc!==null&&r.gl.uniform1f(e.nanLoc,NaN),t.forEach((p,u)=>{let c=e.program.variableNames[u],l=e.uniformLocations[c],m=e.uniformLocations[`offset${c}`],d=e.inShapesLocations[`${c}Shape`],f=e.inTexShapesLocations[`${c}TexShape`];if(d){let{uniformShape:h}=Of(e.program.packedInputs,p.shape,p.texData.texShape);switch(h.length){case 1:r.gl.uniform1iv(d,new Int32Array(h));break;case 2:r.gl.uniform2iv(d,new Int32Array(h));break;case 3:r.gl.uniform3iv(d,new Int32Array(h));break;case 4:r.gl.uniform4iv(d,new Int32Array(h));break;default:break}}if(f&&r.gl.uniform2i(f,p.texData.texShape[0],p.texData.texShape[1]),l!=null){if(p.isUniform){if(y.sizeFromShape(p.shape)<2)r.gl.uniform1f(l,p.uniformValues[0]);else{let h=p.uniformValues;h instanceof Float32Array||(h=new Float32Array(h)),r.gl.uniform1fv(l,h)}return}p.texData.slice!=null&&m!=null&&r.gl.uniform1i(m,p.texData.slice.flatOffset),r.setInputMatrixTexture(p.texData.texture.texture,l,u)}});let i=e.outShapeLocation;if(i)switch(o.shape.length){case 1:r.gl.uniform1iv(i,new Int32Array(o.shape));break;case 2:r.gl.uniform2iv(i,new Int32Array(o.shape));break;case 3:r.gl.uniform3iv(i,new Int32Array(o.shape));break;case 4:r.gl.uniform4iv(i,new Int32Array(o.shape));break;default:break}if(e.outShapeStridesLocation){let p=y.computeStrides(o.shape);switch(o.shape.length){case 2:r.gl.uniform1iv(e.outShapeStridesLocation,new Int32Array(p));break;case 3:r.gl.uniform2iv(e.outShapeStridesLocation,new Int32Array(p));break;case 4:r.gl.uniform3iv(e.outShapeStridesLocation,new Int32Array(p));break;default:break}}e.outTexShapeLocation&&r.gl.uniform2i(e.outTexShapeLocation,o.texData.texShape[0],o.texData.texShape[1]),e.program.customUniforms&&n&&e.program.customUniforms.forEach((p,u)=>{let c=e.customUniformLocations[u],l=n[u];if(p.type===\"float\")r.gl.uniform1fv(c,l);else if(p.type===\"vec2\")r.gl.uniform2fv(c,l);else if(p.type===\"vec3\")r.gl.uniform3fv(c,l);else if(p.type===\"vec4\")r.gl.uniform4fv(c,l);else if(p.type===\"int\")r.gl.uniform1iv(c,l);else if(p.type===\"ivec2\")r.gl.uniform2iv(c,l);else if(p.type===\"ivec3\")r.gl.uniform3iv(c,l);else if(p.type===\"ivec4\")r.gl.uniform4iv(c,l);else throw Error(`uniform type ${p.type} is not supported yet.`)}),r.executeProgram()}function FE(r,e,t){let o=\"\";e.concat(t).forEach(a=>{let i=a.texData!=null&&a.texData.slice!=null&&a.texData.slice.flatOffset>0;if(r.enableShapeUniforms&&!a.isUniform){let p=a.texData.texShape,{useSqueezeShape:u,uniformShape:c,keptDims:l}=Of(r.packedInputs,a.shape,p),m=\"\",d=\"\",f=\"\";if(c.length===1&&r.packedInputs){let k=[Math.ceil(p[0]/2),Math.ceil(p[1]/2)];m=`${k[0]>1}_${k[1]>1}`}else if(c.length===2&&!r.packedInputs)d=`${c[0]>1}_${c[1]>1}`;else if(c.length>2&&!r.packedInputs){let k=y.computeStrides(c);f=`${k[0]===p[1]}_${k[k.length-1]===p[1]}`}let h=a.shape.length,g=c.length===2&&y.arraysEqual(a.shape,p),x=y.sizeFromShape(a.shape)===1,b=S.getBroadcastDims(a.shape,t.shape),C=!r.packedInputs&&h===t.shape.length&&y.arraysEqual(p,t.texData.texShape),w=r.packedInputs||c.length>2?\"\":`${p[0]>1}_${p[1]>1}`;o+=`${h}_${C}_${u?l:\"\"}_${c.length}_${x}_${b}_${g}_${m}_${d}_${f}_${w}_${i}`}else{let p=a.isUniform?\"uniform\":a.texData.texShape;o+=`${a.shape}_${p}_${i}`}});let n=r.userCode,s=r.constructor.name;return s+=\"_\"+o+\"_\"+n+`${O().getNumber(\"WEBGL_VERSION\")}`,s}function ct(r){return O().getBool(\"WEBGL_USE_SHAPES_UNIFORMS\")&&r<=4}var Pf=class{constructor(e){this.variableNames=[\"A\"],this.packedInputs=!1,this.packedOutput=!0,this.outPackingScheme=Mi.DENSE,this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let t=St();this.outputShape=e,this.enableShapeUniforms=ct(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?Au([\"r\",\"c\",\"d\"],e):us([\"r\",\"c\",\"d\"],e)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getA(rc.x, rc.y, rc.z);\n }\n\n ${t.output} = result;\n }\n `}};var Mf=class{constructor(e){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outPackingScheme=Mi.DENSE,this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let t=St();this.outputShape=e,this.enableShapeUniforms=ct(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?Au([\"r\",\"c\",\"d\"],e):us([\"r\",\"c\",\"d\"],e)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getChannel(getA(rc.x, rc.y, rc.z), vec2(rc.y, rc.z));\n }\n\n ${t.output} = result;\n }\n `}};var Lf=class{constructor(e){this.variableNames=[\"A\"],this.outTexUsage=ir.DOWNLOAD;let t=St();this.outputShape=e,this.userCode=`\n ${Df}\n\n void main() {\n float x = getAAtOutCoords();\n ${t.output} = encode_float(x);\n }\n `}};var Bf=class{constructor(e){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!1,this.outTexUsage=ir.DOWNLOAD;let t=St();this.outputShape=e,this.userCode=`\n ${Df}\n\n void main() {\n ivec3 coords = getOutputCoords();\n float x = getChannel(getAAtOutCoords(), vec2(coords.y, coords.z));\n ${t.output} = encode_float(x);\n }\n `}};var I8={R:0,G:1,B:2,A:3},vl=class{constructor(e,t=!1,o=\"RGBA\"){this.variableNames=[\"A\"],this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let n=St();this.outputShape=e,this.enableShapeUniforms=ct(this.outputShape.length);let s=\"result\";t&&(s=\"floor(result * 255. + 0.5)\");let a=\"\";for(let i=0;icw,createBufferFromOutputTexture:()=>dw,createFloat16MatrixTexture:()=>aw,createFloat16PackedMatrixTexture:()=>pw,createFloat32MatrixTexture:()=>sw,createIndexBuffer:()=>nw,createPackedMatrixTexture:()=>uw,createUnsignedBytesMatrixTexture:()=>iw,createVertexBuffer:()=>ow,createVertexShader:()=>rw,downloadByteEncodedFloatMatrixFromOutputTexture:()=>hw,downloadFloat32MatrixFromBuffer:()=>fw,downloadMatrixFromPackedOutputTexture:()=>xw,downloadPackedMatrixFromBuffer:()=>gw,getInternalFormatForFloat16MatrixTexture:()=>Wf,getInternalFormatForFloat16PackedMatrixTexture:()=>Hf,getInternalFormatForFloat32MatrixTexture:()=>zf,getInternalFormatForPackedMatrixTexture:()=>Gf,getInternalFormatForUnsignedBytesMatrixTexture:()=>Uf,uploadDenseMatrixToTexture:()=>lw,uploadPixelDataToTexture:()=>mw});function rw(r){let e=St(),t=`${e.version}\n precision highp float;\n ${e.attribute} vec3 clipSpacePos;\n ${e.attribute} vec2 uv;\n ${e.varyingVs} vec2 resultUV;\n\n void main() {\n gl_Position = vec4(clipSpacePos, 1);\n resultUV = uv;\n }`;return PS(r,t)}function ow(r){let e=new Float32Array([-1,1,0,0,1,-1,-1,0,0,0,1,1,0,1,1,1,-1,0,1,0]);return VS(r,e)}function nw(r){let e=new Uint16Array([0,1,2,2,1,3]);return zS(r,e)}function kl(r,e,t,o,n,s){US(e,t);let a=WS(r),i=r.TEXTURE_2D;return ce(r,()=>r.bindTexture(i,a)),ce(r,()=>r.texParameteri(i,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE)),ce(r,()=>r.texParameteri(i,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE)),ce(r,()=>r.texParameteri(i,r.TEXTURE_MIN_FILTER,r.NEAREST)),ce(r,()=>r.texParameteri(i,r.TEXTURE_MAG_FILTER,r.NEAREST)),O().getNumber(\"WEBGL_VERSION\")===1?ce(r,()=>r.texImage2D(i,0,o,e,t,0,n,s,null)):ce(r,()=>r.texStorage2D(i,1,o,e,t)),ce(r,()=>r.bindTexture(r.TEXTURE_2D,null)),{texture:a,texShape:[t,e]}}function zf(r){return r.internalFormatFloat}function sw(r,e,t,o){let[n,s]=$u(e,t);return kl(r,n,s,zf(o),o.textureFormatFloat,r.FLOAT)}function Wf(r){return r.internalFormatHalfFloat}function aw(r,e,t,o){let[n,s]=$u(e,t);return kl(r,n,s,Wf(o),o.textureFormatFloat,o.textureTypeHalfFloat)}function Uf(r){return r.downloadTextureFormat}function iw(r,e,t,o){let[n,s]=$u(e,t);return kl(r,n,s,Uf(o),r.RGBA,r.UNSIGNED_BYTE)}function Gf(r){return r.internalFormatPackedFloat}function uw(r,e,t,o){let[n,s]=Ys(e,t);return kl(r,n,s,Gf(o),r.RGBA,r.FLOAT)}function Hf(r){return r.internalFormatPackedHalfFloat}function pw(r,e,t,o){let[n,s]=Ys(e,t);return kl(r,n,s,Hf(o),r.RGBA,o.textureTypeHalfFloat)}function cw(r,e,t){return ce(r,()=>r.bindBuffer(r.ARRAY_BUFFER,t)),Af(r,e,\"clipSpacePos\",t,3,20,0)&&Af(r,e,\"uv\",t,2,20,12)}function lw(r,e,t,o,n,s){ce(r,()=>r.bindTexture(r.TEXTURE_2D,e));let a,i,p;n instanceof Uint8Array?(a=new Uint8Array(t*o*4),i=r.UNSIGNED_BYTE,p=r.RGBA):(a=new Float32Array(t*o*4),i=r.FLOAT,p=s.internalFormatPackedFloat),a.set(n),O().getNumber(\"WEBGL_VERSION\")===2?ce(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,t,o,r.RGBA,i,a)):ce(r,()=>r.texImage2D(r.TEXTURE_2D,0,p,t,o,0,r.RGBA,i,a)),ce(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function mw(r,e,t){ce(r,()=>r.bindTexture(r.TEXTURE_2D,e)),t.data instanceof Uint8Array?O().getNumber(\"WEBGL_VERSION\")===2?ce(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,t.width,t.height,r.RGBA,r.UNSIGNED_BYTE,t.data)):ce(r,()=>r.texImage2D(r.TEXTURE_2D,0,r.RGBA,t.width,t.height,0,r.RGBA,r.UNSIGNED_BYTE,t.data)):O().getNumber(\"WEBGL_VERSION\")===2?ce(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,t)):ce(r,()=>r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,t)),ce(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function dw(r,e,t,o){let n=r.createBuffer();ce(r,()=>r.bindBuffer(r.PIXEL_PACK_BUFFER,n));let i=4*4*e*t;return ce(r,()=>r.bufferData(r.PIXEL_PACK_BUFFER,i,r.STREAM_READ)),ce(r,()=>r.readPixels(0,0,t,e,r.RGBA,r.FLOAT,0)),ce(r,()=>r.bindBuffer(r.PIXEL_PACK_BUFFER,null)),n}function fw(r,e,t){let o=r,n=new Float32Array(t);return o.bindBuffer(o.PIXEL_PACK_BUFFER,e),o.getBufferSubData(o.PIXEL_PACK_BUFFER,0,n),o.bindBuffer(o.PIXEL_PACK_BUFFER,null),n}function hw(r,e,t,o){let[n,s]=$u(e,t),a=4,i=new Uint8Array(bE(e*t,a));return ce(r,()=>r.readPixels(0,0,n,s,o.downloadTextureFormat,r.UNSIGNED_BYTE,i)),new Float32Array(i.buffer)}function gw(r,e,t,o,n,s,a,i){let p=r,u=new Float32Array(CE(s,a));return p.bindBuffer(p.PIXEL_PACK_BUFFER,e),p.getBufferSubData(p.PIXEL_PACK_BUFFER,0,u),p.bindBuffer(p.PIXEL_PACK_BUFFER,null),u}function xw(r,e,t){let o=new Float32Array(e*t*4);return ce(r,()=>r.readPixels(0,0,t,e,r.RGBA,r.FLOAT,o)),o}var Fu=class{constructor(e){this.outputTexture=null,this.program=null,this.disposed=!1,this.itemsToPoll=[];let t=O().getNumber(\"WEBGL_VERSION\");if(e!=null?(this.gl=e,RS(t,e)):this.gl=Wr(t),e=this.gl,O().getNumber(\"WEBGL_VERSION\")===2){let s=e;this.createVertexArray=()=>ce(s,()=>s.createVertexArray()),this.bindVertexArray=a=>ce(s,()=>s.bindVertexArray(a)),this.deleteVertexArray=a=>ce(s,()=>s.deleteVertexArray(a)),this.getVertexArray=()=>ce(s,()=>s.getParameter(s.VERTEX_ARRAY_BINDING))}else if(e!=null){let s=e.getExtension(\"OES_vertex_array_object\");if(s==null)throw new Error(\"All WebGL1 implementations are expected to offer OES_vertex_array_object.\");this.createVertexArray=()=>ce(e,()=>s.createVertexArrayOES()),this.bindVertexArray=a=>ce(e,()=>s.bindVertexArrayOES(a)),this.deleteVertexArray=a=>ce(e,()=>s.deleteVertexArrayOES(a)),this.getVertexArray=()=>ce(e,()=>e.getParameter(s.VERTEX_ARRAY_BINDING_OES))}let o=\"WEBGL_color_buffer_float\",n=\"EXT_color_buffer_half_float\";if(this.parallelCompilationExtension=this.gl.getExtension(\"KHR_parallel_shader_compile\"),O().getNumber(\"WEBGL_VERSION\")===1){let s=\"OES_texture_float\",a=\"OES_texture_half_float\";if(this.textureFloatExtension=ec(this.gl,s),Ur(this.gl,a))this.textureHalfFloatExtension=ec(this.gl,a);else if(O().get(\"WEBGL_FORCE_F16_TEXTURES\"))throw new Error(\"GL context does not support half float textures, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.\");if(this.colorBufferFloatExtension=this.gl.getExtension(o),Ur(this.gl,n))this.colorBufferHalfFloatExtension=ec(this.gl,n);else if(O().get(\"WEBGL_FORCE_F16_TEXTURES\"))throw new Error(\"GL context does not support color renderable half floats, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.\")}else if(o=\"EXT_color_buffer_float\",Ur(this.gl,o))this.colorBufferFloatExtension=this.gl.getExtension(o);else if(Ur(this.gl,n))this.colorBufferHalfFloatExtension=this.gl.getExtension(n);else throw new Error(\"GL context does not support color renderable floats\");this.vertexBuffer=ow(this.gl),this.indexBuffer=nw(this.gl),this.framebuffer=GS(this.gl),this.textureConfig=Sl(this.gl,this.textureHalfFloatExtension)}get debug(){return O().getBool(\"DEBUG\")}dispose(){if(this.disposed)return;this.program!=null&&console.warn(\"Disposing a GPGPUContext that still has a bound WebGLProgram. This is probably a resource leak, delete the program with GPGPUContext.deleteProgram before disposing.\"),this.outputTexture!=null&&console.warn(\"Disposing a GPGPUContext that still has a bound output matrix texture. This is probably a resource leak, delete the output matrix texture with GPGPUContext.deleteMatrixTexture before disposing.\");let e=this.gl;ce(e,()=>e.finish()),ce(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,null)),ce(e,()=>e.deleteFramebuffer(this.framebuffer)),ce(e,()=>e.bindBuffer(e.ARRAY_BUFFER,null)),ce(e,()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null)),ce(e,()=>e.deleteBuffer(this.indexBuffer)),this.disposed=!0}createFloat32MatrixTexture(e,t){return this.throwIfDisposed(),sw(this.gl,e,t,this.textureConfig)}createFloat16MatrixTexture(e,t){return this.throwIfDisposed(),aw(this.gl,e,t,this.textureConfig)}createUnsignedBytesMatrixTexture(e,t){return this.throwIfDisposed(),iw(this.gl,e,t,this.textureConfig)}uploadPixelDataToTexture(e,t){this.throwIfDisposed(),mw(this.gl,e,t)}uploadDenseMatrixToTexture(e,t,o,n){this.throwIfDisposed(),lw(this.gl,e,t,o,n,this.textureConfig)}createFloat16PackedMatrixTexture(e,t){return this.throwIfDisposed(),pw(this.gl,e,t,this.textureConfig)}createPackedMatrixTexture(e,t){return this.throwIfDisposed(),uw(this.gl,e,t,this.textureConfig)}deleteMatrixTexture(e){this.throwIfDisposed(),this.outputTexture===e&&(Rf(this.gl,this.framebuffer),this.outputTexture=null),ce(this.gl,()=>this.gl.deleteTexture(e))}downloadByteEncodedFloatMatrixFromOutputTexture(e,t,o){return this.downloadMatrixDriver(e,()=>hw(this.gl,t,o,this.textureConfig))}downloadPackedMatrixFromBuffer(e,t,o,n,s,a){return gw(this.gl,e,t,o,n,s,a,this.textureConfig)}downloadFloat32MatrixFromBuffer(e,t){return fw(this.gl,e,t)}createBufferFromTexture(e,t,o){this.bindTextureToFrameBuffer(e);let n=dw(this.gl,t,o,this.textureConfig);return this.unbindTextureToFrameBuffer(),n}createAndWaitForFence(){let e=this.createFence(this.gl);return this.pollFence(e)}createFence(e){let t,o;if(O().getBool(\"WEBGL_FENCE_API_ENABLED\")){let n=e,s=n.fenceSync(n.SYNC_GPU_COMMANDS_COMPLETE,0);e.flush(),o=()=>{let a=n.clientWaitSync(s,0,0);return a===n.ALREADY_SIGNALED||a===n.CONDITION_SATISFIED},t=s}else O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")>0?(t=this.beginQuery(),this.endQuery(),o=()=>this.isQueryAvailable(t,O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))):o=()=>!0;return{query:t,isFencePassed:o}}downloadMatrixFromPackedTexture(e,t,o){return this.downloadMatrixDriver(e,()=>xw(this.gl,t,o))}createProgram(e){this.throwIfDisposed();let t=this.gl;this.vertexShader==null&&(this.vertexShader=rw(t));let o=LS(t);ce(t,()=>t.attachShader(o,this.vertexShader)),ce(t,()=>t.attachShader(o,e)),BS(t,o);let n;return n=Object.assign(o,{vao:this.createVertexArray()}),this.bindVertexArray(n.vao),ce(t,()=>t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer)),console.assert(cw(t,n,this.vertexBuffer),\"gpgpu_util.bindVertexProgramAttributeStreams not fully successful.\"),this.debug&&wl(t,n),this.setProgram(n),n}deleteProgram(e){this.throwIfDisposed(),e===this.program&&(this.program=null),e!=null&&(ce(this.gl,()=>this.gl.deleteProgram(e)),this.deleteVertexArray(e.vao))}setProgram(e){this.throwIfDisposed(),this.program=e,this.program!=null&&(this.bindVertexArray(this.program.vao),this.debug&&wl(this.gl,this.program)),ce(this.gl,()=>this.gl.useProgram(e))}getUniformLocation(e,t,o=!0){return this.throwIfDisposed(),o?HS(this.gl,e,t):qS(this.gl,e,t)}getAttributeLocation(e,t){return this.throwIfDisposed(),ce(this.gl,()=>this.gl.getAttribLocation(e,t))}getUniformLocationNoThrow(e,t){return this.throwIfDisposed(),this.gl.getUniformLocation(e,t)}setInputMatrixTexture(e,t,o){this.throwIfDisposed(),this.throwIfNoProgram(),KS(this.gl,e,t,o)}setOutputMatrixTexture(e,t,o){this.setOutputMatrixTextureDriver(e,o,t)}setOutputPackedMatrixTexture(e,t,o){this.throwIfDisposed();let[n,s]=Ys(t,o);this.setOutputMatrixTextureDriver(e,n,s)}setOutputMatrixWriteRegion(e,t,o,n){this.setOutputMatrixWriteRegionDriver(o,e,n,t)}setOutputPackedMatrixWriteRegion(e,t,o,n){throw new Error(\"setOutputPackedMatrixWriteRegion not implemented.\")}debugValidate(){this.program!=null&&wl(this.gl,this.program),tc(this.gl)}executeProgram(){this.throwIfDisposed(),this.throwIfNoProgram();let e=this.gl;if(this.debug){let t=this.getVertexArray();console.assert(t===this.program.vao,\"VAO changed between setProgram and executeProgram!\"),this.debugValidate()}ce(e,()=>e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0))}blockUntilAllProgramsCompleted(){this.throwIfDisposed(),ce(this.gl,()=>this.gl.finish())}getQueryTimerExtension(){return this.disjointQueryTimerExtension==null&&(this.disjointQueryTimerExtension=ec(this.gl,O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")===2?\"EXT_disjoint_timer_query_webgl2\":\"EXT_disjoint_timer_query\")),this.disjointQueryTimerExtension}getQueryTimerExtensionWebGL2(){return this.getQueryTimerExtension()}getQueryTimerExtensionWebGL1(){return this.getQueryTimerExtension()}beginQuery(){if(O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")===2){let o=this.gl,n=this.getQueryTimerExtensionWebGL2(),s=o.createQuery();return o.beginQuery(n.TIME_ELAPSED_EXT,s),s}let e=this.getQueryTimerExtensionWebGL1(),t=e.createQueryEXT();return e.beginQueryEXT(e.TIME_ELAPSED_EXT,t),t}endQuery(){if(O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")===2){let t=this.gl,o=this.getQueryTimerExtensionWebGL2();t.endQuery(o.TIME_ELAPSED_EXT);return}let e=this.getQueryTimerExtensionWebGL1();e.endQueryEXT(e.TIME_ELAPSED_EXT)}async waitForQueryAndGetTime(e){return await y.repeatedTry(()=>this.disposed||this.isQueryAvailable(e,O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))),this.getQueryTime(e,O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))}getQueryTime(e,t){if(t===0)return null;if(t===2){let o=this.gl;return o.getQueryParameter(e,o.QUERY_RESULT)/1e6}else{let o=this.getQueryTimerExtensionWebGL1();return o.getQueryObjectEXT(e,o.QUERY_RESULT_EXT)/1e6}}isQueryAvailable(e,t){if(t===0)return!0;if(t===2){let o=this.gl,n=this.getQueryTimerExtensionWebGL2(),s=o.getQueryParameter(e,o.QUERY_RESULT_AVAILABLE);return this.disjoint==null&&(this.disjoint=this.gl.getParameter(n.GPU_DISJOINT_EXT)),s&&!this.disjoint}else{let o=this.getQueryTimerExtensionWebGL1(),n=o.getQueryObjectEXT(e,o.QUERY_RESULT_AVAILABLE_EXT);return this.disjoint==null&&(this.disjoint=this.gl.getParameter(o.GPU_DISJOINT_EXT)),n&&!this.disjoint}}pollFence(e){return new Promise(t=>{this.addItemToPoll(()=>e.isFencePassed(),()=>t())})}pollItems(){let e=v8(this.itemsToPoll.map(t=>t.isDoneFn));for(let t=0;t<=e;++t){let{resolveFn:o}=this.itemsToPoll[t];o()}this.itemsToPoll=this.itemsToPoll.slice(e+1)}addItemToPoll(e,t){if(this.itemsToPoll.push({isDoneFn:e,resolveFn:t}),this.itemsToPoll.length>1)return;let o;\"setTimeoutCustom\"in O().platform&&(o=O().platform.setTimeoutCustom.bind(O().platform)),y.repeatedTry(()=>(this.pollItems(),this.itemsToPoll.length===0),()=>0,null,o)}bindTextureToFrameBuffer(e){this.throwIfDisposed(),Il(this.gl,e,this.framebuffer),this.debug&&tc(this.gl)}unbindTextureToFrameBuffer(){this.outputTexture!=null?(Il(this.gl,this.outputTexture,this.framebuffer),this.debug&&tc(this.gl)):Rf(this.gl,this.framebuffer)}downloadMatrixDriver(e,t){this.bindTextureToFrameBuffer(e);let o=t();return this.unbindTextureToFrameBuffer(),o}setOutputMatrixTextureDriver(e,t,o){this.throwIfDisposed();let n=this.gl;Il(n,e,this.framebuffer),this.debug&&tc(n),this.outputTexture=e,ce(n,()=>n.viewport(0,0,t,o)),ce(n,()=>n.scissor(0,0,t,o))}setOutputMatrixWriteRegionDriver(e,t,o,n){this.throwIfDisposed(),ce(this.gl,()=>this.gl.scissor(e,t,o,n))}throwIfDisposed(){if(this.disposed)throw new Error(\"Attempted to use disposed GPGPUContext.\")}throwIfNoProgram(){if(this.program==null)throw new Error(\"No GPU program is currently set.\")}};function v8(r){let e=0;for(;e`${r}.${t}`)}function $t(r,e){return e===1?[r]:bw(r,e)}function I$(r,e){if(r===1)return\"rc\";let t=\"\";for(let o=0;o ${this.enableShapeUniforms?\"outShape\":this.outputShape[0]}`;let t=\"\";for(let o=this.rank-2;o= ${this.enableShapeUniforms?`outShape[${o}]`:this.outputShape[o]}`,o= ${o};\n bool rEdge = rp1 >= ${n};\n `}getOutput(e){let t=this.getSourceCoordsArr(e);return this.rank===1?`getA(rc), (rc + 1 >= ${this.enableShapeUniforms?\"outShape\":this.outputShape[0]} ? 0. : getA(rc + 1)), 0, 0`:`getA(${t[0]}),\n cEdge ? 0. : getA(${t[1]}),\n rEdge ? 0. : getA(${t[2]}),\n rEdge || cEdge ? 0. : getA(${t[3]})`}};var lc=class{constructor(e,t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"inputShape\",type:\"ivec3\"}],this.outputShape=e,this.enableShapeUniforms=ct(this.outputShape.length);let o=\"\";for(let n=0;n<4;n++){let s=\"thisRC = rc;\";n%2===1&&(s+=\"thisRC.z += 1;\"),n>1&&(s+=\"thisRC.y += 1;\"),o+=`\n ${s}\n ${n>0?\"if(thisRC.y < rows && thisRC.z < cols){\":\"\"}\n int flatIndex = getFlatIndex(thisRC);\n\n ivec3 inputRC = inputCoordsFromReshapedOutCoords(flatIndex);\n vec2 inputRCInnerDims = vec2(float(inputRC.y),float(inputRC.z));\n\n result[${n}] =\n getChannel(getA(inputRC.x, inputRC.y, inputRC.z), inputRCInnerDims);\n ${n>0?\"}\":\"\"}\n `}this.userCode=`\n ${k8(t,this.enableShapeUniforms)}\n ${this.enableShapeUniforms?sc():nc(e)}\n\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0.);\n\n ivec3 thisRC;\n int rows = ${this.enableShapeUniforms?\"outShape[1]\":e[1]};\n int cols = ${this.enableShapeUniforms?\"outShape[2]\":e[2]};\n\n ${o}\n\n setOutput(result);\n }\n `}};function k8(r,e){return`\n ivec3 inputCoordsFromReshapedOutCoords(int index) {\n ${e?kE([\"r\",\"c\",\"d\"],\"inputShape\"):us([\"r\",\"c\",\"d\"],r)}\n return ivec3(r, c, d);\n }\n `}var Yf=class{constructor(e){this.gpgpu=e,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0,this.freeTextures={},this.logEnabled=!1,this.usedTextures={}}acquireTexture(e,t,o){let n=k$(t,o),s=N$(e,n,o);s in this.freeTextures||(this.freeTextures[s]=[]),s in this.usedTextures||(this.usedTextures[s]=[]);let a=v$(e,n,this.gpgpu.gl,this.gpgpu.textureConfig,o);if(this.freeTextures[s].length>0){this.numFreeTextures--,this.numUsedTextures++,this._numBytesFree-=a,this.log();let p=this.freeTextures[s].shift();return this.usedTextures[s].push(p),p}let i;return n===Zt.PACKED_2X2_FLOAT32?i=this.gpgpu.createPackedMatrixTexture(e[0],e[1]):n===Zt.PACKED_2X2_FLOAT16?i=this.gpgpu.createFloat16PackedMatrixTexture(e[0],e[1]):n===Zt.UNPACKED_FLOAT32?i=this.gpgpu.createFloat32MatrixTexture(e[0],e[1]):n===Zt.UNPACKED_FLOAT16?i=this.gpgpu.createFloat16MatrixTexture(e[0],e[1]):n===Zt.PACKED_4X1_UNSIGNED_BYTE&&(i=this.gpgpu.createUnsignedBytesMatrixTexture(e[0],e[1])),this.usedTextures[s].push(i),this.numUsedTextures++,this._numBytesAllocated+=a,this.log(),i}releaseTexture(e,t,o,n){if(this.freeTextures==null)return;let s=k$(o,n),a=N$(t,s,n);a in this.freeTextures||(this.freeTextures[a]=[]);let i=v$(t,s,this.gpgpu.gl,this.gpgpu.textureConfig,n),p=O().get(\"WEBGL_DELETE_TEXTURE_THRESHOLD\");p!==-1&&this._numBytesAllocated>p?(this.gpgpu.deleteMatrixTexture(e.texture),this._numBytesAllocated-=i):(this.freeTextures[a].push(e),this.numFreeTextures++,this._numBytesFree+=i),this.numUsedTextures--;let u=this.usedTextures[a],c=u.indexOf(e);if(c<0)throw new Error(\"Cannot release a texture that was never provided by this texture manager\");u.splice(c,1),this.log()}log(){if(!this.logEnabled)return;let e=this.numFreeTextures+this.numUsedTextures;console.log(\"Free/Used\",`${this.numFreeTextures} / ${this.numUsedTextures}`,`(${e})`);let t=this._numBytesFree/this._numBytesAllocated;console.log(`Bytes allocated: ${this._numBytesAllocated}`),console.log(`Bytes unused: ${this._numBytesFree} (${Math.round(100*t)}%)`)}get numBytesAllocated(){return this._numBytesAllocated}get numBytesFree(){return this._numBytesFree}getNumUsedTextures(){return this.numUsedTextures}getNumFreeTextures(){return this.numFreeTextures}dispose(){if(this.freeTextures!=null){for(let e in this.freeTextures)this.freeTextures[e].forEach(t=>{this.gpgpu.deleteMatrixTexture(t.texture)});for(let e in this.usedTextures)this.usedTextures[e].forEach(t=>{this.gpgpu.deleteMatrixTexture(t.texture)});this.freeTextures=null,this.usedTextures=null,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0}}};function N8(r,e){let t=r;if(e===t.R32F)return 4;if(e===t.R16F)return 2;if(e===t.RGBA32F)return 16;if(e===r.RGBA)return 16;if(e===t.RGBA16F)return 8;if(e===t.RGBA8)return 4;throw new Error(`Unknown internal format ${e}`)}function v$(r,e,t,o,n){let s=T8(e,o),a;if(n){let[p,u]=Ys(r[0],r[1]);a=p*u}else{let[p,u]=$u(r[0],r[1]);a=p*u}let i=N8(t,s);return a*i}function T8(r,e){switch(r){case Zt.PACKED_2X2_FLOAT32:return Gf(e);case Zt.PACKED_2X2_FLOAT16:return Hf(e);case Zt.UNPACKED_FLOAT32:return zf(e);case Zt.UNPACKED_FLOAT16:return Wf(e);case Zt.PACKED_4X1_UNSIGNED_BYTE:return Uf(e);default:throw new Error(`Unknown physical texture type ${r}`)}}function _8(r){return O().getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")?r?Zt.PACKED_2X2_FLOAT32:Zt.UNPACKED_FLOAT32:r?Zt.PACKED_2X2_FLOAT16:Zt.UNPACKED_FLOAT16}function k$(r,e){if(r===ir.UPLOAD)return Zt.PACKED_2X2_FLOAT32;if(r===ir.RENDER||r==null)return _8(e);if(r===ir.DOWNLOAD||r===ir.PIXELS)return Zt.PACKED_4X1_UNSIGNED_BYTE;throw new Error(`Unknown logical texture type ${r}`)}function N$(r,e,t){return`${r[0]}_${r[1]}_${e}_${t}`}var Jt=class{constructor(e,t){this.variableNames=[\"A\"],this.outputShape=e,this.enableShapeUniforms=ct(this.outputShape.length),this.userCode=`\n float unaryOperation(float x) {\n ${t}\n }\n\n void main() {\n float x = getAAtOutCoords();\n float y = unaryOperation(x);\n\n setOutput(y);\n }\n `}},Bt=\"if (isnan(x)) return x;\",T$=\"return x;\",Cw=\"return abs(x);\";var _$=\"return (x >= 0.0) ? x : (exp(x) - 1.0);\",E$=Bt+`\n return (x < 0.0) ? 0.0 : x;\n`,$$=Bt+`\n return (x < 0.0) ? 0.0 : min(6.0, x);\n`,Qs=\"return x;\",A$=\"return 1.0 / (1.0 + exp(-1.0 * x));\";var F$=\"return x;\",D$=`\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n`,O$=`\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,P$=`\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,M$=\"return 1.0 / (1.0 + exp(-1.0 * x));\",Ar=class{constructor(e,t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.enableShapeUniforms=ct(this.outputShape.length),this.userCode=`\n vec4 unaryOperation(vec4 x) {\n ${t}\n }\n\n void main() {\n vec4 x = getAAtOutCoords();\n vec4 y = unaryOperation(x);\n\n setOutput(y);\n }\n `}};var Qf=class{constructor(e){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!1,this.outputShape=e,this.enableShapeUniforms=ct(this.outputShape.length);let t=e.length,o=$t(\"rc\",t),n=_e(t),s=I$(t,o),a=o.slice(-2),i=t<=1?\"rc\":`vec2(${a.join(\",\")})`;this.userCode=`\n void main() {\n ${n} rc = getOutputCoords();\n vec4 packedInput = getA(${s});\n\n setOutput(getChannel(packedInput, ${i}));\n }\n `}};var $8=Lt.whereImpl,A8=1e-7,R8=1e-4,Zf={};function F8(r){return r in Zf||(Zf[r]={}),Zf[r]}var D8=O().getNumber(\"CPU_HANDOFF_SIZE_THRESHOLD\"),O8=600;function P8(){return O().global.screen==null?1024:O().global.screen.height*O().global.screen.width*window.devicePixelRatio*O8/1024/1024}var Bi=class extends Zr{constructor(e){if(super(),this.pendingRead=new WeakMap,this.pendingDisposal=new WeakSet,this.dataRefCount=new WeakMap,this.numBytesInGPU=0,this.uploadWaitMs=0,this.downloadWaitMs=0,this.lastGlFlushTime=0,this.warnedAboutMemory=!1,this.pendingDeletes=0,this.disposed=!1,!O().getBool(\"HAS_WEBGL\"))throw new Error(\"WebGL is not supported on this device\");let t;if(e!=null){if(e instanceof Fu)t=e;else{let o=Wr(O().getNumber(\"WEBGL_VERSION\"),e);t=new Fu(o)}this.binaryCache={},this.gpgpuCreatedLocally=!1}else{let o=Wr(O().getNumber(\"WEBGL_VERSION\"));t=new Fu(o),this.binaryCache=F8(O().getNumber(\"WEBGL_VERSION\")),this.gpgpuCreatedLocally=!0}this.gpgpu=t,this.canvas=this.gpgpu.gl.canvas,this.textureManager=new Yf(this.gpgpu),this.numMBBeforeWarning=P8(),this.texData=new Do(this,cr())}nextDataId(){return Bi.nextDataId++}numDataIds(){return this.texData.numDataIds()-this.pendingDeletes}writeTexture(e,t,o,n,s,a){let i=this.makeTensorInfo(t,o),p=this.texData.get(i.dataId);p.isPacked=!1,p.texture={texture:e,texShape:[n,s]},p.texShape=[n,s];let u=rc(t),c=new vl(u,!1,a),l=this.runWebGLProgram(c,[i],o,[[n,s]]);return l.shape=t,p.texture=null,this.disposeIntermediateTensorInfo(i),l.dataId}write(e,t,o){if((O().getBool(\"WEBGL_CHECK_NUMERICAL_PROBLEMS\")||O().getBool(\"DEBUG\"))&&this.checkNumericalProblems(e),o===\"complex64\"&&e!=null)throw new Error(\"Cannot write to a complex64 dtype. Please use tf.complex(real, imag).\");let n={id:this.nextDataId()};return this.texData.set(n,{shape:t,dtype:o,values:e,usage:ir.UPLOAD,refCount:1}),n}refCount(e){return this.texData.has(e)?this.texData.get(e).refCount:0}incRef(e){let t=this.texData.get(e);t.refCount++}decRef(e){if(this.texData.has(e)){let t=this.texData.get(e);t.refCount--}}move(e,t,o,n,s){if(O().getBool(\"DEBUG\")&&this.checkNumericalProblems(t),n===\"complex64\")throw new Error(\"Cannot write to a complex64 dtype. Please use tf.complex(real, imag).\");this.texData.set(e,{shape:o,dtype:n,values:t,usage:ir.UPLOAD,refCount:s})}disposeIntermediateTensorInfo(e){this.disposeData(e.dataId)}readSync(e){let t=this.texData.get(e),{values:o,dtype:n,complexTensorInfos:s,slice:a,shape:i,isPacked:p}=t;if(a!=null){let m;p?m=new Ar(i,Qs):m=new Jt(i,Qs);let d=this.runWebGLProgram(m,[{dataId:e,shape:i,dtype:n}],n),f=this.readSync(d.dataId);return this.disposeIntermediateTensorInfo(d),f}if(o!=null)return this.convertAndCacheOnCPU(e);if(n===\"string\")return o;let u=this.activeTimers!=null,c;u&&(c=y.now());let l;if(n===\"complex64\"){let m=this.readSync(s.real.dataId),d=this.readSync(s.imag.dataId);l=S.mergeRealAndImagArrays(m,d)}else l=this.getValuesFromTexture(e);return u&&(this.downloadWaitMs+=y.now()-c),this.convertAndCacheOnCPU(e,l)}async read(e){if(this.pendingRead.has(e)){let f=this.pendingRead.get(e);return new Promise(h=>f.push(h))}let t=this.texData.get(e),{values:o,shape:n,slice:s,dtype:a,complexTensorInfos:i,isPacked:p}=t;if(s!=null){let f;p?f=new Ar(n,Qs):f=new Jt(n,Qs);let h=this.runWebGLProgram(f,[{dataId:e,shape:n,dtype:a}],a),g=this.read(h.dataId);return this.disposeIntermediateTensorInfo(h),g}if(o!=null)return this.convertAndCacheOnCPU(e);if(O().getBool(\"DEBUG\")&&!O().getBool(\"WEBGL_DOWNLOAD_FLOAT_ENABLED\")&&O().getNumber(\"WEBGL_VERSION\")===2)throw new Error(\"tensor.data() with WEBGL_DOWNLOAD_FLOAT_ENABLED=false and WEBGL_VERSION=2 not yet supported.\");let u=null,c;if(a!==\"complex64\"&&O().get(\"WEBGL_BUFFER_SUPPORTED\")){c=this.decode(e);let f=this.texData.get(c.dataId);u=this.gpgpu.createBufferFromTexture(f.texture.texture,...Cl(n))}this.pendingRead.set(e,[]),a!==\"complex64\"&&await this.gpgpu.createAndWaitForFence();let l;if(a===\"complex64\"){let f=await Promise.all([this.read(i.real.dataId),this.read(i.imag.dataId)]),h=f[0],g=f[1];l=S.mergeRealAndImagArrays(h,g)}else if(u==null)l=this.getValuesFromTexture(e);else{let f=y.sizeFromShape(n);l=this.gpgpu.downloadFloat32MatrixFromBuffer(u,f)}if(c!=null&&this.disposeIntermediateTensorInfo(c),u!=null){let f=this.gpgpu.gl;ce(f,()=>f.deleteBuffer(u))}let m=this.convertAndCacheOnCPU(e,l),d=this.pendingRead.get(e);return this.pendingRead.delete(e),d.forEach(f=>f(m)),this.pendingDisposal.has(e)&&(this.pendingDisposal.delete(e),this.disposeData(e)&&cr().removeDataId(e,this),this.pendingDeletes--),m}readToGPU(e,t={}){let o=this.texData.get(e),{values:n,shape:s,slice:a,dtype:i,isPacked:p,texture:u}=o;if(i===\"complex64\")throw new Error(\"Does not support reading texture for complex64 dtype.\");if(a!=null){let d;p?d=new Ar(s,Qs):d=new Jt(s,Qs);let f=this.runWebGLProgram(d,[{dataId:e,shape:s,dtype:i}],i),h=this.readToGPU(f,t);return this.disposeIntermediateTensorInfo(f),h}if(u==null)throw n!=null?new Error(\"Data is not on GPU but on CPU.\"):new Error(\"There is no data on GPU or CPU.\");let c=this.decode(e,t.customTexShape),l=cr().makeTensorFromTensorInfo(c),m=this.texData.get(c.dataId);return Object.assign({tensorRef:l},m.texture)}bufferSync(e){let t=this.readSync(e.dataId);if(e.dtype===\"string\")try{let o=t.map(n=>y.decodeString(n));return le(e.shape,e.dtype,o)}catch(o){throw new Error(\"Failed to decode encoded string bytes into utf-8\")}return le(e.shape,e.dtype,t)}checkNumericalProblems(e){if(e!=null)for(let t=0;t0}time(e){let t=this.activeTimers,o=[],n=!1;this.programTimersStack==null?(this.programTimersStack=o,n=!0):this.activeTimers.push(o),this.activeTimers=o,e();let s=y.flatten(this.activeTimers.map(p=>p.query)).filter(p=>p!=null),a=y.flatten(this.activeTimers.map(p=>p.name)).filter(p=>p!=null);this.activeTimers=t,n&&(this.programTimersStack=null);let i={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:null,wallMs:null};return(async()=>{if(O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0){let p=await Promise.all(s);i.kernelMs=y.sum(p),i.getExtraProfileInfo=()=>p.map((u,c)=>({name:a[c],ms:u})).map(u=>`${u.name}: ${u.ms}`).join(\", \")}else i.kernelMs={error:\"WebGL query timers are not supported in this environment.\"};return this.uploadWaitMs=0,this.downloadWaitMs=0,i})()}memory(){return{unreliable:!1,numBytesInGPU:this.numBytesInGPU,numBytesInGPUAllocated:this.textureManager.numBytesAllocated,numBytesInGPUFree:this.textureManager.numBytesFree}}startTimer(){return O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0?this.gpgpu.beginQuery():{startMs:y.now(),endMs:null}}endTimer(e){return O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0?(this.gpgpu.endQuery(),e):(e.endMs=y.now(),e)}async getQueryTime(e){if(O().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0)return this.gpgpu.waitForQueryAndGetTime(e);let t=e;return t.endMs-t.startMs}disposeData(e,t=!1){if(this.pendingDisposal.has(e))return!1;if(!this.texData.has(e))return!0;if(t?this.texData.get(e).refCount=0:this.texData.get(e).refCount--,!t&&this.texData.get(e).refCount>0)return!1;if(this.pendingRead.has(e))return this.pendingDisposal.add(e),this.pendingDeletes++,!1;this.releaseGPUData(e);let{complexTensorInfos:o}=this.texData.get(e);return o!=null&&(this.disposeData(o.real.dataId,t),this.disposeData(o.imag.dataId,t)),this.texData.delete(e),!0}releaseGPUData(e){let{texture:t,dtype:o,texShape:n,usage:s,isPacked:a,slice:i}=this.texData.get(e),p=i&&i.origDataId||e,u=this.dataRefCount.get(p);u>1?this.dataRefCount.set(p,u-1):(this.dataRefCount.delete(p),t!=null&&(this.numBytesInGPU-=this.computeBytes(n,o),this.textureManager.releaseTexture(t,n,s,a)));let c=this.texData.get(e);c.texture=null,c.texShape=null,c.isPacked=!1,c.slice=null}getTexture(e){return this.uploadToGPU(e),this.texData.get(e).texture.texture}getDataInfo(e){return this.texData.get(e)}shouldExecuteOnCPU(e,t=D8){return O().getBool(\"WEBGL_CPU_FORWARD\")&&e.every(o=>this.texData.get(o.dataId).texture==null&&y.sizeFromShape(o.shape)0&&y.isString(o[0])){let s=o.map(a=>y.encodeString(a));n=this.write(s,e,t)}else n=this.write(o,e,t);return this.texData.get(n).usage=null,{dataId:n,shape:e,dtype:t}}makeOutput(e,t,o){return cr().makeTensorFromTensorInfo(this.makeTensorInfo(e,t,o),this)}unpackTensor(e){let t=new Qf(e.shape);return this.runWebGLProgram(t,[e],e.dtype)}packTensor(e){let t=new Xf(e.shape),o=!0;return this.runWebGLProgram(t,[e],e.dtype,null,o)}packedReshape(e,t){let o=[Va(e.shape),...za(e.shape)],n={dtype:e.dtype,shape:o,dataId:e.dataId},s=[Va(t),...za(t)],a=new lc(s,o),i=!0,p=[o],u=this.runWebGLProgram(a,[n],e.dtype,p,i);return{dataId:u.dataId,shape:t,dtype:u.dtype}}decode(e,t){let o=this.texData.get(e),{isPacked:n,shape:s,dtype:a}=o;if(t!=null){let m=y.sizeFromShape(s),d=t[0]*t[1]*4;y.assert(m<=d,()=>\"customTexShape is too small. Row * Column * 4 should be equal or larger than the size of the tensor data.\")}let i=rc(s),p;n?p=new Mf(i):p=new Pf(i);let u=!0,c=[t!=null?t:Cl(i)],l=this.runWebGLProgram(p,[{shape:i,dtype:a,dataId:e}],a,c,u,t);return{dtype:a,shape:s,dataId:l.dataId}}runWebGLProgram(e,t,o,n,s=!1,a){let i=this.makeTensorInfo(e.outputShape,o),p=this.texData.get(i.dataId);if(e.packedOutput&&(p.isPacked=!0),e.outPackingScheme===Mi.DENSE){let x=a!=null?a:Cl(e.outputShape);p.texShape=x.map(b=>b*2)}if(e.outTexUsage!=null&&(p.usage=e.outTexUsage),y.sizeFromShape(i.shape)===0)return p.values=y.getTypedArrayFromDType(i.dtype,0),i;let u=[],c=t.map(x=>{if(x.dtype===\"complex64\")throw new Error(\"GPGPUProgram does not support complex64 input. For complex64 dtypes, please separate the program into real and imaginary parts.\");let b=this.texData.get(x.dataId);if(b.texture==null){if(!e.packedInputs&&y.sizeFromShape(x.shape)<=O().getNumber(\"WEBGL_SIZE_UPLOAD_UNIFORM\"))return{shape:x.shape,texData:null,isUniform:!0,uniformValues:b.values};e.packedInputs&&(b.isPacked=!0,b.shape=x.shape)}if(this.uploadToGPU(x.dataId),!!b.isPacked!=!!e.packedInputs)x=b.isPacked?this.unpackTensor(x):this.packTensor(x),u.push(x),b=this.texData.get(x.dataId);else if(b.isPacked&&!Li(b.shape,x.shape)){let C=x,w=x.shape;x.shape=b.shape,x=this.packedReshape(x,w),u.push(x),b=this.texData.get(x.dataId),C.shape=w}return{shape:x.shape,texData:b,isUniform:!1}});this.uploadToGPU(i.dataId);let l={shape:i.shape,texData:p,isUniform:!1},m=FE(e,c,l),d=this.getAndSaveBinary(m,()=>AE(this.gpgpu,e,c,l)),f=this.activeTimers!=null,h;f&&(h=this.startTimer()),O().get(\"ENGINE_COMPILE_ONLY\")||RE(this.gpgpu,d,c,l,n),u.forEach(x=>this.disposeIntermediateTensorInfo(x)),f&&(h=this.endTimer(h),this.activeTimers.push({name:e.constructor.name,query:this.getQueryTime(h)}));let g=O().get(\"WEBGL_FLUSH_THRESHOLD\");if(g>0){let x=y.now();x-this.lastGlFlushTime>g&&(this.gpgpu.gl.flush(),this.lastGlFlushTime=x)}if(!O().getBool(\"WEBGL_LAZILY_UNPACK\")&&p.isPacked&&s===!1){let x=this.unpackTensor(i);return this.disposeIntermediateTensorInfo(i),x}return i}compileAndRun(e,t,o,n,s=!1){return o=o||t[0].dtype,this.runWebGLProgram(e,t,o,n,s)}getAndSaveBinary(e,t){return e in this.binaryCache||(this.binaryCache[e]=t()),this.binaryCache[e]}getTextureManager(){return this.textureManager}dispose(){this.disposed||(O().getBool(\"IS_TEST\")||Object.keys(this.binaryCache).forEach(t=>{this.gpgpu.deleteProgram(this.binaryCache[t].webGLProgram),delete this.binaryCache[t]}),this.textureManager.dispose(),this.canvas!=null&&typeof HTMLCanvasElement!=\"undefined\"&&this.canvas instanceof HTMLCanvasElement?this.canvas.remove():this.canvas=null,this.gpgpuCreatedLocally&&(this.gpgpu.program=null,this.gpgpu.dispose()),this.disposed=!0)}floatPrecision(){return this.floatPrecisionValue==null&&(this.floatPrecisionValue=Ee(()=>{if(!O().get(\"WEBGL_RENDER_FLOAT32_ENABLED\")){let e=O().getBool(\"DEBUG\");O().set(\"DEBUG\",!1);let t=this.abs(be(1e-8)).dataSync()[0];if(O().set(\"DEBUG\",e),t>0)return 32}return 16})),this.floatPrecisionValue}epsilon(){return this.floatPrecision()===32?A8:R8}uploadToGPU(e){let t=this.texData.get(e),{shape:o,dtype:n,values:s,texture:a,usage:i,isPacked:p}=t;if(a!=null)return;let u=this.activeTimers!=null,c;u&&(c=y.now());let l=t.texShape;if(l==null&&(l=jS(o,p),t.texShape=l),s!=null){let m=rc(o),d,f=l[1],h=l[0],g=s instanceof Uint8Array||s instanceof Uint8ClampedArray;(p||!g)&&([f,h]=Ys(l[0],l[1])),p?d=new Vf(m,g):d=new vl(m,g);let x=g?[h,f]:l,b=this.makeTensorInfo(x,n),C=this.texData.get(b.dataId);g?C.usage=ir.PIXELS:C.usage=ir.UPLOAD,C.texShape=x,this.gpgpu.uploadDenseMatrixToTexture(this.getTexture(b.dataId),f,h,s);let w=[[h,f]],k=!0,_=this.runWebGLProgram(d,[b],n,w,k),$=this.texData.get(_.dataId);t.texShape=$.texShape,t.isPacked=$.isPacked,t.usage=$.usage,O().get(\"ENGINE_COMPILE_ONLY\")?this.disposeData(_.dataId):(t.texture=$.texture,t.values=null,this.texData.delete(_.dataId)),this.disposeIntermediateTensorInfo(b),u&&(this.uploadWaitMs+=y.now()-c)}else{let m=this.acquireTexture(l,i,n,p);t.texture=m}}convertAndCacheOnCPU(e,t){let o=this.texData.get(e),{dtype:n}=o;return t!=null&&(o.values=M8(t,n)),o.values}acquireTexture(e,t,o,n){if(this.numBytesInGPU+=this.computeBytes(e,o),!this.warnedAboutMemory&&this.numBytesInGPU>this.numMBBeforeWarning*1024*1024){let s=(this.numBytesInGPU/1024/1024).toFixed(2);this.warnedAboutMemory=!0,console.warn(`High memory usage in GPU: ${s} MB, most likely due to a memory leak`)}return this.textureManager.acquireTexture(e,t,n)}computeBytes(e,t){return e[0]*e[1]*y.bytesPerElement(t)}checkCompileCompletion(){for(let[,e]of Object.entries(this.binaryCache))this.checkCompletion_(e)}async checkCompileCompletionAsync(){let e=[];if(this.gpgpu.parallelCompilationExtension){for(let[,t]of Object.entries(this.binaryCache))e.push(this.checkCompletionAsync_(t));return Promise.all(e)}else{for(let[,t]of Object.entries(this.binaryCache)){let o=new Promise(n=>{try{this.checkCompletion_(t),n(!0)}catch(s){throw s}});e.push(o)}return Promise.all(e)}}async checkCompletionAsync_(e){return this.gpgpu.gl.getProgramParameter(e.webGLProgram,this.gpgpu.parallelCompilationExtension.COMPLETION_STATUS_KHR)?this.checkCompletion_(e):(await CC(),this.checkCompletionAsync_(e))}checkCompletion_(e){if(this.gpgpu.gl.getProgramParameter(e.webGLProgram,this.gpgpu.gl.LINK_STATUS)===!1)throw console.log(this.gpgpu.gl.getProgramInfoLog(e.webGLProgram)),this.gpgpu.gl.getShaderParameter(e.fragmentShader,this.gpgpu.gl.COMPILE_STATUS)===!1?($f(e.source,this.gpgpu.gl.getShaderInfoLog(e.fragmentShader)),new Error(\"Failed to compile fragment shader.\")):new Error(\"Failed to link vertex and fragment shaders.\");return!0}getUniformLocations(){for(let[,e]of Object.entries(this.binaryCache)){let{uniformLocations:t,customUniformLocations:o,infLoc:n,nanLoc:s,inShapesLocations:a,inTexShapesLocations:i,outShapeLocation:p,outShapeStridesLocation:u,outTexShapeLocation:c}=tw(this.gpgpu,e.program,e.webGLProgram);e.uniformLocations=t,e.customUniformLocations=o,e.infLoc=n,e.nanLoc=s,e.inShapesLocations=a,e.inTexShapesLocations=i,e.outShapeLocation=p,e.outShapeStridesLocation=u,e.outTexShapeLocation=c}}createTensorFromTexture(e,t,o){let{texture:n,height:s,width:a,channels:i}=e,p=cr().backend;if(!p.gpgpu.gl.isTexture(n))throw new Error(\"The texture is invalid. Also, please make sure the texture and the TFJS WebGL backend are using the same canvas. If you want to use your own custom canvas, you have to create and use the custom TFJS WebGL backend created from the canvas through 'new tf.MathBackendWebGL(customCanvas)'.\");let u=p.writeTexture(n,t,o,s,a,i);return cr().makeTensorFromDataId(u,t,o,p)}};Bi.nextDataId=0;function M8(r,e){if(e===\"float32\"||e===\"complex64\")return r;if(e===\"int32\"||e===\"bool\"){let t=e===\"int32\"?new Int32Array(r.length):new Uint8Array(r.length);for(let o=0;onew Bi,2);var L9e={forceHalfFloat:L$};var mc=`\n if (isnan(a)) return a;\n if (isnan(b)) return b;\n`;var io=class{constructor(e,t,o){this.variableNames=[\"A\",\"B\"],this.outputShape=S.assertAndGetBroadcastShape(t,o),this.enableShapeUniforms=ct(this.outputShape.length),this.userCode=`\n float binaryOperation(float a, float b) {\n ${e}\n }\n\n void main() {\n float a = getAAtOutCoords();\n float b = getBAtOutCoords();\n setOutput(binaryOperation(a, b));\n }\n `}};var Zs=`\n result.r = isNaN.r ? NAN : result.r;\n result.g = isNaN.g ? NAN : result.g;\n result.b = isNaN.b ? NAN : result.b;\n result.a = isNaN.a ? NAN : result.a;\n`;var To=class{constructor(e,t,o,n=!1){this.variableNames=[\"A\",\"B\"],this.supportsBroadcasting=!0,this.packedInputs=!0,this.packedOutput=!0,this.outputShape=S.assertAndGetBroadcastShape(t,o);let s=this.outputShape.length;this.enableShapeUniforms=ct(s);let a=\"\";if(n)if(s===0||y.sizeFromShape(this.outputShape)===1)a=`\n result.y = 0.;\n result.z = 0.;\n result.w = 0.;\n `;else if(a=`\n ${_e(s)} coords = getOutputCoords();\n `,s===1)this.enableShapeUniforms?a+=`\n result.y = (coords + 1) >= outShape ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `:a+=`\n result.y = (coords + 1) >= ${this.outputShape[0]} ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `;else{let p=$t(\"coords\",s);this.enableShapeUniforms?a+=`\n bool nextRowOutOfBounds =\n (${p[s-2]} + 1) >= outShape[${s} - 2];\n bool nextColOutOfBounds =\n (${p[s-1]} + 1) >= outShape[${s} - 1];\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `:a+=`\n bool nextRowOutOfBounds =\n (${p[s-2]} + 1) >= ${this.outputShape[s-2]};\n bool nextColOutOfBounds =\n (${p[s-1]} + 1) >= ${this.outputShape[s-1]};\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `}this.userCode=`\n vec4 binaryOperation(vec4 a, vec4 b) {\n ${e}\n }\n\n void main() {\n vec4 a = getAAtOutCoords();\n vec4 b = getBAtOutCoords();\n\n vec4 result = binaryOperation(a, b);\n ${a}\n\n setOutput(result);\n }\n `}};function At(r){let{inputs:e,backend:t}=r,{x:o}=e;return t.incRef(o.dataId),{dataId:o.dataId,shape:o.shape,dtype:o.dtype}}var B$={kernelName:mo,backendName:\"webgl\",kernelFunc:At};function Rr(r){let{inputs:e,backend:t}=r,{real:o,imag:n}=e,s=t.makeTensorInfo(o.shape,\"complex64\"),a=t.texData.get(s.dataId),i=At({inputs:{x:o},backend:t}),p=At({inputs:{x:n},backend:t});return a.complexTensorInfos={real:i,imag:p},s}var V$={kernelName:ei,backendName:\"webgl\",kernelFunc:Rr};var Sw=\"return (a < 0.) ? b * a : a;\",ww=`\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n`;function B8(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{alpha:s}=o,a=t.makeTensorInfo([],\"float32\",y.createScalarValue(s,\"float32\")),i=O().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new To(ww,n.shape,a.shape):new io(Sw,n.shape,a.shape),p=t.runWebGLProgram(i,[n,a],\"float32\");return t.disposeIntermediateTensorInfo(a),p}var z$={kernelName:mn,backendName:\"webgl\",kernelFunc:B8};var Iw=\"return (a < 0.) ? b * a : a;\",vw=`\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n`;function V8(r){let{inputs:e,backend:t}=r,{x:o,alpha:n}=e,s=O().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new To(vw,o.shape,n.shape):new io(Iw,o.shape,n.shape);return t.runWebGLProgram(s,[o,n],\"float32\")}var W$={kernelName:Rn,backendName:\"webgl\",kernelFunc:V8};var _o=\"if (isnan(x)) return x;\";function ge({opSnippet:r,packedOpSnippet:e,cpuKernelImpl:t,dtype:o}){return({inputs:n,backend:s})=>{let{x:a}=n,i=s,p=o||a.dtype;if(i.shouldExecuteOnCPU([a])&&t!=null){let l=i.texData.get(a.dataId),m=t(l.values,p);return i.makeTensorInfo(a.shape,p,m)}let u=O().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")&&e!=null,c;return u?c=new Ar(a.shape,e):c=new Jt(a.shape,r),i.runWebGLProgram(c,[a],p)}}function tt({opSnippet:r,packedOpSnippet:e,checkOutOfBounds:t=!1,supportsComplex:o=!1,cpuKernelImpl:n,dtype:s}){return({inputs:a,backend:i})=>{let{a:p,b:u}=a,c=i;if(o&&p.dtype===\"complex64\"){let f=c.texData.get(p.dataId),h=c.texData.get(u.dataId),[g,x]=[[f.complexTensorInfos.real,h.complexTensorInfos.real],[f.complexTensorInfos.imag,h.complexTensorInfos.imag]].map(C=>{let[w,k]=C,_={dataId:w.dataId,dtype:w.dtype,shape:p.shape},$={dataId:k.dataId,dtype:k.dtype,shape:u.shape},A=new io(r,p.shape,u.shape);return c.runWebGLProgram(A,[_,$],dt(w.dtype,k.dtype))}),b=Rr({inputs:{real:g,imag:x},backend:c});return c.disposeIntermediateTensorInfo(g),c.disposeIntermediateTensorInfo(x),b}let l=s||dt(p.dtype,u.dtype);if((p.dtype===\"string\"||u.dtype===\"string\"||c.shouldExecuteOnCPU([p,u]))&&n!=null){let f=c.texData.get(p.dataId).values,h=c.texData.get(u.dataId).values,g=p.dtype===\"string\"?S.fromUint8ToStringArray(f):f,x=p.dtype===\"string\"?S.fromUint8ToStringArray(h):h,[b,C]=n(p.shape,u.shape,g,x,l),w=c.makeTensorInfo(C,l),k=c.texData.get(w.dataId);return k.values=b,w}let m=O().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")&&e!=null,d;return m?d=new To(e,p.shape,u.shape,t):d=new io(r,p.shape,u.shape),c.runWebGLProgram(d,[p,u],l)}}function Wa(r,e=!1){if(r===\"linear\")return e?F$:T$;if(r===\"relu\")return e?O$:E$;if(r===\"elu\")return e?D$:_$;if(r===\"relu6\")return e?P$:$$;if(r===\"prelu\")return e?vw:Iw;if(r===\"leakyrelu\")return e?ww:Sw;if(r===\"sigmoid\")return e?M$:A$;throw new Error(`Activation ${r} has not been implemented for the WebGL backend.`)}var dc=class{constructor(e,t,o,n=!1,s=!1,a=!1,i=null,p=!1,u=!1){this.variableNames=[\"matrixA\",\"matrixB\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=o,this.enableShapeUniforms=ct(this.outputShape.length);let c=n?e[1]:e[2],l=Math.ceil(c/2),m=n?\"i * 2, rc.y\":\"rc.y, i * 2\",d=s?\"rc.z, i * 2\":\"i * 2, rc.z\",f=n?[\"a.xxyy\",\"a.zzww\"]:[\"a.xxzz\",\"a.yyww\"],h=s?[\"b.xzxz\",\"b.ywyw\"]:[\"b.xyxy\",\"b.zwzw\"],g=\"\",x=\"\";i&&(p?g=`vec4 activation(vec4 a) {\n vec4 b = getPreluActivationWeightsAtOutCoords();\n ${i}\n }`:u?g=`vec4 activation(vec4 a) {\n vec4 b = getLeakyreluAlphaAtOutCoords();\n ${i}\n }`:g=`vec4 activation(vec4 x) {\n ${i}\n }`,x=\"result = activation(result);\");let b=a?\"result += getBiasAtOutCoords();\":\"\";a&&this.variableNames.push(\"bias\"),p&&this.variableNames.push(\"preluActivationWeights\"),u&&this.variableNames.push(\"leakyreluAlpha\");let C=\"rc.x\",w=\"rc.x\";e[0]`The new shape (${p}) has ${u} elements and the old shape (${n.shape}) has ${i} elements. The new shape and old shape must have the same number of elements.`);let c=a.texData.get(n.dataId);return c.isPacked&&!Li(n.shape,p)&&!(c.texture!==null&&Li(c.shape,p))?H$(n,p,a):(a.incRef(n.dataId),{dataId:n.dataId,shape:p,dtype:n.dtype})}var q$={kernelName:Ns,backendName:\"webgl\",kernelFunc:te};var _l=class{constructor(e,t){this.variableNames=[\"x\"];let{windowSize:o,batchSize:n,inSize:s,outSize:a}=e;this.outputShape=[n,a];let i=Math.floor(o/4)*4,p=o%4,u=\"sumValue += dot(values, ones);\";if(t!=null){let l=1/t;u=`sumValue += dot(values * ${y.isInt(l)?l.toPrecision(2):l}, ones);`}let c=\"\";s%o>0&&(c=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return 0.0;\n }\n `),this.userCode=`\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${c}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${o};\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${i}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${u}\n }\n\n int inIdx = inOffset + ${i};\n if (${p===1}) {\n vec4 values = vec4(getValue(batch, inIdx), 0.0, 0.0, 0.0);\n\n ${u}\n } else if (${p===2}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1), 0.0, 0.0);\n\n ${u}\n } else if (${p===3}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2), 0.0);\n\n ${u}\n }\n setOutput(sumValue);\n }\n `}};var Jf=class{constructor(e,t){this.variableNames=[\"x\"];let{windowSize:o,batchSize:n,inSize:s,outSize:a}=e;this.outputShape=[n,a];let i=\"0.0\",p=\"\";t===\"prod\"?i=\"1.0\":t===\"min\"?(i=\"1.0 / 1e-20\",p=\"min\"):t===\"max\"&&(i=\"-1.0 / 1e-20\",p=\"max\");let u=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;t===\"sum\"?u=\"sumValue\":t===\"prod\"?u=\"prodValue\":t===\"all\"?u=\"allValue\":t===\"any\"&&(u=\"anyValue\");let c=Math.floor(o/4)*4,l=o%4,m=`\n if (${t===\"sum\"}) {\n sumValue += dot(values, ones);\n } else if (${t===\"prod\"}) {\n vec2 tmp = vec2(values[0], values[1]) * vec2(values[2], values[3]);\n prodValue *= tmp[0] * tmp[1];\n } else {\n minMaxValue = ${p}(values, minMaxValue);\n if (${t===\"min\"} || ${t===\"max\"}) {\n minMaxValue = ${p}(values, minMaxValue);\n bvec4 isNaN = isnan(values);\n if (isNaN.r || isNaN.g || isNaN.b || isNaN.a) {\n minMaxValue = vec4(NAN);\n }\n }\n }\n `,d=\"vec4\";t===\"all\"?(i=\"1.0\",m=`\n bool reducedAllValue = all(values);\n float floatedReducedAllValue = float(reducedAllValue);\n allValue = float(allValue >= 1.0 && floatedReducedAllValue >= 1.0);\n `,d=\"bvec4\"):t===\"any\"&&(i=\"0.0\",m=`\n bool reducedAnyValue = any(values);\n float floatedReducedAnyValue = float(reducedAnyValue);\n anyValue = float(anyValue >= 1.0 || floatedReducedAnyValue >= 1.0);\n `,d=\"bvec4\");let f=\"\";s%o>0&&(f=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `),this.userCode=`\n const float initializationValue = ${i};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${f}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${o};\n\n vec4 minMaxValue = vec4(${i});\n float prodValue = 1.0;\n float sumValue = 0.0;\n float allValue = 1.0;\n float anyValue = 0.0;\n\n for (int i = 0; i < ${c}; i += 4) {\n int inIdx = inOffset + i;\n ${d} values = ${d}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${m}\n }\n\n int inIdx = inOffset + ${c};\n if (${l===1}) {\n ${d} values = ${d}(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${m}\n } else if (${l===2}) {\n ${d} values = ${d}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n ${m}\n } else if (${l===3}) {\n ${d} values = ${d}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n ${m}\n }\n setOutput(${u});\n }\n `}};function W8(r){let e=[];for(;e.length===0||e[e.length-1].outSize!==1;){let t=e.length?e[e.length-1].outSize:r[1],o=S.computeOptimalWindowSize(t);e.push({inSize:t,windowSize:o,outSize:Math.ceil(t/o)})}return e}function Gr(r,e,t,o){let n=W8(r.shape),s=r;for(let a=0;a6)throw Error(`Transpose for rank ${e} is not yet supported`);let t=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\",\"resRC.u\",\"resRC.v\"],o=new Array(e);for(let n=0;n6)throw Error(`Packed transpose for rank ${this.rank} is not yet supported.`);let n=_e(this.rank),s=bw(\"rc\",this.rank),a=new Array(this.rank);for(let c=0;c`Error in matMul: inner shapes (${l}) and (${m}) of Tensors with shapes ${r.shape} and ${e.shape} and transposeA=${t} and transposeB=${o} must match.`);let k=t?[x,l,d]:[x,d,l],_=o?[b,f,m]:[b,m,f],$=te({inputs:{x:r},backend:n,attrs:{shape:k}}),A=te({inputs:{x:e},backend:n,attrs:{shape:_}}),R=[$,A],D=Math.max(x,b),P=t?$.shape[1]:$.shape[2],M=s!=null,L=a!=null,W=p===\"leakyrelu\",V=p!=null?Wa(p,!0):null,U=M||L||W||V!=null,q;if((d===1||f===1)&&P>Nw&&U===!1){let j=$,X=A;t&&(j=xt({inputs:{x:$},backend:n,attrs:{perm:[0,2,1]}}),R.push(j)),o&&(X=xt({inputs:{x:A},backend:n,attrs:{perm:[0,2,1]}}),R.push(X));let Z=f!==1,ee=f===1,Y=j;Z&&(Y=te({inputs:{x:j},backend:n,attrs:{shape:[D,P,1]}}),R.push(Y));let J=f===1?2:1,ie=X;ee&&(ie=te({inputs:{x:X},backend:n,attrs:{shape:[D,1,P]}}),R.push(ie));let pe=Tl({inputs:{a:Y,b:ie},backend:n});q=Ou({inputs:{x:pe},backend:n,attrs:{axis:J,keepDims:!0}}),R.push(pe)}else{let j=dt(r.dtype,e.dtype),X=new dc(k,_,[D,d,f],t,o,M,V,L,W),Z=[$,A];if(s!=null&&Z.push(s),L&&Z.push(a),W){let ee=n.makeTensorInfo([],\"float32\",y.createScalarValue(i,\"float32\"));Z.push(ee),R.push(ee)}q=n.runWebGLProgram(X,Z,j)}let H=te({inputs:{x:q},backend:n,attrs:{shape:w}});R.push(q);for(let j of R)n.disposeIntermediateTensorInfo(j);return H}function G8(r){let{inputs:e,backend:t,attrs:o}=r,{a:n,b:s,bias:a,preluActivationWeights:i}=e,{transposeA:p,transposeB:u,activation:c,leakyreluAlpha:l}=o;return Pu({a:n,b:s,transposeA:p,transposeB:u,backend:t,bias:a,preluActivationWeights:i,leakyreluAlpha:l,activation:c})}var Y$={kernelName:fo,backendName:\"webgl\",kernelFunc:G8};var Q$=\"return abs(x);\";function H8(r){let{inputs:e,backend:t}=r,{x:o}=e;if(t.shouldExecuteOnCPU([o])&&o.dtype!==\"complex64\"){let s=t.texData.get(o.dataId),a=Kf(s.values);return t.makeTensorInfo(o.shape,o.dtype,a)}let n;return O().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")?n=new Ar(o.shape,Q$):n=new Jt(o.shape,Q$),t.runWebGLProgram(n,[o],o.dtype)}var Z$={kernelName:gs,backendName:\"webgl\",kernelFunc:H8};var q8=Bt+`\n if (abs(x) > 1.) {\n return NAN;\n }\n return acos(x);\n`,K8=ge({opSnippet:q8}),J$={kernelName:sa,backendName:\"webgl\",kernelFunc:K8};var j8=Bt+`\n if (x < 1.0) return NAN;\nreturn log(x + sqrt(x * x - 1.0));`,X8=ge({opSnippet:j8}),eA={kernelName:aa,backendName:\"webgl\",kernelFunc:X8};var tA=\"return a + b;\",Y8=tt({opSnippet:tA,packedOpSnippet:tA,supportsComplex:!0,cpuKernelImpl:DE}),rA={kernelName:eo,backendName:\"webgl\",kernelFunc:Y8};var rh=class{constructor(e,t){this.outputShape=[],this.outputShape=e,this.variableNames=t.map((s,a)=>`T${a}`);let o=[];this.variableNames.forEach(s=>{o.push(`float v${s} = get${s}AtOutCoords();`)});let n=this.variableNames.map(s=>`v${s}`).join(\" + \");this.userCode=`\n void main() {\n ${o.join(`\n `)}\n\n float result = ${n};\n setOutput(result);\n }\n `}};var oh=class{constructor(e,t){this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.variableNames=t.map((s,a)=>`T${a}`);let o=[];this.variableNames.forEach(s=>{o.push(`vec4 v${s} = get${s}AtOutCoords();`)});let n=this.variableNames.map(s=>`v${s}`).join(\" + \");this.userCode=`\n void main() {\n ${o.join(`\n `)}\n\n vec4 result = ${n};\n setOutput(result);\n }\n `}};function nh(r){let{inputs:e,backend:t}=r,o=e;if(o.length===1)return At({inputs:{x:o[0]},backend:t});if(o.length>O().get(\"WEBGL_MAX_TEXTURES_IN_SHADER\")){let p=Math.floor(o.length/2),u=nh({inputs:o.slice(0,p),backend:t}),c=nh({inputs:o.slice(p),backend:t});return nh({inputs:[u,c],backend:t})}let n=o.map(p=>p.dtype).reduce((p,u)=>dt(p,u)),s=o.map(p=>p.shape),i=O().getBool(\"WEBGL_PACK\")?new oh(o[0].shape,s):new rh(o[0].shape,s);return t.runWebGLProgram(i,o,n)}var oA={kernelName:Mo,backendName:\"webgl\",kernelFunc:nh};function Q8(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o,i=n.shape.length,p=y.parseAxisParam(s,n.shape),u=p,c=S.getAxesPermutation(u,i),l=n;c!=null&&(l=xt({inputs:{x:n},backend:t,attrs:{perm:c}}),u=S.getInnerMostAxes(u.length,i)),S.assertAxesAreInnerMostDims(\"all\",u,i);let[m,d]=S.computeOutAndReduceShapes(l.shape,u),f=y.sizeFromShape(d),h=te({inputs:{x:l},backend:t,attrs:{shape:[-1,f]}}),g=Gr(h,h.dtype,\"all\",t),x;if(a){let b=S.expandShapeToKeepDim(m,p);x=te({inputs:{x:g},backend:t,attrs:{shape:b}})}else x=te({inputs:{x:g},backend:t,attrs:{shape:m}});return t.disposeIntermediateTensorInfo(h),t.disposeIntermediateTensorInfo(g),c!=null&&t.disposeIntermediateTensorInfo(l),x}var nA={kernelName:Lo,backendName:\"webgl\",kernelFunc:Q8};function Z8(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o,i=n.shape.length,p=y.parseAxisParam(s,n.shape),u=p,c=S.getAxesPermutation(u,i),l=n;c!=null&&(l=xt({inputs:{x:n},backend:t,attrs:{perm:c}}),u=S.getInnerMostAxes(u.length,i)),S.assertAxesAreInnerMostDims(\"any\",u,i);let[m,d]=S.computeOutAndReduceShapes(l.shape,u),f=y.sizeFromShape(d),h=te({inputs:{x:l},backend:t,attrs:{shape:[-1,f]}}),g=Gr(h,h.dtype,\"any\",t),x;if(a){let b=S.expandShapeToKeepDim(m,p);x=te({inputs:{x:g},backend:t,attrs:{shape:b}})}else x=te({inputs:{x:g},backend:t,attrs:{shape:m}});return t.disposeIntermediateTensorInfo(h),t.disposeIntermediateTensorInfo(g),c!=null&&t.disposeIntermediateTensorInfo(l),x}var sA={kernelName:Bo,backendName:\"webgl\",kernelFunc:Z8};var sh=class{constructor(e,t,o){this.variableNames=[\"A\"];let{windowSize:n,batchSize:s,outSize:a}=e;o||this.variableNames.push(\"bestIndicesA\"),this.outputShape=[s,a];let i=t===\"max\"?\">\":\"<\",p=o?\"inOffset + i;\":\"round(getBestIndicesA(batch, inOffset + i));\";this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n int bestIndex = inOffset;\n float bestValue = getA(batch, bestIndex);\n\n for (int i = 0; i < ${n}; i++) {\n int inIdx = ${p};\n float candidate = getA(batch, inIdx);\n if (candidate ${i} bestValue) {\n bestValue = candidate;\n bestIndex = inIdx;\n }\n }\n setOutput(float(bestIndex));\n }\n `}};var ah=class{constructor(e,t,o,n){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,y.assert(e.length>2,()=>`Packed arg${o.charAt(0).toUpperCase()+o.slice(1)} supports only inputs with rank above 2.`);let s=e[e.length-1],a=Math.ceil(s/t);this.outputShape=e.slice(0,-1),a>1&&this.outputShape.push(a),n||this.variableNames.push(\"bestIndicesA\");let i=this.outputShape,p=i.length,u=_e(p),c=$t(\"coords\",p),l,m;if(a===1){m=p+1;let A=_e(m);l=`\n ${A} sourceLocR = ${A}(${c.join()}, 0);\n ++${c[p-1]};\n ${A} sourceLocG = ${A}(${c.join()}, 0);\n ++${c[p-2]};\n ${A} sourceLocA = ${A}(${c.join()}, 0);\n --${c[p-1]};\n ${A} sourceLocB = ${A}(${c.join()}, 0);\n --${c[p-2]};`}else m=p,l=`\n ${u} sourceLocR = coords;\n ++${c[p-1]};\n ${u} sourceLocG = coords;\n ++${c[p-2]};\n ${u} sourceLocA = coords;\n --${c[p-1]};\n ${u} sourceLocB = coords;\n --${c[p-2]};`;let d=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"].slice(0,m),f=\".\"+d[m-1],h=d.map(A=>\"int \"+A),g=$t(\"sourceLocR\",m-1).concat(\"inIdx.r\"),x=$t(\"sourceLocG\",m-1).concat(\"inIdx.g\"),b=$t(\"sourceLocB\",m-1).concat(\"inIdx.b\"),C=$t(\"sourceLocA\",m-1).concat(\"inIdx.a\"),w=o===\"max\"?\"greaterThan\":\"lessThan\",k=n?\"\":`\n inIdx = round(vec4(getBestIndicesAChannel(${g.join()}),\n getBestIndicesAChannel(${x.join()}),\n getBestIndicesAChannel(${b.join()}),\n getBestIndicesAChannel(${C.join()})));`,_=`vec4(\n getAChannel(${g.join()}),\n hasNextCol ? getAChannel(${x.join()}) : 0.,\n hasNextRow ? getAChannel(${b.join()}) : 0.,\n hasNextRow && hasNextCol ? getAChannel(${C.join()}) : 0.)`,$=n?\"\":`\n float getBestIndicesAChannel(${h.join()}) {\n return getChannel(getBestIndicesA(${d.join()}),\n vec2(${d.slice(-2).join()}));\n }`;this.userCode=`\n float getAChannel(${h.join()}) {\n return getChannel(getA(${d.join()}),\n vec2(${d.slice(-2).join()}));\n }\n ${$}\n void main() {\n ${u} coords = getOutputCoords();\n bool hasNextCol = ${c[p-1]} < ${i[p-1]-1};\n bool hasNextRow = ${c[p-2]} < ${i[p-2]-1};\n ${l}\n ivec4 srcIdx = ivec4(sourceLocR${f}, sourceLocG${f},\n sourceLocB${f}, sourceLocA${f}) * ${t};\n ivec4 inIdx = srcIdx;\n vec4 bestIndex = vec4(inIdx);\n vec4 bestValue = ${_};\n\n for (int i = 0; i < ${t}; i++) {\n inIdx = srcIdx;\n ${k}\n vec4 candidate = ${_};\n bvec4 nan = isnan(candidate);\n bvec4 replace = bvec4(\n vec4(${w}(candidate, bestValue)) * (vec4(1.0) - vec4(nan)));\n\n bestValue = vec4(replace.x ? candidate.x : bestValue.x,\n replace.y ? candidate.y : bestValue.y,\n replace.z ? candidate.z : bestValue.z,\n replace.w ? candidate.w : bestValue.w);\n bestIndex = mix(bestIndex, vec4(inIdx), vec4(replace));\n srcIdx++;\n }\n setOutput(bestIndex);\n }\n `}};function aA(r,e,t,o=null){let n=e.shape[0],s=e.shape[1];o!=null&&(n=o.shape[0],s=o.shape[1]);let a=S.computeOptimalWindowSize(s),i={windowSize:a,inSize:s,batchSize:n,outSize:Math.ceil(s/a)},p=new sh(i,t,o==null),u=[e];o!=null&&u.push(o);let c=r.runWebGLProgram(p,u,\"int32\");if(c.shape[1]===1)return c;let l=aA(r,e,t,c);return r.disposeIntermediateTensorInfo(c),l}function iA(r,e,t,o=null){let n=o!=null?o.shape:e.shape,s=n[n.length-1],a=S.computeOptimalWindowSize(s),i=new ah(n,a,t,o==null),p=o==null?[e]:[e,o],u=r.runWebGLProgram(i,p,\"int32\");if(u.shape.length===e.shape.length){let c=iA(r,e,t,u);return r.disposeIntermediateTensorInfo(u),c}return u}function ih(r,e,t,o){let n=[t];if(S.assertAxesAreInnerMostDims(\"arg\"+o.charAt(0).toUpperCase()+o.slice(1),n,e.shape.length),!O().getBool(\"WEBGL_PACK_REDUCE\")||e.shape.length<=2){let s=[],a=r.texData.get(e.dataId),i=a!==null&&a.isPacked,p=e;i&&(p=r.unpackTensor(e),s.push(p));let[u,c]=S.computeOutAndReduceShapes(p.shape,n),l=y.sizeFromShape(c),m=te({inputs:{x:p},backend:r,attrs:{shape:[-1,l]}});s.push(m);let d=aA(r,m,o);s.push(d);let f=te({inputs:{x:d},backend:r,attrs:{shape:u}});return s.forEach(h=>r.disposeIntermediateTensorInfo(h)),f}return iA(r,e,o)}function J8(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s}=o,a=y.parseAxisParam(s,n.shape),i=S.getAxesPermutation(a,n.shape.length),p=n,u=[];i!=null&&(p=xt({inputs:{x:n},backend:t,attrs:{perm:i}}),u.push(p),a=S.getInnerMostAxes(a.length,p.shape.length)),S.assertAxesAreInnerMostDims(\"argMax\",[a[0]],p.shape.length);let c=ih(t,p,a[0],\"max\");return u.forEach(l=>t.disposeIntermediateTensorInfo(l)),c}var uA={kernelName:Vo,backendName:\"webgl\",kernelFunc:J8};function eY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s}=o,a=y.parseAxisParam(s,n.shape),i=S.getAxesPermutation(a,n.shape.length),p=n,u=[];i!=null&&(p=xt({inputs:{x:n},backend:t,attrs:{perm:i}}),u.push(p),a=S.getInnerMostAxes(a.length,p.shape.length)),S.assertAxesAreInnerMostDims(\"argMin\",[a[0]],p.shape.length);let c=ih(t,p,a[0],\"min\");return u.forEach(l=>t.disposeIntermediateTensorInfo(l)),c}var pA={kernelName:Za,backendName:\"webgl\",kernelFunc:eY};var tY=Bt+`\n if (abs(x) > 1.) {\n return NAN;\n }\n return asin(x);\n`,rY=ge({opSnippet:tY}),cA={kernelName:ia,backendName:\"webgl\",kernelFunc:rY};var oY=Bt+\"return log(x + sqrt(x * x + 1.0));\",nY=ge({opSnippet:oY}),lA={kernelName:ua,backendName:\"webgl\",kernelFunc:nY};var sY=Bt+`\n return atan(x);\n`,aY=ge({opSnippet:sY}),mA={kernelName:pa,backendName:\"webgl\",kernelFunc:aY};var iY=mc+`\n return atan(a, b);\n`,uY=`\n vec4 result = atan(a, b);\n bvec4 isNaNA = isnan(a);\n bvec4 isNaNB = isnan(b);\n bvec4 isNaN = bvec4(isNaNA.x || isNaNB.x, isNaNA.y || isNaNB.y, isNaNA.z || isNaNB.z, isNaNA.w || isNaNB.w);\n `+Zs+`\n return result;\n`,pY=tt({opSnippet:iY,packedOpSnippet:uY}),dA={kernelName:la,backendName:\"webgl\",kernelFunc:pY};var cY=Bt+`\n if ((x < -1.0) || (x > 1.0)) return NAN;\nreturn (log(1.0 + x) - log(1.0 - x)) / 2.0;`,lY=ge({opSnippet:cY}),fA={kernelName:ca,backendName:\"webgl\",kernelFunc:lY};var ps=class{constructor(e,t,o,n=!1,s=!1){if(this.variableNames=[\"x\"],t===\"avg\"&&o)throw new Error(\"Cannot compute positions for average pool.\");let a=e.filterWidth,i=e.strideHeight,p=e.strideWidth,u=e.dilationHeight,c=e.dilationWidth,l=e.effectiveFilterHeight,m=e.effectiveFilterWidth,d=e.padInfo.top,f=e.padInfo.left;this.outputShape=e.outShape;let h=t===\"avg\",g=`((batch * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + d`,x=`(xR * ${e.inWidth} + xC) * ${e.inChannels} + d`,b=\"0.0\";if(h||(b=\"-1.0 / 1e-20\"),o){let A=\">=\";this.userCode=`\n const ivec2 strides = ivec2(${i}, ${p});\n const ivec2 pads = ivec2(${d}, ${f});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n float avgValue = 0.0;\n\n for (int wR = 0; wR < ${l};\n wR += ${u}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${m};\n wC += ${c}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xR, xC, d);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${A} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${n?s?g:x:`wR * ${m} + wC`};\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `;return}let C=\"max\",w=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;t===\"avg\"&&(w=\"avgValue / count\");let k=Math.floor(a/4)*4,_=a%4,$=`\n if (${h}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = ${C}(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec2 strides = ivec2(${i}, ${p});\n const ivec2 pads = ivec2(${d}, ${f});\n const float initializationValue = ${b};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xR, int xC, int d) {\n if (xC < 0 || xC >= ${e.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xR, xC, d);\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n vec4 minMaxValue = vec4(${b});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wR = 0; wR < ${l};\n wR += ${u}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${k}; wC += 4) {\n int xC = xCCorner + wC * ${c};\n\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n getValue(batch, xR, xC + 2 * ${c}, d),\n getValue(batch, xR, xC + 3 * ${c}, d)\n );\n\n ${$}\n }\n\n int xC = xCCorner + ${k};\n if (${_===1}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${$}\n } else if (${_===2}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n initializationValue,\n initializationValue\n );\n\n ${$}\n } else if (${_===3}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n getValue(batch, xR, xC + 2 * ${c}, d),\n initializationValue\n );\n\n ${$}\n }\n }\n setOutput(${w});\n }\n `}},zi=class{constructor(e,t,o,n=!1,s=!1){if(this.variableNames=[\"x\"],t===\"avg\"&&o)throw new Error(\"Cannot compute positions for average pool.\");let a=e.filterWidth,i=e.strideDepth,p=e.strideHeight,u=e.strideWidth,c=e.dilationDepth,l=e.dilationHeight,m=e.dilationWidth,d=e.effectiveFilterDepth,f=e.effectiveFilterHeight,h=e.effectiveFilterWidth,g=e.padInfo.front,x=e.padInfo.top,b=e.padInfo.left;this.outputShape=e.outShape;let C=t===\"avg\",w=\"0.0\";if(C||(w=\"-1.0 / 1e-20\"),o){let D=\">=\";this.userCode=`\n const ivec3 strides =\n ivec3(${i}, ${p}, ${u});\n const ivec3 pads = ivec3(${g}, ${x}, ${b});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, ch) to get y(yD, yR, yC, ch).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n\n for (int wD = 0; wD < ${d};\n wD += ${c}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${f};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h};\n wC += ${m}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xD, xR, xC, ch);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${D} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${n?s?`(((batch * ${e.inDepth} + xD) * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`((xD * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`wD * ${f} * ${h} +\n wR * ${h} + wC`};\n }\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `;return}let k=\"max\",_=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;t===\"avg\"&&(_=\"avgValue / count\");let $=Math.floor(a/4)*4,A=a%4,R=`\n if (${C}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = ${k}(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec3 strides =\n ivec3(${i}, ${p}, ${u});\n const ivec3 pads = ivec3(${g}, ${x}, ${b});\n const float initializationValue = ${w};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xD, int xR, int xC, int ch) {\n if (xC < 0 || xC >= ${e.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xD, xR, xC, ch);\n }\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, d) to get y(yD, yR, yC, ch).\n // ? = to be determined\n vec4 minMaxValue = vec4(${w});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wD = 0; wD < ${d};\n wD += ${c}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${f};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${$}; wC += 4) {\n int xC = xCCorner + wC * ${m};\n\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n getValue(batch, xD, xR, xC + 2 * ${m}, ch),\n getValue(batch, xD, xR, xC + 3 * ${m}, ch)\n );\n\n ${R}\n }\n\n int xC = xCCorner + ${$};\n if (${A===1}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${R}\n } else if (${A===2}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n initializationValue,\n initializationValue\n );\n\n ${R}\n } else if (${A===3}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n getValue(batch, xD, xR, xC + 2 * ${m}, ch),\n initializationValue\n );\n\n ${R}\n }\n }\n setOutput(${_});\n }\n }\n `}};function mY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e;is(n,\"avgPool\");let{filterSize:s,strides:a,pad:i,dimRoundingMode:p}=o,u=1;y.assert(S.eitherStridesOrDilationsAreOne(a,u),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${a} and dilations '${u}'`);let c=S.computePool2DInfo(n.shape,s,a,u,i,p);if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))return At({inputs:{x:n},backend:t});let l=new ps(c,\"avg\",!1);return t.runWebGLProgram(l,[n],\"float32\")}var hA={kernelName:zo,backendName:\"webgl\",kernelFunc:mY};function dY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{filterSize:s,strides:a,pad:i,dimRoundingMode:p,dataFormat:u}=o,c=[1,1,1],l=S.computePool3DInfo(n.shape,s,a,c,i,p,u),m=new zi(l,\"avg\",!1);return t.runWebGLProgram(m,[n],\"float32\")}var gA={kernelName:ip,backendName:\"webgl\",kernelFunc:dY};var uh=class{constructor(e){this.variableNames=[\"dy\"],this.outputShape=e.inShape;let t=e.filterHeight,o=e.filterWidth,n=e.strideHeight,s=e.strideWidth,a=e.dilationHeight,i=e.dilationWidth,p=e.effectiveFilterHeight,u=e.effectiveFilterWidth,c=p-1-e.padInfo.top,l=u-1-e.padInfo.left,m=1/(t*o);this.userCode=`\n const ivec2 pads = ivec2(${c}, ${l});\n const float avgMultiplier = float(${m});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${p};\n wR += ${a}) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${u};\n wC+= ${i}) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n setOutput(dotProd);\n }\n `}},ph=class{constructor(e){this.variableNames=[\"dy\"],this.outputShape=e.inShape;let t=e.filterDepth,o=e.filterHeight,n=e.filterWidth,s=e.strideDepth,a=e.strideHeight,i=e.strideWidth,p=e.dilationDepth,u=e.dilationHeight,c=e.dilationWidth,l=e.effectiveFilterDepth,m=e.effectiveFilterHeight,d=e.effectiveFilterWidth,f=l-1-e.padInfo.front,h=m-1-e.padInfo.top,g=d-1-e.padInfo.left,x=1/(t*o*n);this.userCode=`\n const ivec3 pads = ivec3(${f}, ${h}, ${g});\n const float avgMultiplier = float(${x});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, d) with pos mask(:, :, :, ch) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${l};\n wD += ${p}) {\n float dyD = float(dyDCorner + wD) / ${s}.0;\n\n if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${m};\n wR += ${u}) {\n float dyR = float(dyRCorner + wR) / ${a}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${d};\n wC += ${c}) {\n float dyC = float(dyCCorner + wC) / ${i}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function fY(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,input:s}=e,a=s,{filterSize:i,strides:p,pad:u,dimRoundingMode:c}=o,l=[1,1,1],m=S.computePool3DInfo(a.shape,i,p,l,u,c),d=new ph(m);return t.runWebGLProgram(d,[n],a.dtype)}var xA={kernelName:Im,backendName:\"webgl\",kernelFunc:fY};function hY(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,input:s}=e,a=s;is([n,s],\"avgPoolGrad\");let{filterSize:i,strides:p,pad:u}=o,c=S.computePool2DInfo(a.shape,i,p,1,u),l=new uh(c);return t.runWebGLProgram(l,[n],a.dtype)}var yA={kernelName:wm,backendName:\"webgl\",kernelFunc:hY};function gY(r){let{inputs:e,backend:t,attrs:o}=r,{a:n,b:s}=e,{transposeA:a,transposeB:i}=o;return Pu({a:n,b:s,transposeA:a,transposeB:i,backend:t})}var bA={kernelName:Wo,backendName:\"webgl\",kernelFunc:gY};var ch=class{constructor(e,t,o,n,s,a){this.outputShape=[],this.variableNames=[\"x\",\"mean\",\"variance\"],S.assertAndGetBroadcastShape(e,t),S.assertAndGetBroadcastShape(e,o);let i=\"0.0\";n!=null&&(S.assertAndGetBroadcastShape(e,n),this.variableNames.push(\"offset\"),i=\"getOffsetAtOutCoords()\");let p=\"1.0\";s!=null&&(S.assertAndGetBroadcastShape(e,s),this.variableNames.push(\"scale\"),p=\"getScaleAtOutCoords()\"),this.outputShape=e,this.userCode=`\n void main() {\n float x = getXAtOutCoords();\n float mean = getMeanAtOutCoords();\n float variance = getVarianceAtOutCoords();\n float offset = ${i};\n float scale = ${p};\n float inv = scale * inversesqrt(variance + float(${a}));\n setOutput(dot(vec3(x, -mean, offset), vec3(inv, inv, 1)));\n }\n `}};var lh=class{constructor(e,t,o,n,s,a){this.packedInputs=!0,this.packedOutput=!0,this.variableNames=[\"x\",\"mean\",\"variance\"],S.assertAndGetBroadcastShape(e,t),S.assertAndGetBroadcastShape(e,o);let i=\"vec4(0.0)\";n!=null&&(S.assertAndGetBroadcastShape(e,n),this.variableNames.push(\"offset\"),i=\"getOffsetAtOutCoords()\");let p=\"vec4(1.0)\";s!=null&&(S.assertAndGetBroadcastShape(e,s),this.variableNames.push(\"scale\"),p=\"getScaleAtOutCoords()\"),this.outputShape=e,this.userCode=`\n void main() {\n vec4 offset = ${i};\n vec4 scale = ${p};\n\n vec4 x = getXAtOutCoords();\n vec4 mean = getMeanAtOutCoords();\n vec4 variance = getVarianceAtOutCoords();\n\n vec4 inv = scale * inversesqrt(variance + vec4(${a}));\n\n setOutput((x - mean) * inv + offset);\n }\n `}};var xY=({inputs:r,backend:e,attrs:t})=>{let{x:o,mean:n,variance:s,offset:a,scale:i}=r;y.assert(n.shape.length===s.shape.length,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),y.assert(a==null||n.shape.length===a.shape.length,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),y.assert(i==null||n.shape.length===i.shape.length,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\");let{varianceEpsilon:p}=t;p==null&&(p=.001);let u=[o,n,s],c=null;a!=null&&(c=a.shape,u.push(a));let l=null;i!=null&&(l=i.shape,u.push(i));let m=O().getBool(\"WEBGL_PACK_NORMALIZATION\")?new lh(o.shape,n.shape,s.shape,c,l,p):new ch(o.shape,n.shape,s.shape,c,l,p);return e.runWebGLProgram(m,u,u[0].dtype)},CA={kernelName:an,backendName:\"webgl\",kernelFunc:xY};var mh=class{constructor(e){this.variableNames=[\"source\"],this.outputShape=e,this.rank=e.length;let t=_e(this.rank);this.customUniforms=[{name:\"start\",arrayIndex:this.rank,type:\"int\"}];let o=yY(this.rank),n,s=e.map((a,i)=>`sourceLoc.${Tw[i]} = start[${i}] + coords.${Tw[i]};`);n=`\n ${t} sourceLoc;\n ${t} coords = getOutputCoords();\n ${s.join(`\n`)}\n `,this.userCode=`\n void main() {\n ${n}\n setOutput(getSource(${o}));\n }\n `}},Tw=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"];function yY(r){if(r===1)return\"sourceLoc\";if(r<=6)return Tw.slice(0,r).map(e=>\"sourceLoc.\"+e).join(\",\");throw Error(`Slicing for rank ${r} is not yet supported`)}var dh=class{constructor(e){this.variableNames=[\"source\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.rank=e.length,this.customUniforms=[{name:\"start\",arrayIndex:this.rank,type:\"int\"}];let t=_e(this.rank),o=$t(\"coords\",this.rank),n=$t(\"sourceLoc\",this.rank),s=this.rank===1?\"sourceLoc\":`vec2(${n.slice(-2).join()})`,a=`getChannel(getSource(${n.join()}), ${s})`,i=`\n result.x = ${a};\n if (++${o[this.rank-1]} < ${e[this.rank-1]}) {\n ++${n[this.rank-1]};\n result.y = ${a};\n --${n[this.rank-1]};\n }\n `,p=this.rank===1?\"\":`\n --${o[this.rank-1]};\n if (++${o[this.rank-2]} < ${e[this.rank-2]}) {\n ++${n[this.rank-2]};\n result.z = ${a};\n if (++${o[this.rank-1]} < ${e[this.rank-1]}) {\n ++${n[this.rank-1]};\n result.w = ${a};\n }\n }\n `,u=this.rank<=4?`sourceLoc = coords +\n ${t}(${e.map((c,l)=>`start[${l}]`).join()});`:e.map((c,l)=>`${n[l]} = ${o[l]} + start[${l}];`).join(`\n`);this.userCode=`\n void main() {\n ${t} coords = getOutputCoords();\n ${t} sourceLoc;\n ${u}\n vec4 result = vec4(0.);\n ${i}\n ${p}\n setOutput(result);\n }\n `}};function bY(r,e,t,o){let n=o.texData.get(r.dataId),s=o.makeTensorInfo(t,r.dtype),a=o.texData.get(s.dataId);Object.assign(a,n),a.refCount=1,a.shape=t,a.dtype=r.dtype;let i=ut.computeFlatOffset(e,y.computeStrides(r.shape));n.slice&&(i+=n.slice.flatOffset),a.slice={flatOffset:i,origDataId:n.slice&&n.slice.origDataId||r.dataId};let p=o.dataRefCount.get(a.slice.origDataId)||1;return o.dataRefCount.set(a.slice.origDataId,p+1),s}function cs(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{begin:s,size:a}=o,[i,p]=ut.parseSliceParams(n,s,a);if(ut.assertParamsValid(n,i,p),y.sizeFromShape(p)===0)return t.makeTensorInfo(p,n.dtype,[]);if(t.shouldExecuteOnCPU([n])||n.dtype===\"string\"){let l=t.texData.get(n.dataId),m=l$(l.values,i,p,n.shape,n.dtype);return t.makeTensorInfo(p,n.dtype,m)}let{isPacked:u}=t.texData.get(n.dataId),c=ut.isSliceContinous(n.shape,i,p);if(u||!c){let l=O().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new dh(p):new mh(p),m=[i];return t.runWebGLProgram(l,[n],n.dtype,m)}return t.uploadToGPU(n.dataId),bY(n,i,p,t)}var SA={kernelName:_s,backendName:\"webgl\",kernelFunc:cs};var CY=r=>{let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{blockShape:s,crops:a}=o;y.assert(n.shape.length<=4,()=>\"batchToSpaceND for rank > 4 with a WebGL backend not implemented yet\");let i=s.reduce((b,C)=>b*C),p=S.getReshaped(n.shape,s,i),u=S.getPermuted(p.length,s.length),c=S.getReshapedPermuted(n.shape,s,i),l=S.getSliceBeginCoords(a,s.length),m=S.getSliceSize(c,a,s.length),d=[],f=te({inputs:{x:n},backend:t,attrs:{shape:p}}),h=xt({inputs:{x:f},backend:t,attrs:{perm:u}}),g=te({inputs:{x:h},backend:t,attrs:{shape:c}}),x=cs({inputs:{x:g},backend:t,attrs:{begin:l,size:m}});return d.push(f),d.push(h),d.push(g),d.forEach(b=>t.disposeIntermediateTensorInfo(b)),x},wA={kernelName:xs,backendName:\"webgl\",kernelFunc:CY};function SY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,weights:s}=e,{size:a}=o,i=t.readSync(n.dataId),p=t.readSync(s.dataId),u=qf(i,p,s.dtype,s.shape,a);return t.makeTensorInfo([a],s.dtype,u)}var IA={kernelName:Ja,backendName:\"webgl\",kernelFunc:SY};function wY(r){let{inputs:e,backend:t}=r,{s0:o,s1:n}=e,s=t.readSync(o.dataId),a=t.readSync(n.dataId),i=S.assertAndGetBroadcastShape(Array.from(s),Array.from(a));return t.makeTensorInfo([i.length],\"int32\",Int32Array.from(i))}var vA={kernelName:up,backendName:\"webgl\",kernelFunc:wY};var IY=\"return float(a != b);\",_w=tt({opSnippet:IY,cpuKernelImpl:r$,dtype:\"bool\"}),kA={kernelName:Nn,backendName:\"webgl\",kernelFunc:_w};function Ua(r){let{inputs:e,backend:t}=r,{input:o}=e,n=t.texData.get(o.dataId);return At({inputs:{x:n.complexTensorInfos.real},backend:t})}var NA={kernelName:ai,backendName:\"webgl\",kernelFunc:Ua};var vY=\"return float(int(x));\";function TA(r,e){let t=new Jt(r.shape,vY),o=e.runWebGLProgram(t,[r],\"int32\");return{dataId:o.dataId,shape:o.shape,dtype:o.dtype}}function Ew(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{dtype:s}=o;if(s===\"complex64\"){if(n.dtype===\"complex64\")return At({inputs:{x:n},backend:t});let a=Vr(n.shape),i=Ew({inputs:{x:n},backend:t,attrs:{dtype:\"float32\"}}),p=Rr({inputs:{real:i,imag:a},backend:t});return a.dispose(),t.disposeIntermediateTensorInfo(i),p}if(n.dtype===\"complex64\"){let a=Ua({inputs:{input:n},backend:t}),i=Ew({inputs:{x:a},backend:t,attrs:{dtype:s}});return t.disposeIntermediateTensorInfo(a),i}if(!y.hasEncodingLoss(n.dtype,s)){let a=At({inputs:{x:n},backend:t});return{dataId:a.dataId,shape:a.shape,dtype:s}}if(t.shouldExecuteOnCPU([n])){let a=t.texData.get(n.dataId).values,[i,p,u]=PE(a,n.shape,n.dtype,s);return t.makeTensorInfo(i,p,u)}if(s===\"int32\")return TA(n,t);if(s===\"bool\"){let a=t.makeTensorInfo([],\"bool\",y.getTypedArrayFromDType(\"bool\",1)),p=_w({inputs:{a:n,b:a},backend:t});return t.disposeIntermediateTensorInfo(a),p}throw new Error(`Error in Cast: failed to cast ${n.dtype} to ${s}`)}var _A={kernelName:co,backendName:\"webgl\",kernelFunc:Ew};var EA=\"return ceil(x);\",kY=ge({opSnippet:EA,packedOpSnippet:EA,cpuKernelImpl:ME}),$A={kernelName:Uo,backendName:\"webgl\",kernelFunc:kY};var fh=class{constructor(e){this.variableNames=[\"A\"],this.customUniforms=[{name:\"minVal\",type:\"float\"},{name:\"maxVal\",type:\"float\"}],this.outputShape=e,this.userCode=`\n\n void main() {\n float value = getAAtOutCoords();\n if (isnan(value)) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, minVal, maxVal));\n }\n `}};var hh=class{constructor(e){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"minVal\",type:\"float\"},{name:\"maxVal\",type:\"float\"}],this.outputShape=e,this.userCode=`\n void main() {\n vec4 value = getAAtOutCoords();\n\n if (any(isnan(value))) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, vec4(minVal), vec4(maxVal)));\n }\n `}};function NY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{clipValueMin:s,clipValueMax:a}=o,i;O().getBool(\"WEBGL_PACK_CLIP\")?i=new hh(n.shape):i=new fh(n.shape);let p=[[s],[a]];return t.runWebGLProgram(i,[n],n.dtype,p)}var AA={kernelName:lo,backendName:\"webgl\",kernelFunc:NY};var gh=class{constructor(e){this.variableNames=[\"real\",\"imag\"],this.outputShape=e,this.userCode=`\n void main() {\n float re = abs(getRealAtOutCoords());\n float im = abs(getImagAtOutCoords());\n float mx = max(re, im);\n\n // sadly the length function in glsl is not underflow-safe\n // (at least not on Intel GPUs). So the safe solution is\n // to ensure underflow-safety in all cases.\n setOutput(\n mx == 0.0 ? 0.0 : mx * length(vec2(1, min(re, im)/mx))\n );\n }\n `}};function RA(r,e){return{dataId:e.dataId,dtype:e.dtype,shape:r.shape}}function TY(r){let{inputs:e,backend:t}=r,{x:o}=e,n=t.texData.get(o.dataId),s=new gh(o.shape),a=[RA(o,n.complexTensorInfos.real),RA(o,n.complexTensorInfos.imag)];return t.runWebGLProgram(s,a,a[0].dtype)}var FA={kernelName:pp,backendName:\"webgl\",kernelFunc:TY};var xh=class{constructor(e){this.outputShape=[],this.outputShape=S.computeOutShape(e,1),this.variableNames=e.map((a,i)=>`T${i}`);let t=new Array(e.length-1);t[0]=e[0][1];for(let a=1;a`T${g}`);let p=new Array(e.length-1);p[0]=e[0][t];for(let h=1;h= ${p[h-1]}) {\n return getChannel(\n getT${h}(${yh(i,u,g)}),\n vec2(${yh(c,u,g)}));\n }`}let d=p.length,f=p[p.length-1];m+=`\n return getChannel(\n getT${d}(${yh(i,u,f)}),\n vec2(${yh(c,u,f)}));`,this.userCode=`\n float getValue(${i.map(h=>\"int \"+h)}) {\n ${m}\n }\n\n void main() {\n ${s} coords = getOutputCoords();\n vec4 result = vec4(getValue(${a}), 0., 0., 0.);\n\n ${a[n-1]} = ${a[n-1]} + 1;\n if (${a[n-1]} < ${o[n-1]}) {\n result.g = getValue(${a});\n }\n\n ${a[n-2]} = ${a[n-2]} + 1;\n if (${a[n-2]} < ${o[n-2]}) {\n result.a = getValue(${a});\n }\n\n ${a[n-1]} = ${a[n-1]} - 1;\n if (${a[n-2]} < ${o[n-2]} &&\n ${a[n-1]} < ${o[n-1]}) {\n result.b = getValue(${a});\n }\n setOutput(result);\n }\n `}};function yh(r,e,t){let o=r.indexOf(e);return r.map((s,a)=>a===o?`${s} - ${t}`:s).join()}function Mu(r){let{inputs:e,backend:t}=r,{input:o}=e,n=t.texData.get(o.dataId);return At({inputs:{x:n.complexTensorInfos.imag},backend:t})}var DA={kernelName:si,backendName:\"webgl\",kernelFunc:Mu};function fc(r,e,t){let o=r[0].dtype;if(o===\"complex64\"){let d=r.map(b=>Ua({inputs:{input:b},backend:t})),f=r.map(b=>Mu({inputs:{input:b},backend:t})),h=fc(d,e,t),g=fc(f,e,t),x=Rr({inputs:{real:h,imag:g},backend:t});return d.forEach(b=>t.disposeIntermediateTensorInfo(b)),f.forEach(b=>t.disposeIntermediateTensorInfo(b)),t.disposeIntermediateTensorInfo(h),t.disposeIntermediateTensorInfo(g),x}let n=t.shouldExecuteOnCPU(r);if(o===\"string\"&&(n=!0),n){let d=r.map(w=>{let _=[-1,y.sizeFromShape(w.shape.slice(e))];return te({inputs:{x:w},backend:t,attrs:{shape:_}})}),f=d.map(w=>({vals:t.readSync(w.dataId),shape:w.shape})),h=S.computeOutShape(d.map(w=>w.shape),1),g=d[0].shape[0]===1,x=LE(f,h,o,g),b=S.computeOutShape(r.map(w=>w.shape),e),C=t.makeTensorInfo(b,o,x);return d.forEach(w=>t.disposeIntermediateTensorInfo(w)),C}let s=r.filter(d=>y.sizeFromShape(d.shape)>0),a=O().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")&&s[0].shape.length>1;if(s.length===1){let d=a?new Jt(r[0].shape,Qs):new Ar(r[0].shape,Qs);return t.runWebGLProgram(d,r,o)}let i=O().getNumber(\"WEBGL_MAX_TEXTURES_IN_SHADER\");if(s.length>i){let d=[];for(let h=0;hf.shape),e);return t.runWebGLProgram(d,s,o)}let{tensors2D:p,outShape:u}=_Y(s,e,t),c=new xh(p.map(d=>d.shape)),l=t.runWebGLProgram(c,p,o);p.forEach(d=>t.disposeIntermediateTensorInfo(d));let m=te({inputs:{x:l},attrs:{shape:u},backend:t});return t.disposeIntermediateTensorInfo(l),m}function _Y(r,e,t){let o=S.computeOutShape(r.map(s=>s.shape),e);return{tensors2D:r.map(s=>te({inputs:{x:s},attrs:{shape:[-1,y.sizeFromShape(s.shape.slice(e))]},backend:t})),outShape:o}}function $w(r){let{inputs:e,backend:t,attrs:o}=r,{axis:n}=o,s=y.parseAxisParam(n,e[0].shape)[0],a=e.map(u=>u.shape);S.assertParamsConsistent(a,s);let i=S.computeOutShape(e.map(u=>u.shape),s);if(y.sizeFromShape(i)===0)return t.makeTensorInfo(i,e[0].dtype,[]);let p=e.filter(u=>y.sizeFromShape(u.shape)>0);return p.length===1?At({inputs:{x:p[0]},backend:t}):fc(p,s,t)}var OA={kernelName:ys,backendName:\"webgl\",kernelFunc:$w};var hc=class{constructor(e,t=!1,o=null,n=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.outputShape=e.outShape;let a=e.padInfo.top,i=e.padInfo.left,p=e.strideHeight,u=e.strideWidth,c=e.dilationHeight,l=e.dilationWidth,m=e.filterHeight,d=e.filterWidth,f=Math.floor(e.inChannels/4)*4,h=e.inChannels%4,g=e.dataFormat===\"channelsLast\",x=g?1:2,b=g?2:3,C=g?3:1,w=\"\",k=\"\";o&&(n?w=`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${o}\n }`:s?w=`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${o}\n }`:w=`\n float activation(float x) {\n ${o}\n }\n `,k=\"result = activation(result);\");let _=t?\"result += getBiasAtOutCoords();\":\"\";t&&this.variableNames.push(\"bias\"),n&&this.variableNames.push(\"preluActivationWeights\"),s&&this.variableNames.push(\"leakyreluAlpha\"),this.userCode=`\n ${w}\n\n const ivec2 strides = ivec2(${p}, ${u});\n const ivec2 pads = ivec2(${a}, ${i});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d2 = coords[${C}];\n\n ivec2 xRCCorner =\n ivec2(coords[${x}], coords[${b}]) * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, d2) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${m}; wR++) {\n int xR = xRCorner + wR * ${c};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${d}; wC++) {\n int xC = xCCorner + wC * ${l};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${f}; d1 += 4) {\n vec4 wValues = vec4(\n getW(wR, wC, d1, d2),\n getW(wR, wC, d1 + 1, d2),\n getW(wR, wC, d1 + 2, d2),\n getW(wR, wC, d1 + 3, d2)\n );\n\n if (${g}) {\n vec4 xValues = vec4(\n getX(batch, xR, xC, d1),\n getX(batch, xR, xC, d1 + 1),\n getX(batch, xR, xC, d1 + 2),\n getX(batch, xR, xC, d1 + 3)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec4 xValues = vec4(\n getX(batch, d1, xR, xC),\n getX(batch, d1 + 1, xR, xC),\n getX(batch, d1 + 2, xR, xC),\n getX(batch, d1 + 3, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n\n if (${h===1}) {\n\n if (${g}) {\n dotProd +=\n getX(batch, xR, xC, ${f}) *\n getW(wR, wC, ${f}, d2);\n } else {\n dotProd +=\n getX(batch, ${f}, xR, xC) *\n getW(wR, wC, ${f}, d2);\n }\n\n } else if (${h===2}) {\n vec2 wValues = vec2(\n getW(wR, wC, ${f}, d2),\n getW(wR, wC, ${f} + 1, d2)\n );\n\n if (${g}) {\n vec2 xValues = vec2(\n getX(batch, xR, xC, ${f}),\n getX(batch, xR, xC, ${f} + 1)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec2 xValues = vec2(\n getX(batch, ${f}, xR, xC),\n getX(batch, ${f} + 1, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n } else if (${h===3}) {\n vec3 wValues = vec3(\n getW(wR, wC, ${f}, d2),\n getW(wR, wC, ${f} + 1, d2),\n getW(wR, wC, ${f} + 2, d2)\n );\n\n if (${g}) {\n vec3 xValues = vec3(\n getX(batch, xR, xC, ${f}),\n getX(batch, xR, xC, ${f} + 1),\n getX(batch, xR, xC, ${f} + 2)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec3 xValues = vec3(\n getX(batch, ${f}, xR, xC),\n getX(batch, ${f} + 1, xR, xC),\n getX(batch, ${f} + 2, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n }\n }\n }\n\n float result = dotProd;\n ${_}\n ${k}\n setOutput(result);\n }\n `}},Ch=class{constructor(e){this.variableNames=[\"x\",\"W\"],this.outputShape=e.outShape;let t=e.padInfo.front,o=e.padInfo.top,n=e.padInfo.left,s=e.strideDepth,a=e.strideHeight,i=e.strideWidth,p=e.dilationDepth,u=e.dilationHeight,c=e.dilationWidth,l=e.filterDepth,m=e.filterHeight,d=e.filterWidth,f=Math.floor(e.inChannels/4)*4,h=e.inChannels%4;this.userCode=`\n const ivec3 strides = ivec3(${s}, ${a}, ${i});\n const ivec3 pads = ivec3(${t}, ${o}, ${n});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d2 = coords.u;\n\n ivec3 xFRCCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xFCorner = xFRCCorner.x;\n int xRCorner = xFRCCorner.y;\n int xCCorner = xFRCCorner.z;\n\n // Convolve x(?, ?, ?, d1) with w(:, :, :, d1, d2) to get\n // y(yF, yR, yC, d2). ? = to be determined. : = across all\n // values in that axis.\n float dotProd = 0.0;\n for (int wF = 0; wF < ${l}; wF++) {\n int xF = xFCorner + wF * ${p};\n\n if (xF < 0 || xF >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${m}; wR++) {\n int xR = xRCorner + wR * ${u};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${d}; wC++) {\n int xC = xCCorner + wC * ${c};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${f}; d1 += 4) {\n vec4 xValues = vec4(\n getX(batch, xF, xR, xC, d1),\n getX(batch, xF, xR, xC, d1 + 1),\n getX(batch, xF, xR, xC, d1 + 2),\n getX(batch, xF, xR, xC, d1 + 3)\n );\n vec4 wValues = vec4(\n getW(wF, wR, wC, d1, d2),\n getW(wF, wR, wC, d1 + 1, d2),\n getW(wF, wR, wC, d1 + 2, d2),\n getW(wF, wR, wC, d1 + 3, d2)\n );\n\n dotProd += dot(xValues, wValues);\n }\n\n if (${h===1}) {\n dotProd +=\n getX(batch, xF, xR, xC, ${f}) *\n getW(wF, wR, wC, ${f}, d2);\n } else if (${h===2}) {\n vec2 xValues = vec2(\n getX(batch, xF, xR, xC, ${f}),\n getX(batch, xF, xR, xC, ${f} + 1)\n );\n vec2 wValues = vec2(\n getW(wF, wR, wC, ${f}, d2),\n getW(wF, wR, wC, ${f} + 1, d2)\n );\n dotProd += dot(xValues, wValues);\n } else if (${h===3}) {\n vec3 xValues = vec3(\n getX(batch, xF, xR, xC, ${f}),\n getX(batch, xF, xR, xC, ${f} + 1),\n getX(batch, xF, xR, xC, ${f} + 2)\n );\n vec3 wValues = vec3(\n getW(wF, wR, wC, ${f}, d2),\n getW(wF, wR, wC, ${f} + 1, d2),\n getW(wF, wR, wC, ${f} + 2, d2)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}};var gc=class{constructor(e,t=!1,o=null,n=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=e.outShape,this.enableShapeUniforms=ct(this.outputShape.length);let a=e.padInfo.left,i=e.strideWidth,p=e.dilationWidth,u=e.filterHeight,c=e.filterWidth,l=c,m=`\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;`;for(let g=0;g=0 && xR < inDims[0]) {\n `;for(let g=0;g<(l+1)/2;g++){let x=g*2;if(m+=`\n xC = xCCorner + ${x*p};\n `,i===1){if(x= 0 && xCOffset < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n `,p===1&&x>0?m+=`\n xC${x} = vec4(xTexelC${x-2}.zw, xTexelC${x}.xy);\n `:m+=`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${x} = vec4(previous.zw, xTexelC${x}.xy);\n } else {\n xC${x} = vec4(0.0, 0.0, xTexelC${x}.xy);\n }\n `):m+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n xC${x} = xTexelC${x};\n `,x+1= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n `,p>1?m+=`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${x+1} = vec4(previous.zw, xTexelC${x+1}.xy);\n } else {\n xC${x+1} = vec4(0.0, 0.0, xTexelC${x+1}.xy);\n }\n `:m+=`\n xC${x+1} = vec4(xTexelC${x}.zw, xTexelC${x+1}.xy);\n `):b===1?m+=`\n xC${x+1} = xTexelC${x};\n `:m+=`\n xCOffset = xC + ${b};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x+1} = xTexelC${x+1};\n `}}else x= 0 && xCOffset < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x} = vec4(xTexelC${x}.zw, xTexelC${x+1}.zw);\n `,x+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${x+1} = vec4(xTexelC${x+1}.xy, final.xy);\n `)):(m+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x} = vec4(\n xTexelC${x}.xy, xTexelC${x+1}.xy);\n `,x+1= 0) {\n // Use custom imod instead mod. On Intel GPU, mod may generate\n // unexpected value.\n // https://github.com/tensorflow/tfjs/issues/5447\n offsetX = imod(blockIndex, outWidth) * stride[1] - pad[1];\n d1 = offsetX + dilation[1] * (imod(pos, itemsPerBlockRow) /\n inChannels);\n\n if(d1 < inputShape[${i}] && d1 >= 0) {\n\n ch = imod(pos, inChannels);\n\n if (${s}) {\n innerDims = vec2(d1, ch);\n result[${c*2+l}] = getChannel(\n getA(rc.x, d0, int(innerDims.x),\n int(innerDims.y)), innerDims);\n } else {\n innerDims = vec2(d0, d1);\n result[${c*2+l}] = getChannel(\n getA(rc.x, ch, int(innerDims.x),\n int(innerDims.y)), innerDims);\n }\n }\n }\n }\n `;this.userCode=`\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0);\n\n int blockIndex, pos, offsetY, d0, offsetX, d1, ch;\n vec2 innerDims;\n\n ${u}\n\n ${n.output} = result;\n }\n `}};function wh(r,e){let t=r.length;return t>=3?e?[...r.slice(0,-3),r[t-3]*r[t-2],r[t-1]]:[...r.slice(0,-3),r[t-3],r[t-2]*r[t-1]]:!e&&t===1&&r[0]>1?[r[0],1]:null}function Ih({x:r,filter:e,convInfo:t,backend:o,bias:n=null,preluActivationWeights:s=null,leakyreluAlpha:a=0,activation:i=null}){let p=r.shape,u=o.texData.get(r.dataId),c=t.inChannels,l=p[0]*p[1]*p[2],m=t.outChannels,d=t.dataFormat===\"channelsLast\",f=!1,h=!1,g,x=[];if(s!=null){let w=wh(s.shape,d);w!=null&&(s=te({inputs:{x:s},backend:o,attrs:{shape:w}}),x.push(s))}if(n!=null){let w=wh(n.shape,d);w!=null&&(n=te({inputs:{x:n},backend:o,attrs:{shape:w}}),x.push(n))}if(!((l===1||m===1)&&c>Nw)&&u.isPacked&&d&&u.texture!=null&&p[2]%2!==0&&y.arraysEqual(u.shape.slice(-3),p.slice(-3))){let w=p[0]*p[1]*(p[2]+1),k={dataId:r.dataId,shape:[1,w,t.inChannels],dtype:r.dtype},_=u.shape;u.shape=u.shape.slice(),u.shape[u.shape.length-2]++,y.assert(Li(u.shape,k.shape),()=>`packed reshape ${u.shape} to ${k.shape} isn't free`);let $=te({inputs:{x:e},backend:o,attrs:{shape:[1,t.inChannels,t.outChannels]}});x.push($);let A=Pu({a:k,b:$,backend:o,transposeA:f,transposeB:h,bias:n,activation:i,preluActivationWeights:s,leakyreluAlpha:a}),R=o.texData.get(A.dataId);y.assert(R.isPacked,()=>\"batchMatMul result is expected to be packed\"),u.shape=_,R.shape=t.outShape,g=At({inputs:{x:A},backend:o}),g.shape=t.outShape,x.push(A)}else{let w=t.outHeight*t.outWidth,k=te({inputs:{x:r},backend:o,attrs:{shape:d?[t.batchSize,w,t.inChannels]:[t.batchSize,t.inChannels,w]}}),_=te({inputs:{x:e},backend:o,attrs:{shape:[1,t.inChannels,t.outChannels]}}),$=Pu({a:d?k:_,b:d?_:k,transposeA:!d,transposeB:h,backend:o,bias:n,activation:i,preluActivationWeights:s,leakyreluAlpha:a});g=te({inputs:{x:$},backend:o,attrs:{shape:t.outShape}}),x.push(k),x.push(_),x.push($)}for(let w of x)o.disposeIntermediateTensorInfo(w);return g}function vh({x:r,filter:e,convInfo:t,backend:o,bias:n=null,preluActivationWeights:s=null,leakyreluAlpha:a=0,activation:i=null}){let{filterWidth:p,filterHeight:u,inChannels:c,outWidth:l,outHeight:m,dataFormat:d}=t,f=d===\"channelsLast\",h=p*u*c,g=m*l,x=[t.batchSize,h,g],b=!0,C=!1,w=[];if(s!=null){let H=wh(s.shape,f);H!=null&&(s=te({inputs:{x:s},backend:o,attrs:{shape:H}}),w.push(s))}if(n!=null){let H=wh(n.shape,f);H!=null&&(n=te({inputs:{x:n},backend:o,attrs:{shape:H}}),w.push(n))}let k=te({inputs:{x:e},backend:o,attrs:{shape:[1,h,y.sizeFromShape(e.shape)/h]}});w.push(k);let _=new Sh(x,t),$=[r.shape,[t.padInfo.top,t.padInfo.left],[t.strideHeight,t.strideWidth],[t.dilationHeight,t.dilationWidth],[t.inChannels],[t.filterWidth*t.inChannels],[t.outWidth]],A=o.runWebGLProgram(_,[r],\"float32\",$),R=te({inputs:{x:A},backend:o,attrs:{shape:x}});w.push(A),w.push(R);let D=n!=null,P=s!=null,M=i===\"leakyrelu\",L=i?Wa(i,!0):null,W=new dc(f?R.shape:k.shape,f?k.shape:R.shape,f?[t.batchSize,g,t.outChannels]:[t.batchSize,t.outChannels,g],b,C,D,L,P,M),V=f?[R,k]:[k,R];if(n&&V.push(n),P&&V.push(s),M){let H=o.makeTensorInfo([],\"float32\",y.createScalarValue(a,\"float32\"));V.push(H),w.push(H)}let U=o.runWebGLProgram(W,V,\"float32\"),q=te({inputs:{x:U},backend:o,attrs:{shape:t.outShape}});w.push(U);for(let H of w)o.disposeIntermediateTensorInfo(H);return q}function EY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s}=e,{strides:a,pad:i,dataFormat:p,dilations:u,dimRoundingMode:c}=o,l=S.convertConv2DDataFormat(p),m=S.computeConv2DInfo(n.shape,s.shape,a,u,i,c,!1,l),d;if(m.filterHeight===1&&m.filterWidth===1&&m.dilationHeight===1&&m.dilationWidth===1&&m.strideHeight===1&&m.strideWidth===1&&(m.padInfo.type===\"SAME\"||m.padInfo.type===\"VALID\"))d=Ih({x:n,filter:s,convInfo:m,backend:t});else if(m.strideWidth<=2&&l===\"channelsLast\"&&O().getBool(\"WEBGL_EXP_CONV\")){let h=new gc(m),g=[[m.padInfo.top,m.padInfo.left],[m.strideHeight,m.strideWidth],[m.dilationHeight,m.dilationWidth],[m.inHeight,m.inWidth]];d=t.runWebGLProgram(h,[n,s],\"float32\",g)}else if(O().getBool(\"WEBGL_CONV_IM2COL\"))d=vh({x:n,filter:s,convInfo:m,backend:t});else{let h=new hc(m);d=t.runWebGLProgram(h,[n,s],\"float32\")}let f=te({inputs:{x:d},backend:t,attrs:{shape:m.outShape}});return t.disposeIntermediateTensorInfo(d),f}var PA={kernelName:Go,backendName:\"webgl\",kernelFunc:EY};var kh=class{constructor(e){this.variableNames=[\"x\",\"dy\"],this.outputShape=e.filterShape;let t=e.strideHeight,o=e.strideWidth,n=e.padInfo.top,s=e.padInfo.left,a=e.dataFormat===\"channelsLast\";this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int d2 = coords.w;\n\n // Convolve x(?, ?, d1) with dy(:, :, d2) to get dw(wR, wC, d1, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${t} - ${n};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${o} - ${s};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n if (${a}) {\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n } else {\n float dyValue = getDy(b, d2, yR, yC);\n float xValue = getX(b, d1, xR, xC);\n dotProd += (xValue * dyValue);\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}},Nh=class{constructor(e){this.variableNames=[\"dy\",\"W\"],this.outputShape=e.inShape;let t=e.filterHeight,o=e.filterWidth,n=e.strideHeight,s=e.strideWidth,a=e.dataFormat===\"channelsLast\",i=t-1-e.padInfo.top,p=o-1-e.padInfo.left,u=a?1:2,c=a?2:3,l=a?3:1;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${p});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[${l}];\n\n ivec2 dyCorner = ivec2(coords[${u}], coords[${c}]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${o}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${o} - 1 - wC;\n\n for (int d2 = 0; d2 < ${e.outChannels}; d2++) {\n\n if (${a}) {\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n } else {\n float xValue = getDy(batch, d2, idyR, idyC);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}},Th=class{constructor(e){this.variableNames=[\"x\",\"dy\"],this.outputShape=e.filterShape;let t=e.strideDepth,o=e.strideHeight,n=e.strideWidth,s=e.padInfo.front,a=e.padInfo.top,i=e.padInfo.left;this.userCode=`\n void main() {\n ivec5 coords = getOutputCoords();\n int wF = coords.x;\n int wR = coords.y;\n int wC = coords.z;\n int d1 = coords.w;\n int d2 = coords.u;\n\n float dotProd = 0.0;\n\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yF = 0; yF < ${e.outDepth}; yF++) {\n int xF = wF + yF * ${t} - ${s};\n\n if (xF < 0 || xF >= ${e.inDepth}) {\n continue;\n }\n\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${o} - ${a};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${i};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yF, yR, yC, d2);\n float xValue = getX(b, xF, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}},_h=class{constructor(e){this.variableNames=[\"dy\",\"W\"],this.outputShape=e.inShape;let t=e.filterDepth,o=e.filterHeight,n=e.filterWidth,s=e.strideDepth,a=e.strideHeight,i=e.strideWidth,p=t-1-e.padInfo.front,u=o-1-e.padInfo.top,c=n-1-e.padInfo.left;this.userCode=`\n const ivec3 pads = ivec3(${p}, ${u}, ${c});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.u;\n\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyFCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n float dotProd = 0.0;\n for (int wF = 0; wF < ${t}; wF++) {\n float dyF = float(dyFCorner + wF) / ${s}.0;\n\n if (dyF < 0.0 || dyF >= ${e.outDepth}.0 || fract(dyF) > 0.0) {\n continue;\n }\n int idyF = int(dyF);\n\n int wFPerm = ${t} - 1 - wF;\n\n for (int wR = 0; wR < ${o}; wR++) {\n float dyR = float(dyRCorner + wR) / ${a}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${o} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${i}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n for (int d2 = 0; d2 < ${e.outChannels}; d2++) {\n float xValue = getDy(batch, idyF, idyR, idyC, d2);\n float wValue = getW(wFPerm, wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function $Y(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,dy:s}=e,{strides:a,pad:i,dataFormat:p,dimRoundingMode:u,filterShape:c}=o,l=S.convertConv2DDataFormat(p),m=S.computeConv2DInfo(n.shape,c,a,1,i,u,!1,l),d=new kh(m);return t.runWebGLProgram(d,[n,s],\"float32\")}var MA={kernelName:cp,backendName:\"webgl\",kernelFunc:$Y};function AY(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,filter:s}=e,{inputShape:a,strides:i,pad:p,dataFormat:u,dimRoundingMode:c}=o,l=S.convertConv2DDataFormat(u),m=S.computeConv2DInfo(a,s.shape,i,1,p,c,!1,l),d=new Nh(m);return t.runWebGLProgram(d,[n,s],\"float32\")}var LA={kernelName:Ho,backendName:\"webgl\",kernelFunc:AY};function RY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s}=e,{strides:a,pad:i,dilations:p}=o,u=S.computeConv3DInfo(n.shape,s.shape,a,p,i),c=new Ch(u);return t.runWebGLProgram(c,[n,s],\"float32\")}var BA={kernelName:lp,backendName:\"webgl\",kernelFunc:RY};function FY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,dy:s}=e,{strides:a,pad:i,filterShape:p}=o,u=S.computeConv3DInfo(n.shape,p,a,1,i),c=new Th(u);return t.runWebGLProgram(c,[n,s],\"float32\")}var VA={kernelName:vm,backendName:\"webgl\",kernelFunc:FY};function DY(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,filter:s}=e,{pad:a,strides:i,inputShape:p}=o,u=S.computeConv3DInfo(p,s.shape,i,1,a),c=new _h(u);return t.runWebGLProgram(c,[n,s],\"float32\")}var zA={kernelName:mp,backendName:\"webgl\",kernelFunc:DY};var OY=_o+`\n return cos(x);\n`,PY=ge({opSnippet:OY}),WA={kernelName:qo,backendName:\"webgl\",kernelFunc:PY};var MY=`\n float e2x = exp(-x);\n return (e2x + 1.0 / e2x) / 2.0;\n`,LY=ge({opSnippet:MY}),UA={kernelName:Ko,backendName:\"webgl\",kernelFunc:LY};var Eh=class{constructor(e,t,o,n,s){this.variableNames=[\"Image\",\"Boxes\",\"BoxInd\"],this.outputShape=[];let[a,i,p,u]=e,[c]=t,[l,m]=o;this.outputShape=[c,l,m,u];let d=n===\"bilinear\"?1:0,[f,h]=[`${i-1}.0`,`${p-1}.0`],[g,x,b]=l>1?[`${(i-1)/(l-1)}`,\"(y2-y1) * height_ratio\",`y1*${f} + float(y)*(height_scale)`]:[\"0.0\",\"0.0\",`0.5 * (y1+y2) * ${f}`],[C,w,k]=m>1?[`${(p-1)/(m-1)}`,\"(x2-x1) * width_ratio\",`x1*${h} + float(x)*(width_scale)`]:[\"0.0\",\"0.0\",`0.5 * (x1+x2) * ${h}`];this.userCode=`\n const float height_ratio = float(${g});\n const float width_ratio = float(${C});\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int y = coords[1];\n int x = coords[2];\n int d = coords[3];\n\n // get box vals\n float y1 = getBoxes(b,0);\n float x1 = getBoxes(b,1);\n float y2 = getBoxes(b,2);\n float x2 = getBoxes(b,3);\n\n // get image in batch index\n int bInd = round(getBoxInd(b));\n if(bInd < 0 || bInd >= ${a}) {\n return;\n }\n\n float height_scale = ${x};\n float width_scale = ${w};\n\n float in_y = ${b};\n if( in_y < 0.0 || in_y > ${f} ) {\n setOutput(float(${s}));\n return;\n }\n float in_x = ${k};\n if( in_x < 0.0 || in_x > ${h} ) {\n setOutput(float(${s}));\n return;\n }\n\n vec2 sourceFracIndexCR = vec2(in_x,in_y);\n if(${d} == 1) {\n // Compute the four integer indices.\n ivec2 sourceFloorCR = ivec2(sourceFracIndexCR);\n ivec2 sourceCeilCR = ivec2(ceil(sourceFracIndexCR));\n\n float topLeft = getImage(b, sourceFloorCR.y, sourceFloorCR.x, d);\n float bottomLeft = getImage(b, sourceCeilCR.y, sourceFloorCR.x, d);\n float topRight = getImage(b, sourceFloorCR.y, sourceCeilCR.x, d);\n float bottomRight = getImage(b, sourceCeilCR.y, sourceCeilCR.x, d);\n\n vec2 fracCR = sourceFracIndexCR - vec2(sourceFloorCR);\n\n float top = topLeft + (topRight - topLeft) * fracCR.x;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracCR.x;\n float newValue = top + (bottom - top) * fracCR.y;\n setOutput(newValue);\n } else {\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestCR = ivec2(floor(\n sourceFracIndexCR + vec2(0.5,0.5)));\n float newValue = getImage(b, sourceNearestCR.y, sourceNearestCR.x, d);\n setOutput(newValue);\n }\n }\n `}};var BY=r=>{let{inputs:e,backend:t,attrs:o}=r,{image:n,boxes:s,boxInd:a}=e,{cropSize:i,method:p,extrapolationValue:u}=o,c=new Eh(n.shape,s.shape,i,p,u);return t.runWebGLProgram(c,[n,s,a],\"float32\")},GA={kernelName:Yo,backendName:\"webgl\",kernelFunc:BY};var Lu;(function(r){r.Prod=\"*\",r.Sum=\"+\"})(Lu||(Lu={}));var El=class{constructor(e,t,o,n){this.op=e,this.outputShape=t,this.variableNames=[\"x\"],this.customUniforms=[{name:\"index\",type:\"float\"}];let s=this.outputShape.length,a=this.op===Lu.Prod?\"1.0\":\"0.0\",i=o?a:`getX(${HA(s,\"coords\",this.op)})`,p=this.outputShape[this.outputShape.length-1],u=\"\",c=\"\";o?(u=n?`end != ${p-1}`:\"end != 0\",c=n?\"end + 1\":\"end - 1\"):(u=n?`end + pow2 < ${p}`:\"end >= pow2\",c=n?\"end + pow2\":\"end - pow2\"),this.userCode=`\n void main() {\n ${_e(s)} coords = getOutputCoords();\n int end = ${qA(s,\"coords\",this.op)};\n float val = ${i};\n int pow2 = int(pow(2.0, index));\n if (${u}) {\n int idx = ${c};\n ${qA(s,\"coords\",this.op)} = idx;\n val ${this.op}= getX(${HA(s,\"coords\",this.op)});\n }\n setOutput(val);\n }\n `}};function HA(r,e,t){if(r===1)return`${e}`;if(r===2)return`${e}.x, ${e}.y`;if(r===3)return`${e}.x, ${e}.y, ${e}.z`;if(r===4)return`${e}.x, ${e}.y, ${e}.z, ${e}.w`;throw new Error(`Cumulative ${t} for rank ${r} is not yet supported`)}function qA(r,e,t){if(r===1)return`${e}`;if(r===2)return`${e}.y`;if(r===3)return`${e}.z`;if(r===4)return`${e}.w`;throw new Error(`Cumulative ${t} for rank ${r} is not yet supported`)}function $h(r,e,t,o,n,s){let a=e.shape.length,i=S.getAxesPermutation([o],a),p=e;i!=null&&(p=xt({inputs:{x:e},backend:t,attrs:{perm:i}}));let u=S.getInnerMostAxes(1,a)[0];if(u!==a-1)throw new Error(`WebGL cumprod shader expects an inner-most axis=${e.shape.length-1} but got axis=${o}`);let c=p.shape[u],l=At({inputs:{x:p},backend:t});for(let m=0;m<=Math.ceil(Math.log2(c))-1;m++){let d=new El(r,p.shape,!1,s),f=[[m]],h=l;l=t.runWebGLProgram(d,[l],l.dtype,f),t.disposeIntermediateTensorInfo(h)}if(n){let m=new El(r,p.shape,n,s),d=l;l=t.runWebGLProgram(m,[l],l.dtype),t.disposeIntermediateTensorInfo(d)}if(i!=null){let m=S.getUndoAxesPermutation(i),d=xt({inputs:{x:l},backend:t,attrs:{perm:m}});return t.disposeIntermediateTensorInfo(l),t.disposeIntermediateTensorInfo(p),d}return l}function VY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,exclusive:a,reverse:i}=o;return $h(Lu.Prod,n,t,s,a,i)}var KA={kernelName:jo,backendName:\"webgl\",kernelFunc:VY};function zY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,exclusive:a,reverse:i}=o;return $h(Lu.Sum,n,t,s,a,i)}var jA={kernelName:Xo,backendName:\"webgl\",kernelFunc:zY};function WY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,weights:s}=e,{size:a,binaryOutput:i}=o;if(n.shape.length===1){let p=t.readSync(n.dataId),u=t.readSync(s.dataId),c=qf(p,u,s.dtype,s.shape,a);return t.makeTensorInfo([a],s.dtype,c)}else if(n.shape.length===2){let p=t.bufferSync(n),u=t.bufferSync(s),c=OE(p,u,a,i);return t.makeTensorInfo(c.shape,s.dtype,c.values)}throw new Error(`Error in denseBincount: input must be at most rank 2, but got rank${n.shape.length}.`)}var XA={kernelName:ti,backendName:\"webgl\",kernelFunc:WY};var Ah=class{constructor(e,t,o){this.variableNames=[\"x\"],this.outputShape=[],this.outputShape=e,this.blockSize=t,this.dataFormat=o,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int h = ${this.getHeightCoordString()};\n int w = ${this.getWidthCoordString()};\n int d = ${this.getDepthCoordString()};\n\n int in_h = h / ${t};\n int offset_h = imod(h, ${t});\n int in_w = w / ${t};\n int offset_w = imod(w, ${t});\n int offset_d = (offset_h * ${t} + offset_w) *\n ${this.getOutputDepthSize()};\n int in_d = d + offset_d;\n\n float result = ${this.getInputSamplingString()};\n setOutput(result);\n }\n `}getHeightCoordString(){return this.dataFormat===\"NHWC\"?\"coords[1]\":\"coords[2]\"}getWidthCoordString(){return this.dataFormat===\"NHWC\"?\"coords[2]\":\"coords[3]\"}getDepthCoordString(){return this.dataFormat===\"NHWC\"?\"coords[3]\":\"coords[1]\"}getOutputDepthSize(){return this.dataFormat===\"NHWC\"?this.outputShape[3]:this.outputShape[1]}getInputSamplingString(){return this.dataFormat===\"NHWC\"?\"getX(b, in_h, in_w, in_d)\":\"getX(b, in_d, in_h, in_w)\"}};function UY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{blockSize:s,dataFormat:a}=o,i=n.shape[0],p=a===\"NHWC\"?n.shape[1]:n.shape[2],u=a===\"NHWC\"?n.shape[2]:n.shape[3],c=a===\"NHWC\"?n.shape[3]:n.shape[1],l=p*s,m=u*s,d=c/(s*s),f=a===\"NHWC\"?[i,l,m,d]:[i,d,l,m],h=new Ah(f,s,a);return t.runWebGLProgram(h,[n],n.dtype)}var YA={kernelName:Qo,backendName:\"webgl\",kernelFunc:UY};var xc=class{constructor(e,t=!1,o=null,n=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=e.outShape,this.enableShapeUniforms=ct(this.outputShape.length);let a=e.filterHeight,i=e.filterWidth,p=e.outChannels/e.inChannels,u=\"\",c=\"\";o&&(n?u=`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${o}\n }`:s?u=`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${o}\n }`:u=`\n float activation(float x) {\n ${o}\n }\n `,c=\"result = activation(result);\");let l=t?\"result += getBiasAtOutCoords();\":\"\";t&&this.variableNames.push(\"bias\"),n&&this.variableNames.push(\"preluActivationWeights\"),s&&this.variableNames.push(\"leakyreluAlpha\"),this.userCode=`\n ${u}\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n ivec2 xRCCorner = coords.yz * strides - pads;\n int d2 = coords.w;\n int d1 = d2 / ${p};\n int q = d2 - d1 * ${p};\n\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, q) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n // TO DO(dsmilkov): Flatten the two for loops and vec4 the operations.\n for (int wR = 0; wR < ${a}; wR++) {\n int xR = xRCorner + wR * dilations[0];\n\n if (xR < 0 || xR >= inDims[0]) {\n continue;\n }\n\n for (int wC = 0; wC < ${i}; wC++) {\n int xC = xCCorner + wC * dilations[1];\n\n if (xC < 0 || xC >= inDims[1]) {\n continue;\n }\n\n float xVal = getX(batch, xR, xC, d1);\n float wVal = getW(wR, wC, d1, q);\n dotProd += xVal * wVal;\n }\n }\n\n float result = dotProd;\n ${l}\n ${c}\n setOutput(result);\n }\n `}};var yc=class{constructor(e,t=!1,o=null,n=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=e.outShape,this.enableShapeUniforms=ct(this.outputShape.length);let a=e.outChannels/e.inChannels,i=e.padInfo.left,p=e.strideWidth,u=e.dilationWidth,c=e.filterHeight,l=e.filterWidth,m=l,d=`\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;`;for(let x=0;x=0 && xR < inDims[0]) {\n `;for(let x=0;x<(m+1)/2;x++){let b=x*2;if(d+=`\n xC = xCCorner + ${b*u};\n `,p===1){if(b= 0 && xCOffset < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n `,u===1&&b>0?d+=`\n xC${b} = vec4(xTexelC${b-2}.zw, xTexelC${b}.xy);\n `:d+=`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${b} = vec4(previous.zw, xTexelC${b}.xy);\n } else {\n xC${b} = vec4(0.0, 0.0, xTexelC${b}.xy);\n }\n `):d+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n xC${b} = xTexelC${b};\n `,b+1= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n `,u>1?d+=`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${b+1} = vec4(previous.zw, xTexelC${b+1}.xy);\n } else {\n xC${b+1} = vec4(0.0, 0.0, xTexelC${b+1}.xy);\n }\n `:d+=`\n xC${b+1} = vec4(xTexelC${b}.zw, xTexelC${b+1}.xy);\n `):C===1?d+=`\n xC${b+1} = xTexelC${b};\n `:d+=`\n xCOffset = xC + ${C};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b+1} = xTexelC${b+1};\n `}}else b= 0 && xCOffset < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b} = vec4(xTexelC${b}.zw, xTexelC${b+1}.zw);\n `,b+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${b+1} = vec4(xTexelC${b+1}.xy, final.xy);\n `)):(d+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b} = vec4(\n xTexelC${b}.xy, xTexelC${b+1}.xy);\n `,b+1`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${a} and dilations '${c}'`);let l=S.computeConv2DInfo(n.shape,s.shape,a,c,i,u,!0),m;O().getBool(\"WEBGL_PACK_DEPTHWISECONV\")&&l.strideWidth<=2&&l.outChannels/l.inChannels===1?m=new yc(l):m=new xc(l);let d=[[l.padInfo.top,l.padInfo.left],[l.strideHeight,l.strideWidth],[l.dilationHeight,l.dilationWidth],[l.inHeight,l.inWidth]];return t.runWebGLProgram(m,[n,s],\"float32\",d)}var QA={kernelName:Zo,backendName:\"webgl\",kernelFunc:GY};var Rh=class{constructor(e){this.variableNames=[\"x\",\"dy\"],this.outputShape=e.filterShape;let t=e.strideHeight,o=e.strideWidth,n=e.padInfo.top,s=e.padInfo.left,a=e.outChannels/e.inChannels;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int dm = coords.w;\n int d2 = d1 * ${a} + dm;\n\n float dotProd = 0.0;\n\n // TO DO: Vec4 over the batch size\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${t} - ${n};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${o} - ${s};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n setOutput(dotProd);\n }\n `}},Fh=class{constructor(e){this.variableNames=[\"dy\",\"W\"],this.outputShape=e.inShape;let t=e.filterHeight,o=e.filterWidth,n=e.strideHeight,s=e.strideWidth,a=t-1-e.padInfo.top,i=o-1-e.padInfo.left,p=e.outChannels/e.inChannels;this.userCode=`\n const ivec2 pads = ivec2(${a}, ${i});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n ivec2 dyCorner = coords.yz - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n float dotProd = 0.0;\n\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${o}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${o} - 1 - wC;\n\n // TO DO: Vec4 over the channelMul\n for (int dm = 0; dm < ${p}; dm++) {\n int d2 = d1 * ${p} + dm;\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, dm);\n dotProd += xValue * wValue;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function HY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,dy:s}=e,{strides:a,dilations:i,pad:p,dimRoundingMode:u,filterShape:c}=o,l=S.computeConv2DInfo(n.shape,c,a,i,p,u,!0),m=new Rh(l);return t.runWebGLProgram(m,[n,s],\"float32\")}var ZA={kernelName:dp,backendName:\"webgl\",kernelFunc:HY};function qY(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,filter:s}=e,{strides:a,dilations:i,pad:p,dimRoundingMode:u,inputShape:c}=o,l=S.computeConv2DInfo(c,s.shape,a,i,p,u,!0),m=new Fh(l);return t.runWebGLProgram(m,[n,s],\"float32\")}var JA={kernelName:fp,backendName:\"webgl\",kernelFunc:qY};var Dh=class{constructor(e){this.variableNames=[\"X\"],this.outputShape=[e,e],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n float val = coords[0] == coords[1] ? getX(coords[0]) : 0.0;\n setOutput(val);\n }\n `}};function KY(r){let{inputs:e,backend:t}=r,{x:o}=e,n=[...o.shape,...o.shape],s=y.sizeFromShape(o.shape),a=te({inputs:{x:o},backend:t,attrs:{shape:[s]}}),i=new Dh(s),p=t.runWebGLProgram(i,[a],a.dtype),u=te({inputs:{x:p},backend:t,attrs:{shape:n}});return t.disposeIntermediateTensorInfo(a),t.disposeIntermediateTensorInfo(p),u}var eR={kernelName:hp,backendName:\"webgl\",kernelFunc:KY};var Oh=class{constructor(e){this.variableNames=[\"x\",\"W\"],this.outputShape=e.outShape;let{inHeight:t,inWidth:o,padInfo:n,strideHeight:s,strideWidth:a,filterHeight:i,filterWidth:p,dilationHeight:u,dilationWidth:c}=e,{top:l,left:m}=n;this.userCode=`\n const ivec2 strides = ivec2(${s}, ${a});\n const ivec2 pads = ivec2(${l}, ${m});\n const float neg_infinity = -3.4e38;\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.w;\n ivec2 outTopLeftCorner =\n coords.yz * strides - pads;\n int hBeg = outTopLeftCorner.x;\n int wBeg = outTopLeftCorner.y;\n\n float curVal = neg_infinity;\n for (int h = 0; h < ${i}; h++) {\n int hIn = hBeg + h * ${u};\n\n if (hIn >= 0 && hIn < ${t}) {\n for (int w = 0; w < ${p}; w++) {\n int wIn = wBeg + w * ${c};\n\n if (wIn >= 0 && wIn < ${o}) {\n float xVal = getX(batch, hIn, wIn, d1);\n float wVal = getW(h, w, d1);\n\n float val = xVal + wVal;\n if (val > curVal) {\n curVal = val;\n }\n }\n }\n }\n }\n\n float result = curVal;\n setOutput(result);\n }\n `}};function jY(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s}=e,{strides:a,pad:i,dilations:p}=o,u=S.computeDilation2DInfo(n.shape,s.shape,a,i,\"NHWC\",p),c,l=new Oh(u);c=t.runWebGLProgram(l,[n,s],\"float32\");let m=te({inputs:{x:c},backend:t,attrs:{shape:u.outShape}});return t.disposeIntermediateTensorInfo(c),m}var tR={kernelName:gp,backendName:\"webgl\",kernelFunc:jY};function XY(r){let{inputs:e,backend:t,attrs:o}=r,{equation:n}=o,s=e,{allDims:a,summedDims:i,idDims:p}=S.decodeEinsumEquation(n,s.length);S.checkEinsumDimSizes(a.length,p,s);let{path:u,steps:c}=S.getEinsumComputePath(i,p),l=c.length,m=null,d=a.length,f=[];for(let h=0;h=0&&(m=Ou({inputs:{x:m},backend:t,attrs:{axis:u[h]-(a.length-d),keepDims:!1}}),f.push(m)),d--)}for(let h of f)h!==m&&t.disposeIntermediateTensorInfo(h);return m}var rR={kernelName:ri,backendName:\"webgl\",kernelFunc:XY};var YY=\"return (x >= 0.0) ? x : (exp(x) - 1.0);\",QY=`\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n`,ZY=ge({opSnippet:YY,packedOpSnippet:QY}),oR={kernelName:en,backendName:\"webgl\",kernelFunc:ZY};var JY=\"return (b >= 1.0) ? a : a * (b + 1.0);\",eQ=`\n vec4 bGTEZero = vec4(greaterThanEqual(b, vec4(0.)));\n return (bGTEZero * a) + ((vec4(1.0) - bGTEZero) * (a * (b + vec4(1.0))));\n`,tQ=r=>{let{inputs:e,backend:t}=r,{dy:o,y:n}=e,s=O().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new To(eQ,o.shape,n.shape):new io(JY,o.shape,n.shape);return t.runWebGLProgram(s,[o,n],o.dtype)},nR={kernelName:km,backendName:\"webgl\",kernelFunc:tQ};var rQ=`\n return vec4(equal(a, b));\n`,oQ=\"return float(a == b);\",nQ=tt({opSnippet:oQ,packedOpSnippet:rQ,dtype:\"bool\",cpuKernelImpl:BE}),sR={kernelName:tn,backendName:\"webgl\",kernelFunc:nQ};var sQ=`\n // Error function is calculated approximately with elementary function.\n // See \"Handbook of Mathematical Functions with Formulas,\n // Graphs, and Mathematical Tables\", Abramowitz and Stegun.\n float p = ${S.ERF_P};\n float a1 = ${S.ERF_A1};\n float a2 = ${S.ERF_A2};\n float a3 = ${S.ERF_A3};\n float a4 = ${S.ERF_A4};\n float a5 = ${S.ERF_A5};\n\n float sign = sign(x);\n x = abs(x);\n float t = 1.0 / (1.0 + p * x);\n return sign * (1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*exp(-x*x));\n`,aQ=ge({opSnippet:sQ}),aR={kernelName:ma,backendName:\"webgl\",kernelFunc:aQ};var iQ=_o+`\n return exp(x);\n`,uQ=`\n vec4 result = exp(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,Aw=ge({opSnippet:iQ,packedOpSnippet:uQ,cpuKernelImpl:VE,dtype:\"float32\"}),iR={kernelName:rn,backendName:\"webgl\",kernelFunc:Aw};function Ph(r){let{inputs:e,attrs:t,backend:o}=r,{dim:n}=t,{input:s}=e,a=s.shape.length,i=s.shape.slice(),p=n;return n<0&&(y.assert(-(a+1)<=n,()=>`Axis must be in the interval [${-(a+1)}, ${a}]`),p=a+n+1),i.splice(p,0,1),te({inputs:{x:s},backend:o,attrs:{shape:i}})}var uR={kernelName:bs,backendName:\"webgl\",kernelFunc:Ph};var pR=\"return exp(x) - 1.0;\",pQ=ge({opSnippet:pR,packedOpSnippet:pR,cpuKernelImpl:zE}),cR={kernelName:da,backendName:\"webgl\",kernelFunc:pQ};var $l=class{constructor(e,t,o){this.variableNames=[\"real\",\"imag\"];let n=t[1];this.outputShape=t;let s=o?`2.0 * ${Math.PI}`:`-2.0 * ${Math.PI}`,a=o?`${n}.0`:\"1.0\",i;if(e===\"real\")i=\"return real * expR - imag * expI;\";else if(e===\"imag\")i=\"return real * expI + imag * expR;\";else throw new Error(`FFT component must be either \"real\" or \"imag\", got ${e}.`);this.userCode=`\n const float exponentMultiplier = ${s};\n\n float unaryOpComplex(float real, float expR, float imag, float expI) {\n ${i}\n }\n\n float mulMatDFT(int batch, int index) {\n float indexRatio = float(index) / float(${n});\n float exponentMultiplierTimesIndexRatio =\n exponentMultiplier * indexRatio;\n\n float result = 0.0;\n\n for (int i = 0; i < ${n}; i++) {\n // x = (-2|2 * PI / N) * index * i;\n float x = exponentMultiplierTimesIndexRatio * float(i);\n float expR = cos(x);\n float expI = sin(x);\n float real = getReal(batch, i);\n float imag = getImag(batch, i);\n\n result +=\n unaryOpComplex(real, expR, imag, expI) / ${a};\n }\n\n return result;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n setOutput(mulMatDFT(coords[0], coords[1]));\n }\n `}};function Mh(r,e,t){let o=t.texData.get(r.dataId),n=y.sizeFromShape(r.shape),s=r.shape[r.shape.length-1],a=n/s,i=te({inputs:{x:r},backend:t,attrs:{shape:[a,s]}}),p=i.shape,u=new $l(\"real\",p,e),c=new $l(\"imag\",p,e),l=[{dataId:o.complexTensorInfos.real.dataId,dtype:o.complexTensorInfos.real.dtype,shape:p},{dataId:o.complexTensorInfos.imag.dataId,dtype:o.complexTensorInfos.imag.dtype,shape:p}],m=t.runWebGLProgram(u,l,\"float32\"),d=t.runWebGLProgram(c,l,\"float32\"),f=Rr({inputs:{real:m,imag:d},backend:t});t.disposeIntermediateTensorInfo(m),t.disposeIntermediateTensorInfo(d);let h=te({inputs:{x:f},backend:t,attrs:{shape:r.shape}});return t.disposeIntermediateTensorInfo(i),t.disposeIntermediateTensorInfo(f),h}function cQ(r){let{inputs:e,backend:t}=r,{input:o}=e;return Mh(o,!1,t)}var lR={kernelName:oi,backendName:\"webgl\",kernelFunc:cQ};var Lh=class{constructor(e,t){this.outputShape=[],this.customUniforms=[{name:\"value\",type:\"float\"}],this.variableNames=[\"x\"],this.outputShape=e,this.userCode=`\n void main() {\n // Input can be obtained from uniform value.\n setOutput(value);\n }\n `}};function Ga(r){let{backend:e,attrs:t}=r,{shape:o,value:n}=t,{dtype:s}=t;if(s=s||y.inferDtype(n),s===\"string\"){let a=y.getArrayFromDType(s,y.sizeFromShape(o));return a.fill(n),e.makeTensorInfo(o,s,a)}else{let a=new Lh(o,n),i=[[n]];return e.runWebGLProgram(a,[],s,i)}}var mR={kernelName:Cs,backendName:\"webgl\",kernelFunc:Ga};var Bh=class{constructor(e){this.variableNames=[\"Image\"],this.outputShape=[];let t=e[2];this.outputShape=e,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n\n int coordX = ${t} - x - 1;\n float outputValue;\n if(coordX >= 0 && coordX < ${t}) {\n outputValue = getImage(coords[0], coords[1], coordX, coords[3]);\n } else {\n outputValue = getImage(coords[0], coords[1], coords[2], coords[3]);\n }\n setOutput(outputValue);\n }\n `}};var dR={kernelName:on,backendName:\"webgl\",kernelFunc:({inputs:r,backend:e})=>{let{image:t}=r,o=e,n=new Bh(t.shape);return o.runWebGLProgram(n,[t],t.dtype)}};var fR=\"return floor(x);\",lQ=ge({opSnippet:fR,packedOpSnippet:fR,cpuKernelImpl:WE}),hR={kernelName:nn,backendName:\"webgl\",kernelFunc:lQ};var mQ=`\n float s = sign(a) * sign(b);\n int ia = round(a);\n int ib = round(b);\n if (ib != 0) {\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n return float(idiv(ia, ib, s));\n } else {\n return NAN;\n }\n`,dQ=`\n ivec4 ia = round(a);\n ivec4 ib = round(b);\n bvec4 cond = notEqual(ib, ivec4(0));\n ivec4 result = ivec4(0);\n vec4 s = sign(a) * sign(b);\n\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n if (cond[0]) {\n result[0] = idiv(ia[0], ib[0], s[0]);\n }\n if (cond[1]) {\n result[1] = idiv(ia[1], ib[1], s[1]);\n }\n if (cond[2]) {\n result[2] = idiv(ia[2], ib[2], s[2]);\n }\n if (cond[3]) {\n result[3] = idiv(ia[3], ib[3], s[3]);\n }\n return vec4(result);\n`,fQ=tt({opSnippet:mQ,packedOpSnippet:dQ,dtype:\"int32\"}),gR={kernelName:sn,backendName:\"webgl\",kernelFunc:fQ};var Vh=class{constructor(e){this.variableNames=[\"A\"];let t=St(),[o,n]=e;this.outputShape=e,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${n}.0, ${o}.0);\n\n vec4 values = ${t.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n setOutput(floor(value * 255.0 + 0.5));\n }\n `}};var zh=class{constructor(e){this.variableNames=[\"A\"],this.packedInputs=!1,this.packedOutput=!0;let t=St(),[o,n]=e;this.outputShape=e,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n\n vec4 result = vec4(0.);\n\n for(int row=0; row<=1; row++) {\n for(int col=0; col<=1; col++) {\n texC = coords[1] + row;\n depth = coords[2] + col;\n\n vec2 uv = (vec2(texC, texR) + halfCR) /\n vec2(${n}.0, ${o}.0);\n vec4 values = ${t.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n result[row * 2 + col] = floor(value * 255.0 + 0.5);\n }\n }\n\n ${t.output} = result;\n }\n `}};var xR={kernelName:Zi,backendName:\"webgl\",kernelFunc:hQ},bc,Rw=O().getBool(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\");function hQ(r){let{inputs:e,backend:t,attrs:o}=r,{pixels:n}=e,{numChannels:s}=o,a=typeof HTMLVideoElement!=\"undefined\"&&n instanceof HTMLVideoElement,i=typeof HTMLImageElement!=\"undefined\"&&n instanceof HTMLImageElement,[p,u]=a?[n.videoWidth,n.videoHeight]:[n.width,n.height],c=[u,p],l=[u,p,s];if(i||a){let h=O().getBool(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\");(bc==null||h!==Rw)&&(Rw=h,bc=document.createElement(\"canvas\").getContext(\"2d\",{willReadFrequently:Rw})),bc.canvas.width=p,bc.canvas.height=u,bc.drawImage(n,0,0,p,u),n=bc.canvas}let m=t.makeTensorInfo(c,\"int32\");t.texData.get(m.dataId).usage=ir.PIXELS,t.gpgpu.uploadPixelDataToTexture(t.getTexture(m.dataId),n);let d=O().getBool(\"WEBGL_PACK\")?new zh(l):new Vh(l),f=t.runWebGLProgram(d,[m],\"int32\");return t.disposeData(m.dataId),f}function gQ(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s,bias:a,preluActivationWeights:i}=e,{strides:p,pad:u,dataFormat:c,dilations:l,dimRoundingMode:m,activation:d,leakyreluAlpha:f}=o,h=S.convertConv2DDataFormat(c),g=S.computeConv2DInfo(n.shape,s.shape,p,l,u,m,!1,h),x,b=[],C=a!=null,w=i!=null,k=d===\"leakyrelu\",_=()=>{let A=[n,s],R=(D,P)=>{if(P===\"NCHW\"&&D.shape.length===1&&D.shape[0]!==1){let M=te({inputs:{x:D},backend:t,attrs:{shape:[D.shape[0],1,1]}});return b.push(M),M}return D};if(C&&A.push(R(a,c)),w&&A.push(R(i,c)),k){let D=t.makeTensorInfo([],\"float32\",y.createScalarValue(f,\"float32\"));A.push(D),b.push(D)}return A};if(g.filterHeight===1&&g.filterWidth===1&&g.dilationHeight===1&&g.dilationWidth===1&&g.strideHeight===1&&g.strideWidth===1&&(g.padInfo.type===\"SAME\"||g.padInfo.type===\"VALID\"))x=Ih({x:n,filter:s,convInfo:g,backend:t,bias:a,activation:d,preluActivationWeights:i,leakyreluAlpha:f});else if(g.strideWidth<=2&&h===\"channelsLast\"&&O().getBool(\"WEBGL_EXP_CONV\")){let A=d?Wa(d,!0):null,R=new gc(g,C,A,w,k),D=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],P=_();x=t.runWebGLProgram(R,P,\"float32\",D)}else if(O().getBool(\"WEBGL_CONV_IM2COL\"))x=vh({x:n,filter:s,convInfo:g,backend:t,bias:a,activation:d,preluActivationWeights:i,leakyreluAlpha:f});else{let A=d?Wa(d,!1):null,R=new hc(g,C,A,w,k),D=_();x=t.runWebGLProgram(R,D,\"float32\")}let $=te({inputs:{x},backend:t,attrs:{shape:g.outShape}});return b.push(x),b.forEach(A=>t.disposeIntermediateTensorInfo(A)),$}var yR={kernelName:ho,backendName:\"webgl\",kernelFunc:gQ};function xQ(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s,bias:a,preluActivationWeights:i}=e,{strides:p,pad:u,dilations:c,dimRoundingMode:l,activation:m,leakyreluAlpha:d}=o,f=[],h=c;h==null&&(h=[1,1]),y.assert(S.eitherStridesOrDilationsAreOne(p,h),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${p} and dilations '${h}'`);let g=S.computeConv2DInfo(n.shape,s.shape,p,h,u,l,!0),x=O().getBool(\"WEBGL_PACK_DEPTHWISECONV\")&&g.strideWidth<=2&&g.outChannels/g.inChannels===1,b=m?Wa(m,x):null,C=[n,s],w=a!=null,k=i!=null,_=m===\"leakyrelu\";if(w&&C.push(a),k&&C.push(i),_){let D=t.makeTensorInfo([],\"float32\",y.createScalarValue(d,\"float32\"));C.push(D),f.push(D)}let $;x?$=new yc(g,w,b,k,_):$=new xc(g,w,b,k,_);let A=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],R=t.runWebGLProgram($,C,\"float32\",A);return f.forEach(D=>t.disposeIntermediateTensorInfo(D)),R}var bR={kernelName:go,backendName:\"webgl\",kernelFunc:xQ};var Wh=class{constructor(e,t,o,n){this.sliceDim=e,this.strides=t,this.paramsShape=n,this.variableNames=[\"x\",\"indices\"],this.outputShape=o;let s=_e(o.length),a=`\n int index;`;for(let i=0;i= ${this.paramsShape[i]};\n flattenIndex += index * ${this.strides[i]};`;this.userCode=`\n void main() {\n ${s} coords = getOutputCoords();\n int flattenIndex = 0;\n bool out_of_bounds = false;\n\n ${a}\n\n setOutput(out_of_bounds ? 0.0 : getX(flattenIndex, coords[1]));\n }\n `}};function yQ(r){let{inputs:e,backend:t}=r,{params:o,indices:n}=e,s=n.shape,a=s[s.length-1],i=y.sizeFromShape(o.shape),[p,u,c,l]=S.prepareAndValidate(o,n),m=te({inputs:{x:n},backend:t,attrs:{shape:[u,a]}}),d=te({inputs:{x:o},backend:t,attrs:{shape:[y.sizeFromShape(o.shape)/c,c]}});if(t.shouldExecuteOnCPU([o,n])||o.dtype===\"string\"){let x=t.readSync(n.dataId),b=t.bufferSync(o),C=UE(x,b,o.dtype,u,a,c,l,o.shape,i);return t.makeTensorInfo(p,o.dtype,C.values)}let f=new Wh(a,l,[u,c],o.shape),h=t.runWebGLProgram(f,[d,m],d.dtype),g=te({inputs:{x:h},backend:t,attrs:{shape:p}});return t.disposeIntermediateTensorInfo(m),t.disposeIntermediateTensorInfo(d),t.disposeIntermediateTensorInfo(h),g}var CR={kernelName:un,backendName:\"webgl\",kernelFunc:yQ};var Uh=class{constructor(e,t){this.variableNames=[\"A\",\"indices\"],this.outputShape=t,this.rank=t.length;let o=_e(this.rank),n=bQ(e,2);this.userCode=`\n void main() {\n ${o} resRC = getOutputCoords();\n int index = int(getIndices(resRC.x, resRC.z));\n float inBounds = (index >= 0) && (index < ${e[2]}) ? 1.0 : 0.0;\n setOutput(inBounds * getA(${n}));\n }\n `}};function bQ(r,e){let t=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],o=[];for(let n=0;n=0,()=>`GatherV2: the index value ${k} is not in [0, ${C-1}]`)}}let u=S.segment_util.collectGatherOpShapeInfo(n,s,p,i),c=y.sizeFromShape(s.shape),l=[],m=te({inputs:{x:n},backend:t,attrs:{shape:[u.batchSize,u.outerSize,u.dimSize,u.sliceSize]}}),d=te({inputs:{x:s},backend:t,attrs:{shape:[u.batchSize,c/u.batchSize]}});l.push(m),l.push(d);let f=[u.batchSize,u.outerSize,c/u.batchSize,u.sliceSize];if(t.shouldExecuteOnCPU([n,s])||n.dtype===\"string\"){let b=t.bufferSync(d),C=t.bufferSync(m),w=GE(C,b,f);return l.forEach(k=>t.disposeIntermediateTensorInfo(k)),t.makeTensorInfo(u.outputShape,w.dtype,w.values)}let h=new Uh(m.shape,f),g=t.runWebGLProgram(h,[m,d],m.dtype);l.push(g);let x=te({inputs:{x:g},backend:t,attrs:{shape:u.outputShape}});return l.forEach(b=>t.disposeIntermediateTensorInfo(b)),x}var SR={kernelName:Ss,backendName:\"webgl\",kernelFunc:Fw};var CQ=\"return float(a > b);\",SQ=`\n return vec4(greaterThan(a, b));\n`,wQ=tt({opSnippet:CQ,packedOpSnippet:SQ,cpuKernelImpl:HE,dtype:\"bool\"}),wR={kernelName:pn,backendName:\"webgl\",kernelFunc:wQ};var IQ=\"return float(a >= b);\",vQ=`\n return vec4(greaterThanEqual(a, b));\n`,kQ=tt({opSnippet:IQ,packedOpSnippet:vQ,dtype:\"bool\",cpuKernelImpl:qE}),IR={kernelName:cn,backendName:\"webgl\",kernelFunc:kQ};function NQ(r){let{inputs:e,backend:t}=r,{input:o}=e;return Mh(o,!0,t)}var vR={kernelName:ni,backendName:\"webgl\",kernelFunc:NQ};var TQ=\"return float(!isnan(x) && !isinf(x));\",_Q=ge({opSnippet:TQ,dtype:\"bool\"}),kR={kernelName:fa,backendName:\"webgl\",kernelFunc:_Q};var EQ=\"return float(isinf(x));\",$Q=ge({opSnippet:EQ,dtype:\"bool\"}),NR={kernelName:ha,backendName:\"webgl\",kernelFunc:$Q};var AQ=\"return float(isnan(x));\",RQ=ge({opSnippet:AQ,dtype:\"bool\"}),TR={kernelName:ln,backendName:\"webgl\",kernelFunc:RQ};var FQ=\"return float(a < b);\",DQ=`\n return vec4(lessThan(a, b));\n`,OQ=tt({opSnippet:FQ,packedOpSnippet:DQ,cpuKernelImpl:KE,dtype:\"bool\"}),_R={kernelName:dn,backendName:\"webgl\",kernelFunc:OQ};var PQ=\"return float(a <= b);\",MQ=`\n return vec4(lessThanEqual(a, b));\n`,LQ=tt({opSnippet:PQ,packedOpSnippet:MQ,cpuKernelImpl:jE,dtype:\"bool\"}),ER={kernelName:fn,backendName:\"webgl\",kernelFunc:LQ};function BQ(r){let{backend:e,attrs:t}=r,{start:o,stop:n,num:s}=t,a=XE(o,n,s);return e.makeTensorInfo([a.length],\"float32\",a)}var $R={kernelName:xp,backendName:\"webgl\",kernelFunc:BQ};var VQ=_o+`\n return x < 0.0 ? 0./0. : log(x);\n`,zQ=`\n vec4 result = log(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : (x.r < 0.0 ? 0./0. : result.r);\n result.g = isNaN.g ? x.g : (x.g < 0.0 ? 0./0. : result.g);\n result.b = isNaN.b ? x.b : (x.b < 0.0 ? 0./0. : result.b);\n result.a = isNaN.a ? x.a : (x.a < 0.0 ? 0./0. : result.a);\n return result;\n`,WQ=ge({opSnippet:VQ,packedOpSnippet:zQ,cpuKernelImpl:YE}),AR={kernelName:hn,backendName:\"webgl\",kernelFunc:WQ};var UQ=_o+`\n return log(1.0 + x);\n`,GQ=ge({opSnippet:UQ}),RR={kernelName:ga,backendName:\"webgl\",kernelFunc:GQ};var HQ=\"return float(a >= 1.0 && b >= 1.0);\",qQ=`\n return vec4(\n vec4(greaterThanEqual(a, vec4(1.0))) *\n vec4(greaterThanEqual(b, vec4(1.0))));\n`,KQ=tt({opSnippet:HQ,packedOpSnippet:qQ,dtype:\"bool\"}),FR={kernelName:gn,backendName:\"webgl\",kernelFunc:KQ};var jQ=\"return float(!(x >= 1.0));\",XQ=ge({opSnippet:jQ}),DR={kernelName:xn,backendName:\"webgl\",kernelFunc:XQ};var YQ=\"return float(a >= 1.0 || b >= 1.0);\",QQ=`\n return min(\n vec4(greaterThanEqual(a, vec4(1.0))) +\n vec4(greaterThanEqual(b, vec4(1.0))),\n vec4(1.0));\n`,ZQ=tt({opSnippet:YQ,packedOpSnippet:QQ,dtype:\"bool\"}),OR={kernelName:xa,backendName:\"webgl\",kernelFunc:ZQ};var Gh=class{constructor(e,t,o,n,s){this.variableNames=[\"x\"],this.outputShape=[];let a=t,i=e[3]-1;this.outputShape=e;let p,u=`float(${o}) + float(${n}) * sum`;s===.5?p=`inversesqrt(${u})`:s===1?p=`1.0/(${u})`:p=`exp(log(${u}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n int d = coords[3];\n float x = getX(b, r, c, d);\n float sum = 0.0;\n for (int j = -${a}; j <= ${a}; j++) {\n int idx = d + j;\n if (idx >= 0 && idx <= ${i}) {\n float z = getX(b, r, c, idx);\n sum += z * z;\n }\n }\n float val = x * ${p};\n setOutput(val);\n }\n `}};var Hh=class{constructor(e,t,o,n,s){this.variableNames=[\"x\"],this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0;let a=t,i=e[3]-1;this.outputShape=e;let p,u=`float(${o}) + float(${n}) * sum`;s===.5?p=`inversesqrt(${u})`:s===1?p=`1.0/(${u})`:p=`exp(log(${u}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords.x;\n int r = coords.y;\n int c = coords.z;\n int d = coords.w;\n\n bool hasNextCol = d < ${this.outputShape[3]};\n bool hasNextRow = c < ${this.outputShape[2]};\n\n vec4 sum = vec4(0.);\n vec4 xFragAtOutputCoords = getX(b, r, c, d);\n\n vec4 xAtOutputCoords = vec4(\n getChannel(xFragAtOutputCoords, vec2(c, d)),\n hasNextCol ?\n getChannel(xFragAtOutputCoords, vec2(c, d + 1)) : 0.0,\n hasNextRow ?\n getChannel(xFragAtOutputCoords , vec2(c + 1, d)) : 0.0,\n (hasNextRow && hasNextCol) ?\n getChannel(xFragAtOutputCoords, vec2(c + 1, d + 1)) : 0.0\n );\n\n int firstChannel = d - ${a};\n vec2 cache = vec2(0.);\n if(firstChannel >= 0){\n vec4 firstChannelFrag = getX(b, r, c, firstChannel);\n cache.x = getChannel(firstChannelFrag, vec2(c, firstChannel));\n if(hasNextRow){\n cache.y = getChannel(firstChannelFrag, vec2(c + 1, firstChannel));\n }\n }\n\n ivec2 depth = ivec2(d, d + 1);\n for (int j = - ${a}; j <= ${a}; j++) {\n ivec2 idx = depth + j;\n bvec2 aboveLowerBound = greaterThanEqual(idx, ivec2(0));\n bvec2 belowUpperBound = lessThanEqual(idx, ivec2(${i}));\n\n bool depthInRange = aboveLowerBound.x && belowUpperBound.x;\n bool depthPlusOneInRange = aboveLowerBound.y && belowUpperBound.y;\n\n if(depthInRange || depthPlusOneInRange){\n vec4 z = vec4(0.);\n vec4 xFragAtCurrentDepth;\n z.xz = cache.xy;\n if(depthPlusOneInRange && hasNextCol){\n xFragAtCurrentDepth = idx.y != d ?\n getX(b, r, c, idx.y) : xFragAtOutputCoords;\n z.y = getChannel(xFragAtCurrentDepth, vec2(c, idx.y));\n if(hasNextRow){\n z.w = getChannel(xFragAtCurrentDepth, vec2(c + 1, idx.y));\n }\n }\n cache.xy = z.yw;\n sum += z * z;\n }\n }\n vec4 result = xAtOutputCoords * ${p};\n setOutput(result);\n }\n `}};var JQ=r=>{let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{depthRadius:s,bias:a,alpha:i,beta:p}=o,u=O().getBool(\"WEBGL_PACK_NORMALIZATION\")?new Hh(n.shape,s,a,i,p):new Gh(n.shape,s,a,i,p);return t.runWebGLProgram(u,[n],n.dtype)},PR={kernelName:yp,backendName:\"webgl\",kernelFunc:JQ};var qh=class{constructor(e,t,o,n,s){this.variableNames=[\"inputImage\",\"outputImage\",\"dy\"],this.outputShape=[],this.outputShape=e,this.depth=e[3],this.depthRadius=t,this.bias=o,this.alpha=n,this.beta=s,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n\n float result = 0.0;\n for (int d = 0; d < ${this.depth}; ++d) {\n int depthBegin = int(max(0.0, float(d - ${t})));\n int depthEnd = int(min(float(${this.depth}),\n float(d + ${t} + 1)));\n\n const int MIN_DEPTH_BEGIN = 0;\n const int MAX_DEPTH_END = ${this.depth};\n\n float norm = 0.0;\n for (int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k) {\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd) {\n norm += getInputImage(b, r, c, k) * getInputImage(b, r, c, k);\n }\n else {\n break;\n }\n }\n\n norm = float(${n}) * norm + float(${o});\n\n for(int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k){\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd){\n float dyi = -2.0 * float(${n})\n * float(${s})\n * getInputImage(b ,r ,c, k) * getOutputImage(b, r, c, d)\n / norm;\n if (k == d) {\n dyi += pow(norm, -1.0 * ${s});\n }\n if (k == coords[3]) {\n dyi *= getDy(b, r, c, d);\n result += dyi;\n }\n }\n else {\n break;\n }\n }\n }\n setOutput(result);\n }\n `}};var e7=r=>{let{inputs:e,backend:t,attrs:o}=r,{x:n,y:s,dy:a}=e,{depthRadius:i,bias:p,alpha:u,beta:c}=o,l=new qh(n.shape,i,p,u,c);return t.runWebGLProgram(l,[n,s,a],n.dtype)},MR={kernelName:Nm,backendName:\"webgl\",kernelFunc:e7};function LR(r,e,t,o){let n=y.sizeFromShape(e),a=y.sizeFromShape(r.shape)/n,i=te({inputs:{x:r},attrs:{shape:[a,n]},backend:o}),p=Gr(i,r.dtype,\"max\",o),u=te({inputs:{x:p},attrs:{shape:t},backend:o});return o.disposeIntermediateTensorInfo(i),o.disposeIntermediateTensorInfo(p),u}function Dw(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{reductionIndices:s,keepDims:a}=o,i=n.shape.length,p=y.parseAxisParam(s,n.shape),u=p,c=S.getAxesPermutation(u,i),l=c!=null,m=t.shouldExecuteOnCPU([n]),d=n;if(l){if(m){let C=t.texData.get(d.dataId).values,w=new Array(i);for(let $=0;$`Error in maxPool: Either strides or dilations must be 1. Got strides ${a} and dilations '${u}'`);let c=S.computePool2DInfo(n.shape,s,a,u,i,p);if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))return At({inputs:{x:n},backend:t});let l=new ps(c,\"max\",!1);return t.runWebGLProgram(l,[n],n.dtype)}var zR={kernelName:Cn,backendName:\"webgl\",kernelFunc:n7};function s7(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{filterSize:s,strides:a,pad:i,dataFormat:p,dimRoundingMode:u}=o,c=[1,1,1],l=S.computePool3DInfo(n.shape,s,a,c,i,u,p),m=new zi(l,\"max\",!1);return t.runWebGLProgram(m,[n],n.dtype)}var WR={kernelName:bp,backendName:\"webgl\",kernelFunc:s7};var Kh=class{constructor(e){this.variableNames=[\"dy\",\"maxPos\"],this.outputShape=e.inShape;let t=e.strideHeight,o=e.strideWidth,n=e.dilationHeight,s=e.effectiveFilterHeight,a=e.effectiveFilterWidth,i=s-1-e.padInfo.top,p=a-1-e.padInfo.left,u=s*a-1;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${p});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${s};\n wR += ${n}) {\n float dyR = float(dyRCorner + wR) / ${t}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${a}; wC++) {\n float dyC = float(dyCCorner + wC) / ${o}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n int maxPosValue = ${u} - int(getMaxPos(b, idyR, idyC, d));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue = wR * ${a} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n setOutput(dotProd);\n }\n `}},jh=class{constructor(e){this.variableNames=[\"dy\",\"maxPos\"],this.outputShape=e.inShape;let t=e.strideDepth,o=e.strideHeight,n=e.strideWidth,s=e.dilationDepth,a=e.dilationHeight,i=e.dilationWidth,p=e.effectiveFilterDepth,u=e.effectiveFilterHeight,c=e.effectiveFilterWidth,l=p-1-e.padInfo.front,m=u-1-e.padInfo.top,d=c-1-e.padInfo.left,f=p*u*c-1;this.userCode=`\n const ivec3 pads = ivec3(${l}, ${m}, ${d});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, ch) with pos mask(:, :, :, d) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${p};\n wD += ${s}) {\n float dyD = float(dyDCorner + wD) / ${t}.0;\n\n if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${u};\n wR += ${a}) {\n float dyR = float(dyRCorner + wR) / ${o}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${c};\n wC += ${i}) {\n float dyC = float(dyCCorner + wC) / ${n}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n int maxPosValue = ${f} -\n int(getMaxPos(batch, idyD, idyR, idyC, ch));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue =\n wD * ${u} * ${c} +\n wR * ${c} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function a7(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,input:s}=e,a=s,{filterSize:i,strides:p,pad:u,dimRoundingMode:c}=o,l=[1,1,1],m=S.computePool3DInfo(a.shape,i,p,l,u,c),d=new zi(m,\"max\",!0),f=t.runWebGLProgram(d,[a],a.dtype),h=new jh(m),g=t.runWebGLProgram(h,[n,f],a.dtype);return t.disposeIntermediateTensorInfo(f),g}var UR={kernelName:_m,backendName:\"webgl\",kernelFunc:a7};function i7(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,input:s,output:a}=e,i=s;is([s,a],\"maxPoolGrad\");let{filterSize:p,strides:u,pad:c,dimRoundingMode:l}=o,m=S.computePool2DInfo(i.shape,p,u,1,c,l),d=!0,f=new ps(m,\"max\",d),h=t.runWebGLProgram(f,[i],i.dtype),g=new Kh(m),x=t.runWebGLProgram(g,[n,h],i.dtype);return t.disposeIntermediateTensorInfo(h),x}var GR={kernelName:Tm,backendName:\"webgl\",kernelFunc:i7};function HR(r,e,t,o){let n=new ps(t,\"max\",!1),s=o.runWebGLProgram(n,[r],\"float32\");n=new ps(t,\"max\",!0,!0,e);let a=o.runWebGLProgram(n,[r],\"float32\");return[s,a]}var qR={kernelName:Cp,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{x:o}=r,{filterSize:n,strides:s,pad:a,includeBatchInIndex:i}=e,p=t;y.assert(o.shape.length===4,()=>`Error in maxPool: input must be rank 4 but got rank ${o.shape.length}.`);let u=[1,1];y.assert(S.eitherStridesOrDilationsAreOne(s,u),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${s} and dilations '${u}'`);let c=S.computePool2DInfo(o.shape,n,s,u,a),[l,m]=HR(o,i,c,p);return[l,m]}};function KR(r,e,t,o){let n=y.sizeFromShape(e),a=y.sizeFromShape(r.shape)/n,i=te({inputs:{x:r},attrs:{shape:[a,n]},backend:o}),p=Gr(i,\"float32\",\"mean\",o),u=te({inputs:{x:p},attrs:{shape:t},backend:o});return o.disposeIntermediateTensorInfo(i),o.disposeIntermediateTensorInfo(p),u}var jR={kernelName:Sn,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{x:o}=r,{keepDims:n,axis:s}=e,a=t,i=o.shape.length,p=y.parseAxisParam(s,o.shape),u=p,c=S.getAxesPermutation(u,i),l=c!=null,m=a.shouldExecuteOnCPU([o]),d=[],f=o;if(l){if(m){let w=a.texData.get(f.dataId).values,k=new Array(i);for(let A=0;Ac[0]+e[l]+c[1]);let n=e.length,s=_e(n),a=t.map(c=>c[0]).join(\",\"),i=t.map((c,l)=>c[0]+e[l]).join(\",\"),p=[\"coords[0]\",\"coords[1]\",\"coords[2]\",\"coords[3]\"].slice(0,n),u=o===\"reflect\"?0:1;if(n===1){this.userCode=`\n int start = ${a};\n int end = ${i};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start) {\n outC = start * 2 - outC - ${u};\n } else if(outC >= end) {\n outC = (end - 1) * 2 - outC + ${u};\n }\n setOutput(getX(outC - start));\n }\n `;return}this.userCode=`\n ${s} start = ${s}(${a});\n ${s} end = ${s}(${i});\n\n void main() {\n ${s} outC = getOutputCoords();\n for (int i = 0; i < ${n}; i++) {\n if (outC[i] < start[i]) {\n outC[i] = start[i] * 2 - outC[i] - ${u};\n } else if(outC[i] >= end[i]) {\n outC[i] = (end[i] - 1) * 2 - outC[i] + ${u};\n }\n }\n ${s} coords = outC - start;\n setOutput(getX(${p}));\n }\n `}};var Yh=class{constructor(e,t,o){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t.map((f,h)=>f[0]+e[h]+f[1]);let n=e.length,s=_e(n),a=t.map(f=>f[0]).join(\",\"),i=t.map((f,h)=>f[0]+e[h]).join(\",\"),p=$t(\"rc\",n),u=$t(\"source\",n),c=`${p[n-1]} < ${this.outputShape[n-1]}`,l=n===1?\"source\":`vec2(${u.slice(-2).join()})`,m=o===\"reflect\"?0:1,d=\"\";if(n===1){let f=`\n ${s} source = rc;\n if (source < start) {\n source = start * 2 - source - ${m};\n } else if (source >= end) {\n source = (end - 1) * 2 - source + ${m};\n }\n source -= start;\n `;d=`\n ${s} rc = outputLoc;\n ${f}\n result[0] = getChannel(getX(${u.join()}), ${l});\n ${p[n-1]} += 1;\n if(${c}) {\n ${f}\n result[1] = getChannel(getX(${u.join()}), ${l});\n }\n `}else{let f=`\n ${s} source = rc;\n ${s} lt = ${s}(lessThan(source, start));\n ${s} gte = ${s}(greaterThanEqual(source, end));\n ${s} orig = 1 - (lt + gte);\n source = orig * source +\n lt * (start * 2 - source - ${m}) +\n gte * ((end - 1) * 2 - source + ${m});\n source -= start;\n `;d=`\n ${s} rc = outputLoc;\n ${f}\n result[0] = getChannel(getX(${u.join()}), ${l});\n ${p[n-1]} += 1;\n if(${c}) {\n ${f}\n result[1] = getChannel(getX(${u.join()}), ${l});\n }\n rc = outputLoc;\n ${p[n-2]} += 1;\n if(${p[n-2]} < ${this.outputShape[n-2]}) {\n ${f}\n result[2] = getChannel(getX(${u.join()}), ${l});\n ${p[n-1]} += 1;\n if(${c}) {\n ${f}\n result[3] = getChannel(getX(${u.join()}), ${l});\n }\n }\n `}this.userCode=`\n const ${s} start = ${s}(${a});\n const ${s} end = ${s}(${i});\n\n void main() {\n ${s} outputLoc = getOutputCoords();\n vec4 result = vec4(0.);\n ${d}\n setOutput(result);\n }\n `}};var m7=({inputs:r,backend:e,attrs:t})=>{let{x:o}=r,{paddings:n,mode:s}=t,a=O().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new Yh(o.shape,n,s):new Xh(o.shape,n,s);return e.runWebGLProgram(a,[o],o.dtype)},QR={kernelName:vn,backendName:\"webgl\",kernelFunc:m7};var d7=`if (b == 0.0) return NAN;\n return mod(a, b);`,f7=`\n vec4 result = mod(a, b);\n bvec4 isNaN = equal(b, vec4(0.0));\n `+Zs+`\n return result;\n`,h7=tt({opSnippet:d7,packedOpSnippet:f7}),ZR={kernelName:ya,backendName:\"webgl\",kernelFunc:h7};var Qh=class{constructor(e,t,o){this.variableNames=[\"probs\"],this.customUniforms=[{name:\"seed\",type:\"float\"}],this.outputShape=[e,o],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n\n float r = random(seed);\n float cdf = 0.0;\n\n for (int i = 0; i < ${t-1}; i++) {\n cdf += getProbs(batch, i);\n\n if (r < cdf) {\n setOutput(float(i));\n return;\n }\n }\n\n // If no other event happened, last event happened.\n setOutput(float(${t-1}));\n }\n `}};var g7=`\nif (a == b) {\n return 1.0;\n};\nreturn a / b;`,x7=`\n // vec4 one = vec4(equal(a, b));\n // return one + (vec4(1.0) - one) * a / b;\n vec4 result = a / b;\n if(a.x == b.x) {\n result.x = 1.;\n }\n if(a.y == b.y) {\n result.y = 1.;\n }\n if(a.z == b.z) {\n result.z = 1.;\n }\n if(a.w == b.w) {\n result.w = 1.;\n }\n\n return result;\n`,Ow=tt({opSnippet:g7,packedOpSnippet:x7,checkOutOfBounds:!0}),JR={kernelName:Jo,backendName:\"webgl\",kernelFunc:Ow};var eF=\"return a - b;\",Pw=tt({opSnippet:eF,packedOpSnippet:eF,supportsComplex:!0,cpuKernelImpl:b$}),tF={kernelName:Xn,backendName:\"webgl\",kernelFunc:Pw};function Mw(r){let{inputs:e,backend:t,attrs:o}=r,{logits:n}=e,{dim:s}=o,a=y.parseAxisParam([s],n.shape),i=Dw({inputs:{x:n},backend:t,attrs:{reductionIndices:a,keepDims:!1}}),p=S.expandShapeToKeepDim(i.shape,a),u=te({inputs:{x:i},backend:t,attrs:{shape:p}}),c=Pw({inputs:{a:n,b:u},backend:t}),l=Aw({inputs:{x:c},backend:t}),m=Ou({inputs:{x:l},backend:t,attrs:{axis:a,keepDims:!1}}),d=te({inputs:{x:m},backend:t,attrs:{shape:p}}),f=Ow({inputs:{a:l,b:d},backend:t});return t.disposeIntermediateTensorInfo(i),t.disposeIntermediateTensorInfo(u),t.disposeIntermediateTensorInfo(c),t.disposeIntermediateTensorInfo(l),t.disposeIntermediateTensorInfo(m),t.disposeIntermediateTensorInfo(d),f}var rF={kernelName:qn,backendName:\"webgl\",kernelFunc:Mw};function y7(r){let{inputs:e,backend:t,attrs:o}=r,{logits:n}=e,{numSamples:s,seed:a,normalized:i}=o,p=i?n:Mw({inputs:{logits:n},backend:t,attrs:{dim:n.shape.length-1}}),u=p.shape[0],c=p.shape[1],l=new Qh(u,c,s),m=[[a]],d=t.runWebGLProgram(l,[p],\"int32\",m);return i||t.disposeIntermediateTensorInfo(p),d}var oF={kernelName:Sp,backendName:\"webgl\",kernelFunc:y7};var b7=Bt+`\n return -x;\n`,C7=`\n vec4 result = -x;\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`;function S7(r){let{inputs:e,backend:t}=r,{x:o}=e;if(t.shouldExecuteOnCPU([o])){let s=t.texData.get(o.dataId),[a,i]=t$(s.values,o.shape,o.dtype);return t.makeTensorInfo(i,o.dtype,a)}let n;return O().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")?n=new Ar(o.shape,C7):n=new Jt(o.shape,b7),t.runWebGLProgram(n,[o],o.dtype)}var nF={kernelName:ws,backendName:\"webgl\",kernelFunc:S7};var w7=Lt.nonMaxSuppressionV3Impl;function I7(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:e,backend:t,attrs:o}=r,{boxes:n,scores:s}=e,{maxOutputSize:a,iouThreshold:i,scoreThreshold:p}=o,u=t.readSync(n.dataId),c=t.readSync(s.dataId),{selectedIndices:l}=w7(u,c,a,i,p);return t.makeTensorInfo([l.length],\"int32\",new Int32Array(l))}var sF={kernelName:Tn,backendName:\"webgl\",kernelFunc:I7};var v7=Lt.nonMaxSuppressionV4Impl;function k7(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:e,backend:t,attrs:o}=r,{boxes:n,scores:s}=e,{maxOutputSize:a,iouThreshold:i,scoreThreshold:p,padToMaxOutputSize:u}=o,c=t.readSync(n.dataId),l=t.readSync(s.dataId),{selectedIndices:m,validOutputs:d}=v7(c,l,a,i,p,u);return[t.makeTensorInfo([m.length],\"int32\",new Int32Array(m)),t.makeTensorInfo([],\"int32\",new Int32Array([d]))]}var aF={kernelName:ba,backendName:\"webgl\",kernelFunc:k7};var N7=Lt.nonMaxSuppressionV5Impl;function T7(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:e,backend:t,attrs:o}=r,{boxes:n,scores:s}=e,{maxOutputSize:a,iouThreshold:i,scoreThreshold:p,softNmsSigma:u}=o,c=t.readSync(n.dataId),l=t.readSync(s.dataId),m=a,d=i,f=p,h=u,{selectedIndices:g,selectedScores:x}=N7(c,l,m,d,f,h);return[t.makeTensorInfo([g.length],\"int32\",new Int32Array(g)),t.makeTensorInfo([x.length],\"float32\",new Float32Array(x))]}var iF={kernelName:_n,backendName:\"webgl\",kernelFunc:T7};var Zh=class{constructor(e,t,o,n){this.variableNames=[\"indices\"],this.outputShape=[e,t],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int index = round(getIndices(coords.x));\n setOutput(mix(float(${n}), float(${o}),\n float(index == coords.y)));\n }\n `}};var _7=r=>{let{inputs:e,backend:t,attrs:o}=r,{indices:n}=e,{dtype:s,depth:a,onValue:i,offValue:p}=o,u=y.sizeFromShape(n.shape),c=new Zh(u,a,i,p),l=te({inputs:{x:n},backend:t,attrs:{shape:[u]}}),m=t.runWebGLProgram(c,[l],s);t.disposeIntermediateTensorInfo(l);let d=[...n.shape,a],f=te({inputs:{x:m},backend:t,attrs:{shape:d}});return t.disposeIntermediateTensorInfo(m),f},uF={kernelName:En,backendName:\"webgl\",kernelFunc:_7};function Al(r){let{inputs:e,backend:t}=r,{x:o}=e;if(o.dtype===\"complex64\"){let n=Ua({inputs:{input:o},backend:t}),s=Al({inputs:{x:n},backend:t}),a=Mu({inputs:{input:o},backend:t}),i=Al({inputs:{x:a},backend:t}),p=Rr({inputs:{real:s,imag:i},backend:t});return t.disposeIntermediateTensorInfo(n),t.disposeIntermediateTensorInfo(s),t.disposeIntermediateTensorInfo(a),t.disposeIntermediateTensorInfo(i),p}else return Ga({attrs:{shape:o.shape,dtype:o.dtype,value:o.dtype===\"string\"?\"\":0},backend:t})}var pF={kernelName:Fs,backendName:\"webgl\",kernelFunc:Al};function cF(r){let{inputs:e,backend:t}=r,{x:o}=e;if(o.dtype===\"string\")throw new Error(\"onesLike is not supported under string dtype\");if(o.dtype===\"complex64\"){let n=Ua({inputs:{input:o},backend:t}),s=cF({inputs:{x:n},backend:t}),a=Mu({inputs:{input:o},backend:t}),i=Al({inputs:{x:a},backend:t}),p=Rr({inputs:{real:s,imag:i},backend:t});return t.disposeIntermediateTensorInfo(n),t.disposeIntermediateTensorInfo(s),t.disposeIntermediateTensorInfo(a),t.disposeIntermediateTensorInfo(i),p}else return Ga({attrs:{shape:o.shape,dtype:o.dtype,value:1},backend:t})}var lF={kernelName:Is,backendName:\"webgl\",kernelFunc:cF};function E7(r){let{inputs:e,backend:t,attrs:o}=r,{axis:n}=o;if(e.length===1)return Ph({inputs:{input:e[0]},backend:t,attrs:{dim:n}});let s=e[0].shape,a=e[0].dtype;e.forEach(c=>{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(a===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let i=[],p=e.map(c=>{let l=Ph({inputs:{input:c},backend:t,attrs:{dim:n}});return i.push(l),l}),u=$w({inputs:p,backend:t,attrs:{axis:n}});return i.forEach(c=>t.disposeIntermediateTensorInfo(c)),u}var mF={kernelName:vs,backendName:\"webgl\",kernelFunc:E7};var Jh=class{constructor(e,t,o){this.variableNames=[\"x\"],this.customUniforms=[{name:\"value\",type:\"float\"}],this.outputShape=t.map((u,c)=>u[0]+e[c]+u[1]);let n=e.length,s=_e(n),a=t.map(u=>u[0]).join(\",\"),i=t.map((u,c)=>u[0]+e[c]).join(\",\"),p=[\"coords[0]\",\"coords[1]\",\"coords[2]\",\"coords[3]\"].slice(0,n);if(n===1){this.userCode=`\n int start = ${a};\n int end = ${i};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start || outC >= end) {\n setOutput(value);\n } else {\n setOutput(getX(outC - start));\n }\n }\n `;return}this.userCode=`\n ${s} start = ${s}(${a});\n ${s} end = ${s}(${i});\n\n void main() {\n ${s} outC = getOutputCoords();\n if (any(lessThan(outC, start)) || any(greaterThanEqual(outC, end))) {\n setOutput(value);\n } else {\n ${s} coords = outC - start;\n setOutput(getX(${p}));\n }\n }\n `}};var eg=class{constructor(e,t,o){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"value\",type:\"float\"}],this.outputShape=t.map((h,g)=>h[0]+e[g]+h[1]);let n=e.length,s=_e(n),a=t.map(h=>h[0]).join(\",\"),i=t.map((h,g)=>h[0]+e[g]).join(\",\"),p=$t(\"rc\",n),u=$t(\"source\",n),c=`${p[n-1]} < ${this.outputShape[n-1]}`,l=n===1?\"source\":`vec2(${u.slice(-2).join()})`,m=[`${s} rc = outputLoc;`,`${p[n-1]} += 1;\n if(${c}) {\n `,n===1?\"\":`}\n rc = outputLoc;\n ${p[n-2]} += 1;\n if(${p[n-2]} < ${this.outputShape[n-2]}) {`,n===1?\"\":` ${p[n-1]} += 1;\n if(${c}) {`],d=n===1?\"rc < start || rc >= end\":\"any(lessThan(rc, start)) || any(greaterThanEqual(rc, end))\",f=\"\";for(let h=0,g=n===1?2:4;h{let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{paddings:s,constantValue:a}=o;if(y.sizeFromShape(n.shape)===0){let u=s.map((c,l)=>c[0]+n.shape[l]+c[1]);return Ga({backend:t,attrs:{shape:u,value:a,dtype:n.dtype}})}let i=O().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new eg(n.shape,s,a):new Jh(n.shape,s,a),p=[[a]];return t.runWebGLProgram(i,[n],n.dtype,p)},dF={kernelName:$n,backendName:\"webgl\",kernelFunc:Lw};var $7=`\n if(a < 0.0 && floor(b) < b){\n return NAN;\n }\n if (b == 0.0) {\n return 1.0;\n }\n return (round(mod(b, 2.0)) != 1) ?\n pow(abs(a), b) : sign(a) * pow(abs(a), b);\n`,A7=`\n // isModRound1 has 1 for components with round(mod(b, 2.0)) == 1, 0 otherwise.\n vec4 isModRound1 = vec4(equal(round(mod(b, 2.0)), ivec4(1)));\n vec4 multiplier = sign(a) * isModRound1 + (vec4(1.0) - isModRound1);\n vec4 result = multiplier * pow(abs(a), b);\n\n // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS\n bvec4 isExpZero = equal(b, vec4(0.0));\n result.r = isExpZero.r ? 1.0 : result.r;\n result.g = isExpZero.g ? 1.0 : result.g;\n result.b = isExpZero.b ? 1.0 : result.b;\n result.a = isExpZero.a ? 1.0 : result.a;\n\n bvec4 isNaN1 = lessThan(a, vec4(0.0));\n bvec4 isNaN2 = lessThan(floor(b), b);\n bvec4 isNaN = bvec4(isNaN1.x && isNaN2.x, isNaN1.y && isNaN2.y, isNaN1.z && isNaN2.z, isNaN1.w && isNaN2.w);\n `+Zs+`\n return result;\n`,R7=tt({opSnippet:$7,packedOpSnippet:A7}),fF={kernelName:An,backendName:\"webgl\",kernelFunc:R7};function F7(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o,i=n.shape.length,p=[],u=y.parseAxisParam(s,n.shape),c=u,l=S.getAxesPermutation(c,i),m=n;l!=null&&(m=xt({inputs:{x:n},backend:t,attrs:{perm:l}}),c=S.getInnerMostAxes(c.length,i),p.push(m)),S.assertAxesAreInnerMostDims(\"prod\",c,i);let d;if(t.shouldExecuteOnCPU([m])){let f=t.texData.get(m.dataId).values,{outVals:h,outShape:g,outDtype:x}=o$(m.shape,m.dtype,f,c);d=t.makeTensorInfo(g,x,h)}else{let[f,h]=S.computeOutAndReduceShapes(m.shape,c),g=y.sizeFromShape(h),x=te({inputs:{x:m},backend:t,attrs:{shape:[-1,g]}}),b=ka(n.dtype),C=Gr(x,b,\"prod\",t);d=te({inputs:{x:C},backend:t,attrs:{shape:f}}),p.push(x),p.push(C)}if(a){p.push(d);let f=S.expandShapeToKeepDim(d.shape,u);d=te({inputs:{x:d},backend:t,attrs:{shape:f}})}return p.forEach(f=>t.disposeIntermediateTensorInfo(f)),d}var hF={kernelName:Fn,backendName:\"webgl\",kernelFunc:F7};function D7(r){let{inputs:e,backend:t,attrs:o}=r,{paramsNestedSplits:n,paramsDenseValues:s,indices:a}=e,{outputRaggedRank:i}=o,p=n.map(x=>t.readSync(x.dataId)),u=n.map(x=>x.shape),c=t.readSync(s.dataId),l=t.readSync(a.dataId),[m,d,f]=n$(p,u,c,s.shape,s.dtype,l,a.shape,i),h=m.map(x=>t.makeTensorInfo([x.length],\"int32\",x)),g=t.makeTensorInfo(f,s.dtype,d);return h.concat([g])}var gF={kernelName:wp,backendName:\"webgl\",kernelFunc:D7};function O7(r){let{inputs:e,backend:t}=r,{starts:o,limits:n,deltas:s}=e,a=t.readSync(o.dataId),i=t.readSync(n.dataId),p=t.readSync(s.dataId),[u,c]=s$(a,o.shape,o.dtype,i,n.shape,p,s.shape),l=t.makeTensorInfo([u.length],\"int32\",u),m=t.makeTensorInfo([c.length],o.dtype,c);return[l,m]}var xF={kernelName:Ip,backendName:\"webgl\",kernelFunc:O7};function P7(r){let{inputs:e,backend:t,attrs:o}=r,{shape:n,values:s,defaultValue:a,rowPartitionTensors:i}=e,{rowPartitionTypes:p}=o,u=t.readSync(n.dataId),c=t.readSync(s.dataId),l=t.readSync(a.dataId),m=i.map(g=>t.readSync(g.dataId)),d=i.map(g=>g.shape),[f,h]=a$(u,n.shape,c,s.shape,s.dtype,l,a.shape,m,d,p);return t.makeTensorInfo(f,s.dtype,h)}var yF={kernelName:vp,backendName:\"webgl\",kernelFunc:P7};var Bw=r=>{let{backend:e,attrs:t}=r,{start:o,stop:n,step:s,dtype:a}=t,i=i$(o,n,s,a);return e.makeTensorInfo([i.length],a,i)},bF={kernelName:ks,backendName:\"webgl\",kernelFunc:Bw};var M7=\"return 1.0 / x;\",L7=ge({opSnippet:M7}),CF={kernelName:Dn,backendName:\"webgl\",kernelFunc:L7};var B7=Bt+`\n return (x < 0.0) ? 0.0 : x;\n`,V7=`\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,z7=ge({opSnippet:B7,packedOpSnippet:V7}),SF={kernelName:On,backendName:\"webgl\",kernelFunc:z7};var W7=Bt+`\n return (x < 0.0) ? 0.0 : min(6.0, x);\n`,U7=`\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,G7=ge({opSnippet:W7,packedOpSnippet:U7}),wF={kernelName:Ln,backendName:\"webgl\",kernelFunc:G7};var tg=class{constructor(e,t,o,n,s){this.variableNames=[\"A\"],this.outputShape=[];let[a,i,p,u]=e;this.outputShape=[a,t,o,u];let c=[n&&t>1?i-1:i,n&&o>1?p-1:p],l=[n&&t>1?t-1:t,n&&o>1?o-1:o],m;s?m=\"(vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC - vec2(0.5)\":m=\"vec2(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${c[0]/l[0]},\n ${c[1]/l[1]});\n const vec2 inputShapeRC = vec2(${i}.0, ${p}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${m};\n\n // Compute the four integer indices.\n ivec2 sourceFloorRC = ivec2(max(sourceFracIndexRC, vec2(0.0)));\n ivec2 sourceCeilRC = ivec2(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n float topLeft = getA(b, sourceFloorRC.x, sourceFloorRC.y, d);\n float bottomLeft = getA(b, sourceCeilRC.x, sourceFloorRC.y, d);\n float topRight = getA(b, sourceFloorRC.x, sourceCeilRC.y, d);\n float bottomRight = getA(b, sourceCeilRC.x, sourceCeilRC.y, d);\n\n vec2 fracRC = sourceFracIndexRC - vec2(sourceFloorRC);\n\n float top = topLeft + (topRight - topLeft) * fracRC.y;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y;\n float newValue = top + (bottom - top) * fracRC.x;\n\n setOutput(newValue);\n }\n `}};var rg=class{constructor(e,t,o,n,s){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];let[a,i,p,u]=e;this.outputShape=[a,t,o,u];let c=[n&&t>1?i-1:i,n&&o>1?p-1:p],l=[n&&t>1?t-1:t,n&&o>1?o-1:o],m;s?m=\"(vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC - vec3(0.5)\":m=\"vec3(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${c[0]/l[0]},\n ${c[1]/l[1]},\n ${c[1]/l[1]});\n const vec3 inputShapeRC = vec3(${i}.0, ${p}.0,\n ${p}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${m};\n\n // Compute the four integer indices.\n ivec3 sourceFloorRC = ivec3(max(sourceFracIndexRC, vec3(0.0)));\n ivec3 sourceCeilRC = ivec3(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${u-1};\n bool hasNextRow = coords.z < ${o-1};\n\n // In parallel, construct four corners for all four components in\n // packed 2x2 cell.\n vec4 topLeft = vec4(\n getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 bottomLeft = vec4(\n getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 topRight = vec4(\n getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec4 bottomRight = vec4(\n getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec3 fracRC = sourceFracIndexRC - vec3(sourceFloorRC);\n\n vec4 top = mix(topLeft, topRight, fracRC.yyzz);\n vec4 bottom = mix(bottomLeft, bottomRight, fracRC.yyzz);\n vec4 newValue = mix(top, bottom, fracRC.x);\n\n setOutput(newValue);\n }\n `}};function H7(r){let{inputs:e,backend:t,attrs:o}=r,{images:n}=e,{alignCorners:s,halfPixelCenters:a,size:i}=o,[p,u]=i,c=O().getBool(\"WEBGL_PACK_IMAGE_OPERATIONS\")?new rg(n.shape,p,u,s,a):new tg(n.shape,p,u,s,a);return t.runWebGLProgram(c,[n],\"float32\")}var IF={kernelName:Mn,backendName:\"webgl\",kernelFunc:H7};var og=class{constructor(e,t,o){this.variableNames=[\"dy\"],this.outputShape=[],this.outputShape=t;let[,n,s]=t,[,a,i]=e,p=[o&&a>1?n-1:n,o&&i>1?s-1:s],u=[o&&a>1?a-1:a,o&&i>1?i-1:i],c=p[0]/u[0],l=p[1]/u[1],m=1/c,d=1/l,f=Math.ceil(m)*2+2,h=Math.ceil(d)*2+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${c});\n const float widthScale = float(${l});\n\n const float invHeightScale = float(${m});\n const float invWidthScale = float(${d});\n\n const int winHeight = int(${f});\n const int winWidth = int(${h});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(startRLerp - float(winHeight / 2));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(startCLerp - float(winWidth / 2));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${a}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${i}) {\n continue;\n }\n\n float dxR = float(dyR) * heightScale;\n int topDxRIndex = int(floor(dxR));\n int bottomDxRIndex = int(min(ceil(dxR), ${n-1}.0));\n float dxRLerp = dxR - float(topDxRIndex);\n float inverseDxRLerp = 1.0 - dxRLerp;\n\n float dxC = float(dyC) * widthScale;\n int leftDxCIndex = int(floor(dxC));\n int rightDxCIndex = int(min(ceil(dxC), ${s-1}.0));\n float dxCLerp = dxC - float(leftDxCIndex);\n float inverseDxCLerp = 1.0 - dxCLerp;\n\n if (r == topDxRIndex && c == leftDxCIndex) {\n // topLeft\n accumulator +=\n getDy(b, dyR, dyC, d) * inverseDxRLerp * inverseDxCLerp;\n }\n\n if (r == topDxRIndex && c == rightDxCIndex) {\n // topRight\n accumulator += getDy(b, dyR, dyC, d) * inverseDxRLerp * dxCLerp;\n }\n\n if (r == bottomDxRIndex && c == leftDxCIndex) {\n // bottomLeft\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * inverseDxCLerp;\n }\n\n if (r == bottomDxRIndex && c == rightDxCIndex) {\n // bottomRight\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * dxCLerp;\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}};function q7(r){let{inputs:e,backend:t,attrs:o}=r,{images:n,dy:s}=e,{alignCorners:a}=o,i=new og(s.shape,n.shape,a);return t.runWebGLProgram(i,[s],s.dtype)}var vF={kernelName:$m,backendName:\"webgl\",kernelFunc:q7};var ng=class{constructor(e,t,o,n,s){this.variableNames=[\"A\"],this.outputShape=[];let[a,i,p,u]=e;this.outputShape=[a,t,o,u];let c=[n&&t>1?i-1:i,n&&o>1?p-1:p],l=[n&&t>1?t-1:t,n&&o>1?o-1:o],m=n?\"0.5\":\"0.0\",d;s?d=\"max((vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC, vec2(0.0))\":d=\"vec2(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${c[0]/l[0]},\n ${c[1]/l[1]});\n const vec2 inputShapeRC = vec2(${i}.0, ${p}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${d};\n\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestRC = ivec2(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${m})));\n float newValue = getA(b, sourceNearestRC.x, sourceNearestRC.y, d);\n\n setOutput(newValue);\n }\n `}};var sg=class{constructor(e,t,o,n,s){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];let[a,i,p,u]=e;this.outputShape=[a,t,o,u];let c=[n&&t>1?i-1:i,n&&o>1?p-1:p],l=[n&&t>1?t-1:t,n&&o>1?o-1:o],m=n?\"0.5\":\"0.0\",d;s?d=\"max((vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC, vec3(0.0))\":d=\"vec3(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${c[0]/l[0]},\n ${c[1]/l[1]},\n ${c[1]/l[1]});\n const vec3 inputShapeRC = vec3(${i}.0, ${p}.0,\n ${p}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${d};\n\n // Compute the coordinators of nearest neighbor point.\n ivec3 sourceNearestRC = ivec3(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${m})));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${u-1};\n bool hasNextRow = coords.z < ${o-1};\n\n vec4 newValue = vec4(\n getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d),\n hasNextCol ? getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d + 1) : 0.0);\n\n setOutput(newValue);\n }\n `}};function K7(r){let{inputs:e,backend:t,attrs:o}=r,{images:n}=e,{alignCorners:s,halfPixelCenters:a,size:i}=o,[p,u]=i,c=O().getBool(\"WEBGL_PACK_IMAGE_OPERATIONS\")?new sg(n.shape,p,u,s,a):new ng(n.shape,p,u,s,a);return t.runWebGLProgram(c,[n],n.dtype)}var kF={kernelName:Pn,backendName:\"webgl\",kernelFunc:K7};var ag=class{constructor(e,t,o){this.variableNames=[\"dy\"],this.outputShape=[],this.outputShape=t;let[,n,s]=t,[,a,i]=e,p=[o&&a>1?n-1:n,o&&i>1?s-1:s],u=[o&&a>1?a-1:a,o&&i>1?i-1:i],c=p[0]/u[0],l=p[1]/u[1],m=1/c,d=1/l,f=Math.ceil(m)*2+2,h=Math.ceil(d)*2+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${c});\n const float widthScale = float(${l});\n\n const float invHeightScale = float(${m});\n const float invWidthScale = float(${d});\n\n const int winHeight = int(${f});\n const int winWidth = int(${h});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(floor(startRLerp - float(winHeight / 2)));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(floor(startCLerp - float(winWidth / 2)));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${a}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${i}) {\n continue;\n }\n\n float sourceFracRow =\n float(${p[0]}) *\n (float(dyR) / float(${u[0]}));\n\n float sourceFracCol =\n float(${p[1]}) *\n (float(dyC) / float(${u[1]}));\n\n int sourceNearestRow = int(min(\n float(int(${n}) - 1),\n ${o} ? float(round(sourceFracRow)) :\n float(floor(sourceFracRow))));\n\n int sourceNearestCol = int(min(\n float(int(${s}) - 1),\n ${o} ? float(round(sourceFracCol)) :\n float(floor(sourceFracCol))));\n\n if (r == sourceNearestRow && c == sourceNearestCol) {\n accumulator += getDy(b, dyR, dyC, d);\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}};function j7(r){let{inputs:e,backend:t,attrs:o}=r,{images:n,dy:s}=e,{alignCorners:a}=o,i=new ag(s.shape,n.shape,a);return t.runWebGLProgram(i,[s],s.dtype)}var NF={kernelName:Em,backendName:\"webgl\",kernelFunc:j7};var ig=class{constructor(e,t){this.variableNames=[\"x\"];let o=e.length;if(o>4)throw new Error(`WebGL backend: Reverse of rank-${o} tensor is not yet supported`);if(this.outputShape=e,o===1){this.userCode=`\n void main() {\n int coord = getOutputCoords();\n setOutput(getX(${e[0]} - coord - 1));\n }\n `;return}let n=i=>t.indexOf(i)!==-1&&e[i]!==1?`${e[i]} - coords[${i}] - 1`:`coords[${i}]`,s=e.map((i,p)=>n(p)).join(\",\"),a=_e(o);this.userCode=`\n void main() {\n ${a} coords = getOutputCoords();\n setOutput(getX(${s}));\n }\n `}};var ug=class{constructor(e,t){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0;let o=e.length;if(o>4)throw new Error(`WebGL backend: Reverse of rank-${o} tensor is not yet supported`);this.outputShape=e;let n=$t(\"rc\",o),s=`${n[o-1]} + 1 < ${this.outputShape[o-1]}`,a=`${n[o-2]} + 1 < ${this.outputShape[o-2]}`,i=_e(o);o===1?this.userCode=`\n void main(){\n int rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = getChannel(getX(${e[0]} - rc - 1),\n ${e[0]} - rc - 1);\n if(${s}){\n result.g = getChannel(getX(${e[0]} - (rc + 1) - 1),\n ${e[0]} - (rc + 1) - 1);\n }\n setOutput(result);\n }\n `:this.userCode=`\n void main() {\n ${i} rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = ${p(n.slice())};\n if(${s}){\n result.g = ${u(n.slice())};\n }\n if(${a}) {\n result.b = ${c(n.slice())};\n if(${s}) {\n result.a = ${l(n.slice())};\n }\n }\n setOutput(result);\n }\n `;function p(f){return m(f)}function u(f){return f[o-1]=\"(\"+f[o-1]+\" + 1)\",m(f)}function c(f){return f[o-2]=\"(\"+f[o-2]+\" + 1)\",m(f)}function l(f){return f[o-1]=\"(\"+f[o-1]+\" + 1)\",f[o-2]=\"(\"+f[o-2]+\" + 1)\",m(f)}function m(f){let h=e.map((b,C)=>d(C,f)),g=h.join(\",\"),x=h.slice(-2).join(\",\");return`getChannel(getX(${g}), vec2(${x}))`}function d(f,h){return t.indexOf(f)!==-1&&e[f]!==1?`${e[f]} - ${h[f]} - 1`:`${h[f]}`}}};function X7(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{dims:s}=o,a=n.shape.length,i=y.parseAxisParam(s,n.shape);if(a===0)return At({inputs:{x:n},backend:t});let p=O().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new ug(n.shape,i):new ig(n.shape,i);return t.runWebGLProgram(p,[n],n.dtype)}var TF={kernelName:Bn,backendName:\"webgl\",kernelFunc:X7};var pg=class{constructor(e,t){this.variableNames=[\"Image\"],this.outputShape=[],this.customUniforms=[{name:\"params\",type:\"vec4\"}];let o=e[1],n=e[2];this.outputShape=e;let s=\"\";typeof t==\"number\"?s=`float outputValue = ${t.toFixed(2)};`:s=`\n vec3 fill = vec3(${t.join(\",\")});\n float outputValue = fill[coords[3]];`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n int y = coords[1];\n float coordXFloat = (float(x) - params[0]) * params[3] -\n (float(y) - params[1]) * params[2];\n float coordYFloat = (float(x) - params[0]) * params[2] +\n (float(y) - params[1]) * params[3];\n int coordX = int(round(coordXFloat + params[0]));\n int coordY = int(round(coordYFloat + params[1]));\n ${s}\n if(coordX >= 0 && coordX < ${n} && coordY >= 0 && coordY < ${o}) {\n outputValue = getImage(coords[0], coordY, coordX, coords[3]);\n }\n setOutput(outputValue);\n }\n `}};var _F={kernelName:es,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{image:o}=r,{radians:n,fillValue:s,center:a}=e,i=t,p=new pg(o.shape,s),[u,c]=S.getImageCenter(a,o.shape[1],o.shape[2]),l=[[u,c,Math.sin(n),Math.cos(n)]];return i.runWebGLProgram(p,[o],o.dtype,l)}};var Y7=`\n // OpenGL ES does not support round function.\n // The algorithm is based on banker's rounding.\n float base = floor(x);\n if ((x - base) < 0.5) {\n return floor(x);\n } else if ((x - base) > 0.5) {\n return ceil(x);\n } else {\n if (mod(base, 2.0) == 0.0) {\n return base;\n } else {\n return base + 1.0;\n }\n }\n`,Q7=ge({opSnippet:Y7}),EF={kernelName:Ca,backendName:\"webgl\",kernelFunc:Q7};var Z7=\"return inversesqrt(x);\",J7=ge({opSnippet:Z7,cpuKernelImpl:u$}),$F={kernelName:Vn,backendName:\"webgl\",kernelFunc:J7};var Cc=class{constructor(e,t,o,n,s,a,i=!0){this.variableNames=[\"updates\",\"indices\",\"defaultValue\"],this.outputShape=a;let p=_e(s.length),u=_e(a.length),c=\"\";o===1?c=\"i\":o===2&&(c=\"i, j\");let l=`getIndices(${c})`,m=\"\";n===1?m=\"i\":n===2&&(m=\"i, coords[1]\");let d=`getUpdates(${m})`,f=t>1?\"strides[j]\":\"strides\";this.userCode=`\n ${p} strides = ${p}(${s});\n\n void main() {\n ${u} coords = getOutputCoords();\n float sum = 0.0;\n bool found = false;\n for (int i = 0; i < ${e}; i++) {\n int flattenedIndex = 0;\n for (int j = 0; j < ${t}; j++) {\n int index = round(${l});\n flattenedIndex += index * ${f};\n }\n if (flattenedIndex == coords[0]) {\n sum += ${d};\n found = true;\n }\n }\n setOutput(mix(getDefaultValue(), sum, float(found)));\n }\n `}};function eZ(r){let{inputs:e,backend:t,attrs:o}=r,{indices:n,updates:s}=e,{shape:a}=o,{sliceRank:i,numUpdates:p,sliceSize:u,strides:c,outputSize:l}=S.calculateShapes(s,n,a),m=[l/u,u];if(l===0)return t.makeTensorInfo(a,n.dtype);let d=te({inputs:{x:n},backend:t,attrs:{shape:[p,i]}}),f=te({inputs:{x:s},backend:t,attrs:{shape:[p,u]}}),h=t.makeTensorInfo([],\"float32\",new Float32Array([0])),g=new Cc(p,i,d.shape.length,f.shape.length,c,m),x=t.runWebGLProgram(g,[f,d,h],f.dtype),b=te({inputs:{x},backend:t,attrs:{shape:a}});return t.disposeIntermediateTensorInfo(d),t.disposeIntermediateTensorInfo(f),t.disposeIntermediateTensorInfo(x),t.disposeIntermediateTensorInfo(h),b}var AF={kernelName:zn,backendName:\"webgl\",kernelFunc:eZ};var cg=class{constructor(e,t,o,n){this.variableNames=[\"sortedSequence\",\"values\"],this.customUniforms=[{name:\"numInputs\",type:\"int\"}],this.outputShape=[e,o];let s=\"while (left < right) {\",a=`for (int i = 0; i < ${Math.ceil(Math.log2(t+1))}; ++i) { if (left >= right) break;`,i=O().getNumber(\"WEBGL_VERSION\")===2?s:a,p=n===\"left\"?\"<\":\"<=\";this.userCode=`\n int findBound(int batch, float value) {\n int left = 0;\n int right = numInputs;\n int mid;\n ${i}\n mid = (left + right) / 2;\n if (getSortedSequence(batch, mid) ${p} value) {\n left = mid + 1;\n } else {\n right = mid;\n }\n }\n return right;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int valueIndex = coords[1];\n\n float value = getValues(batch, valueIndex);\n\n setOutput(float(findBound(batch, value)));\n }\n `}};function tZ(r){let{inputs:e,backend:t,attrs:o}=r,{sortedSequence:n,values:s}=e,{side:a}=o,i=new cg(n.shape[0],n.shape[1],s.shape[1],a),p=[[n.shape[1]]];return t.runWebGLProgram(i,[n,s],\"int32\",p)}var RF={kernelName:ii,backendName:\"webgl\",kernelFunc:tZ};var lg=class{constructor(e,t,o){this.variableNames=[\"c\",\"a\",\"b\"],this.outputShape=t;let n,s;if(o>4)throw Error(`Where for rank ${o} is not yet supported`);if(o===1)s=\"resRC\",n=\"resRC\";else{let i=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],p=[],u=[];for(let c=0;c= 1.0) {\n setOutput(getA(${s}));\n } else {\n setOutput(getB(${s}));\n }\n }\n `}};function rZ(r){let{inputs:e,backend:t}=r,{condition:o,t:n,e:s}=e,a=new lg(o.shape.length,n.shape,n.shape.length);return t.runWebGLProgram(a,[o,n,s],dt(n.dtype,s.dtype))}var FF={kernelName:Ts,backendName:\"webgl\",kernelFunc:rZ};var oZ=`\n // Stable and Attracting Fixed Point (0, 1) for Normalized Weights.\n // see: https://arxiv.org/abs/1706.02515\n float scaleAlpha = ${S.SELU_SCALEALPHA};\n float scale = ${S.SELU_SCALE};\n return (x >= 0.0) ? scale * x : scaleAlpha * (exp(x) - 1.0);\n`,nZ=ge({opSnippet:oZ}),DF={kernelName:Xi,backendName:\"webgl\",kernelFunc:nZ};var sZ=_o+`\n return 1.0 / (1.0 + exp(-1.0 * x));\n`,aZ=`\n vec4 result = 1.0 / (1.0 + exp(-1.0 * x));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,iZ=ge({opSnippet:sZ,packedOpSnippet:aZ,cpuKernelImpl:c$}),OF={kernelName:Un,backendName:\"webgl\",kernelFunc:iZ};var uZ=`\n if (isnan(x)) { return 0.0; }\n return sign(x);\n`,pZ=ge({opSnippet:uZ}),PF={kernelName:Yi,backendName:\"webgl\",kernelFunc:pZ};var cZ=_o+`\n return sin(x);\n`,lZ=ge({opSnippet:cZ}),MF={kernelName:Wn,backendName:\"webgl\",kernelFunc:lZ};var mZ=`\n float e2x = exp(x);\n return (e2x - 1.0 / e2x) / 2.0;\n`,dZ=ge({opSnippet:mZ}),LF={kernelName:Sa,backendName:\"webgl\",kernelFunc:dZ};var fZ=`\n float epsilon = 1.1920928955078125e-7;\n float threshold = log(epsilon) + 2.0;\n\n bool too_large = x > -threshold;\n bool too_small = x < threshold;\n\n float result;\n float exp_x = exp(x);\n\n if (too_large){\n result = x;\n }\n else if (too_small){\n result = exp_x;\n }\n else{\n result = log(exp_x + 1.0);\n }\n return result;\n`,hZ=ge({opSnippet:fZ}),BF={kernelName:Qi,backendName:\"webgl\",kernelFunc:hZ};var gZ=r=>{let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{blockShape:s,paddings:a}=o;y.assert(n.shape.length<=4,()=>\"spaceToBatchND for rank > 4 with a WebGL backend not implemented yet\");let i=s.reduce((x,b)=>x*b),p=[[0,0]];p.push(...a);for(let x=1+s.length;xt.disposeIntermediateTensorInfo(x)),g},VF={kernelName:Es,backendName:\"webgl\",kernelFunc:gZ};function xZ(r){let{inputs:e,backend:t}=r,{indices:o,values:n,denseShape:s,defaultValue:a}=e;if(s.shape.length!==1)throw new Error(`Dense shape must be a vector, saw:\n ${s.shape}`);if(o.shape.length!==2)throw new Error(`Indices must be a matrix, saw:\n ${o.shape}`);if(n.shape.length!==1)throw new Error(`Values must be a vector, saw:\n ${n.shape}`);if(a.shape.length!==0)throw new Error(`Default value must be a scalar, saw:\n ${a.shape}`);let i=t.readSync(o.dataId),p=t.readSync(n.dataId),u=t.readSync(s.dataId),c=t.readSync(a.dataId)[0],[l,m,d,f,h]=m$(i,o.shape,o.dtype,p,n.dtype,u,c);return[t.makeTensorInfo(m,o.dtype,l),t.makeTensorInfo([m[0]],n.dtype,d),t.makeTensorInfo([f.length],\"bool\",new Uint8Array(f.map(g=>Number(g)))),t.makeTensorInfo([h.length],o.dtype,new Int32Array(h))]}var zF={kernelName:ui,backendName:\"webgl\",kernelFunc:xZ};function yZ(r){let{inputs:e,backend:t}=r,{inputIndices:o,inputShape:n,newShape:s}=e;if(o.shape.length!==2)throw new Error(`Input indices should be a matrix but received shape ${o.shape}`);if(n.shape.length!==1)throw new Error(`Input shape should be a vector but received shape ${n.shape}`);if(s.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);let a=Array.from(t.readSync(n.dataId)),i=t.readSync(o.dataId),p=Array.from(t.readSync(s.dataId)),[u,c,l]=d$(i,o.shape,o.dtype,a,p);return[t.makeTensorInfo(c,o.dtype,u),t.makeTensorInfo([l.length],s.dtype,new Int32Array(l))]}var WF={kernelName:wa,backendName:\"webgl\",kernelFunc:yZ};function bZ(r){let{inputs:e,backend:t}=r,{data:o,indices:n,segmentIds:s}=e;if(o.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(n.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${n.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);let a=t.readSync(o.dataId),i=t.readSync(n.dataId),p=t.readSync(s.dataId),[u,c]=jf(a,o.shape,o.dtype,i,p,!0);return t.makeTensorInfo(c,o.dtype,u)}var UF={kernelName:pi,backendName:\"webgl\",kernelFunc:bZ};function CZ(r){let{inputs:e,backend:t}=r,{data:o,indices:n,segmentIds:s}=e;if(o.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(n.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${n.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);let a=t.readSync(o.dataId),i=t.readSync(n.dataId),p=t.readSync(s.dataId),[u,c]=jf(a,o.shape,o.dtype,i,p);return t.makeTensorInfo(c,o.dtype,u)}var GF={kernelName:ci,backendName:\"webgl\",kernelFunc:CZ};function SZ(r){let{inputs:e,backend:t,attrs:o}=r,{sparseIndices:n,sparseValues:s,defaultValue:a}=e,{outputShape:i}=o,{sliceRank:p,numUpdates:u,sliceSize:c,strides:l,outputSize:m}=S.calculateShapes(s,n,i),d=!1;if(s.dtype===\"string\"){let x=t.bufferSync(n),b=t.bufferSync(s),C=y.decodeString(t.readSync(a.dataId)[0]),w=p$(x,b,i,m,c,u,p,l,C,d);return t.makeTensorInfo(i,w.dtype,w.values)}let f=new Cc(u,p,n.shape.length,s.shape.length,l,[m,1],d),h=t.runWebGLProgram(f,[s,n,a],s.dtype),g=te({inputs:{x:h},backend:t,attrs:{shape:i}});return t.disposeIntermediateTensorInfo(h),g}var HF={kernelName:li,backendName:\"webgl\",kernelFunc:SZ};function wZ(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{numOrSizeSplits:s,axis:a}=o,i=y.parseAxisParam(a,n.shape)[0],p=S.prepareSplitSize(n,s,i),u=n.shape.length,c=new Array(u).fill(0),l=n.shape.slice();return p.map(m=>{let d=[...l];d[i]=m;let f=cs({inputs:{x:n},backend:t,attrs:{begin:c,size:d}});return c[i]+=m,f})}var qF={kernelName:$s,backendName:\"webgl\",kernelFunc:wZ};var KF=\"return sqrt(x);\",IZ=ge({opSnippet:KF,packedOpSnippet:KF,cpuKernelImpl:f$}),jF={kernelName:Gn,backendName:\"webgl\",kernelFunc:IZ};var vZ=\"return x * x;\",kZ=ge({opSnippet:vZ}),XF={kernelName:mi,backendName:\"webgl\",kernelFunc:kZ};var YF=\"return (a - b) * (a - b);\",NZ=tt({opSnippet:YF,packedOpSnippet:YF}),QF={kernelName:Kn,backendName:\"webgl\",kernelFunc:NZ};function TZ({inputs:r,attrs:e,backend:t}){let{x:o}=r,n=Bt+`\n return x > 0.0 ? 1.0 : float(${e.alpha});\n `,s=new Jt(o.shape,n);return t.runWebGLProgram(s,[o],o.dtype)}var ZF={kernelName:Ds,backendName:\"webgl\",kernelFunc:TZ};var mg=class{constructor(e,t,o){this.variableNames=[\"x\"],this.outputShape=o;let n=o.length,s=_e(o.length),a=_e(o.length),i=\"\";if(n===1)i=\"coords * strides + begin\";else{let p=0;i=o.map((u,c)=>(p++,o.length===1?`coords * strides[${c}] + begin[${c}]`:`coords[${p-1}] * strides[${c}] + begin[${c}]`)).join(\",\")}this.userCode=`\n ${s} begin = ${s}(${e});\n ${s} strides = ${s}(${t});\n\n void main() {\n ${a} coords = getOutputCoords();\n setOutput(getX(${i}));\n }\n `}};function _Z(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{begin:s,end:a,strides:i,beginMask:p,endMask:u,ellipsisMask:c,newAxisMask:l,shrinkAxisMask:m}=o,{finalShapeSparse:d,finalShape:f,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:C,strides:w}=ut.sliceInfo(n.shape,s,a,i,p,u,c,l,m),k;if(h)k=te({inputs:{x:n},backend:t,attrs:{shape:f}});else if(g||x){y.assert(n.shape.length>=1,()=>`Input must have rank at least 1, got: ${n.shape.length}`);let $=ut.computeOutShape(b,C,w),A=cs({inputs:{x:n},backend:t,attrs:{begin:b,size:$}});k=te({inputs:{x:A},backend:t,attrs:{shape:f}}),t.disposeIntermediateTensorInfo(A)}else if(t.shouldExecuteOnCPU([n])){let A=t.readSync(n.dataId),R=le(n.shape,n.dtype,A),D=h$(d,R,w,b);k=t.makeTensorInfo(f,n.dtype,D.values)}else{let A=new mg(b,w,d);k=t.runWebGLProgram(A,[n],n.dtype)}let _=te({inputs:{x:k},backend:t,attrs:{shape:f}});return t.disposeIntermediateTensorInfo(k),_}var JF={kernelName:jn,backendName:\"webgl\",kernelFunc:_Z};function EZ(r){let{inputs:e,backend:t,attrs:o}=r,{separator:n,nGramWidths:s,leftPad:a,rightPad:i,padWidth:p,preserveShortSequences:u}=o,{data:c,dataSplits:l}=e,m=t.readSync(c.dataId),d=t.readSync(l.dataId),[f,h]=g$(m,d,n,s,a,i,p,u);return[t.makeTensorInfo([f.length],\"string\",f),t.makeTensorInfo(l.shape,\"int32\",h)]}var eD={kernelName:As,backendName:\"webgl\",kernelFunc:EZ};function $Z(r){let{inputs:e,backend:t,attrs:o}=r,{skipEmpty:n}=o,{input:s,delimiter:a}=e;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(s.shape.length!==1)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(a.shape.length!==0)throw new Error(`Delimiter must be a scalar, got shape: ${a.shape}`);let i=t.readSync(s.dataId),p=t.readSync(a.dataId)[0],[u,c,l]=x$(i,p,n),m=c.length;return[t.makeTensorInfo([m,2],\"int32\",u),t.makeTensorInfo([m],\"string\",c),t.makeTensorInfo([2],\"int32\",new Int32Array(l))]}var tD={kernelName:di,backendName:\"webgl\",kernelFunc:$Z};function AZ(r){let{inputs:e,backend:t,attrs:o}=r,{numBuckets:n}=o,{input:s}=e;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(n<=0)throw new Error(\"Number of buckets must be at least 1\");let a=t.readSync(s.dataId),i=y$(a,n);return t.makeTensorInfo(s.shape,\"int32\",i)}var rD={kernelName:fi,backendName:\"webgl\",kernelFunc:AZ};var RZ=\"return tan(x);\",FZ=ge({opSnippet:RZ}),oD={kernelName:Yn,backendName:\"webgl\",kernelFunc:FZ};var DZ=`\n float e2x = exp(-2.0 * abs(x));\n return sign(x) * (1.0 - e2x) / (1.0 + e2x);\n`,OZ=ge({opSnippet:DZ}),nD={kernelName:Qn,backendName:\"webgl\",kernelFunc:OZ};var dg=class{constructor(e,t){this.variableNames=[\"A\"];let o=new Array(e.length);for(let a=0;a5)throw Error(`Tile for rank ${e} is not yet supported`);if(e===1)return`imod(resRC, ${r[0]})`;let t=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\",\"resRC.u\"],o=[];for(let n=0;n5){let p=t.readSync(n.dataId),u=n.dtype===\"string\"?p.map(m=>y.decodeString(m)):p,c=le(n.shape,n.dtype,u),l=C$(c,s);return t.makeTensorInfo(l.shape,l.dtype,l.values)}let a=new dg(n.shape,s);return t.runWebGLProgram(a,[n],n.dtype)}var sD={kernelName:to,backendName:\"webgl\",kernelFunc:Vw};var fg=class{constructor(e){this.variableNames=[\"x\",\"indices\"],this.customUniforms=[{name:\"n\",type:\"int\"},{name:\"firstPass\",type:\"int\"},{name:\"negativeInf\",type:\"float\"},{name:\"dir\",type:\"int\"},{name:\"inc\",type:\"int\"}],this.outputShape=e,this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // We compare elements pair-wise within a group of size 2 * inc.\n // The comparing rule for each group alternates between ascending\n // and descending. Within each group, we compare each pair at\n // positions i and i+inc. To decide whether an element at position i\n // is x0 or x1, we mod it by 2 * inc, if the result is smaller than\n // inc, it is in the first half of the group, we denote it as x0,\n // otherwise we denote it as x1.\n // For example, as shown in the Bitonic top K paper referenced above,\n // Figure5(a) shows that element[1] is in the\n // second half of the group when group size is 2, but it is in the\n // first half of the group when group size is 4.\n\n bool isFirstInPair = imod(elemIdx, 2 * inc) < inc;\n int i = isFirstInPair ? elemIdx : elemIdx - inc;\n\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + inc : int(getIndices(batch, i + inc));\n float x0 = i0 < n ? getX(batch, i0) : negativeInf;\n float x1 = i1 < n ? getX(batch, i1) : negativeInf;\n\n // Denotes which direction indices are in (ascending or descending).\n bool reverse = imod(elemIdx, 2 * dir) >= dir;\n bool isGreater = x0 > x1 || (x0 == x1 && i1 > i0);\n if (reverse == isGreater) { // Elements in opposite order of direction\n int iTemp = i0;\n i0 = i1;\n i1 = iTemp;\n }\n if (isFirstInPair) {\n setOutput(float(i0));\n } else {\n setOutput(float(i1));\n }\n }\n `}},hg=class{constructor(e){this.variableNames=[\"x\",\"indices\"],this.customUniforms=[{name:\"n\",type:\"int\"},{name:\"firstPass\",type:\"int\"},{name:\"k\",type:\"int\"}],this.outputShape=e,this.userCode=`\n void main() {\n // Takes max of indices (0, k), (1, k + 1), (2, k + 2) ...\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // The output size is half of the previous size.\n // If the previous sequence is | | | | _ _ _ _ | | | | _ _ _ _ (k=4),\n // we only need to output the indices at positions |, the indices at\n // positions _ can be thrown away, see Figure5(b) After Phase 2\n // (Merge phase) in the Bitonic Top K paper referenced above.\n // For example, the paper shows we only need to output the orange bars.\n // The output sequence should look like this | | | | | | | |.\n // Because the sequence is halved, to map the output index back\n // to the previous sequence to find the corresponding value,\n // we need to double the index. When we double the index,\n // we basically interpolate a position, so 2i looks like\n // | _ | _ | _ | _ | _ | _ | _. We move the | to the first k position\n // of each 2k positions by - elemIdx % k. E.g. for output at\n // index 4,5,6,7, we want to get the corresponding element at\n // original index 8,9,10,11, for output at index 8,9,10,11,\n // we want to get the corresponding element at original index\n // 16,17,18,19, so on and so forth.\n\n int i = elemIdx < k ? elemIdx : (elemIdx * 2 - imod(elemIdx, k));\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + k : int(getIndices(batch, i + k));\n\n float x0 = getX(batch, i0);\n float x1 = i1 < n ? getX(batch, i1) : x0;\n\n setOutput(x0 >= x1 ? float(i0) : float(i1));\n }\n `}};function Bu(r,e){e!==null&&r.disposeIntermediateTensorInfo(e)}function aD(r){let e=1;for(;ep){let D=t.readSync(n.dataId),[P,M]=S$(D,u,n.dtype,s,a);return[t.makeTensorInfo(P.shape,P.dtype,P.values),t.makeTensorInfo(M.shape,M.dtype,M.values)]}if(s===0)return u[u.length-1]=0,[t.makeTensorInfo(u,n.dtype,[]),t.makeTensorInfo(u,\"int32\",[])];if(c===1)return[n,Ga({attrs:{shape:u,dtype:\"int32\",value:0},backend:t})];let l=t.texData.get(n.dataId),m=l!==null&&l.isPacked,d=m?t.unpackTensor(n):n,h=y.sizeFromShape(u)/c,g=te({inputs:{x:d},attrs:{shape:[h,c]},backend:t});m&&Bu(t,d);let x=aD(s),b=aD(c),C=null,w=()=>C===null?[g,g]:[g,C],k=(D,P,M)=>{let L=w(),W=new fg(M),U=[[c],[C===null?1:0],[Number.NEGATIVE_INFINITY],[D],[P]],q=C;C=t.runWebGLProgram(W,L,\"int32\",U),Bu(t,q)};for(let D=1;D=1;M/=2)k(P,M,[h,b])}for(let D=b;D>x;D/=2){let P=w(),M=new hg([h,D/2]),W=[[c],[C===null?1:0],[x]],V=C;C=t.runWebGLProgram(M,P,\"int32\",W),Bu(t,V);let U=x/2,q=U*2;for(let H=U;H>=1;H/=2)k(q,H,C.shape)}let _=C;C=cs({inputs:{x:C},backend:t,attrs:{begin:0,size:[h,s]}}),Bu(t,_);let $=Fw({inputs:{x:g,indices:C},backend:t,attrs:{axis:1,batchDims:1}});Bu(t,g);let A=u.slice(0,-1);A.push(s),_=C,C=te({inputs:{x:C},attrs:{shape:A},backend:t}),Bu(t,_);let R=$;return $=te({inputs:{x:$},attrs:{shape:A},backend:t}),Bu(t,R),[$,C]}var iD={kernelName:Zn,backendName:\"webgl\",kernelFunc:MZ};var gg=class{constructor(e,t,o,n,s,a){this.variableNames=[\"Image\",\"Transforms\"],this.outputShape=a;let i=o===\"nearest\"?1:2,p;switch(n){case\"constant\":p=1;break;case\"reflect\":p=2;break;case\"wrap\":p=3;break;case\"nearest\":p=4;break;default:p=1;break}this.userCode=`\n float mapCoord(float outCoord, float len) {\n float inCoord = outCoord;\n if(${p} == 2) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n if (inCoord < sz2) {\n inCoord = sz2 * float(int(float(-inCoord / sz2))) +\n inCoord;\n }\n inCoord = inCoord < -len ? inCoord + sz2 : -inCoord - 1.0;\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n inCoord -= sz2 * float(int(float(inCoord / sz2)));\n if (inCoord >= len) {\n inCoord = sz2 - inCoord - 1.0;\n }\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${p} == 3) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord += len * (float(int(float(-inCoord / sz))) + 1.0);\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord -= len * float(int(float(inCoord / sz)));\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${p} == 4) {\n return clamp(outCoord, 0.0, len - 1.0);\n } else {\n return outCoord;\n }\n }\n\n float readWithFillValue(int batch, int coordY, int coordX,\n int channel) {\n float outputValue;\n if (0 <= coordY && coordY < ${e} && 0 <= coordX && coordX < ${t}) {\n outputValue = getImage(batch, coordY, coordX, channel);\n } else {\n outputValue = float(${s});\n }\n return outputValue;\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n float outputValue;\n int batch = coords[0];\n int x = coords[2];\n int y = coords[1];\n int channel = coords[3];\n float xf = float(x);\n float yf = float(y);\n float a1 = getTransforms(batch, 0);\n float a2 = getTransforms(batch, 1);\n float a3 = getTransforms(batch, 2);\n float b1 = getTransforms(batch, 3);\n float b2 = getTransforms(batch, 4);\n float b3 = getTransforms(batch, 5);\n float c1 = getTransforms(batch, 6);\n float c2 = getTransforms(batch, 7);\n float projection = c1 * xf + c2 * yf + 1.0;\n if (projection == 0.0) {\n outputValue = float(${s});\n } else {\n float inX = (a1 * xf + a2 * yf + a3) / projection;\n float inY = (b1 * xf + b2 * yf + b3) / projection;\n float mapX = mapCoord(inX, float(${t}));\n float mapY = mapCoord(inY, float(${e}));\n\n if (${i} == 1) {\n int coordY = int(round(mapY));\n int coordX = int(round(mapX));\n outputValue = readWithFillValue(batch, coordY, coordX,\n channel);\n } else {\n float yFloor = floor(mapY);\n float xFloor = floor(mapX);\n float yCeil = yFloor + 1.0;\n float xCeil = xFloor + 1.0;\n float valueYFloor = (xCeil - mapX) *\n readWithFillValue(batch, int(yFloor), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yFloor), int(xCeil), channel);\n float valueYCeil = (xCeil - mapX) *\n readWithFillValue(batch, int(yCeil), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yCeil), int(xCeil), channel);\n outputValue = (yCeil - mapY) * valueYFloor +\n (mapY - yFloor) * valueYCeil;\n }\n }\n setOutput(outputValue);\n }\n `}};function LZ(r){let{inputs:e,backend:t,attrs:o}=r,{image:n,transforms:s}=e,{interpolation:a,fillMode:i,fillValue:p,outputShape:u}=o,[c,l,m,d]=n.shape,[f,h]=u!=null?u:[l,m],g=[c,f,h,d],x=new gg(l,m,a,i,p,g);return t.runWebGLProgram(x,[n,s],\"float32\")}var uD={kernelName:Jn,backendName:\"webgl\",kernelFunc:LZ};function BZ(r){let{inputs:e,attrs:t,backend:o}=r,{axis:n}=t,{x:s}=e;is(s,\"unique\"),console.warn(\"WARNING: \",\"UI might be locked temporarily as data is being downloaded\");let a=o.readSync(s.dataId),{outputValues:i,outputShape:p,indices:u}=w$(a,n,s.shape,s.dtype);return[o.makeTensorInfo(p,s.dtype,i),o.makeTensorInfo([u.length],\"int32\",u)]}var pD={kernelName:kp,backendName:\"webgl\",kernelFunc:BZ};function VZ(r){let{inputs:e,backend:t,attrs:o}=r,{value:n}=e,{axis:s}=o;s<0&&(s+=n.shape.length);let a=n,i=a.shape.length,p=n.shape[s],u=new Array(i-1),c=0;for(let h=0;ht.disposeIntermediateTensorInfo(h)),f}var cD={kernelName:Rs,backendName:\"webgl\",kernelFunc:VZ};var xg=class{constructor(e,t){this.variableNames=[\"x\",\"segmentIds\"];let o=e.windowSize,n=e.batchSize,s=e.inSize,a=e.numSegments,i=a*Math.ceil(s/o);this.outputShape=[n,i];let p=\"0.0\",u=\"sumValue\",c=Math.floor(o/4)*4,l=o%4,m=`\n sumValue += dot(values, segFilter);\n `,d=\"\";s%o>0&&(d=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `);let f=\"\";s%o>0&&(f=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return -1.0;\n }\n `),this.userCode=`\n const float initializationValue = ${p};\n\n float getValue(int batch, int inIdx) {\n ${d}\n return getX(batch, inIdx);\n }\n\n float getSegmentIdAtIndex(int inIdx) {\n ${f}\n return getSegmentIds(inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = int(floor(float(outIdx) / float(\n ${a})) * float(${o}));\n int currentSeg = int(mod(float(outIdx), float(${a})));\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${c}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 3)) == currentSeg ? 1 : 0\n );\n\n ${m}\n }\n\n int inIdx = inOffset + ${c};\n if (${l===1}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n int inIdxSeg = int(getSegmentIdAtIndex(inIdx));\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n 0,\n 0,\n 0\n );\n\n ${m}\n } else if (${l===2}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n 0,\n 0\n );\n\n ${m}\n } else if (${l===3}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n 0\n );\n\n ${m}\n }\n setOutput(${u});\n }\n `}};function zZ(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,segmentIds:s}=e,{numSegments:a}=o,i=n.shape.length,p=[],u=0,c=S.getAxesPermutation([u],i),l=n;c!=null&&(l=xt({inputs:{x:n},backend:t,attrs:{perm:c}}),p.push(l),u=S.getInnerMostAxes(1,i)[0]);let m=S.segment_util.computeOutShape(l.shape,u,a),d=y.sizeFromShape([l.shape[u]]),f=te({inputs:{x:l},backend:t,attrs:{shape:[-1,d]}});p.push(f);let h=ka(n.dtype),g=(w,k,_,$,A)=>{let R=w.shape[0],D=w.shape[1],P=S.segment_util.segOpComputeOptimalWindowSize(D,A),M={windowSize:P,inSize:D,batchSize:R,numSegments:A},L=new xg(M,k),W=t.compileAndRun(L,[w,_],$);if(p.push(W),W.shape[1]===A)return W;let V=Bw({backend:t,attrs:{start:0,stop:A,step:1,dtype:\"float32\"}}),U=Vw({inputs:{x:V},backend:t,attrs:{reps:[D/P]}});return p.push(V),p.push(U),g(W,k,U,$,A)},x=g(f,\"unsortedSegmentSum\",s,h,a),b=te({inputs:{x},backend:t,attrs:{shape:m}}),C=b;if(c!=null){p.push(b);let w=S.getUndoAxesPermutation(c);C=xt({inputs:{x:C},backend:t,attrs:{perm:w}})}return p.forEach(w=>t.disposeIntermediateTensorInfo(w)),C}var lD={kernelName:Np,backendName:\"webgl\",kernelFunc:zZ};var WZ=[Y$,Z$,J$,eA,rA,oA,nA,sA,uA,pA,cA,lA,mA,dA,fA,hA,gA,xA,yA,bA,CA,wA,IA,vA,_A,$A,AA,V$,FA,OA,PA,MA,LA,BA,VA,zA,WA,UA,GA,KA,jA,XA,YA,QA,ZA,JA,eR,tR,rR,oR,nR,sR,aR,iR,uR,cR,lR,mR,dR,hR,gR,xR,yR,bR,CR,SR,wR,IR,B$,vR,DA,kR,NR,TR,z$,_R,ER,$R,AR,RR,FR,DR,OR,PR,MR,BR,VR,zR,WR,UR,GR,qR,jR,XR,YR,QR,ZR,oF,G$,nF,sF,aF,iF,kA,uF,lF,mF,dF,fF,W$,hF,gF,xF,yF,bF,NA,JR,CF,SF,wF,q$,IF,vF,kF,NF,TF,_F,EF,$F,AF,RF,FF,DF,OF,PF,MF,LF,SA,rF,BF,VF,zF,WF,UF,GF,HF,qF,jF,XF,QF,ZF,JF,eD,tD,rD,tF,j$,oD,nD,sD,iD,uD,X$,pD,cD,lD,pF];for(let r of WZ)Ia(r);var Fe;(function(r){r[r.float32=0]=\"float32\",r[r.int32=1]=\"int32\",r[r.bool=2]=\"bool\",r[r.string=3]=\"string\",r[r.complex64=4]=\"complex64\"})(Fe||(Fe={}));var Wi;(function(r){r[r.linear=0]=\"linear\",r[r.relu=1]=\"relu\",r[r.relu6=2]=\"relu6\",r[r.prelu=3]=\"prelu\",r[r.leakyrelu=4]=\"leakyrelu\",r[r.sigmoid=5]=\"sigmoid\",r[r.elu=6]=\"elu\"})(Wi||(Wi={}));var mD;function UZ(r){mD=r.wasm.cwrap(fo,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function GZ(r){let{inputs:e,backend:t,attrs:o}=r,{a:n,b:s,bias:a,preluActivationWeights:i}=e;if(n.dtype!==\"float32\"||s.dtype!==\"float32\")throw new Error(\"_FusedMatMul for non non-float32 tensors not yet supported.\");let{transposeA:p,transposeB:u,activation:c,leakyreluAlpha:l}=o,m=t.dataIdMap.get(n.dataId).id,d=t.dataIdMap.get(s.dataId).id,f=0;if(a!=null){let A=t.dataIdMap.get(a.dataId);if(A.shape.length!==1)throw new Error(`_FusedMatMul only supports rank-1 bias but got rank ${A.shape.length}.`);f=A.id}let h=i==null?0:t.dataIdMap.get(i.dataId).id,g=Wi[c];if(g==null)throw new Error(`${c} activation not yet supported for FusedConv2D in the wasm backend.`);let x=p?n.shape[2]:n.shape[1],b=u?s.shape[1]:s.shape[2],C=br.assertAndGetBroadcastShape(n.shape.slice(0,-2),s.shape.slice(0,-2)),w=t.makeOutput([...C,x,b],n.dtype),k=t.dataIdMap.get(w.dataId).id,_=new Uint8Array(new Int32Array(n.shape).buffer),$=new Uint8Array(new Int32Array(s.shape).buffer);return mD(m,_,n.shape.length,d,$,s.shape.length,p,u,g,f,h,l||0,k),w}var dD={kernelName:fo,backendName:\"wasm\",setupFunc:UZ,kernelFunc:GZ};function Ve(r,e){let t;function o(s){t=s.wasm.cwrap(r,null,[\"number\",\"number\",\"number\"])}function n(s){let{backend:a,inputs:{x:i}}=s,p=a.dataIdMap.get(i.dataId).id,u=a.makeOutput(i.shape,e||i.dtype),c=a.dataIdMap.get(u.dataId).id;return y.sizeFromShape(u.shape)===0||t(p,Fe[i.dtype],c),u}return{kernelName:r,backendName:\"wasm\",setupFunc:o,kernelFunc:n}}var fD=Ve(gs);function rt(r,e,t){let o;function n(a){o=a.wasm.cwrap(r,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\"])}function s(a){let{backend:i,inputs:p}=a,{a:u,b:c}=p,l=i.dataIdMap.get(u.dataId).id,m=i.dataIdMap.get(c.dataId).id,d=t!=null?t:u.dtype,f=S.assertAndGetBroadcastShape(u.shape,c.shape),h=i.makeOutput(f,d);if(y.sizeFromShape(f)===0)return h;let g=new Uint8Array(new Int32Array(u.shape).buffer),x=new Uint8Array(new Int32Array(c.shape).buffer),b=i.dataIdMap.get(h.dataId).id;return(()=>o(l,g,u.shape.length,m,x,c.shape.length,Fe[u.dtype],b))(),h}return{kernelName:r,backendName:\"wasm\",setupFunc:n,kernelFunc:s}}var HZ=!0,hD=rt(eo,HZ);var gD;function qZ(r){gD=r.wasm.cwrap(Mo,null,[\"array\",\"number\",\"number\",\"number\"])}function KZ(r){let{inputs:e,backend:t}=r,o=t.makeOutput(e[0].shape,e[0].dtype);if(y.sizeFromShape(o.shape)===0)return o;let n=e.map(i=>t.dataIdMap.get(i.dataId).id),s=new Uint8Array(new Int32Array(n).buffer),a=t.dataIdMap.get(o.dataId).id;return gD(s,n.length,Fe[o.dtype],a),o}var xD={kernelName:Mo,backendName:\"wasm\",setupFunc:qZ,kernelFunc:KZ};function Vu(r){let{inputs:{x:e},backend:t}=r;if(e.dtype===\"string\")return nr(t.readSync(e.dataId),e.shape,e.dtype);let o=t.makeOutput(e.shape,e.dtype),n=t.typedArrayFromHeap(e);return t.typedArrayFromHeap(o).set(n),o}var yD={kernelName:mo,backendName:\"wasm\",kernelFunc:Vu};var bD;function jZ(r){bD=r.wasm.cwrap(ro,null,[\"number\",\"array\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function uo(r){let{inputs:e,backend:t,attrs:o}=r,[n,s]=YZ(e.x.shape,o.perm),a=!0;for(let f=0;f=n&&(s===-1||o[s]>o[a])&&(s=a);o[s]=n}return[t,o]}var CD={kernelName:ro,backendName:\"wasm\",kernelFunc:uo,setupFunc:jZ};function kr(r,e,t){let o=r.shape,n=r.shape.length,s=y.parseAxisParam(e,o),a=s,i=S.getAxesPermutation(a,n),p=null,u=!1;if(i!=null){let c=new Array(n);for(let d=0;d`new shape: ${a}, old shape: ${o.shape}. New shape and old shape must have the same number of elements.`),r.backend.incRef(o.dataId),{dataId:o.dataId,shape:a,dtype:o.dtype}}var ED={kernelName:Ns,backendName:\"wasm\",kernelFunc:Mt};var $D;function s9(r){$D=r.wasm.cwrap(Wo,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\"])}function a9(r){let{inputs:e,backend:t,attrs:o}=r,{a:n,b:s}=e,{transposeA:a,transposeB:i}=o;if(n.dtype!==\"float32\"||s.dtype!==\"float32\")throw new Error(\"BatchMatMul for non non-float32 tensors not yet supported.\");let p=n.shape.length,u=s.shape.length,c=a?n.shape[p-2]:n.shape[p-1],l=i?s.shape[u-1]:s.shape[u-2],m=a?n.shape[p-1]:n.shape[p-2],d=i?s.shape[u-2]:s.shape[u-1],f=n.shape.slice(0,-2),h=s.shape.slice(0,-2),g=y.sizeFromShape(f),x=y.sizeFromShape(h),C=br.assertAndGetBroadcastShape(n.shape.slice(0,-2),s.shape.slice(0,-2)).concat([m,d]);y.assert(c===l,()=>`Error in matMul: inner shapes (${c}) and (${l}) of Tensors with shapes ${n.shape} and ${s.shape} and transposeA=${a} and transposeB=${i} must match.`);let w=a?[g,c,m]:[g,m,c],k=i?[x,d,l]:[x,l,d],_=Mt({inputs:{x:n},backend:t,attrs:{shape:w}}),$=Mt({inputs:{x:s},backend:t,attrs:{shape:k}}),A=t.dataIdMap.get(_.dataId).id,R=t.dataIdMap.get($.dataId).id,D=a?_.shape[2]:_.shape[1],P=i?$.shape[1]:$.shape[2],M=Math.max(g,x),L=t.makeOutput([M,D,P],_.dtype),W=t.dataIdMap.get(L.dataId).id,V=new Uint8Array(new Int32Array(_.shape).buffer),U=new Uint8Array(new Int32Array($.shape).buffer);return $D(A,V,_.shape.length,R,U,$.shape.length,a,i,W),t.disposeData(_.dataId),t.disposeData($.dataId),L.shape=C,L}var AD={kernelName:Wo,backendName:\"wasm\",setupFunc:s9,kernelFunc:a9};function Eo(r){let{inputs:{x:e},attrs:{begin:t,size:o},backend:n}=r,[s,a]=ut.parseSliceParams(e,t,o),i=ut.isSliceContinous(e.shape,s,a),p=n.readSync(e.dataId),u=n.makeOutput(a,e.dtype),c=y.computeStrides(e.shape),l=n.dataIdMap.get(u.dataId);if(i){let f=ut.computeFlatOffset(s,c);return e.dtype===\"string\"?l.stringBytes=p.slice(f,f+y.sizeFromShape(a)):n.typedArrayFromHeap(u).set(p.subarray(f,f+y.sizeFromShape(a))),u}if(e.dtype===\"string\"){let f=vu(p,s,a,e.shape,e.dtype);return l.stringBytes=f,u}let m=n.typedArrayFromHeap(u),d=e.shape.length;if(d===2)i9(p,c[0],m,s,a);else if(d===3)u9(p,c[0],c[1],m,s,a);else if(d===4)p9(p,c[0],c[1],c[2],m,s,a);else{let f=vu(p,s,a,e.shape,e.dtype);m.set(f)}return u}function i9(r,e,t,o,n){let s=0,a=o[0],i=o[1],p=a+n[0];for(let u=a;ux*b),p=S.getReshaped(n.shape,s,i),u=S.getPermuted(p.length,s.length),c=S.getReshapedPermuted(n.shape,s,i),l=S.getSliceBeginCoords(a,s.length),m=S.getSliceSize(c,a,s.length),d=Mt({inputs:{x:n},backend:t,attrs:{shape:p}}),f=uo({inputs:{x:d},backend:t,attrs:{perm:u}}),h=Mt({inputs:{x:f},backend:t,attrs:{shape:c}}),g=Eo({inputs:{x:h},backend:t,attrs:{begin:l,size:m}});return t.disposeData(d.dataId),t.disposeData(f.dataId),t.disposeData(d.dataId),g}var FD={kernelName:xs,backendName:\"wasm\",kernelFunc:c9};function ls(r){let{inputs:{x:e},attrs:{dtype:t},backend:o}=r,n=o.makeOutput(e.shape,t),s=o.typedArrayFromHeap(e);return o.typedArrayFromHeap(n).set(s),n}var DD={kernelName:co,backendName:\"wasm\",kernelFunc:ls};var OD=Ve(Uo);var PD;function l9(r){PD=r.wasm.cwrap(lo,null,[\"number\",\"number\",\"number\",\"number\"])}function m9(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{clipValueMin:s,clipValueMax:a}=o,i=t.dataIdMap.get(n.dataId).id,p=t.makeOutput(n.shape,n.dtype),u=t.dataIdMap.get(p.dataId).id;return PD(i,s,a,u),p}var MD={kernelName:lo,backendName:\"wasm\",setupFunc:l9,kernelFunc:m9};function zw(r){let{inputs:e,backend:t}=r,o=y.parseAxisParam(r.attrs.axis,e[0].shape)[0],n=e.map(d=>d.shape);S.assertParamsConsistent(n,o);let s=S.computeOutShape(e.map(d=>d.shape),o),a=e.filter(d=>y.sizeFromShape(d.shape)>0);if(a.length===1)return Vu({inputs:{x:a[0]},backend:t});let i=t.makeOutput(s,e[0].dtype);if(y.sizeFromShape(s)===0)return i;if(a[0].dtype===\"string\"){let d=a.map(C=>{let k=[-1,y.sizeFromShape(C.shape.slice(o))];return Mt({inputs:{x:C},backend:t,attrs:{shape:k}})}),f=d.map(C=>({vals:t.readSync(C.dataId),shape:C.shape}));s=S.computeOutShape(d.map(C=>C.shape),1);let h=d[0].shape[0]===1,g=Su(f,s,e[0].dtype,h),x=S.computeOutShape(a.map(C=>C.shape),o);i.shape=x;let b=t.dataIdMap.get(i.dataId);return b.stringBytes=S.fromStringArrayToUint8(g),d.forEach(C=>t.disposeData(C.dataId)),i}let p=y.sizeFromShape(a[0].shape.slice(0,o)),u=0,c=a.map(d=>{let f=y.sizeFromShape(d.shape.slice(o));return u+=f,f}),l=a.map(d=>t.typedArrayFromHeap(d)),m=t.typedArrayFromHeap(i);for(let d=0;d`cumprod does not support ${n.dtype} tensors in the WASM backend`);let u=S.getAxesPermutation([s],p),c=n;u!==null&&(c=uo({inputs:{x:n},attrs:{perm:u},backend:t}));let l=S.getInnerMostAxes(1,p)[0];S.assertAxesAreInnerMostDims(\"cumprod\",[l],p);let m=t.makeOutput(c.shape,c.dtype),d=c.shape[l],f=t.dataIdMap.get(c.dataId).id,h=t.dataIdMap.get(m.dataId).id;KD(f,a?1:0,i?1:0,d,h,Fe[n.dtype]);let g=m;if(u!==null){let x=S.getUndoAxesPermutation(u);g=uo({inputs:{x:m},attrs:{perm:x},backend:t}),t.disposeData(c.dataId),t.disposeData(m.dataId)}return g}var jD={kernelName:jo,backendName:\"wasm\",setupFunc:b9,kernelFunc:C9};var XD;function S9(r){XD=r.wasm.cwrap(Xo,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function w9(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,exclusive:a,reverse:i}=o,p=n.shape.length;y.assert(n.dtype===\"float32\"||n.dtype===\"int32\",()=>`cumsum does not support ${n.dtype} tensors in the WASM backend`);let u=S.getAxesPermutation([s],p),c=n;u!==null&&(c=uo({inputs:{x:n},attrs:{perm:u},backend:t}));let l=S.getInnerMostAxes(1,p)[0];S.assertAxesAreInnerMostDims(\"cumsum\",[l],p);let m=t.makeOutput(c.shape,c.dtype),d=c.shape[l],f=t.dataIdMap.get(c.dataId).id,h=t.dataIdMap.get(m.dataId).id;XD(f,a?1:0,i?1:0,d,h,Fe[n.dtype]);let g=m;if(u!==null){let x=S.getUndoAxesPermutation(u);g=uo({inputs:{x:m},attrs:{perm:x},backend:t}),t.disposeData(c.dataId),t.disposeData(m.dataId)}return g}var YD={kernelName:Xo,backendName:\"wasm\",setupFunc:S9,kernelFunc:w9};var QD;function I9(r){QD=r.wasm.cwrap(Qo,null,[\"number\",\"number\",\"number\",\"array\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function v9(r){let{backend:e,inputs:t,attrs:o}=r,{x:n}=t,{blockSize:s,dataFormat:a}=o,i=n.shape[0],p=a===\"NHWC\"?n.shape[1]:n.shape[2],u=a===\"NHWC\"?n.shape[2]:n.shape[3],c=a===\"NHWC\"?n.shape[3]:n.shape[1],l=p*s,m=u*s,d=c/(s*s),f=a===\"NHWC\"?[i,l,m,d]:[i,d,l,m],h=e.makeOutput(f,\"float32\"),x=e.dataIdMap.get(n.dataId).id,b=new Uint8Array(new Int32Array(y.computeStrides(n.shape)).buffer),C=new Uint8Array(new Int32Array(f).buffer),w=new Uint8Array(new Int32Array(y.computeStrides(f)).buffer),k=e.dataIdMap.get(h.dataId).id;return QD(x,s,a===\"NHWC\"?1:0,b,n.shape.length-1,C,w,f.length,k),h}var ZD={kernelName:Qo,backendName:\"wasm\",setupFunc:I9,kernelFunc:v9};var JD;function k9(r){JD=r.wasm.cwrap(Zo,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function N9(r){let{inputs:e,attrs:t,backend:o}=r,{x:n,filter:s}=e,a=o.dataIdMap.get(n.dataId).id,i=o.dataIdMap.get(s.dataId).id,{strides:p,dilations:u,pad:c,dimRoundingMode:l}=t,m=u==null?[1,1]:u,d=S.computeConv2DInfo(n.shape,s.shape,p,m,c,l,!0),f=d.filterHeight,h=d.filterWidth,g=d.padInfo.top,x=d.padInfo.right,b=d.padInfo.bottom,C=d.padInfo.left,w=d.dilationHeight,k=d.dilationWidth,_=d.strideHeight,$=d.strideWidth,A=d.inChannels,R=d.outChannels,D=d.padInfo.type===\"SAME\"?1:0;if(d.dataFormat!==\"channelsLast\")throw new Error(`wasm backend DepthwiseConv2dNative does not support dataFormat:'${d.dataFormat}'. Please use 'channelsLast'.`);let P=o.makeOutput(d.outShape,\"float32\"),M=o.dataIdMap.get(P.dataId).id;return JD(a,n.shape[0],n.shape[1],n.shape[2],i,f,h,g,x,b,C,D,w,k,_,$,A,R,M),P}var eO={kernelName:Zo,backendName:\"wasm\",setupFunc:k9,kernelFunc:N9};var tO=Ve(en);var T9=!1,rO=rt(tn,T9,\"bool\");var oO=Ve(rn,\"float32\");function yg(r){let{inputs:e,attrs:t,backend:o}=r,{input:n}=e,{dim:s}=t,a=n.shape.length,i=n.shape.slice(),p=s;return s<0&&(y.assert(-(a+1)<=s,()=>`Axis must be in the interval [${-(a+1)}, ${a}]`),p=a+s+1),i.splice(p,0,1),Mt({inputs:{x:n},backend:o,attrs:{shape:i}})}var nO={kernelName:bs,backendName:\"wasm\",kernelFunc:yg};function Uw(r){let{attrs:{shape:e,value:t,dtype:o},backend:n}=r,s=n.makeOutput(e,o);return n.typedArrayFromHeap(s).fill(t),s}var sO={kernelName:Cs,backendName:\"wasm\",kernelFunc:Uw};var aO;function _9(r){aO=r.wasm.cwrap(on,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function E9(r){let{inputs:e,backend:t}=r,{image:o}=e,n=t.makeOutput(o.shape,o.dtype),s=t.dataIdMap.get(o.dataId).id,a=t.dataIdMap.get(n.dataId).id,[i,p,u,c]=o.shape;return aO(s,i,p,u,c,a),n}var iO={kernelName:on,backendName:\"wasm\",kernelFunc:E9,setupFunc:_9};var uO=Ve(nn);var $9=!1,pO=rt(sn,$9);var cO;function A9(r){cO=r.wasm.cwrap(an,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function R9(r){let{backend:e,inputs:t,attrs:o}=r,{varianceEpsilon:n}=o,{x:s,mean:a,variance:i,offset:p,scale:u}=t,c=e.dataIdMap.get(s.dataId).id,l=e.dataIdMap.get(a.dataId).id,m=e.dataIdMap.get(i.dataId).id,d=p!=null?e.dataIdMap.get(p.dataId).id:0,f=u!=null?e.dataIdMap.get(u.dataId).id:0,h=e.makeOutput(s.shape,s.dtype);if(y.sizeFromShape(s.shape)===0)return h;let g=e.dataIdMap.get(h.dataId).id;return cO(c,l,m,d,f,n,g),h}var lO={kernelName:an,backendName:\"wasm\",setupFunc:A9,kernelFunc:R9};var mO;function F9(r){mO=r.wasm.cwrap(ho,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function D9(r){let{inputs:e,attrs:t,backend:o}=r,{x:n,filter:s,bias:a,preluActivationWeights:i}=e,{strides:p,pad:u,dilations:c,dataFormat:l,dimRoundingMode:m,activation:d,leakyreluAlpha:f}=t,h=S.computeConv2DInfo(n.shape,s.shape,p,c,u,m),g=Wi[d];if(g==null)throw new Error(`${d} activation not yet supported for FusedConv2D in the wasm backend.`);let x=o.dataIdMap.get(n.dataId).id,b=o.dataIdMap.get(s.dataId).id,C=h.outChannels,w=0;if(a!=null){let Y=o.dataIdMap.get(a.dataId);if(Y.shape.length!==1)throw new Error(`FusedConv2D only supports rank-1 bias but got rank ${Y.shape.length}.`);if(Y.shape[0]!==C)throw new Error(`FusedConv2D bias shape (${Y.shape}) does not match the number of output channels (${C})`);w=Y.id}let k=h.filterHeight,_=h.filterWidth,$=h.padInfo.top,A=h.padInfo.right,R=h.padInfo.bottom,D=h.padInfo.left,P=h.dilationHeight,M=h.dilationWidth,L=h.strideHeight,W=h.strideWidth,V=h.inChannels,U=h.padInfo.type===\"SAME\"?1:0,q=h.batchSize,H=h.inHeight,j=h.inWidth;if(l!==\"NHWC\")throw new Error(`wasm backend FusedConv2D does not support dataFormat:'${l}'. Please use 'NHWC'.`);let X=o.makeOutput(h.outShape,\"float32\"),Z=o.dataIdMap.get(X.dataId).id,ee=i==null?0:o.dataIdMap.get(i.dataId).id;return mO(x,q,H,j,b,k,_,w,$,A,R,D,U,P,M,L,W,V,C,g,ee,f||0,Z),X}var dO={kernelName:ho,backendName:\"wasm\",setupFunc:F9,kernelFunc:D9};var fO;function O9(r){fO=r.wasm.cwrap(go,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function P9(r){let{inputs:e,attrs:t,backend:o}=r,{x:n,filter:s,bias:a,preluActivationWeights:i}=e,{strides:p,pad:u,dilations:c,dataFormat:l,dimRoundingMode:m,activation:d,leakyreluAlpha:f}=t,h=S.computeConv2DInfo(n.shape,s.shape,p,c,u,m,!0),g=Wi[d];if(g==null)throw new Error(`${d} activation not yet supported for FusedDepthwiseConv2D in the wasm backend.`);let x=o.dataIdMap.get(n.dataId).id,b=o.dataIdMap.get(s.dataId).id,C=h.outChannels,w=0;if(a!=null){let Y=o.dataIdMap.get(a.dataId);if(Y.shape.length!==1)throw new Error(`FusedDepthwiseConv2D only supports rank-1 bias but got rank ${Y.shape.length}.`);if(Y.shape[0]!==C)throw new Error(`FusedDepthwiseConv2D bias shape (${Y.shape}) does not match the number of output channels (${C})`);w=Y.id}let k=h.filterHeight,_=h.filterWidth,$=h.padInfo.top,A=h.padInfo.right,R=h.padInfo.bottom,D=h.padInfo.left,P=h.dilationHeight,M=h.dilationWidth,L=h.strideHeight,W=h.strideWidth,V=h.inChannels,U=h.padInfo.type===\"SAME\"?1:0,q=h.batchSize,H=h.inHeight,j=h.inWidth;if(l!==\"NHWC\")throw new Error(`wasm backend FusedDepthwiseConv2D does not support dataFormat:'${l}'. Please use 'NHWC'.`);let X=o.makeOutput(h.outShape,\"float32\"),Z=o.dataIdMap.get(X.dataId).id,ee=i==null?0:o.dataIdMap.get(i.dataId).id;return fO(x,q,H,j,b,k,_,w,$,A,R,D,U,P,M,L,W,V,C,g,ee,f||0,Z),X}var hO={kernelName:go,backendName:\"wasm\",setupFunc:O9,kernelFunc:P9};var gO;function M9(r){gO=r.wasm.cwrap(un,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function L9(r){let{backend:e,inputs:t}=r,{params:o,indices:n}=t,[s,a,i,p]=Ym.prepareAndValidate(o,n),u=e.makeOutput(s,o.dtype);if(a===0)return u;let c=n.shape,l=c[c.length-1],d=e.dataIdMap.get(o.dataId).id,h=e.dataIdMap.get(n.dataId).id,g=new Uint8Array(new Int32Array(p).buffer),x=e.dataIdMap.get(u.dataId).id;return gO(d,Fe[o.dtype],h,a,l,i,g,x),u}var xO={kernelName:un,backendName:\"wasm\",setupFunc:M9,kernelFunc:L9};var yO;function B9(r){yO=r.wasm.cwrap(\"Gather\",null,[\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function V9(r){let{backend:e,inputs:t,attrs:o}=r,{x:n,indices:s}=t,{axis:a,batchDims:i}=o,p=y.parseAxisParam(a,n.shape)[0],u=e.readSync(s.dataId),c=n.shape[p];for(let R=0;R=0,()=>`GatherV2: the index value ${D} is not in [0, ${c-1}]`)}let l=S.segment_util.collectGatherOpShapeInfo(n,s,p,i),m=Mt({inputs:{x:n},attrs:{shape:[l.batchSize,l.outerSize,l.dimSize,l.sliceSize]},backend:e}),d=y.sizeFromShape(s.shape),f=Mt({inputs:{x:s},attrs:{shape:[l.batchSize,d/l.batchSize]},backend:e}),h=[l.batchSize,l.outerSize,d/l.batchSize,l.sliceSize],g=e.makeOutput(h,n.dtype);if(y.sizeFromShape(n.shape)===0)return g;let x=m.shape.length-1,C=e.dataIdMap.get(m.dataId).id,k=e.dataIdMap.get(f.dataId).id,_=e.dataIdMap.get(g.dataId).id,$=new Uint8Array(new Int32Array(y.computeStrides(m.shape)).buffer),A=new Uint8Array(new Int32Array(y.computeStrides(h)).buffer);return yO(C,Fe[n.dtype],$,x,k,l.batchSize,A,_),e.disposeData(m.dataId),e.disposeData(f.dataId),g.shape=l.outputShape,g}var bO={kernelName:Ss,backendName:\"wasm\",setupFunc:B9,kernelFunc:V9};var z9=!1,CO=rt(pn,z9,\"bool\");var W9=!1,SO=rt(cn,W9,\"bool\");var wO=Ve(ln,\"bool\");var IO;function U9(r){IO=r.wasm.cwrap(mn,null,[\"number\",\"number\",\"number\",\"number\"])}function G9(r){let{inputs:{x:e},attrs:{alpha:t},backend:o}=r,n=o.dataIdMap.get(e.dataId).id,s=o.makeOutput(e.shape,\"float32\");if(y.sizeFromShape(e.shape)!==0){let a=o.dataIdMap.get(s.dataId).id;IO(n,Fe[e.dtype],t,a)}return s}var vO={kernelName:mn,backendName:\"wasm\",setupFunc:U9,kernelFunc:G9};var H9=!1,kO=rt(dn,H9,\"bool\");var q9=!1,NO=rt(fn,q9,\"bool\");var TO=Ve(hn);var K9=!1,_O=rt(gn,K9,\"bool\");var EO=Ve(xn);var j9=!1,$O=rt(xa,j9,\"bool\");var X9=!1,AO=rt(GI,X9,\"bool\");var RO;function Y9(r){RO=r.wasm.cwrap(yn,null,[\"number\",\"number\",\"number\",\"number\"])}function Q9(r){let{backend:e,inputs:t,attrs:o}=r,{reductionIndices:n,keepDims:s}=o,{x:a}=t,p=e.dataIdMap.get(a.dataId).id,u=a,{transposed:c,axes:l,originalAxes:m,inputWasTransposed:d}=kr(a,n,e);if(d){let C=e.dataIdMap.get(c.dataId).id;u=c,p=C}let f=u.shape.length;S.assertAxesAreInnerMostDims(\"max\",l,f);let[h,g]=S.computeOutAndReduceShapes(u.shape,l),x=y.sizeFromShape(g),b=e.makeOutput(h,a.dtype);if(y.sizeFromShape(u.shape)!==0){let C=e.dataIdMap.get(b.dataId).id;RO(p,Fe[a.dtype],x,C)}if(d&&e.disposeData(c.dataId),s){let C=S.expandShapeToKeepDim(b.shape,m);b.shape=C}return b}var FO={kernelName:yn,backendName:\"wasm\",setupFunc:Y9,kernelFunc:Q9};var Z9=!1,DO=rt(bn,Z9);var OO;function J9(r){OO=r.wasm.cwrap(Cn,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function eJ(r){let{inputs:e,attrs:t,backend:o}=r,n=e.x,s=o.dataIdMap.get(n.dataId).id;y.assert(n.dtype===\"float32\",()=>`Error in MaxPool: only float32 input is supported. Got ${n.dtype}.`);let{filterSize:a,strides:i,pad:p,dimRoundingMode:u}=t,c=S.computePool2DInfo(n.shape,a,i,1,p,u),l=c.filterHeight,m=c.filterWidth,d=c.padInfo.top,f=c.padInfo.right,h=c.padInfo.bottom,g=c.padInfo.left,x=c.dilationHeight,b=c.dilationWidth,C=c.strideHeight,w=c.strideWidth,k=c.inChannels,_=c.outChannels;if(c.dataFormat!==\"channelsLast\")throw new Error(`wasm backend does not support dataFormat:'${c.dataFormat}'. Please use 'channelsLast'.`);let $=o.makeOutput(c.outShape,\"float32\"),A=o.dataIdMap.get($.dataId).id;return OO(s,n.shape[0],n.shape[1],n.shape[2],l,m,d,f,h,g,x,b,C,w,k,_,A),$}var PO={kernelName:Cn,backendName:\"wasm\",setupFunc:J9,kernelFunc:eJ};var MO;function tJ(r){MO=r.wasm.cwrap(Sn,null,[\"number, number, number\"])}function rJ(r){let{backend:e,inputs:t,attrs:o}=r,{axis:n,keepDims:s}=o,{x:a}=t,i=e.dataIdMap.get(a.dataId).id,p=i,u=a,{transposed:c,axes:l,originalAxes:m,inputWasTransposed:d}=kr(a,n,e),f=l;if(d){let w=e.dataIdMap.get(c.dataId).id;w!==i&&(u=c,p=w,f=S.getInnerMostAxes(f.length,u.shape.length))}S.assertAxesAreInnerMostDims(\"mean\",f,u.shape.length);let[h,g]=S.computeOutAndReduceShapes(u.shape,f),x=y.sizeFromShape(g),b=u;u.dtype!==\"float32\"&&(b=ls({backend:e,inputs:{x:u},attrs:{dtype:\"float32\"}}),p=e.dataIdMap.get(b.dataId).id);let C=e.makeOutput(h,\"float32\");if(y.sizeFromShape(u.shape)!==0){let w=e.dataIdMap.get(C.dataId).id;MO(p,x,w)}if(d&&e.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(C.shape,m);C.shape=w}return u.dtype!==\"float32\"&&e.disposeData(b.dataId),C}var LO={kernelName:Sn,backendName:\"wasm\",setupFunc:tJ,kernelFunc:rJ};var BO;function oJ(r){BO=r.wasm.cwrap(wn,null,[\"number\",\"number\",\"number\",\"number\"])}function nJ(r){let{backend:e,inputs:t,attrs:o}=r,{axis:n,keepDims:s}=o,{x:a}=t,i=e.dataIdMap.get(a.dataId).id,p=i,u=a,{transposed:c,axes:l,originalAxes:m,inputWasTransposed:d}=kr(a,n,e);if(d){let C=e.dataIdMap.get(c.dataId).id;C!==i&&(u=c,p=C)}let f=u.shape.length;S.assertAxesAreInnerMostDims(\"min\",l,f);let[h,g]=S.computeOutAndReduceShapes(u.shape,l),x=y.sizeFromShape(g),b=e.makeOutput(h,u.dtype);if(y.sizeFromShape(u.shape)!==0){let C=e.dataIdMap.get(b.dataId).id;BO(p,Fe[a.dtype],x,C)}if(d&&e.disposeData(c.dataId),s){let C=S.expandShapeToKeepDim(b.shape,m);b.shape=C}return b}var VO={kernelName:wn,backendName:\"wasm\",setupFunc:oJ,kernelFunc:nJ};var sJ=!1,zO=rt(In,sJ);var Gw;(function(r){r[r.reflect=0]=\"reflect\",r[r.symmetric=1]=\"symmetric\"})(Gw||(Gw={}));var WO;function aJ(r){WO=r.wasm.cwrap(vn,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function iJ(r){let{inputs:{x:e},backend:t,attrs:{paddings:o,mode:n}}=r,s=o.map((f,h)=>f[0]+e.shape[h]+f[1]),a=t.dataIdMap.get(e.dataId).id,i=t.makeOutput(s,e.dtype),p=t.dataIdMap.get(i.dataId).id,u=new Uint8Array(new Int32Array(e.shape).buffer),c=o.map(f=>f[0]),l=o.map(f=>f[1]),m=new Uint8Array(new Int32Array(c).buffer),d=new Uint8Array(new Int32Array(l).buffer);return WO(a,u,e.shape.length,Fe[e.dtype],m,d,Gw[n],p),i}var UO={kernelName:vn,backendName:\"wasm\",kernelFunc:iJ,setupFunc:aJ};var uJ=!0,GO=rt(kn,uJ);var HO=Ve(ws);function Sc(r,e){let t=new Int32Array(r.wasm.HEAPU8.buffer,e,4),o=t[0],n=t[1],s=t[2],a=t[3];return r.wasm._free(e),{pSelectedIndices:o,selectedSize:n,pSelectedScores:s,pValidOutputs:a}}var qO;function pJ(r){qO=r.wasm.cwrap(Tn,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\"])}function cJ(r){let{backend:e,inputs:t,attrs:o}=r,{iouThreshold:n,maxOutputSize:s,scoreThreshold:a}=o,{boxes:i,scores:p}=t,u=e.dataIdMap.get(i.dataId).id,c=e.dataIdMap.get(p.dataId).id,l=qO(u,c,s,n,a),{pSelectedIndices:m,selectedSize:d,pSelectedScores:f,pValidOutputs:h}=Sc(e,l);return e.wasm._free(f),e.wasm._free(h),e.makeOutput([d],\"int32\",m)}var KO={kernelName:Tn,backendName:\"wasm\",setupFunc:pJ,kernelFunc:cJ};var jO;function lJ(r){jO=r.wasm.cwrap(ba,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\",\"bool\"])}function mJ(r){let{backend:e,inputs:t,attrs:o}=r,{iouThreshold:n,maxOutputSize:s,scoreThreshold:a,padToMaxOutputSize:i}=o,{boxes:p,scores:u}=t,c=e.dataIdMap.get(p.dataId).id,l=e.dataIdMap.get(u.dataId).id,m=jO(c,l,s,n,a,i),{pSelectedIndices:d,selectedSize:f,pSelectedScores:h,pValidOutputs:g}=Sc(e,m);e.wasm._free(h);let x=e.makeOutput([f],\"int32\",d),b=e.makeOutput([],\"int32\",g);return[x,b]}var XO={kernelName:ba,backendName:\"wasm\",setupFunc:lJ,kernelFunc:mJ};var YO;function dJ(r){YO=r.wasm.cwrap(_n,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function fJ(r){let{backend:e,inputs:t,attrs:o}=r,{iouThreshold:n,maxOutputSize:s,scoreThreshold:a,softNmsSigma:i}=o,{boxes:p,scores:u}=t,c=e.dataIdMap.get(p.dataId).id,l=e.dataIdMap.get(u.dataId).id,m=YO(c,l,s,n,a,i),{pSelectedIndices:d,selectedSize:f,pSelectedScores:h,pValidOutputs:g}=Sc(e,m);e.wasm._free(g);let x=e.makeOutput([f],\"int32\",d),b=e.makeOutput([f],\"float32\",h);return[x,b]}var QO={kernelName:_n,backendName:\"wasm\",setupFunc:dJ,kernelFunc:fJ};var hJ=!1,ZO=rt(Nn,hJ,\"bool\");var JO;function gJ(r){JO=r.wasm.cwrap(En,null,[\"number\",\"number\",\"number\",\"number\",\"number\"])}function xJ(r){let{inputs:e,backend:t,attrs:o}=r,{indices:n}=e,{dtype:s,depth:a,onValue:i,offValue:p}=o,u=t.makeOutput([...n.shape,a],s),c=t.dataIdMap.get(u.dataId).id,m=t.dataIdMap.get(n.dataId).id;return JO(m,a,i,p,c),u}var eP={kernelName:En,backendName:\"wasm\",setupFunc:gJ,kernelFunc:xJ};function yJ(r){let{inputs:{x:e},backend:t}=r,o=t.makeOutput(e.shape,e.dtype);return t.typedArrayFromHeap(o).fill(1),o}var tP={kernelName:Is,backendName:\"wasm\",kernelFunc:yJ};function bJ(r){let{inputs:e,backend:t,attrs:o}=r,{axis:n}=o;if(e.length===1)return yg({inputs:{input:e[0]},backend:t,attrs:{dim:n}});let s=e[0].shape,a=e[0].dtype;e.forEach(c=>{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(a===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let i=[],p=e.map(c=>{let l=yg({inputs:{input:c},backend:t,attrs:{dim:n}});return i.push(l),l}),u=zw({inputs:p,backend:t,attrs:{axis:n}});return i.forEach(c=>t.disposeData(c.dataId)),u}var rP={kernelName:vs,backendName:\"wasm\",kernelFunc:bJ};var oP;function CJ(r){oP=r.wasm.cwrap($n,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function SJ(r){let{inputs:{x:e},backend:t,attrs:{paddings:o,constantValue:n}}=r,s=o.map((h,g)=>h[0]+e.shape[g]+h[1]);if(y.sizeFromShape(e.shape)===0)return Uw({backend:t,attrs:{shape:s,value:n,dtype:e.dtype}});let a=t.dataIdMap.get(e.dataId).id,i=t.makeOutput(s,e.dtype),u=t.dataIdMap.get(i.dataId).id,c=new Uint8Array(new Int32Array(e.shape).buffer),l=o.map(h=>h[0]),m=o.map(h=>h[1]),d=new Uint8Array(new Int32Array(l).buffer),f=new Uint8Array(new Int32Array(m).buffer);return oP(a,c,e.shape.length,Fe[e.dtype],d,f,n,u),i}var bg={kernelName:$n,backendName:\"wasm\",kernelFunc:SJ,setupFunc:CJ};var wJ=!1,nP=rt(An,wJ);var sP;function IJ(r){sP=r.wasm.cwrap(Rn,null,[\"number\",\"number\",\"number\"])}function vJ(r){let{inputs:e,backend:t}=r,{x:o,alpha:n}=e,s=t.dataIdMap.get(o.dataId).id,a=t.dataIdMap.get(n.dataId).id,i=s,p=o,u=p;p.dtype!==\"float32\"&&(u=ls({backend:t,inputs:{x:o},attrs:{dtype:\"float32\"}}),i=t.dataIdMap.get(u.dataId).id);let c=t.makeOutput(o.shape,\"float32\"),l=t.dataIdMap.get(c.dataId).id;return sP(i,a,l),p.dtype!==\"float32\"&&t.disposeData(u.dataId),c}var aP={kernelName:Rn,backendName:\"wasm\",setupFunc:IJ,kernelFunc:vJ};var iP;function kJ(r){iP=r.wasm.cwrap(Fn,null,[\"number\",\"number\",\"number\",\"number\"])}function NJ(r){let{backend:e,inputs:t,attrs:o}=r,{axis:n,keepDims:s}=o,{x:a}=t,i=e.dataIdMap.get(a.dataId).id,p=i,u=a,{transposed:c,axes:l,originalAxes:m,inputWasTransposed:d}=kr(a,n,e),f=l;if(d){let C=e.dataIdMap.get(c.dataId).id;C!==i&&(u=c,p=C,f=S.getInnerMostAxes(f.length,u.shape.length))}S.assertAxesAreInnerMostDims(\"prod\",f,u.shape.length);let[h,g]=S.computeOutAndReduceShapes(u.shape,f),x=y.sizeFromShape(g),b=e.makeOutput(h,u.dtype);if(y.sizeFromShape(u.shape)!==0){let C=e.dataIdMap.get(b.dataId).id;iP(p,x,Fe[b.dtype],C)}if(d&&e.disposeData(c.dataId),s){let C=S.expandShapeToKeepDim(b.shape,m);b.shape=C}return b}var uP={kernelName:Fn,backendName:\"wasm\",setupFunc:kJ,kernelFunc:NJ};var TJ=r=>{let{backend:e,attrs:t}=r,{start:o,stop:n,step:s,dtype:a}=t,i=Iu(o,n,s,a),p=e.makeOutput([i.length],a);return e.typedArrayFromHeap(p).set(i),p},pP={kernelName:ks,backendName:\"wasm\",kernelFunc:TJ};var _J=!0,cP=rt(Jo,_J);var lP=Ve(Dn);var mP=Ve(On);var dP=Ve(Ln);var fP;function EJ(r){fP=r.wasm.cwrap(Mn,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function $J(r){let{backend:e,inputs:t,attrs:o}=r,{images:n}=t,{alignCorners:s,halfPixelCenters:a,size:i}=o,[p,u]=i,[c,l,m,d]=n.shape,f=[c,p,u,d],h=e.dataIdMap.get(n.dataId),g;h.dtype!==\"float32\"&&(g=ls({backend:e,inputs:{x:n},attrs:{dtype:\"float32\"}}),h=e.dataIdMap.get(g.dataId));let x=h.id,b=e.makeOutput(f,\"float32\");if(y.sizeFromShape(n.shape)===0)return b;let C=e.dataIdMap.get(b.dataId).id;return fP(x,c,l,m,d,p,u,s?1:0,a?1:0,C),g!=null&&e.disposeData(g.dataId),b}var hP={kernelName:Mn,backendName:\"wasm\",setupFunc:EJ,kernelFunc:$J};var gP;function AJ(r){gP=r.wasm.cwrap(Pn,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function RJ(r){let{backend:e,inputs:t,attrs:o}=r,{images:n}=t,{alignCorners:s,halfPixelCenters:a,size:i}=o,[p,u]=i,[c,l,m,d]=n.shape,f=[c,p,u,d],h=e.makeOutput(f,\"float32\");if(y.sizeFromShape(n.shape)===0)return h;let g=e.dataIdMap.get(n.dataId),x;g.dtype!==\"float32\"&&(x=ls({backend:e,inputs:{x:n},attrs:{dtype:\"float32\"}}),g=e.dataIdMap.get(x.dataId));let b=g.id,C=e.dataIdMap.get(h.dataId).id;return gP(b,c,l,m,d,p,u,s?1:0,a?1:0,C),x!=null&&e.disposeData(x.dataId),h}var xP={kernelName:Pn,backendName:\"wasm\",setupFunc:AJ,kernelFunc:RJ};var yP;function FJ(r){yP=r.wasm.cwrap(Bn,null,[\"number\",\"array\",\"number\",\"array\",\"number\",\"number\"])}function DJ(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{dims:s}=o,a=y.parseAxisParam(s,n.shape);if(n.shape.length===0)return Vu({inputs:{x:n},backend:t});let i=t.makeOutput(n.shape,n.dtype),p=t.dataIdMap.get(n.dataId).id,u=t.dataIdMap.get(i.dataId).id,c=new Uint8Array(new Int32Array(a).buffer),l=new Uint8Array(new Int32Array(n.shape).buffer);yP(p,c,a.length,l,n.shape.length,u);let m=Mt({inputs:{x:i},attrs:{shape:n.shape},backend:t});return t.disposeData(i.dataId),m}var bP={kernelName:Bn,backendName:\"wasm\",kernelFunc:DJ,setupFunc:FJ};var CP;function OJ(r){CP=r.wasm.cwrap(es,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"number\"])}function PJ(r){let{inputs:e,backend:t,attrs:o}=r,{image:n}=e,{radians:s,fillValue:a,center:i}=o,p=t.makeOutput(n.shape,n.dtype),u=t.dataIdMap.get(n.dataId).id,c=t.dataIdMap.get(p.dataId).id,[l,m,d,f]=n.shape,[h,g]=S.getImageCenter(i,m,d),x=a===0,b=255,C=typeof a==\"number\"?[a,a,a,x?0:b]:[...a,b],w=new Uint8Array(new Int32Array(C).buffer);return CP(u,l,m,d,f,s,h,g,w,C.length,c),p}var SP={kernelName:es,backendName:\"wasm\",kernelFunc:PJ,setupFunc:OJ};var wP=Ve(Ca);var IP=Ve(Vn);var vP;function MJ(r){vP=r.wasm.cwrap(zn,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"number\"])}function LJ(r){let{backend:e,inputs:t,attrs:o}=r,{indices:n,updates:s}=t,{shape:a}=o,i=e.makeOutput(a,s.dtype);if(y.sizeFromShape(a)===0)return i;let{sliceRank:p,numUpdates:u,sliceSize:c,strides:l,outputSize:m}=rl.calculateShapes(s,n,a),f=e.dataIdMap.get(n.dataId).id,g=e.dataIdMap.get(s.dataId).id,x=new Uint8Array(new Int32Array(l).buffer),b=e.dataIdMap.get(i.dataId).id;return vP(f,g,Fe[s.dtype],p,u,c,x,m,b),i}var kP={kernelName:zn,backendName:\"wasm\",setupFunc:MJ,kernelFunc:LJ};var NP;function BJ(r){NP=r.wasm.cwrap(\"SelectV2\",null,[\"number\",\"number\",\"number\",\"number\",\"number\"])}function VJ(r){let{inputs:e,backend:t}=r,{condition:o,t:n,e:s}=e,a=t.dataIdMap.get(o.dataId).id,i=t.dataIdMap.get(n.dataId).id,p=t.dataIdMap.get(s.dataId).id,u=t.makeOutput(n.shape,n.dtype),c=t.dataIdMap.get(u.dataId).id,l=o.shape.length,m=n.shape.length,d=l===0||l>1||m===1?1:y.sizeFromShape(n.shape.slice(1));return NP(a,i,p,d,c),u}var TP={kernelName:Ts,backendName:\"wasm\",kernelFunc:VJ,setupFunc:BJ};var _P;function zJ(r){_P=r.wasm.cwrap(Un,null,[\"number\",\"number\"])}function WJ(r){let{backend:e,inputs:{x:t}}=r,o=e.dataIdMap.get(t.dataId).id,n=e.makeOutput(t.shape,t.dtype),s=e.dataIdMap.get(n.dataId).id;return y.sizeFromShape(n.shape)===0||_P(o,s),n}var EP={kernelName:\"Sigmoid\",backendName:\"wasm\",setupFunc:zJ,kernelFunc:WJ};var $P=Ve(Wn);var AP;function UJ(r){AP=r.wasm.cwrap(qn,null,[\"number\",\"number\",\"number\",\"number\"])}function GJ(r){let{backend:e,inputs:{logits:t},attrs:{dim:o}}=r,n=e.dataIdMap.get(t.dataId).id,s=e.makeOutput(t.shape,t.dtype),a=e.dataIdMap.get(s.dataId).id,i=t.shape[o],p=y.sizeFromShape(t.shape)/i;return y.sizeFromShape(s.shape)===0||AP(n,a,i,p),s}var RP={kernelName:qn,backendName:\"wasm\",setupFunc:UJ,kernelFunc:GJ};function HJ(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{blockShape:s,paddings:a}=o,i=y.sizeFromShape(s),p=[[0,0]];p.push(...a);for(let _=1+s.length;_0?p+1:0;if(c<0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let l=n.shape.slice();l[0]=c;let m=t.dataIdMap.get(n.dataId).id,d=t.dataIdMap.get(s.dataId).id,f=t.dataIdMap.get(a.dataId).id,h=t.makeOutput(l,n.dtype),g=t.dataIdMap.get(h.dataId).id,x=t.makeOutput([4],\"int32\"),b=t.dataIdMap.get(x.dataId).id;LP(m,Fe[n.dtype],n.shape[0],d,f,g,b,e,0);let C=t.readSync(x.dataId),w;switch(C[0]){case 0:{w=S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage();break}case 1:{w=S.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage();break}case 2:w=S.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(C[1],C[2]);break;case 3:w=S.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(C[1],C[2],C[3]);break;default:w=\"\"}if(t.disposeData(x.dataId),w)throw t.disposeData(h.dataId),new Error(w);return h}function YJ(r){return Sg(r,!0)}var BP={kernelName:pi,backendName:\"wasm\",setupFunc:Cg,kernelFunc:YJ};function QJ(r){return Sg(r,!1)}var VP={kernelName:ci,backendName:\"wasm\",setupFunc:Cg,kernelFunc:QJ};function ZJ(r){let{inputs:e,attrs:t,backend:o}=r,{x:n}=e,{numOrSizeSplits:s,axis:a}=t,i=y.parseAxisParam(a,n.shape)[0],p=S.prepareSplitSize(n,s,i),u=new Array(n.shape.length).fill(0),c=n.shape.slice();return p.map(l=>{let m=[...c];m[i]=l;let d=Eo({inputs:{x:n},attrs:{begin:u,size:m},backend:o});return u[i]+=l,d})}var zP={kernelName:$s,backendName:\"wasm\",kernelFunc:ZJ};var WP=Ve(Gn);var UP=Ve(mi);var JJ=!0,GP=rt(Kn,JJ);var HP;function eee(r){HP=r.wasm.cwrap(Ds,null,[\"number\",\"number\",\"number\",\"number\"])}function tee(r){let{backend:e,inputs:t,attrs:o}=r,{alpha:n}=o,{x:s}=t,a=e.dataIdMap.get(s.dataId).id,i=e.makeOutput(s.shape,s.dtype),p=e.dataIdMap.get(i.dataId).id;return HP(a,n,Fe[s.dtype],p),i}var qP={kernelName:Ds,backendName:\"wasm\",setupFunc:eee,kernelFunc:tee};var KP;function ree(r){KP=r.wasm.cwrap(jn,null,[\"number\",\"array\",\"number\",\"array\",\"array\",\"array\",\"array\",\"array\",\"number\",\"number\"])}function oee(r){let{backend:e,inputs:t,attrs:o}=r,{x:n}=t,{begin:s,end:a,strides:i,beginMask:p,endMask:u,ellipsisMask:c,newAxisMask:l,shrinkAxisMask:m}=o,{finalShapeSparse:d,finalShape:f,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:C,strides:w}=ut.sliceInfo(n.shape,s,a,i,p,u,c,l,m),k;if(h)k=Mt({inputs:{x:n},backend:e,attrs:{shape:f}});else if(g||x){y.assert(n.shape.length>=1,()=>`Input must have rank at least 1, got: ${n.shape.length}`);let _=ut.computeOutShape(b,C,w),$=Eo({inputs:{x:n},backend:e,attrs:{begin:b,size:_}});k=Mt({inputs:{x:$},backend:e,attrs:{shape:f}}),e.disposeData($.dataId)}else{let _=e.makeOutput(d,\"float32\"),$=e.dataIdMap.get(n.dataId).id,A=new Uint8Array(new Int32Array(y.computeStrides(n.shape)).buffer),R=new Uint8Array(new Int32Array(b).buffer),D=new Uint8Array(new Int32Array(C).buffer),P=new Uint8Array(new Int32Array(w).buffer),M=new Uint8Array(new Int32Array(d).buffer),L=new Uint8Array(new Int32Array(y.computeStrides(d)).buffer),W=e.dataIdMap.get(_.dataId).id;KP($,A,n.shape.length,R,D,P,M,L,d.length,W),k=Mt({inputs:{x:_},backend:e,attrs:{shape:f}}),e.disposeData(_.dataId)}return k}var jP={kernelName:jn,backendName:\"wasm\",setupFunc:ree,kernelFunc:oee};function nee(r){let{backend:e,inputs:t,attrs:o}=r,{data:n,dataSplits:s}=t,{separator:a,nGramWidths:i,leftPad:p,rightPad:u,padWidth:c,preserveShortSequences:l}=o,m=e.readSync(n.dataId),d=e.readSync(s.dataId),[f,h]=ku(m,d,a,i,p,u,c,l),g=e.makeOutput([f.length],\"string\"),x=e.dataIdMap.get(g.dataId);x.stringBytes=f;let b=e.makeOutput(s.shape,\"int32\");return e.typedArrayFromHeap(b).set(h),[g,b]}var XP={kernelName:As,backendName:\"wasm\",kernelFunc:nee};function see(r){let{backend:e,inputs:t,attrs:o}=r,{input:n,delimiter:s}=t,{skipEmpty:a}=o,i=e.readSync(n.dataId),p=e.readSync(s.dataId),[u,c,l]=Nu(i,p[0],a),m=c.length,d=e.makeOutput([m,2],\"int32\");e.typedArrayFromHeap(d).set(u);let h=e.makeOutput([m],\"string\"),g=e.dataIdMap.get(h.dataId);g.stringBytes=c;let x=e.makeOutput([2],\"int32\");return e.typedArrayFromHeap(x).set(l),[d,h,x]}var YP={kernelName:di,backendName:\"wasm\",kernelFunc:see};function aee(r){let{backend:e,inputs:t,attrs:o}=r,{input:n}=t,{numBuckets:s}=o,a=e.readSync(n.dataId),i=Tu(a,s),p=e.makeOutput(n.shape,\"int32\");return e.typedArrayFromHeap(p).set(i),p}var QP={kernelName:fi,backendName:\"wasm\",kernelFunc:aee};var iee=!0,ZP=rt(Xn,iee);var JP;function uee(r){JP=r.wasm.cwrap(Hn,null,[\"number\",\"number\",\"number\",\"number\"])}function pee(r){let{backend:e,inputs:t,attrs:o}=r,{axis:n,keepDims:s}=o,{x:a}=t,i=e.dataIdMap.get(a.dataId).id,p=i,u=a,{transposed:c,axes:l,originalAxes:m,inputWasTransposed:d}=kr(a,n,e),f=l;if(d){let C=e.dataIdMap.get(c.dataId).id;C!==i&&(u=c,p=C,f=S.getInnerMostAxes(f.length,u.shape.length))}S.assertAxesAreInnerMostDims(\"sum\",f,u.shape.length);let[h,g]=S.computeOutAndReduceShapes(u.shape,f),x=y.sizeFromShape(g),b=e.makeOutput(h,u.dtype);if(y.sizeFromShape(u.shape)!==0){let C=e.dataIdMap.get(b.dataId).id;JP(p,x,Fe[b.dtype],C)}if(d&&e.disposeData(c.dataId),s){let C=S.expandShapeToKeepDim(b.shape,m);b.shape=C}return b}var e3={kernelName:Hn,backendName:\"wasm\",setupFunc:uee,kernelFunc:pee};var t3=Ve(Yn);var r3=Ve(Qn);var o3;function cee(r){o3=r.wasm.cwrap(to,null,[\"number\",\"array\",\"number\",\"array\",\"number\",\"number\"])}function lee(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,s=t.dataIdMap.get(n.dataId).id,{reps:a}=o,i=new Array(n.shape.length);for(let m=0;m{let{x:o}=r,{k:n,sorted:s}=t,a=e.dataIdMap.get(o.dataId).id,i=new Uint8Array(new Int32Array(o.shape).buffer),p=o.shape.slice();p[p.length-1]=n;let u=e.makeOutput(p,o.dtype),c=e.dataIdMap.get(u.dataId).id,l=e.makeOutput(p,\"int32\"),m=e.dataIdMap.get(l.dataId).id;return s3(a,i,o.shape.length,Fe[o.dtype],n,s,c,m),[u,l]},a3={kernelName:Zn,backendName:\"wasm\",setupFunc:mee,kernelFunc:dee};var i3;function fee(r){i3=r.wasm.cwrap(Jn,null,[\"number\",\"number\",\"bool\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function hee(r){let{backend:e,inputs:t,attrs:o}=r,{image:n,transforms:s}=t,{interpolation:a,fillMode:i,fillValue:p,outputShape:u}=o,[c,l,m,d]=n.shape,[f,h]=u!=null?u:[l,m],g=[c,f,h,d],x=new Uint8Array(new Int32Array(y.computeStrides(n.shape)).buffer),b=new Uint8Array(new Int32Array(y.computeStrides(g)).buffer),C=e.makeOutput(g,n.dtype),w=e.dataIdMap.get(C.dataId).id,_=e.dataIdMap.get(n.dataId).id,A=e.dataIdMap.get(s.dataId).id,R=a===\"nearest\"?1:2,D;switch(i){case\"constant\":D=1;break;case\"reflect\":D=2;break;case\"wrap\":D=3;break;case\"nearest\":D=4;break;default:D=1;break}return i3(_,A,s.shape[0]>1,c,f,h,d,m,l,x,n.shape.length-1,b,g.length-1,R,D,p,w),C}var u3={kernelName:Jn,backendName:\"wasm\",setupFunc:fee,kernelFunc:hee};function gee(r){let{inputs:e,backend:t,attrs:o}=r,{value:n}=e,{axis:s}=o;s<0&&(s+=n.shape.length);let a=n.shape[s],i=n.shape.length,p=new Array(i-1),u=0;for(let d=0;d({dataId:d,dtype:f,shape:p}))}var p3={kernelName:Rs,backendName:\"wasm\",kernelFunc:gee};function xee(r){let{inputs:{x:e},backend:t}=r,o=t.makeOutput(e.shape,e.dtype);return t.typedArrayFromHeap(o).fill(0),o}var c3={kernelName:Fs,backendName:\"wasm\",kernelFunc:xee};var yee=[dD,fD,hD,xD,wD,vD,ND,_D,AD,FD,DD,OD,MD,LD,VD,WD,UD,GD,qD,jD,YD,ZD,eO,tO,rO,oO,nO,sO,iO,uO,pO,lO,dO,hO,xO,bO,CO,SO,yD,wO,vO,kO,NO,TO,_O,EO,$O,AO,FO,DO,PO,LO,VO,zO,UO,GO,HO,KO,XO,QO,ZO,eP,tP,rP,bg,nP,aP,uP,pP,cP,lP,mP,dP,ED,hP,xP,bP,SP,wP,IP,kP,TP,EP,$P,RD,RP,FP,OP,MP,BP,VP,zP,WP,UP,GP,qP,jP,XP,YP,QP,ZP,e3,t3,r3,n3,a3,u3,CD,p3,c3];for(let r of yee)Ia(r);var Hw=O();Hw.registerFlag(\"WASM_HAS_SIMD_SUPPORT\",async()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11]))}catch(r){return!1}});Hw.registerFlag(\"WASM_HAS_MULTITHREAD_SUPPORT\",async()=>{if(Hw.get(\"IS_NODE\"))return!1;try{return new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch(r){return!1}});var Zw=rp(f3()),C3=rp(g3()),Jw=rp(x3());var y3=Zw.default||Zw,bee=Jw.default||Jw,Pl=class extends Zr{constructor(e){super(),this.wasm=e,this.dataIdNextNumber=1,this.wasm.tfjs.initWithThreadsCount(w3),Qw=this.wasm.tfjs.getThreadsCount(),this.dataIdMap=new Do(this,cr())}write(e,t,o){let n={id:this.dataIdNextNumber++};return this.move(n,e,t,o,1),n}numDataIds(){return this.dataIdMap.numDataIds()}async time(e){let t=y.now();return e(),{kernelMs:y.now()-t}}move(e,t,o,n,s){let a=this.dataIdNextNumber++;if(n===\"string\"){let c=t;this.dataIdMap.set(e,{id:a,stringBytes:c,shape:o,dtype:n,memoryOffset:null,refCount:s});return}let i=y.sizeFromShape(o),p=i*y.bytesPerElement(n),u=this.wasm._malloc(p);this.dataIdMap.set(e,{id:a,memoryOffset:u,shape:o,dtype:n,refCount:s}),this.wasm.tfjs.registerTensor(a,i,u),t!=null&&this.wasm.HEAPU8.set(new Uint8Array(t.buffer,t.byteOffset,p),u)}async read(e){return this.readSync(e)}readSync(e,t,o){let{memoryOffset:n,dtype:s,shape:a,stringBytes:i}=this.dataIdMap.get(e);if(s===\"string\")return(t==null||t===0)&&(o==null||o>=i.length)?i:i.slice(t,o);t=t||0,o=o||y.sizeFromShape(a);let p=y.bytesPerElement(s),u=this.wasm.HEAPU8.slice(n+t*p,n+o*p);return See(u.buffer,s)}disposeData(e,t=!1){if(this.dataIdMap.has(e)){let o=this.dataIdMap.get(e);if(o.refCount--,!t&&o.refCount>0)return!1;this.wasm._free(o.memoryOffset),this.wasm.tfjs.disposeData(o.id),this.dataIdMap.delete(e)}return!0}refCount(e){return this.dataIdMap.has(e)?this.dataIdMap.get(e).refCount:0}incRef(e){let t=this.dataIdMap.get(e);t!=null&&t.refCount++}floatPrecision(){return 32}getMemoryOffset(e){return this.dataIdMap.get(e).memoryOffset}dispose(){this.wasm.tfjs.dispose(),\"PThread\"in this.wasm&&this.wasm.PThread.terminateAllThreads(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(e,t,o){let n;if(o==null)n=this.write(null,e,t);else{let s=this.dataIdNextNumber++;n={id:s},this.dataIdMap.set(n,{id:s,memoryOffset:o,shape:e,dtype:t,refCount:1});let a=y.sizeFromShape(e);this.wasm.tfjs.registerTensor(s,a,o)}return{dataId:n,shape:e,dtype:t}}typedArrayFromHeap({shape:e,dtype:t,dataId:o}){let n=this.wasm.HEAPU8.buffer,{memoryOffset:s}=this.dataIdMap.get(o),a=y.sizeFromShape(e);switch(t){case\"float32\":return new Float32Array(n,s,a);case\"int32\":return new Int32Array(n,s,a);case\"bool\":return new Uint8Array(n,s,a);default:throw new Error(`Unknown dtype ${t}`)}}};function Cee(r){return(e,t)=>(y.fetch(r,{credentials:\"same-origin\"}).then(o=>{o.ok||e.env.a(`failed to load wasm binary file at '${r}'`),o.arrayBuffer().then(n=>{WebAssembly.instantiate(n,e).then(s=>{t(s.instance,s.module)})})}),{})}function b3(r,e,t){if(vg!=null)return vg;let o=\"tfjs-backend-wasm.wasm\";return r&&e?o=\"tfjs-backend-wasm-threaded-simd.wasm\":r&&(o=\"tfjs-backend-wasm-simd.wasm\"),Dl!=null&&Dl[o]!=null?Dl[o]:t+o}async function S3(){let[r,e]=await Promise.all([O().getAsync(\"WASM_HAS_SIMD_SUPPORT\"),O().getAsync(\"WASM_HAS_MULTITHREAD_SUPPORT\")]);return new Promise((t,o)=>{let n={};n.locateFile=(i,p)=>{if(i.endsWith(\".worker.js\")){let u=C3.wasmWorkerContents.replace(/\\n/g,\"\\\\n\"),c=new Blob([u],{type:\"application/javascript\"});return URL.createObjectURL(c)}return i.endsWith(\".wasm\")?b3(r,e,Fl!=null?Fl:p):p+i},eI&&(n.instantiateWasm=Cee(b3(r,e,Fl!=null?Fl:\"\")));let s=!1;n.onAbort=()=>{if(s||Ol)return;Ol=!0,o({message:\"Make sure the server can serve the `.wasm` file relative to the bundled js file. For more details see https://github.com/tensorflow/tfjs/blob/master/tfjs-backend-wasm/README.md#using-bundlers\"})};let a;e&&r&&vg==null?(n.mainScriptUrlOrBlob=new Blob([\"var WasmBackendModuleThreadedSimd = \"+y3.toString()],{type:\"text/javascript\"}),a=y3(n)):a=bee(n),a.then(i=>{s=!0,Ol=!1;let p=null;i.tfjs={init:i.cwrap(\"init\",null,[]),initWithThreadsCount:i.cwrap(\"init_with_threads_count\",null,[\"number\"]),getThreadsCount:i.cwrap(\"get_threads_count\",\"number\",[]),registerTensor:i.cwrap(\"register_tensor\",null,[\"number\",\"number\",\"number\"]),disposeData:i.cwrap(\"dispose_data\",p,[\"number\"]),dispose:i.cwrap(\"dispose\",p,[])},t({wasm:i})}).catch(o)})}function See(r,e){switch(e){case\"float32\":return new Float32Array(r);case\"int32\":return new Int32Array(r);case\"bool\":return new Uint8Array(r);default:throw new Error(`Unknown dtype ${e}`)}}var wee=[\"tfjs-backend-wasm.wasm\",\"tfjs-backend-wasm-simd.wasm\",\"tfjs-backend-wasm-threaded-simd.wasm\"],vg=null,Fl=null,Dl={},Ol=!1,eI=!1;function Iee(r,e=!1){if(eC(\"setWasmPath has been deprecated in favor of setWasmPaths and will be removed in a future release.\"),Ol)throw new Error(\"The WASM backend was already initialized. Make sure you call `setWasmPath()` before you call `tf.setBackend()` or `tf.ready()`\");vg=r,eI=e}function vee(r,e=!1){if(Ol)throw new Error(\"The WASM backend was already initialized. Make sure you call `setWasmPaths()` before you call `tf.setBackend()` or `tf.ready()`\");if(typeof r==\"string\")Fl=r;else{Dl=r;let t=wee.filter(o=>Dl[o]==null);if(t.length>0)throw new Error(`There were no entries found for the following binaries: ${t.join(\",\")}. Please either call setWasmPaths with a map providing a path for each binary, or with a string indicating the directory where all the binaries can be found.`)}eI=e}var w3=-1,Qw=-1;function kee(r){w3=r}function Nee(){if(Qw===-1)throw new Error(\"WASM backend not initialized.\");return Qw}var Tee=\"4.1.0\";var _ee=2;Ci(\"wasm\",async()=>{let{wasm:r}=await S3();return new Pl(r)},_ee);var ms=O();ms.registerFlag(\"WEBGPU_DEFERRED_SUBMIT_BATCH_SIZE\",()=>15);ms.registerFlag(\"WEBGPU_CPU_FORWARD\",()=>!0);ms.registerFlag(\"WEBGPU_MATMUL_PROGRAM_TYPE\",()=>-1);ms.registerFlag(\"WEBGPU_USE_NAIVE_CONV2D_TRANSPOSE\",()=>!1);ms.registerFlag(\"WEBGPU_USE_LOW_POWER_GPU\",()=>!1);ms.registerFlag(\"WEBGPU_CPU_HANDOFF_SIZE_THRESHOLD\",()=>1e3);ms.registerFlag(\"WEBGPU_USE_PROFILE_TOOL\",()=>!1);ms.registerFlag(\"WEBGPU_IMPORT_EXTERNAL_TEXTURE\",()=>!0);ms.registerFlag(\"WEBGPU_USE_NAIVE_CONV2D_DEBUG\",()=>!1);ms.registerFlag(\"WEBGPU_THRESHOLD_TO_INCREASE_WORKGROUPS_FOR_MATMUL\",()=>0);ms.registerFlag(\"WEBGPU_CONV_SEPARATE_IM2COL_SHADER\",()=>!1);var kg=class{constructor(e){e&&(this.vendor=e.vendor,this.architecture=e.architecture,this.intelGPUGeneration=this.getIntelGPUGeneration())}getIntelGPUGeneration(){if(this.isIntel()){if(this.architecture.startsWith(\"gen\"))return Number(this.architecture.match(/\\d+/));if(this.architecture.startsWith(\"xe\"))return 12}return 0}isIntel(){return this.vendor===\"intel\"}};var Ng=class{constructor(e){this.device=e,this.numUsedBuffers=0,this.numFreeBuffers=0,this.freeBuffers=new Map,this.usedBuffers=new Map,this.numBytesUsed=0,this.numBytesAllocated=0}acquireUploadBuffer(e,t){return this.acquireBuffer(e,t,!0)}acquireBuffer(e,t,o=!1){let n=I3(e,t);if(this.freeBuffers.has(n)||this.freeBuffers.set(n,[]),this.usedBuffers.has(n)||this.usedBuffers.set(n,[]),this.numBytesUsed+=e,this.numUsedBuffers++,this.freeBuffers.get(n).length>0){this.numFreeBuffers--;let a=this.freeBuffers.get(n).shift();return this.usedBuffers.get(n).push(a),a}this.numBytesAllocated+=e;let s=this.device.createBuffer({size:e,usage:t,mappedAtCreation:o});return this.usedBuffers.get(n).push(s),s}releaseBuffer(e,t,o){if(this.freeBuffers.size===0)return;let n=I3(t,o);this.freeBuffers.has(n)||this.freeBuffers.set(n,[]),this.freeBuffers.get(n).push(e),this.numFreeBuffers++,this.numUsedBuffers--;let s=this.usedBuffers.get(n),a=s.indexOf(e);if(a<0)throw new Error(\"Cannot release a buffer that was never provided by this buffer manager\");s.splice(a,1),this.numBytesUsed-=t}releaseUploadBuffer(e,t,o){e.mapAsync(GPUMapMode.WRITE).then(()=>{this.releaseBuffer(e,t,o)},n=>{})}getNumUsedBuffers(){return this.numUsedBuffers}getNumFreeBuffers(){return this.numFreeBuffers}dispose(){this.freeBuffers.forEach((e,t)=>{e.forEach(o=>{o.destroy()})}),this.usedBuffers.forEach((e,t)=>{e.forEach(o=>{o.destroy()})}),this.freeBuffers=new Map,this.usedBuffers=new Map,this.numUsedBuffers=0,this.numFreeBuffers=0,this.numBytesUsed=0,this.numBytesAllocated=0}};function I3(r,e){return`${r}_${e}`}var Tg=class{constructor(e){this.device=e,this.numUsedTextures=0,this.numFreeTextures=0,this.freeTextures=new Map,this.usedTextures=new Map,this.numBytesUsed=0,this.numBytesAllocated=0}acquireTexture(e,t,o,n){let s=k3(o),a=e*t*s,i=v3(e,t,o,n);if(this.freeTextures.has(i)||this.freeTextures.set(i,[]),this.usedTextures.has(i)||this.usedTextures.set(i,[]),this.numBytesUsed+=a,this.numUsedTextures++,this.freeTextures.get(i).length>0){this.numFreeTextures--;let u=this.freeTextures.get(i).shift();return this.usedTextures.get(i).push(u),u}this.numBytesAllocated+=a;let p=this.device.createTexture({size:[e,t],format:o,usage:n});return this.usedTextures.get(i).push(p),p}releaseTexture(e,t,o,n,s){if(this.freeTextures.size===0)return;let a=v3(t,o,n,s);this.freeTextures.has(a)||this.freeTextures.set(a,[]),this.freeTextures.get(a).push(e),this.numFreeTextures++,this.numUsedTextures--;let i=this.usedTextures.get(a),p=i.indexOf(e);if(p<0)throw new Error(\"Cannot release a texture that was never provided by this texture manager\");i.splice(p,1);let u=k3(n),c=t*o*u;this.numBytesUsed-=c}getNumUsedTextures(){return this.numUsedTextures}getNumFreeTextures(){return this.numFreeTextures}dispose(){this.freeTextures.forEach((e,t)=>{e.forEach(o=>{o.destroy()})}),this.usedTextures.forEach((e,t)=>{e.forEach(o=>{o.destroy()})}),this.freeTextures=new Map,this.usedTextures=new Map,this.numUsedTextures=0,this.numFreeTextures=0,this.numBytesUsed=0,this.numBytesAllocated=0}};function v3(r,e,t,o){return`${r}_${e}_${t}_${o}`}function k3(r){if(r===\"rgba8unorm\")return 16;throw new Error(`${r} is not supported!`)}function N3(r,e){if(Math.max(...r)>3)throw new Error(\"Cannot symbolically compute strides for rank > 4 tensor.\");let t=r.length,o=r.map(s=>`${e}[${s}]`),n=new Array(t-1);n[t-2]=o[t-1];for(let s=t-3;s>=0;--s)n[s]=`(${n[s+1]} * ${o[s+1]})`;return n}var A3=(r,e,t,o)=>{let n={dtype:o.dtype,shape:o.shape},s=$ee(t,n,e),a=r.createShaderModule({code:s,label:e.constructor.name});return r.createComputePipeline({compute:{module:a,entryPoint:\"_start\"},label:e.constructor.name,layout:\"auto\"})};function Rt(r){if(r<=1)return\"i32\";if(r===2)return\"vec2\";if(r===3)return\"vec3\";if(r===4)return\"vec4\";if(r===5)return\"vec5\";if(r===6)return\"vec6\";throw Error(`GPU for rank ${r} is not yet supported`)}function $o(r){if(r===0)return\"x\";if(r===1)return\"y\";if(r===2)return\"z\";if(r===3)return\"w\";if(r===4)return\"u\";if(r===5)return\"v\";throw Error(`Index ${r} is not yet supported`)}function se(...r){let e;switch(r.length){case 0:e=`\n fn main()\n `;break;case 1:e=`\n fn main(${r[0]} : i32)\n `;break;default:throw Error(\"Unreachable\")}return e}function T3(r){let e;return e=`\n ${Eee()}\n fn _start(@builtin(local_invocation_id) LocalId : vec3,\n @builtin(global_invocation_id) GlobalId : vec3,\n @builtin(local_invocation_index) LocalIndex: u32,\n @builtin(workgroup_id) WorkgroupId : vec3,\n @builtin(num_workgroups) NumWorkgroups : vec3) {\n localId = LocalId;\n localIndex = LocalIndex;\n globalId = GlobalId;\n numWorkgroups = NumWorkgroups;\n workgroupId = WorkgroupId;\n ${r?\"main(getGlobalIndex());\":\"main();\"};\n }\n `,e}function Eee(){return`\n @compute @workgroup_size(workgroupSizeX, workgroupSizeY, workgroupSizeZ)\n`}function $ee(r,e,t){let o=[],n=t.workgroupSize[0]*t.workgroupSize[1]*t.workgroupSize[2];if(o.push(`\n const workgroupSizeX = ${t.workgroupSize[0]}u;\n const workgroupSizeY = ${t.workgroupSize[1]}u;\n const workgroupSizeZ = ${t.workgroupSize[2]}u;\n\n var localId: vec3;\n var localIndex: u32;\n var globalId: vec3;\n var numWorkgroups: vec3;\n var workgroupId: vec3;\n\n // Only used when the y/z dimension of workgroup size is 1.\n fn getGlobalIndex() -> i32 {\n ${F3(t)?\" return i32(globalId.x);\":` return i32((workgroupId.z * numWorkgroups.x * numWorkgroups.y +\n workgroupId.y * numWorkgroups.x + workgroupId.x) * ${n} +\n localIndex);\n `}\n }\n `),t.isFromPixels){o.push(`\n struct Uniform {\n size : i32,\n numChannels : i32,\n outShapeStrides : vec2,\n };\n\n @group(0) @binding(0) var result: array<${wc(e.dtype,t.isVec4)}>;\n @group(0) @binding(2) var uniforms: Uniform;\n `);let f=$3(t);return[_3,o.join(`\n`),E3(e.shape),t.getUserCode(),T3(f)].join(`\n`)}let s=\"struct Uniforms { NAN : f32, INFINITY : f32, \";t.variableNames.forEach((f,h)=>{let g=Rt(r[h].shape.length);s+=`${f.charAt(0).toLowerCase()+f.slice(1)}Shape : ${g}, `});let a=Rt(e.shape.length);s+=`outShape : ${a}, `;let i=e.shape.length-1,p=Rt(i);s+=`\n outShapeStrides: ${p}, `,t.size&&(s+=\"size : i32, \"),t.uniforms&&(s+=t.uniforms),s+=\"};\",s=Lee(s),o.push(s),t.atomic?o.push(`\n @group(0) @binding(0) var result: array>;\n `):o.push(`\n @group(0) @binding(0) var result: array<${wc(e.dtype,t.isVec4)}>;\n `),t.variableNames.forEach((f,h)=>{o.push(`\n @group(0) @binding(${1+h}) var ${f}: array<${t.variableTypes?t.variableTypes[h]:wc(r[h].dtype,t.isVec4)}>;\n `)}),s!==\"\"&&o.push(`\n @group(0) @binding(${1+t.variableNames.length}) var uniforms: Uniforms;\n `);let u=Oee(e.shape,t.dispatchLayout),c=[_3+Aee,o.join(`\n`),E3(e.shape),u,Pee(e.shape.length)];t.atomic||c.push(Mee(e.shape,e.dtype,t.isVec4));let l=r.map((f,h)=>Dee(f,e.shape,t.variableTypes?t.variableTypes[h]===\"vec4\":t.isVec4,t.dispatchLayout.x.length===e.shape.length)).join(`\n`);c.push(l),c.push(t.getUserCode());let m=$3(t);return c.push(T3(m)),c.join(`\n`)}function R3(r,e,t,o){let n=r.shaderKey;if(r.isFromPixels)return n;let s=t.map(c=>c.dtype).concat(o.dtype),a=t.map(c=>S.getBroadcastDims(c.shape,o.shape)),i=t.map(c=>y.arraysEqual(c.shape,o.shape)).join(\"_\"),p=a.map(c=>c.join(\"_\")).join(\";\"),u=F3(r)?\"flatDispatch\":\"\";return n+=\"_\"+(r.workgroupSize?r.workgroupSize.join(\",\"):\"\")+e.map(c=>c.length).join(\",\")+s.join(\",\")+r.variableNames.join(\",\")+p+i+u,n}var _3=`\n struct vec5 {x: i32, y: i32, z: i32, w: i32, u: i32};\n struct vec6 {x: i32, y: i32, z: i32, w: i32, u: i32, v: i32};\n\n // Checks whether coordinates lie within the bounds of the shape.\n fn coordsInBounds2D(coord : vec2, shape : vec2) -> bool {\n return all(coord >= vec2(0)) && all(coord < shape);\n }\n fn coordsInBounds3D(coord : vec3, shape : vec3) -> bool {\n return all(coord >= vec3(0)) && all(coord < shape);\n }\n fn coordsInBounds4D(coord : vec4, shape : vec4) -> bool {\n return all(coord >= vec4(0)) && all(coord < shape);\n }\n\n fn getIndexFromCoords1D(coord : i32, shape : i32) -> i32 {\n return coord;\n }\n fn getIndexFromCoords2D(coords : vec2, shape : vec2) -> i32 {\n return dot(coords, vec2(shape.y, 1));\n }\n fn getIndexFromCoords3D(coords : vec3, shape : vec3) -> i32 {\n return dot(coords, vec3(shape.y * shape.z, shape.z, 1));\n }\n fn getIndexFromCoords4D(coords : vec4, shape : vec4) -> i32 {\n return dot(coords, vec4(\n shape.y * shape.z * shape.w, shape.z * shape.w, shape.w, 1));\n }\n fn getIndexFromCoords5D(coords : vec5, shape : vec5) -> i32 {\n let shapeStrides: vec5 = vec5(shape.y * shape.z * shape.w * shape.u, shape.z * shape.w * shape.u, shape.w * shape.u, shape.u, 1);\n return coords.x*shapeStrides.x + coords.y*shapeStrides.y + coords.z*shapeStrides.z + coords.w*shapeStrides.w + coords.u*shapeStrides.u;\n }\n fn getIndexFromCoords6D(coords : vec6, shape : vec6) -> i32 {\n let shapeStrides: vec6 = vec6(shape.y * shape.z * shape.w * shape.u * shape.v, shape.z * shape.w * shape.u * shape.v, shape.w * shape.u * shape.v, shape.u * shape.v, shape.v, 1);\n return coords.x*shapeStrides.x + coords.y*shapeStrides.y + coords.z*shapeStrides.z + coords.w*shapeStrides.w + coords.u*shapeStrides.u + coords.v*shapeStrides.v;\n }\n\n fn idiv(a: i32, b: i32, sign: f32) -> i32 {\n var res: i32 = a / b;\n let modulo: i32 = a % b;\n if (sign < 0. && modulo != 0) {\n res = res - 1;\n }\n return res;\n }\n\n // NaN defination in IEEE 754-1985 is :\n // - sign = either 0 or 1.\n // - biased exponent = all 1 bits.\n // - fraction = anything except all 0 bits (since all 0 bits represents infinity).\n // https://en.wikipedia.org/wiki/IEEE_754-1985#Representation_of_non-numbers\n fn isnan(val: f32) -> bool {\n let floatToUint: u32 = bitcast(val);\n return (floatToUint & 0x7fffffffu) > 0x7f800000u;\n }\n fn isnanVec4(val : vec4) -> vec4 {\n return vec4(isnan(val[0]), isnan(val[1]), isnan(val[2]), isnan(val[3]));\n }\n`,Aee=`\n fn isinf(val: f32) -> bool {\n return abs(val) == uniforms.INFINITY;\n }\n`;function E3(r){let e=r.length;if(e<=1)return\"fn getCoordsFromIndex(index : i32) -> i32 { return index; }\";let t=y.computeStrides(r),o=Rt(e),n=[];for(let a=0;a vec2 {\n let d0 = index / uniforms.outShapeStrides; let d1 = index - d0 * uniforms.outShapeStrides;\n return vec2(d0, d1);\n }`;let s;return s=\"var index2 = index;\"+t.map((a,i)=>{let p=`let ${n[i]} = index2 / uniforms.outShapeStrides.${$o(i)}`,u=i===t.length-1?`let ${n[i+1]} = index2 - ${n[i]} * uniforms.outShapeStrides.${$o(i)}`:`index2 = index2 - ${n[i]} * uniforms.outShapeStrides.${$o(i)}`;return`${p}; ${u};`}).join(\"\"),`\n fn getCoordsFromIndex(index : i32) -> ${o} {\n ${s}\n return ${o}(${n.join(\",\")});\n }\n `}function Ree(r,e){let t=r.name,o=r.shape.length,n=Rt(o),s=\"get\"+t.charAt(0).toUpperCase()+t.slice(1),a=[\"d0\",\"d1\",\"d2\",\"d3\",\"d4\",\"d5\"].slice(0,o),i=a.map(c=>`${c} : i32`).join(\", \");if(o<1)return e?`\n fn ${s}() -> vec4 {\n return vec4(${t}[0]);\n }\n `:`\n fn ${s}() ->f32 {\n return f32(${t}[0]);\n }\n `;let p=`uniforms.${t.charAt(0).toLowerCase()+t.slice(1)}Shape`,u=`${o}D`;return o===0&&(u=\"1D\"),e?`\n fn ${s}(${i}) -> vec4 {\n return vec4(${t}[getIndexFromCoords${u}(${n}(${a.join(\",\")}),\n ${p}) / 4]);\n }\n `:`\n fn ${s}(${i}) -> f32 {\n return f32(${t}[getIndexFromCoords${u}(${n}(${a.join(\",\")}),\n ${p})]);\n }\n `}function Fee(r,e,t,o){let n=r.name,s=n.charAt(0).toUpperCase()+n.slice(1),a=\"get\"+s+\"ByOutput\",i=r.shape.length,p=e.length,u=Rt(p);if(y.arraysEqual(r.shape,e)&&o)return t?`\n fn ${a}Index(globalIndex : i32) -> vec4 {\n return vec4(${n}[globalIndex]);\n }\n\n fn ${a}Coords(coords : ${u}) -> vec4 {\n return vec4(${n}[${p>1?\"getOutputIndexFromCoords(coords)\":\"coords\"} / 4]);\n }\n `:`\n fn ${a}Index(globalIndex : i32) -> f32 {\n return f32(${n}[globalIndex]);\n }\n\n fn ${a}Coords(coords : ${u}) -> f32 {\n return f32(${n}[${p>1?\"getOutputIndexFromCoords(coords)\":\"coords\"}]);\n }\n `;let c=S.getBroadcastDims(r.shape,e),l=p-i,m=\"\";if(i===0)return t?`\n fn ${a}Index(globalIndex : i32) -> vec4 {\n return get${s}();\n }\n\n fn ${a}Coords(coords : ${u}) -> vec4 {\n return get${s}();\n }\n `:`\n fn ${a}Index(globalIndex : i32) -> f32{\n return get${s}();\n }\n\n fn ${a}Coords(coords : ${u}) -> f32{\n return get${s}();\n }\n `;p<2&&c.length>=1?m=\"coords = 0;\":m=c.map(g=>`coords.${$o(g+l)} = 0;`).join(`\n`);let d=\"\";if(p<2&&i>0)d=\"coords\";else if(p>1){let g=Rt(i),x=r.shape.map((b,C)=>`coords.${$o(C+l)}`).join(\", \");d=`${g}(${x})`}else d=\"coords\";let f=`uniforms.${n.charAt(0).toLowerCase()+n.slice(1)}Shape`,h=`${i}D`;return t?`\n fn ${a}Index(globalIndex : i32) -> vec4 {\n var coords = getCoordsFromIndex(globalIndex);\n ${m}\n return ${n}[getIndexFromCoords${h}(${d}, ${f}) / 4];\n }\n\n fn ${a}Coords(coordsIn : ${u}) -> vec4 {\n var coords = coordsIn;\n ${m}\n return ${n}[getIndexFromCoords${h}(${d}, ${f}) / 4];\n }\n `:`\n fn ${a}Index(globalIndex : i32) -> f32 {\n var coords = getCoordsFromIndex(globalIndex);\n ${m}\n return f32(${n}[getIndexFromCoords${h}(${d}, ${f})]);\n }\n\n fn ${a}Coords(coordsIn : ${u}) -> f32 {\n var coords = coordsIn;\n ${m}\n return f32(${n}[getIndexFromCoords${h}(${d}, ${f})]);\n }\n`}function Dee(r,e,t,o){let n=Ree(r,t);return r.shape.length<=e.length&&(n+=Fee(r,e,t,o)),n}function Oee(r,e){let{x:t,y:o=[],z:n=[]}=e,s=r.length,a=t.length+o.length+n.length;if(a!==s)return\"\";if(t.length===s)return`fn getOutputCoords() -> ${Rt(s)}{\n let globalIndex = getGlobalIndex();\n return getCoordsFromIndex(globalIndex);\n }\n `;let i=\"\",p=[t,o,n];for(let m=0;m ${c} {\n ${i}\n`;return u.length===0?l+=`return ${c}(0); }`:l+=`return ${c}(${u.join(\",\")}); }`,l}function Pee(r){let e=\"\";switch(r){case 0:case 1:e+=`\n fn getOutputIndexFromCoords(coords : i32) -> i32 {\n return coords;\n }\n `;break;case 2:e+=`\n fn getOutputIndexFromCoords(coords : vec2) -> i32 {\n return dot(coords, vec2(uniforms.outShapeStrides, 1));\n }\n `;break;case 3:e+=`\n fn getOutputIndexFromCoords(coords : vec3) -> i32 {\n return dot(coords, vec3(uniforms.outShapeStrides.x, uniforms.outShapeStrides.y, 1));\n }\n `;break;case 4:e+=`\n fn getOutputIndexFromCoords(coords : vec4) -> i32 {\n return dot(coords, vec4(\n uniforms.outShapeStrides.x, uniforms.outShapeStrides.y, uniforms.outShapeStrides.z, 1));\n }\n `;break;case 5:e+=`\n fn getOutputIndexFromCoords(coords : vec5) -> i32 {\n return coords.x * uniforms.outShapeStrides.x +\n coords.y * uniforms.outShapeStrides.y +\n coords.z * uniforms.outShapeStrides.z +\n coords.w * uniforms.outShapeStrides.w +\n coords.u;\n }\n `;break;case 6:e+=`\n fn getOutputIndexFromCoords(coords : vec6) -> i32 {\n return coords.x * uniforms.outShapeStrides.x +\n coords.y * uniforms.outShapeStrides.y +\n coords.z * uniforms.outShapeStrides.z +\n coords.w * uniforms.outShapeStrides.w +\n coords.u * uniforms.outShapeStrides.u +\n coords.v;\n }\n `;break;default:y.assert(!1,()=>`Unsupported ${r}D shape`);break}return e}function F3(r){return r.dispatch[1]===1&&r.dispatch[2]===1}function wc(r,e){return r===\"float32\"?e?\"vec4\":\"f32\":r===\"int32\"||r===\"bool\"?e?\"vec4\":\"i32\":r}function Mee(r,e,t){let o=r.length,n=wc(e,t),s;if(t?s=`fn setOutputAtIndex(flatIndex : i32, value : vec4) {\n result[flatIndex] = ${n}(value);\n }\n fn setOutputAtIndexI32(flatIndex : i32, value : vec4) {\n result[flatIndex] = ${n}(value);\n }`:s=`fn setOutputAtIndex(flatIndex : i32, value : f32) {\n result[flatIndex] = ${n}(value);\n }\n fn setOutputAtIndexI32(flatIndex : i32, value : i32) {\n result[flatIndex] = ${n}(value);\n }`,o>=2){let a=[\"d0\",\"d1\",\"d2\",\"d3\",\"d4\",\"d5\"].slice(0,o),i=Rt(o);t?s+=`\n fn setOutputAtCoords(${a.map(p=>`${p} : i32`).join(\", \")}, value : vec4) {\n let flatIndex = getOutputIndexFromCoords(${i}(${a.join(\", \")}));\n setOutputAtIndex(flatIndex / 4, value);\n }\n fn setOutputAtCoordsI32(${a.map(p=>`${p} : i32`).join(\", \")}, value : vec4) {\n let flatIndex = getOutputIndexFromCoords(${i}(${a.join(\", \")}));\n setOutputAtIndexI32(flatIndex / 4, value);\n }\n `:s+=`\n fn setOutputAtCoords(${a.map(p=>`${p} : i32`).join(\", \")}, value : f32) {\n let flatIndex = getOutputIndexFromCoords(${i}(${a.join(\", \")}));\n setOutputAtIndex(flatIndex, value);\n }\n fn setOutputAtCoordsI32(${a.map(p=>`${p} : i32`).join(\", \")}, value : i32) {\n let flatIndex = getOutputIndexFromCoords(${i}(${a.join(\", \")}));\n setOutputAtIndexI32(flatIndex, value);\n }\n `}return s}function Lee(r){let e=/(\\w+)\\s*:\\s*vec(5|6)/g;r=r.replace(e,o=>\"@align(16) \"+o);let t=/vec(5|6)\\s*,\\s*(\\w+)/g;return r=r.replace(t,(o,n,s)=>`vec${n}, @align(16) ${s}`),r}function $3(r){return!(r.dispatchLayout.hasOwnProperty(\"y\")&&r.dispatchLayout.y.length!==0||r.dispatchLayout.hasOwnProperty(\"z\")&&r.dispatchLayout.z.length!==0)}var nI={};Ue(nI,{ArrayBufferToTypedArray:()=>oI,GPUBytesPerElement:()=>rI,MatMulProgramType:()=>Ao,computeDispatch:()=>re,computeWorkPerThreadForConv2d:()=>Ll,computeWorkgroupInfoForMatMul:()=>tI,computeWorkgroupSizeForConv2d:()=>Ml,flatDispatchLayout:()=>ue,isWebGPUSupported:()=>Bl,tilesFitEvenlyIntoShape:()=>Vee});var zu=r=>{let e=1;for(let t=0;tt%r[o]===0)}function re(r,e,t=[1,1,1],o=[1,1,1]){let[n,s,a]=[Math.ceil(zu(r.x.map(i=>e[i]))/(t[0]*o[0])),r.y?Math.ceil(zu(r.y.map(i=>e[i]))/(t[1]*o[1])):1,r.z?Math.ceil(zu(r.z.map(i=>e[i]))/(t[2]*o[2])):1];return[n,s,a]}function tI(r,e,t,o=!1){let n=[8,8,1],s=[4,4,1];return o||(r<=8&&(s[1]=1),e<=16&&t<=16&&(n[0]=4)),{workgroupSize:n,elementsPerThread:s}}function Ml(r,e,t=!1){if(t)return[8,8,1];let o=zu(r.x.map(s=>e[s])),n=zu(r.y.map(s=>e[s]));return o<=4?[4,16,1]:n<=4?[16,4,1]:[16,16,1]}function Ll(r,e,t=!1){if(t)return[4,4,1];let o=zu(r.x.map(s=>e[s])),n=zu(r.y.map(s=>e[s]));return o<=4?[1,2,1]:n<=4?[2,1,1]:[2,2,1]}function ue(r){return{x:r.map((e,t)=>t)}}function rI(r){if(r===\"float32\"||r===\"int32\"||r===\"bool\"||r===\"string\")return 4;if(r===\"complex64\")return 8;throw new Error(`Unknown dtype ${r}`)}function oI(r,e){if(e===\"float32\")return new Float32Array(r);if(e===\"int32\")return new Int32Array(r);if(e===\"bool\"||e===\"string\")return Uint8Array.from(new Int32Array(r));throw new Error(`Unknown dtype ${e}`)}function Bl(){return(typeof window!=\"undefined\"||typeof WorkerGlobalScope!=\"undefined\")&&!!navigator.gpu}var Ao;(function(r){r[r.MatMulReduceProgram=0]=\"MatMulReduceProgram\",r[r.MatMulSplitKProgram=1]=\"MatMulSplitKProgram\",r[r.MatMulSmallOutputSizeProgram=2]=\"MatMulSmallOutputSizeProgram\",r[r.MatMulPackedProgram=3]=\"MatMulPackedProgram\",r[r.MatMulMax=4]=\"MatMulMax\"})(Ao||(Ao={}));var zee=O().getNumber(\"WEBGPU_CPU_HANDOFF_SIZE_THRESHOLD\"),Wee=(r,e)=>{let t=r.limits.maxComputeWorkgroupsPerDimension,o=e.dispatchLayout,n=e.dispatch;if(n.every(a=>a<=t))return n;y.assert(n[0]>t&&o.y===void 0&&o.z===void 0,()=>\"Dispatch size exceeds WebGPU limits in Y or Z dimension.\");let s=Math.ceil(Math.sqrt(n[0]));return s>t?(s=Math.ceil(Math.cbrt(n[0])),y.assert(s<=t,()=>\"Total dispatch size exceeds WebGPU maximum.\"),[s,s,s]):[s,s,1]},Ui=class extends Zr{constructor(e,t){if(super(),this.commandQueueOwnedIds=new WeakSet,this.dispatchNumberInEncoder=0,this.disposed=!1,this.downloadWaitMs=0,this.tensorDataPendingDisposal=[],this.stagingPendingDisposal=[],this.uniformPendingDisposal=[],this.uploadWaitMs=0,!Bl())throw new Error(\"WebGPU is not supported on this device\");this.pipelineCache={},this.device=e,this.queue=e.queue,this.currentCommandEncoder=null,this.currentComputePass=null,this.supportTimeQuery=e.features.has(\"timestamp-query-inside-passes\"),this.adapterInfo=new kg(t),this.thresholdToIncreaseWorkgroups=this.adapterInfo.intelGPUGeneration>=12?16:8,this.bufferManager=new Ng(this.device),this.textureManager=new Tg(this.device),this.tensorMap=new Do(this,cr()),this.supportTimeQuery&&(this.querySet=this.device.createQuerySet({type:\"timestamp\",count:2})),O().getBool(\"WEBGPU_USE_PROFILE_TOOL\")&&(this.dummyCanvas=document.createElement(\"canvas\"),this.dummyCanvas.width=1,this.dummyCanvas.height=1,this.dummyContext=this.dummyCanvas.getContext(\"webgpu\"),this.dummyContext.configure({device:e,format:\"bgra8unorm\"}),document.body.appendChild(this.dummyCanvas))}nextDataId(){return Ui.nextDataId++}floatPrecision(){return 32}defaultGpuBufferUsage(){return GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST}disposeData(e,t=!1){if(this.tensorDataPendingDisposal.indexOf(e)>=0)return!1;if(!this.tensorMap.has(e))return!0;let o=this.tensorMap.get(e);if(this.decRef(e),!t&&o.refCount>0)return!1;if(this.commandQueueOwnedIds.has(e))return this.tensorDataPendingDisposal.push(e),!1;let{complexTensorInfos:n}=this.tensorMap.get(e);return n!=null&&(this.disposeData(n.real.dataId,t),this.disposeData(n.imag.dataId,t)),this.releaseResource(e),this.tensorMap.delete(e),!0}memory(){return{numBytesInGPU:this.bufferManager.numBytesUsed,numBytesAllocatedInGPU:this.bufferManager.numBytesAllocated,unreliable:!1}}releaseResource(e){let t=this.tensorMap.get(e);if(!(!t||!t.resourceInfo)){if(\"texture\"in t.resourceInfo){let o=t.resourceInfo;o.texture instanceof GPUTexture&&this.textureManager.releaseTexture(o.texture,o.width,o.height,o.format,o.usage),o.texture=null}else{let o=t.resourceInfo;this.bufferManager.releaseBuffer(o.buffer,o.size,o.usage),o.buffer=null}t.resourceInfo=null}}refCount(e){return this.tensorMap.has(e)?this.tensorMap.get(e).refCount:0}incRef(e){let t=this.tensorMap.get(e);t.refCount++}decRef(e){if(this.tensorMap.has(e)){let t=this.tensorMap.get(e);t.refCount--}}write(e,t,o){if(o===\"complex64\"&&e!=null)throw new Error(\"Cannot write to a complex64 dtype. Please use tf.complex(real, imag).\");let n={id:this.nextDataId()};return this.tensorMap.set(n,{dtype:o,shape:t,values:e,refCount:1}),n}move(e,t,o,n,s){if(n===\"complex64\")throw new Error(\"Cannot write to a complex64 dtype. Please use tf.complex(real, imag).\");this.tensorMap.set(e,{dtype:n,shape:o,values:t,refCount:s})}submitQueue(){this.ensureComputePassEnded(),this.queue.submit([this.currentCommandEncoder.finish()]),this.currentCommandEncoder=null,this.dispatchNumberInEncoder=0,this.commandQueueOwnedIds=new WeakSet,this.tensorDataPendingDisposal.forEach(e=>{this.releaseResource(e),this.tensorMap.delete(e)}),this.uniformPendingDisposal.forEach(e=>this.bufferManager.releaseBuffer(e.buffer,e.size,e.usage)),this.stagingPendingDisposal.forEach(e=>this.bufferManager.releaseUploadBuffer(e.buffer,e.size,e.usage)),this.tensorDataPendingDisposal=[],this.uniformPendingDisposal=[],this.stagingPendingDisposal=[]}ensureCommandEncoderReady(){this.currentCommandEncoder||(this.currentCommandEncoder=this.device.createCommandEncoder())}ensureComputePassEnded(){this.currentComputePass&&(this.currentComputePass.end(),this.currentComputePass=null)}getComputePass(){return this.currentComputePass||(this.currentComputePass=this.currentCommandEncoder.beginComputePass()),this.currentComputePass}async getBufferData(e,t){let o=this.bufferManager.acquireBuffer(t,GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ);this.ensureCommandEncoderReady(),this.ensureComputePassEnded(),this.currentCommandEncoder.copyBufferToBuffer(e,0,o,0,t),this.submitQueue(),await o.mapAsync(GPUMapMode.READ);let n=o.getMappedRange().slice(0);return o.unmap(),o!=null&&this.bufferManager.releaseBuffer(o,t,GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ),O().getBool(\"WEBGPU_USE_PROFILE_TOOL\")&&(y.assert(this.dummyContext!==void 0,()=>\"Fail to get context for profiling tool\"),this.dummyContext.getCurrentTexture()),n}convertAndCacheOnCPU(e,t){let o=this.tensorMap.get(e);return this.releaseResource(e),o.values=t,o.values}readSync(e){let t=this.tensorMap.get(e),{values:o}=t;if(o==null)throw new Error(\"WebGPU readSync is only available for CPU-resident tensors.\");return o}async read(e){if(!this.tensorMap.has(e))throw new Error(`Tensor ${e} was not registered!`);let t=this.tensorMap.get(e),{values:o}=t;if(o!=null)return this.convertAndCacheOnCPU(e,o);let n;if(t.dtype===\"complex64\"){let s=await Promise.all([this.read(t.complexTensorInfos.real.dataId),this.read(t.complexTensorInfos.imag.dataId)]),a=s[0],i=s[1];n=S.mergeRealAndImagArrays(a,i)}else{let s=t.resourceInfo,a=await this.getBufferData(s.buffer,s.size);n=oI(a,t.dtype)}return this.convertAndCacheOnCPU(e,n),n}readToGPU(e){let t=this.tensorMap.get(e),{values:o,dtype:n,shape:s,resourceInfo:a}=t;if(n===\"complex64\")throw new Error(\"Does not support reading buffer for complex64 dtype.\");if(a==null)throw o!=null?new Error(\"Data is not on GPU but on CPU.\"):new Error(\"There is no data on GPU or CPU.\");let i=a.size,p=this.bufferManager.acquireBuffer(i,a.usage);this.ensureCommandEncoderReady(),this.ensureComputePassEnded(),this.currentCommandEncoder.copyBufferToBuffer(a.buffer,0,p,0,i),this.submitQueue();let u=this.makeTensorInfo(s,n),c=cr().makeTensorFromTensorInfo(u),l=this.tensorMap.get(u.dataId);return l.resourceInfo={size:i,usage:this.defaultGpuBufferUsage(),buffer:p},{tensorRef:c,buffer:p,bufSize:i}}bufferSync(e){let t=this.readSync(e.dataId);if(e.dtype===\"string\")try{let o=t.map(n=>y.decodeString(n));return le(e.shape,e.dtype,o)}catch(o){throw new Error(\"Failed to decode encoded string bytes into utf-8\")}return le(e.shape,e.dtype,t)}async time(e){this.supportTimeQuery||console.warn(\"This device doesn't support timestamp-query-inside-passes extension. Start Chrome browser with flag --disable-dawn-features=disallow_unsafe_apis then try again. Otherwise, zero will be shown for the kernel time when profiling mode is enabled. Using performance.now is not workable for webgpu since it doesn't support synchronous data read from GPU.\");let t=this.activeTimers,o=[],n=!1;this.programTimersStack==null?(this.programTimersStack=o,n=!0):this.activeTimers.push(o),this.activeTimers=o,e();let s=y.flatten(this.activeTimers.map(u=>u.query)).filter(u=>u!=null),a=y.flatten(this.activeTimers.map(u=>u.name)).filter(u=>u!=null);this.activeTimers=t,n&&(this.programTimersStack=null);let i={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:null,wallMs:null},p=await Promise.all(s);return i.kernelMs=y.sum(p),i.getExtraProfileInfo=()=>p.map((u,c)=>({name:a[c],ms:u})).map(u=>`${u.name}: ${u.ms}`).join(\", \"),this.uploadWaitMs=0,this.downloadWaitMs=0,i}makeTensorInfo(e,t,o){return t===\"string\"&&o!=null&&o.length>0&&y.isString(o[0])&&(o=o.map(s=>y.encodeString(s))),{dataId:this.write(o,e,t),shape:e,dtype:t}}tensorToBinding(e){if(!e)return null;let t=this.tensorMap.get(e.dataId);if(\"texture\"in t.resourceInfo){let n=t.resourceInfo;return n.texture instanceof GPUExternalTexture?n.texture:n.texture.createView()}let o=t.resourceInfo;return{offset:0,size:o.size,buffer:o.buffer}}async getQueryTime(e){return this.supportTimeQuery?this.getTimeFromQuerySet(e):0}uploadToGPU(e){let t=this.tensorMap.get(e);if(t.resourceInfo)return;let o=rI(t.dtype)*y.sizeFromShape(t.shape),n=this.bufferManager.acquireBuffer(o,this.defaultGpuBufferUsage());if(t.resourceInfo={size:o,usage:this.defaultGpuBufferUsage(),buffer:n},t.values){let s=this.bufferManager.acquireUploadBuffer(o,GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC),a=s.getMappedRange();t.dtype===\"int32\"||t.dtype===\"bool\"?new Int32Array(a).set(t.values):new Float32Array(a).set(t.values),s.unmap(),this.ensureCommandEncoderReady(),this.ensureComputePassEnded(),this.currentCommandEncoder.copyBufferToBuffer(s,0,n,0,o);let i={size:o,usage:GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC,buffer:s};this.stagingPendingDisposal.push(i)}}makeUniforms(e){let t=0,o=0,n=[];e.forEach(p=>{p.data.length===0&&(p.data=[1]);let u;switch(p.data.length){case 1:u=4;break;case 2:u=8;break;case 3:u=16;break;case 4:u=16;break;case 5:u=16;break;case 6:u=16;break;default:y.assert(!1,()=>`Unsupported ${p.data.length}D shape`)}(o===5||o===6)&&(u=16),t=Math.ceil(t/u)*u,o=p.data.length,n.push(t),t+=p.data.length*4});let s=new ArrayBuffer(t);e.forEach((p,u)=>{let c=n[u];p.type===\"int32\"?new Int32Array(s,c,p.data.length).set(p.data):p.type===\"uint32\"?new Uint32Array(s,c,p.data.length).set(p.data):new Float32Array(s,c,p.data.length).set(p.data)});let a=this.bufferManager.acquireBuffer(t,GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM);this.queue.writeBuffer(a,0,s,0,t);let i={size:t,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM,buffer:a};return this.uniformPendingDisposal.push(i),{offset:0,size:t,buffer:a}}runWebGPUProgram(e,t,o,n,s){if(s||(s=this.makeTensorInfo(e.outputShape,o)),y.sizeFromShape(s.shape)===0)return this.tensorMap.get(s.dataId).values=y.getTypedArrayFromDType(s.dtype,0),s;this.uploadToGPU(s.dataId),e.dispatch=Wee(this.device,e);let a=[],i=[];if(!e.isFromPixels){a.push({type:\"float32\",data:[NaN]},{type:\"float32\",data:[1/0]}),i=t.concat(s).map(x=>x.shape);let h=\"int32\";i.map(x=>{a.push({type:h,data:x})});let g=y.computeStrides(s.shape);if(a.push({type:h,data:g}),e.size){let x=y.sizeFromShape(e.outputShape);a.push({type:h,data:[e.isVec4?x/4:x]})}}let p=t.map((h,g)=>{if(h.dtype===\"complex64\")throw new Error(\"GPGPUProgram does not support complex64 input. For complex64 dtypes, please separate the program into real and imaginary parts.\");return this.uploadToGPU(h.dataId),{dtype:this.tensorMap.get(h.dataId).dtype,shape:h.shape,name:e.variableNames[g]}}),u=R3(e,i,p,s),c;u in this.pipelineCache?c=this.pipelineCache[u]:(c=A3(this.device,e,p,s),this.pipelineCache[u]=c),n&&(a=[...a,...n]);let l=[this.tensorToBinding(s),...t.map(h=>this.tensorToBinding(h)),this.makeUniforms(a)],m=this.device.createBindGroup({layout:c.getBindGroupLayout(0),entries:l.map((h,g)=>({binding:g,resource:h}))});this.ensureCommandEncoderReady();let d=this.getComputePass(),f=this.activeTimers!=null;return f&&this.supportTimeQuery&&d.writeTimestamp(this.querySet,0),d.setPipeline(c),d.setBindGroup(0,m),d.dispatchWorkgroups(e.dispatch[0],e.dispatch[1],e.dispatch[2]),f&&this.supportTimeQuery&&d.writeTimestamp(this.querySet,1),this.dispatchNumberInEncoder++,t.forEach(h=>{this.commandQueueOwnedIds.add(h.dataId)}),this.commandQueueOwnedIds.add(s.dataId),O().get(\"WEBGPU_DEFERRED_SUBMIT_BATCH_SIZE\")<=this.dispatchNumberInEncoder&&this.submitQueue(),f&&this.activeTimers.push({name:e.constructor.name,query:this.getQueryTime(this.querySet)}),s}async getTimeFromQuerySet(e){let t=this.bufferManager.acquireBuffer(16,GPUBufferUsage.COPY_SRC|GPUBufferUsage.QUERY_RESOLVE),o=this.bufferManager.acquireBuffer(16,GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST);this.ensureCommandEncoderReady(),this.ensureComputePassEnded(),this.currentCommandEncoder.resolveQuerySet(e,0,2,t,0),this.currentCommandEncoder.copyBufferToBuffer(t,0,o,0,16),this.submitQueue(),await o.mapAsync(GPUMapMode.READ);let n=new BigUint64Array(o.getMappedRange()),s=Number(n[1]-n[0]);return o.unmap(),this.bufferManager.releaseBuffer(o,16,GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST),this.bufferManager.releaseBuffer(t,16,GPUBufferUsage.COPY_SRC|GPUBufferUsage.QUERY_RESOLVE),s/1e6}shouldExecuteOnCPU(e,t=zee){return O().getBool(\"WEBGPU_CPU_FORWARD\")&&e.every(o=>this.tensorMap.get(o.dataId).resourceInfo==null&&y.sizeFromShape(o.shape){O().set(\"CHECK_COMPUTATION_FOR_ERRORS\",!1);let r={powerPreference:O().get(\"WEBGPU_USE_LOW_POWER_GPU\")?\"low-power\":\"high-performance\"},e=await navigator.gpu.requestAdapter(r),t={};e.features.has(\"timestamp-query-inside-passes\")&&(t.requiredFeatures=[\"timestamp-query-inside-passes\"]);let o=e.limits;t.requiredLimits={maxComputeWorkgroupStorageSize:o.maxComputeWorkgroupStorageSize,maxComputeWorkgroupsPerDimension:o.maxComputeWorkgroupsPerDimension,maxStorageBufferBindingSize:o.maxStorageBufferBindingSize};let n=await e.requestDevice(t),s=await e.requestAdapterInfo();return new Ui(n,s)},3);var ye;(function(r){r[r.ADD=0]=\"ADD\",r[r.ATAN2=1]=\"ATAN2\",r[r.COMPLEX_MULTIPLY_IMAG=2]=\"COMPLEX_MULTIPLY_IMAG\",r[r.COMPLEX_MULTIPLY_REAL=3]=\"COMPLEX_MULTIPLY_REAL\",r[r.DIV=4]=\"DIV\",r[r.EQUAL=5]=\"EQUAL\",r[r.GREATER=6]=\"GREATER\",r[r.GREATER_EQUAL=7]=\"GREATER_EQUAL\",r[r.INT_DIV=8]=\"INT_DIV\",r[r.LESS=9]=\"LESS\",r[r.LESS_EQUAL=10]=\"LESS_EQUAL\",r[r.LOGICAL_AND=11]=\"LOGICAL_AND\",r[r.MAX=12]=\"MAX\",r[r.MIN=13]=\"MIN\",r[r.MOD=14]=\"MOD\",r[r.MUL=15]=\"MUL\",r[r.NOT_EQUAL=16]=\"NOT_EQUAL\",r[r.POW=17]=\"POW\",r[r.PRELU=18]=\"PRELU\",r[r.SQUARED_DIFFERENCE=19]=\"SQUARED_DIFFERENCE\",r[r.SUB=20]=\"SUB\"})(ye||(ye={}));var D3=`\n if (isnan(a)) { return a; }\n if (isnan(b)) { return b; }\n `,O3=`\n if (isNaN.r) {\n resultTemp.r = valueForNaN;\n }\n if (isNaN.g) {\n resultTemp.g = valueForNaN;\n }\n if (isNaN.b) {\n resultTemp.b = valueForNaN;\n }\n if (isNaN.a) {\n resultTemp.a = valueForNaN;\n }\n `,aI=`\n let isNaN = isnanVec4(a) | isnanVec4(b);\n ${O3}\n `,Uee=\"return a + b;\",Gee=\"return areal * breal - aimag * bimag;\",Hee=\"return areal * bimag + aimag * breal;\",qee=\"return a / b;\",Kee=\"return f32(a == b);\",jee=\"return vec4(a == b);\",Xee=\"return f32(a > b);\",Yee=\"return vec4(a > b);\",Qee=\"return f32(a >= b);\",Zee=\"return vec4(a >= b);\",Jee=`\n let s = sign(a) * sign(b);\n let ia = i32(round(a));\n let ib = i32(round(b));\n return f32(idiv(ia, ib, s));\n`,ete=`\n let ia = vec4(round(a));\n let ib = vec4(round(b));\n let cond = ib != vec4(0);\n var resultTemp = vec4(0);\n let s = sign(a) * sign(b);\n\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n if (cond[0]) {\n resultTemp[0] = idiv(ia[0], ib[0], s[0]);\n }\n if (cond[1]) {\n resultTemp[1] = idiv(ia[1], ib[1], s[1]);\n }\n if (cond[2]) {\n resultTemp[2] = idiv(ia[2], ib[2], s[2]);\n }\n if (cond[3]) {\n resultTemp[3] = idiv(ia[3], ib[3], s[3]);\n }\n return vec4(resultTemp);\n`,tte=\"return f32(a < b);\",rte=\"return vec4(a < b);\",ote=\"return f32(a <= b);\",nte=\"return vec4(a <= b);\",ste=\"return f32(f32(a) >= 1.0 && f32(b) >= 1.0);\",ate=`return (vec4(a >= vec4(1.0)) *\n vec4(b >= vec4(1.0)));`,ite=`\n ${D3}\n if (b == 0.) {\n return uniforms.NAN;\n }\n var resultTemp = a % b;\n if ((a < 0. && b < 0.) || (a >= 0. && b > 0.)) {\n return resultTemp;\n } else {\n return (resultTemp + b) % b;\n }\n`,ute=`\n let valueForNaN = uniforms.NAN;\n var resultTemp = vec4(a % b);\n ${aI}\n\n if (b[0] == 0.) {\n resultTemp[0] = uniforms.NAN;\n }\n if (b[1] == 0.) {\n resultTemp[1] = uniforms.NAN;\n }\n if (b[2] == 0.) {\n resultTemp[2] = uniforms.NAN;\n }\n if (b[3] == 0.) {\n resultTemp[3] = uniforms.NAN;\n }\n\n if (!((a[0] < 0. && b[0] < 0.) || (a[0] >= 0. && b[0] > 0.))) {\n resultTemp[0] = (resultTemp[0] + b[0]) % b[0];\n }\n if (!((a[1] < 0. && b[1] < 0.) || (a[1] >= 0. && b[1] > 0.))) {\n resultTemp[1] = (resultTemp[1] + b[1]) % b[1];\n }\n if (!((a[2] < 0. && b[2] < 0.) || (a[2] >= 0. && b[2] > 0.))) {\n resultTemp[2] = (resultTemp[2] + b[2]) % b[2];\n }\n if (!((a[3] < 0. && b[3] < 0.) || (a[3] >= 0. && b[3] > 0.))) {\n resultTemp[3] = (resultTemp[3] + b[3]) % b[3];\n }\n\n return resultTemp;\n`,pte=\"return a * b;\",cte=`\n if (isnan(a) || isnan(b)) {\n return 1.0;\n }\n return f32(a != b);\n`,lte=`\n var resultTemp = vec4(a != b);\n let valueForNaN = 1.0;\n ${aI}\n\n return resultTemp;\n`,mte=`\n if(a < 0.0 && floor(b) < b) {\n return uniforms.NAN;\n }\n if (b == 0.0) {\n return 1.0;\n }\n if (round(abs(b) % 2.0) != 1.0) {\n return pow(abs(a), b);\n }\n return sign(a) * pow(abs(a), b);\n`,dte=`\n let isModRound1Bool = vec4(round(abs(b) % vec4(2.0))) == vec4(1);\n let isModRound1 = vec4(isModRound1Bool);\n let multiplier = sign(a) * isModRound1 + (vec4(1.0) - isModRound1);\n var resultTemp = multiplier * pow(abs(a), b);\n\n // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS\n let isExpZero = b == vec4(0.0);\n if (isExpZero.r) {\n resultTemp.r = 1.0;\n }\n if (isExpZero.g) {\n resultTemp.g = 1.0;\n }\n if (isExpZero.b) {\n resultTemp.b = 1.0;\n }\n if (isExpZero.a) {\n resultTemp.a = 1.0;\n }\n let isNaN = (a < vec4(0.0)) & (floor(b) < b);\n let valueForNaN = uniforms.NAN;\n ${O3}\n return resultTemp;\n`,fte=\"if (a < 0.0) { return b * a; } return a;\",hte=`\n let aLessThanZero = vec4(a < vec4(0.0));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n`,gte=\"return (a - b) * (a - b);\",xte=\"return a - b;\";function sI(r,e,t=\"uniforms.NAN\"){let o=e?aI:D3;return e?`\n let valueForNaN = ${t};\n var resultTemp = vec4(${r}(a, b));\n `+o+`\n return resultTemp;\n `:o+`\n return ${r}(a, b);\n `}function Ic(r,e){switch(r){case ye.ADD:return Uee;case ye.ATAN2:return sI(\"atan2\",e);case ye.COMPLEX_MULTIPLY_IMAG:return Hee;case ye.COMPLEX_MULTIPLY_REAL:return Gee;case ye.DIV:return qee;case ye.EQUAL:return e?jee:Kee;case ye.GREATER:return e?Yee:Xee;case ye.GREATER_EQUAL:return e?Zee:Qee;case ye.INT_DIV:return e?ete:Jee;case ye.LESS:return e?rte:tte;case ye.LESS_EQUAL:return e?nte:ote;case ye.LOGICAL_AND:return e?ate:ste;case ye.MAX:return sI(\"max\",e);case ye.MIN:return sI(\"min\",e);case ye.MOD:return e?ute:ite;case ye.MUL:return pte;case ye.NOT_EQUAL:return e?lte:cte;case ye.POW:return e?dte:mte;case ye.PRELU:return e?hte:fte;case ye.SQUARED_DIFFERENCE:return gte;case ye.SUB:return xte;default:throw new Error(`BinaryType ${r} is not implemented!`)}}var Q;(function(r){r[r.ABS=0]=\"ABS\",r[r.ACOS=1]=\"ACOS\",r[r.ACOSH=2]=\"ACOSH\",r[r.ASIN=3]=\"ASIN\",r[r.ASINH=4]=\"ASINH\",r[r.ATAN=5]=\"ATAN\",r[r.ATANH=6]=\"ATANH\",r[r.CEIL=7]=\"CEIL\",r[r.COS=8]=\"COS\",r[r.COSH=9]=\"COSH\",r[r.ELU=10]=\"ELU\",r[r.ERF=11]=\"ERF\",r[r.EXP=12]=\"EXP\",r[r.EXPM1=13]=\"EXPM1\",r[r.FLOOR=14]=\"FLOOR\",r[r.IS_FINITE=15]=\"IS_FINITE\",r[r.IS_INF=16]=\"IS_INF\",r[r.IS_NAN=17]=\"IS_NAN\",r[r.LINEAR=18]=\"LINEAR\",r[r.LOG=19]=\"LOG\",r[r.LOG1P=20]=\"LOG1P\",r[r.LOGICAL_NOT=21]=\"LOGICAL_NOT\",r[r.NEG=22]=\"NEG\",r[r.RELU=23]=\"RELU\",r[r.RELU6=24]=\"RELU6\",r[r.LEAKYRELU=25]=\"LEAKYRELU\",r[r.RECIPROCAL=26]=\"RECIPROCAL\",r[r.RSQRT=27]=\"RSQRT\",r[r.SIN=28]=\"SIN\",r[r.SINH=29]=\"SINH\",r[r.SIGMOID=30]=\"SIGMOID\",r[r.SQRT=31]=\"SQRT\",r[r.SQUARE=32]=\"SQUARE\",r[r.TAN=33]=\"TAN\",r[r.TANH=34]=\"TANH\",r[r.TO_INT=35]=\"TO_INT\"})(Q||(Q={}));var yte=\"return abs(a);\",bte=`\n if (abs(a) > 1.) {\n return uniforms.NAN;\n }\n return acos(a);\n`,Cte=`\n if (a < 1.) {\n return uniforms.NAN;\n }\n return acosh(a);\n`,Ste=`\n if (abs(a) > 1.) {\n return uniforms.NAN;\n }\n return asin(a);\n`,wte=\"return asinh(a);\",Ite=`\n if (isnan(a)) {\n return uniforms.NAN;\n }\n return atan(a);\n`,vte=`\n if (abs(a) > 1.) {\n return uniforms.NAN;\n }\n if (a == 1.) {\n return uniforms.INFINITY;\n }\n if (a == -1.) {\n return -uniforms.INFINITY;\n }\n return atanh(a);\n`,kte=\"return ceil(a);\",Nte=\"return cos(a);\",Tte=`\n let e2x = exp(-a);\n return (e2x + 1.0 / e2x) / 2.0;\n`,_te=\"return exp(a) - 1.0;\",Ete=\"if (a >= 0.0) { return a; } return (exp(a) - 1.0);\",$te=`\n var resFloat = exp(a) - vec4(1.0);\n if (a.r >= 0.0) {\n resFloat.r = a.r;\n }\n if (a.g >= 0.0) {\n resFloat.g = a.g;\n }\n if (a.b >= 0.0) {\n resFloat.b = a.b;\n }\n if (a.a >= 0.0) {\n resFloat.a = a.a;\n }\n return resFloat;\n`,Ate=`\n // Error function is calculated approximately with elementary function.\n // See \"Handbook of Mathematical Functions with Formulas,\n // Graphs, and Mathematical Tables\", Abramowitz and Stegun.\n let p = ${S.ERF_P};\n let a1 = ${S.ERF_A1};\n let a2 = ${S.ERF_A2};\n let a3 = ${S.ERF_A3};\n let a4 = ${S.ERF_A4};\n let a5 = ${S.ERF_A5};\n\n let sign = sign(a);\n let absA = abs(a);\n let t = 1.0 / (1.0 + p * absA);\n return sign * (1.0 - (((((a5 * t + a4) * t) + a3) * t + a2) * t + a1) * t * exp(-absA * absA));\n`,Rte=\"return exp(a);\",Fte=\"return floor(a);\",Dte=\"return f32(!isnan(a) && !isinf(a));\",Ote=\"return f32(isinf(a));\",Pte=\"return f32(isnan(a));\",Mte=\"return a;\",Lte=`if (a < 0.0) { return uniforms.NAN; }\n return log(a);`,Bte=`\n if (isnan(a)) { return a; }\n return log(1.0 + a);\n`,Vte=\"return f32(!(a >= 1.0));\",zte=\"return -a;\",Wte=\"if (a < 0.0) { return uniforms.alpha * a; } return a;\",Ute=`\n let aLessThanZero = vec4(a < vec4(0.0));\n return (aLessThanZero * (uniforms.alpha * a)) + ((vec4(1.0) - aLessThanZero) * a);\n`,Gte=\"return 1.0 / a;\",Hte=\"return select(a, 0.0, a < 0.0);\",qte=\"return clamp(a, 0.0, 6.0);\",Kte=\"return clamp(a, vec4(0.0, 0.0, 0.0, 0.0), vec4(6.0, 6.0, 6.0, 6.0));\",jte=`\n return select(a, vec4(0.0), a < vec4(0.0));\n`,Xte=\"return inverseSqrt(a);\",Yte=\"return 1.0 / (1.0 + exp(-1.0 * a));\",Qte=\"return sin(a);\",Zte=`\n let e2x = exp(a);\n return (e2x - 1.0 / e2x) / 2.0;\n`,Jte=\"return sqrt(a);\",ere=\"return a * a;\",tre=\"return tan(a);\",rre=`\n let e2x = exp(-2.0 * abs(a));\n return sign(a) * (1.0 - e2x) / (1.0 + e2x);\n`,ore=\"return f32(i32((a)));\";function Ha(r,e){switch(r){case Q.ABS:return yte;case Q.ACOS:return bte;case Q.ACOSH:return Cte;case Q.ASIN:return Ste;case Q.ASINH:return wte;case Q.ATAN:return Ite;case Q.ATANH:return vte;case Q.COS:return Nte;case Q.COSH:return Tte;case Q.CEIL:return kte;case Q.ELU:return e?$te:Ete;case Q.ERF:return Ate;case Q.EXP:return Rte;case Q.EXPM1:return _te;case Q.FLOOR:return Fte;case Q.IS_FINITE:return Dte;case Q.IS_INF:return Ote;case Q.IS_NAN:return Pte;case Q.LINEAR:return Mte;case Q.LOG:return Lte;case Q.LOG1P:return Bte;case Q.LOGICAL_NOT:return Vte;case Q.NEG:return zte;case Q.LEAKYRELU:return e?Ute:Wte;case Q.RECIPROCAL:return Gte;case Q.RELU:return e?jte:Hte;case Q.RELU6:return e?Kte:qte;case Q.RSQRT:return Xte;case Q.SIGMOID:return Yte;case Q.SIN:return Qte;case Q.SINH:return Zte;case Q.SQRT:return Jte;case Q.SQUARE:return ere;case Q.TAN:return tre;case Q.TANH:return rre;case Q.TO_INT:return ore;default:throw new Error(`BinaryType ${r} is not implemented!`)}}var kt=r=>{switch(r){case 1:return\"f32\";case 2:return\"vec2\";case 3:return\"vec3\";case 4:return\"vec4\";default:throw new Error(`${r}-component is not supported.`)}};function ur(r,e=!1,t=!1,o=3){if(r===null)return\"\";let n=\"\";if(r===\"linear\")n=Ha(Q.LINEAR);else if(r===\"relu\")n=Ha(Q.RELU,t);else if(r===\"elu\")n=Ha(Q.ELU,t);else if(r===\"relu6\")n=Ha(Q.RELU6,t);else if(r===\"prelu\")n=Ic(ye.PRELU,t);else if(r===\"sigmoid\")n=Ha(Q.SIGMOID,t);else if(r===\"leakyrelu\")n=Ha(Q.LEAKYRELU,t);else throw new Error(`Activation ${r} has not been implemented for the WebGPU backend.`);let a=kt(t?4:1),i=\"\";return e?i=`\n fn activation(a : ${a}, coords : vec${o}) -> ${a} {\n let b = getPreluActivationWeightsByOutputCoords(coords);\n ${n}\n }`:i=`\n fn activation(a : ${a}, coords : vec${o}) -> ${a} {\n ${n}\n }`,i}function Hr(r,e){return`\n ${r?\"value = value + getBiasByOutputCoords(coords);\":\"\"}\n ${e?\"value = activation(value, coords);\":\"\"}\n `}function iI(r,e,t,o,n=!1,s=!1,a=!1,i=1){y.assert(t&&i===1||!t,()=>`transposeA ${t} is not compatible with component size ${i}`);let p=`\n let batch = ${r?\"0\":\"batchIn\"};\n ${t?\"value = getA(batch, col, row);\":\"value = getA(batch, row, col);\"}\n\n `,u=o?\"value = getB(batch, col, row);\":\"value = getB(batch, row, col);\";return`\n fn mm_readA(batchIn: i32, row: i32, colIn: i32) -> ${kt(i)} {\n var value = ${kt(i)}(0.0);\n let col = colIn * ${i};\n ${n&&a?p:`\n ${t?\"if(row < uniforms.dimAOuter && col < uniforms.dimInner)\":\"if(row < uniforms.aShape[1] && col < uniforms.aShape[2])\"}\n {\n ${p}\n }\n `}\n return value;\n }\n\n fn mm_readB(batchIn: i32, row: i32, colIn: i32) -> ${kt(i)} {\n let col = colIn * ${i};\n let batch = ${e?\"0\":\"batchIn\"};\n var value = ${kt(i)}(0.0);\n ${u}\n return value;\n }\n `}function Vl(r,e,t,o,n,s,a=!1,i=!1,p=!1,u=1){return`\n ${iI(t,o,n,s,a,i,p,u)}\n fn mm_write(batch: i32, row: i32, colIn: i32, valueIn: ${kt(u)}) {\n let col = colIn * ${u};\n ${a&&i?\"\":\"if (row < uniforms.dimAOuter && col < uniforms.dimBOuter)\"}\n {\n var value = valueIn;\n let coords = vec3(batch, row, col);\n ${Hr(r,e)}\n setOutputAtCoords(coords[0], coords[1], coords[2], value);\n }\n }\n `}var nre=r=>r?`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n kStart + inputRow,\n globalRowStart / innerElementSize + inputCol);\n `:`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n globalRow + innerRow,\n kStart / innerElementSize + inputCol);\n `,sre=(r,e)=>r?`\n let ACached0 = mm_Asub[k * innerElementSize][localRow];\n let ACached1 = mm_Asub[k * innerElementSize + 1][localRow];\n let ACached2 = mm_Asub[k * innerElementSize + 2][localRow];\n ${e===3?\"\":\"let ACached3 = mm_Asub[k * innerElementSize + 3][localRow];\"}\n for (var i = 0; i < rowPerThread; i = i + 1) {\n acc[i] = BCached0 * ACached0[i] + acc[i];\n acc[i] = BCached1 * ACached1[i] + acc[i];\n acc[i] = BCached2 * ACached2[i] + acc[i];\n ${e===3?\"\":\"acc[i] = BCached3 * ACached3[i] + acc[i];\"}\n }`:`\n for (var i = 0; i < rowPerThread; i = i + 1) {\n let ACached = mm_Asub[tileRow + i][k];\n acc[i] = BCached0 * ACached.x + acc[i];\n acc[i] = BCached1 * ACached.y + acc[i];\n acc[i] = BCached2 * ACached.z + acc[i];\n ${e===3?\"\":\"acc[i] = BCached3 * ACached.w + acc[i];\"}\n }`;function Wu(r,e,t=!1,o=32,n=!1,s=32,a=!1){let i=e[1]*r[1],p=e[0]*r[0],u=t?i:o,c=t?o:i,l=u/e[0],m=o/e[1];return y.assert((t&&l===4&&r[1]===4||!t&&(l===3||l===4))&&u%e[0]===0&&o%e[1]===0&&r[0]===4,()=>`If transposeA ${t} is true, innerElementSize ${l} and workPerThread[1] ${r[1]} must be 4.\n Otherwise, innerElementSize ${l} must be 3 or 4.\n tileAWidth ${u} must be divisible by workgroupSize[0]${e[0]}. tileInner ${o} must be divisible by workgroupSize[1] ${e[1]}. colPerThread ${r[0]} must be 4.`),`\n var mm_Asub : array, ${u/l}>, ${c}>;\n var mm_Bsub : array, ${p/r[0]}>, ${o}>;\n\n const rowPerThread = ${r[1]};\n const colPerThread = ${r[0]};\n const innerElementSize = ${l};\n const tileInner = ${o};\n\n ${se()} {\n let localRow = i32(localId.y);\n let tileRow = ${a?\"0\":\"localRow * rowPerThread\"};\n let tileCol = i32(localId.x);\n\n let globalRow = ${a?\"0\":\"i32(globalId.y) * rowPerThread\"};\n let globalCol = i32(globalId.x);\n let batch = ${n?\"0\":\"i32(globalId.z)\"};\n let globalRowStart = i32(workgroupId.y) * ${i};\n\n let numTiles = ${n?`${Math.ceil(s/o)}`:\"(uniforms.dimInner - 1) / tileInner + 1\"};\n var kStart = ${n?`i32(globalId.z) * ${s}`:\"0\"};\n\n var acc: array, rowPerThread>;\n\n // Loop over shared dimension.\n let tileRowB = localRow * ${m};\n for (var t = 0; t < numTiles; t = t + 1) {\n // Load one tile of A into local memory.\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n let inputRow = tileRow + innerRow;\n let inputCol = tileCol;\n ${nre(t)}\n }\n\n // Load one tile of B into local memory.\n for (var innerRow = 0; innerRow < ${m}; innerRow = innerRow + 1) {\n let inputRow = tileRowB + innerRow;\n let inputCol = tileCol;\n mm_Bsub[inputRow][inputCol] = mm_readB(batch, kStart + inputRow, globalCol);\n }\n kStart = kStart + tileInner;\n workgroupBarrier();\n\n // Compute acc values for a single thread.\n for (var k = 0; k < tileInner / innerElementSize; k = k + 1) {\n let BCached0 = mm_Bsub[k * innerElementSize][tileCol];\n let BCached1 = mm_Bsub[k * innerElementSize + 1][tileCol];\n let BCached2 = mm_Bsub[k * innerElementSize + 2][tileCol];\n ${l===3?\"\":\"let BCached3 = mm_Bsub[k * innerElementSize + 3][tileCol];\"}\n\n ${sre(t,l)}\n }\n\n workgroupBarrier();\n }\n\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n mm_write(batch, globalRow + innerRow, globalCol, acc[innerRow]);\n }\n }`}var P3=r=>r?`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n kStart + inputRow,\n globalRowStart + inputCol);\n `:`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n globalRowStart + inputRow,\n kStart + inputCol);\n `,are=r=>r?\"let ACached = mm_Asub[k][tileRow + innerRow];\":\"let ACached = mm_Asub[tileRow + innerRow][k];\";function Uu(r,e,t=!1,o=32,n=!1,s=32,a=!1){let i=r[1]*e[1],p=r[0]*e[0],u=t?i:o,c=t?o:i;y.assert(c%e[1]===0&&u%e[0]===0&&o%e[1]===0,()=>`tileAHight ${c} must be divisible by workgroupSize[1]${e[1]}, tileAWidth ${u} must be divisible by workgroupSize[0]${e[0]}, tileInner ${o} must be divisible by workgroupSize[1]${e[1]}`);let l=c/e[1],m=u/e[0],d=o/e[1],f=a?`\n let localRow = i32(localId.y);\n let localCol = i32(localId.x);\n let globalRowStart = i32(workgroupId.y) * ${i};\n let globalColStart = i32(workgroupId.x) * ${p};\n\n // Loop over shared dimension.\n for (var t = 0; t < numTiles; t = t + 1) {\n // Load one tile of A into local memory.\n for (var inputRow = localRow; inputRow < ${c}; inputRow = inputRow + ${e[1]}) {\n for (var inputCol = localCol; inputCol < ${u}; inputCol = inputCol + ${e[0]}) {\n ${P3(t)}\n }\n }\n // Load one tile of B into local memory.\n for (var inputRow = localRow; inputRow < ${o}; inputRow = inputRow + ${e[1]}) {\n for (var inputCol = localCol; inputCol < ${p}; inputCol = inputCol + ${e[0]}) {\n mm_Bsub[inputRow][inputCol] = mm_readB(batch,\n kStart + inputRow,\n globalColStart + inputCol);\n }\n }\n kStart = kStart + tileInner;\n workgroupBarrier();\n\n // Compute acc values for a single thread.\n var BCached : array;\n for (var k = 0; k < tileInner; k = k + 1) {\n for (var inner = 0; inner < colPerThread; inner = inner + 1) {\n BCached[inner] = mm_Bsub[k][localCol + inner * ${e[0]}];\n }\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n let ACached = ${t?`mm_Asub[k][localRow + innerRow * ${e[1]}];`:`mm_Asub[localRow + innerRow * ${e[1]}][k];`}\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n acc[innerRow][innerCol] = acc[innerRow][innerCol] +\n ACached * BCached[innerCol];\n }\n }\n }\n workgroupBarrier();\n }\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n let gRow = globalRowStart + localRow + innerRow * ${e[1]};\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n let gCol = globalColStart + localCol + innerCol * ${e[0]};\n mm_write(batch, gRow, gCol, acc[innerRow][innerCol]);\n }\n }\n `:`\n let tileRow = i32(localId.y) * rowPerThread;\n let tileCol = i32(localId.x) * colPerThread;\n\n let globalRow = i32(globalId.y) * rowPerThread;\n let globalCol = i32(globalId.x) * colPerThread;\n let globalRowStart = i32(workgroupId.y) * ${i};\n\n let tileRowA = i32(localId.y) * ${l};\n let tileColA = i32(localId.x) * ${m};\n let tileRowB = i32(localId.y) * ${d};\n // Loop over shared dimension.\n for (var t = 0; t < numTiles; t = t + 1) {\n // Load one tile of A into local memory.\n for (var innerRow = 0; innerRow < ${l}; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < ${m}; innerCol = innerCol + 1) {\n let inputRow = tileRowA + innerRow;\n let inputCol = tileColA + innerCol;\n ${P3(t)}\n }\n }\n\n // Load one tile of B into local memory.\n for (var innerRow = 0; innerRow < ${d}; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n let inputRow = tileRowB + innerRow;\n let inputCol = tileCol + innerCol;\n mm_Bsub[inputRow][inputCol] = mm_readB(batch,\n kStart + inputRow,\n globalCol + innerCol);\n }\n }\n kStart = kStart + tileInner;\n workgroupBarrier();\n\n // Compute acc values for a single thread.\n var BCached : array;\n for (var k = 0; k < tileInner; k = k + 1) {\n for (var inner = 0; inner < colPerThread; inner = inner + 1) {\n BCached[inner] = mm_Bsub[k][tileCol + inner];\n }\n\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n ${are(t)}\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n acc[innerRow][innerCol] = acc[innerRow][innerCol] + ACached * BCached[innerCol];\n }\n }\n }\n\n workgroupBarrier();\n }\n\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n mm_write(batch, globalRow + innerRow, globalCol + innerCol,\n acc[innerRow][innerCol]);\n }\n }\n `;return`\n var mm_Asub : array, ${c}>;\n var mm_Bsub : array, ${o}>;\n const rowPerThread = ${r[1]};\n const colPerThread = ${r[0]};\n const tileInner = ${o};\n\n ${se()} {\n let batch = ${n?\"0\":\"i32(globalId.z)\"};\n let numTiles = ${n?`${Math.ceil(s/o)}`:\"(uniforms.dimInner - 1) / tileInner + 1\"};\n var kStart = ${n?`i32(globalId.z) * ${s}`:\"0\"};\n\n var acc : array, rowPerThread>;\n\n // Without this initialization strange values show up in acc.\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n acc[innerRow][innerCol] = 0.0;\n }\n }\n ${f}\n }\n `}var ire=r=>r?`\n mm_readA(batch, colA, globalRow),\n mm_readA(batch, colA + 1, globalRow),\n mm_readA(batch, colA + 2, globalRow),\n mm_readA(batch, colA + 3, globalRow)\n `:`\n mm_readA(batch, globalRow, colA),\n mm_readA(batch, globalRow, colA + 1),\n mm_readA(batch, globalRow, colA + 2),\n mm_readA(batch, globalRow, colA + 3)\n `;function ure(r,e=!1){return y.assert(r[1]===1&&r[2]===1,()=>`A linear work group size is required. But got ${r}.`),`\n const tileSize = ${r[0]*4};\n var mm_Asub : array, ${r[0]}>;\n\n ${se()} {\n let tileCol = i32(localId.x);\n let globalCol = i32(globalId.x);\n let globalRow = i32(globalId.y);\n\n let numTiles = (uniforms.dimInner - 1) / tileSize + 1;\n let batch = i32(globalId.z);\n // Without this initialization strange values show up in acc.\n var acc = 0.0;\n\n // Loop over shared dimension.\n for (var t = 0; t < numTiles; t = t + 1) {\n // Load one tile of A into local memory.\n let colA = t * tileSize + tileCol * 4;\n mm_Asub[tileCol] = vec4(${ire(e)});\n workgroupBarrier();\n\n // Compute acc values for a single thread.\n for (var k = 0; k < tileSize / 4; k = k + 1) {\n let rowB = t * tileSize + k * 4;\n let BCached = vec4(mm_readB(batch, rowB, globalCol),\n mm_readB(batch, rowB + 1, globalCol),\n mm_readB(batch, rowB + 2, globalCol),\n mm_readB(batch, rowB + 3, globalCol));\n\n let ACached = mm_Asub[k];\n acc = acc + dot(ACached, BCached);\n }\n\n workgroupBarrier();\n }\n\n mm_write(batch, globalRow, globalCol, acc);\n }\n `}var _g=class{constructor(e,t,o,n,s=!1,a=!1,i=null,p=null,u=null,c=!1){this.variableNames=[\"A\",\"B\"],this.uniforms=\"dimAOuter : i32, dimBOuter : i32, dimInner : i32,\",this.outputShape=t,this.dispatchLayout={x:[2],y:[1],z:[0]};let l=s?e[1]:e[2];if(this.isVec4=(l%4===0&&!s||t[1]%4===0&&s)&&t[2]%4===0&&!a,this.isVectorA=t[1]===1&&!s,!this.isVec4&&this.isVectorA)this.elementsPerThread=[1,1,1],this.workgroupSize=[32,1,1];else{let f=tI(t[1],l,t[2],s);this.workgroupSize=f.workgroupSize,this.elementsPerThread=f.elementsPerThread}this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,this.elementsPerThread);let m=i!=null,d=u!=null;m&&this.variableNames.push(\"bias\"),d&&this.variableNames.push(\"preluActivationWeights\"),this.sequentialAccessByThreads=c,this.transposeA=s,this.transposeB=a,this.addBias=m,this.activation=p,this.hasPreluActivationWeights=d,this.batchAEqualOne=o,this.batchBEqualOne=n,[this.fitAOuter,this.fitBOuter,this.fitInner]=this.getShapeFit(t[1],t[2],l),this.shaderKey=`matMulPacked_${this.elementsPerThread}_${s}_${a}_${this.activation}_${this.fitAOuter}_${this.fitBOuter}_${this.fitInner}_${this.isVec4}_${this.isVectorA}_${this.batchAEqualOne}_${this.batchBEqualOne}_${this.sequentialAccessByThreads}`}getShapeFit(e,t,o){let n=this.workgroupSize[1]*this.elementsPerThread[1],s=this.workgroupSize[0]*this.elementsPerThread[0];!this.isVec4&&this.isVectorA?this.tileInner=this.workgroupSize[0]*4:this.tileInner=s;let a=e%n===0,i=t%s===0,p=o%this.tileInner===0;return[a,i,p]}getUserCode(){return`\n ${ur(this.activation,this.hasPreluActivationWeights,this.isVec4)}\n ${Vl(this.addBias,this.activation,this.batchAEqualOne,this.batchBEqualOne,!1,this.transposeB,this.fitAOuter,this.fitBOuter,this.fitInner,this.isVec4?4:1)}\n ${this.isVec4?Wu(this.elementsPerThread,this.workgroupSize,this.transposeA,this.tileInner,!1,null,this.isVectorA):this.isVectorA?ure(this.workgroupSize,this.transposeA):Uu(this.elementsPerThread,this.workgroupSize,this.transposeA,this.tileInner,!1,null,this.sequentialAccessByThreads)}\n `}};function pre(){return`\n var sumValues : array;\n ${se()} {\n let coords = getOutputCoords();\n let batch = coords[0];\n let row = coords[1];\n let col = coords[2];\n var sum = 0.0;\n let Length = uniforms.dimInner;\n for (var k = i32(localId.x); k < Length; k = k + i32(workgroupSizeX)) {\n let dataA = mm_readA(batch, row, k);\n let dataB = mm_readB(batch, k, col);\n sum = sum + dataA * dataB;\n }\n sumValues[localId.x] = sum;\n workgroupBarrier();\n\n for(var currentSize = workgroupSizeX / 2u; currentSize > 1u;\n currentSize = currentSize / 2u) {\n if (localId.x < currentSize)\n {\n sumValues[localId.x] = sumValues[localId.x] + sumValues[localId.x + currentSize];\n }\n workgroupBarrier();\n }\n\n if (localId.x == 0u) {\n sum = sumValues[0] + sumValues[1];\n mm_write(batch, row, col, sum);\n }\n }\n `}var Eg=class{constructor(e,t,o,n=!1,s=!1,a=null,i=null,p=null){this.variableNames=[\"A\",\"B\"],this.uniforms=\"dimAOuter : i32, dimBOuter : i32, dimInner : i32,\",this.workgroupSize=[256,1,1],this.outputShape=e,this.dispatchLayout={x:[],y:[1,2],z:[0]},this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize);let u=a!=null,c=p!=null;u&&this.variableNames.push(\"bias\"),c&&this.variableNames.push(\"preluActivationWeights\"),this.transposeA=n,this.transposeB=s,this.addBias=u,this.activation=i,this.hasPreluActivationWeights=c,this.batchAEqualOne=t,this.batchBEqualOne=o,this.shaderKey=`matMulReduce_${this.activation}_${n}_${s}_${this.batchAEqualOne}_${this.batchBEqualOne}`}getUserCode(){return`\n ${ur(this.activation,this.hasPreluActivationWeights)}\n ${Vl(this.addBias,this.activation,this.batchAEqualOne,this.batchBEqualOne,this.transposeA,this.transposeB)}\n ${pre()}\n `}};function cre(r){let e=r[1],t=r[0],o=e>t?e:t;return`\n var mm_Asub : array, ${e}>;\n var mm_Bsub : array, ${o}>;\n\n // If the output size is small for matrix multiplication, avoid to use vec4\n // and handle some elements per thread to optimally utilize the ALU.\n // Read data from global memory to registers firstly, then store them into\n // shared memory, so it is instruction-Level parallelism for arithmetic\n // operations and others handle IO operations between barrier api, makes ALU\n // and load/store units work simultaneously, could improves the performance.\n ${se()} {\n let tileRow = i32(localId.y);\n let tileCol = i32(localId.x);\n let globalRow = i32(globalId.y);\n let globalCol = i32(globalId.x);\n let batch = i32(globalId.z);\n\n // uniforms.dimInner should be greater than 0.\n let numTiles = (uniforms.dimInner - 1) / ${o} + 1;\n var acc = 0.0;\n\n var globalColA = tileCol;\n var globalRowB = 0;\n var regA = mm_readA(batch, globalRow, globalColA);\n var regB0 = mm_readB(batch, globalRowB + 2 * tileRow, globalCol);\n var regB1 = mm_readB(batch, globalRowB + 2 * tileRow + 1, globalCol);\n globalColA = globalColA + ${o};\n globalRowB = globalRowB + ${o};\n\n for (var t = 0; t < numTiles; t = t + 1) {\n mm_Asub[tileRow][tileCol] = regA;\n mm_Bsub[2 * tileRow][tileCol] = regB0;\n mm_Bsub[2 * tileRow + 1][tileCol] = regB1;\n\n workgroupBarrier();\n\n regA = mm_readA(batch, globalRow, globalColA);\n regB0 = mm_readB(batch, globalRowB + 2 * tileRow, globalCol);\n regB1 = mm_readB(batch, globalRowB + 2 * tileRow + 1, globalCol);\n globalColA = globalColA + ${o};\n globalRowB = globalRowB + ${o};\n\n for (var k = 0; k < ${o}; k = k + 1) {\n acc = acc + mm_Asub[tileRow][k] * mm_Bsub[k][tileCol];\n }\n workgroupBarrier();\n }\n\n mm_write(batch, globalRow, globalCol, acc);\n }\n `}var $g=class{constructor(e,t,o,n=!1,s=!1,a=null,i=null,p=null){this.variableNames=[\"A\",\"B\"],this.uniforms=\"dimAOuter : i32, dimBOuter : i32, dimInner : i32,\",this.workgroupSize=[16,8,1],this.outputShape=o,this.dispatchLayout={x:[2],y:[1],z:[0]},this.dispatch=[Math.ceil(o[2]/this.workgroupSize[0]),Math.ceil(o[1]/this.workgroupSize[1]),o[0]];let u=a!=null;u&&this.variableNames.push(\"bias\");let c=p!=null;c&&this.variableNames.push(\"preluActivationWeights\"),this.transposeA=n,this.transposeB=s,this.addBias=u,this.activation=i,this.hasPreluActivationWeights=c,this.batchAEqualOne=e[0]===1,this.batchBEqualOne=t[0]===1,this.shaderKey=`matMulSmallOutputSize_${this.activation}_${n}_${s}_${this.batchAEqualOne}_${this.batchBEqualOne}`}getUserCode(){return`\n ${ur(this.activation,this.hasPreluActivationWeights)}\n ${Vl(this.addBias,this.activation,this.batchAEqualOne,this.batchBEqualOne,this.transposeA,this.transposeB)}\n ${cre(this.workgroupSize)}\n `}};var Ag=class{constructor(e,t,o,n,s=!1,a=!1){this.variableNames=[\"A\",\"B\"],this.uniforms=\"dimAOuter : i32, dimBOuter : i32, dimInner : i32,\",this.workgroupSize=[8,8,1],this.atomic=!0,this.isVec4=!1,this.splitedDimInner=128,y.assert(e[0]===1,()=>\"MatMulSplitKProgram only supports batch = 1.\"),this.outputShape=e,this.dispatchLayout={x:[2],y:[1],z:[0,3]},this.isVec4=(s&&this.outputShape[1]%4===0||!s&&t%4===0)&&this.outputShape[2]%4===0,this.elementsPerThread=[4,4,this.splitedDimInner],this.isVec4||(this.outputShape[1]<16&&(this.elementsPerThread[1]=1),this.outputShape[2]<16&&(this.elementsPerThread[0]=1)),this.dispatch=re(this.dispatchLayout,[this.outputShape[0],this.outputShape[1],this.outputShape[2],t],this.workgroupSize,this.elementsPerThread),this.transposeA=s,this.transposeB=a,this.batchAEqualOne=o,this.batchBEqualOne=n,this.shaderKey=`matMulSplitK_${s}_${a}_${o}_${n}_${this.elementsPerThread}_${this.isVec4}`}getUserCode(){let e=n=>`\n for (var i = 0; i < ${n}; i = i + 1)\n {\n var oldValue = atomicLoad(&(result[flatIndex + i]));\n var exchanged = false;\n for (; !exchanged;) {\n let newValueF32 = bitcast(oldValue) + ${n>1?\"value[i]\":\"value\"};\n let newValue = bitcast(newValueF32);\n let res = atomicCompareExchangeWeak(&(result[flatIndex + i]), oldValue, newValue);\n oldValue = res.old_value;\n exchanged = res.exchanged;\n }\n }\n `,t=this.isVec4?4:1;return`\n ${iI(this.batchAEqualOne,this.batchBEqualOne,!1,this.transposeB,!1,!1,!1,t)}\n fn mm_write(batch: i32, row : i32, colIn : i32, value : ${kt(t)}) {\n let col = colIn * ${t};\n if (row < uniforms.dimAOuter && col < uniforms.dimBOuter) {\n let coords = vec3(batch, row, col);\n let flatIndex = getOutputIndexFromCoords(coords);\n // The problem is that we should initialize output to zero before using.\n // Otherwise, the original value will be added to the result.\n ${e(t)}\n }\n }\n ${this.isVec4?Wu(this.elementsPerThread,this.workgroupSize,this.transposeA,32,!0,this.splitedDimInner):Uu(this.elementsPerThread,this.workgroupSize,this.transposeA,32,!0,this.splitedDimInner)}\n `}},Rg=class{constructor(e,t=null,o=null,n=null){this.uniforms=\"\",this.variableNames=[\"x\"],this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.addBias=t!=null,this.hasPreluActivationWeights=n!=null,this.activation=o,this.addBias&&this.variableNames.push(\"bias\"),this.hasPreluActivationWeights&&this.variableNames.push(\"preluActivationWeights\"),this.shaderKey=`biasActivation_${o}`}getUserCode(){return`\n ${ur(this.activation,this.hasPreluActivationWeights)}\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n var value = getXByOutputIndex(index);\n ${Hr(this.addBias,this.activation)}\n setOutputAtIndex(index, value);\n }\n }\n `}};var Fg=class{constructor(e){this.variableNames=[],this.outputShape=[],this.uniforms=\"value : f32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=\"fill\"}getUserCode(){return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n setOutputAtIndex(index, uniforms.value);\n }\n }\n `}};function dr(r){let{backend:e,attrs:t}=r,{shape:o,value:n}=t,{dtype:s}=t;if(s=s||y.inferDtype(n),s===\"string\"){let a=y.getArrayFromDType(s,y.sizeFromShape(o));return a.fill(n),e.makeTensorInfo(o,s,a)}else{let a=new Fg(o),i=[{type:\"float32\",data:[n]}];return e.runWebGPUProgram(a,[],s,i)}}var M3={kernelName:Cs,backendName:\"webgpu\",kernelFunc:dr};function de(r){let{inputs:e,attrs:t}=r,{x:o}=e,{shape:n}=t,s=y.sizeFromShape(o.shape),a=y.inferFromImplicitShape(n,s),i=y.sizeFromShape(a);return y.assert(s===i,()=>`The new shape (${a}) has ${i} elements and the old shape (${o.shape}) has ${s} elements. The new shape and old shape must have the same number of elements.`),r.backend.incRef(o.dataId),{dataId:o.dataId,shape:a,dtype:o.dtype}}var L3={kernelName:Ns,backendName:\"webgpu\",kernelFunc:de};function Gu({a:r,b:e,transposeA:t,transposeB:o,backend:n,bias:s=null,preluActivationWeights:a=null,leakyreluAlpha:i=0,activation:p=null}){let u=r.shape.length,c=e.shape.length,l=t?r.shape[u-2]:r.shape[u-1],m=o?e.shape[c-1]:e.shape[c-2],d=t?r.shape[u-1]:r.shape[u-2],f=o?e.shape[c-2]:e.shape[c-1],h=r.shape.slice(0,-2),g=e.shape.slice(0,-2),x=y.sizeFromShape(h),b=y.sizeFromShape(g),w=br.assertAndGetBroadcastShape(r.shape.slice(0,-2),e.shape.slice(0,-2)).concat([d,f]);y.assert(l===m,()=>`Error in matMul: inner shapes (${l}) and (${m}) of Tensors with shapes ${r.shape} and ${e.shape} and transposeA=${t} and transposeB=${o} must match.`);let k=t?[x,l,d]:[x,d,l],_=o?[b,f,m]:[b,m,f],$=de({inputs:{x:r},backend:n,attrs:{shape:k}}),A=de({inputs:{x:e},backend:n,attrs:{shape:_}}),R=[$,A],D=Math.max(x,b),P=x===1,M=b===1,L=[$,A],W=[{type:\"int32\",data:[d]},{type:\"int32\",data:[f]},{type:\"int32\",data:[l]}],V,U,q=[D,d,f],H=O().get(\"WEBGPU_MATMUL_PROGRAM_TYPE\");if(H<0){let X=O().getNumber(\"WEBGPU_THRESHOLD_TO_INCREASE_WORKGROUPS_FOR_MATMUL\"),Z=X>0?X:n.thresholdToIncreaseWorkgroups,ee=D*Math.ceil(d/32)*Math.ceil(f/32);ee<=Z||d<=8&&ee<=Z*2?D*d*f<=128?H=Ao.MatMulReduceProgram:D===1&&m>=2e3?H=Ao.MatMulSplitKProgram:H=Ao.MatMulSmallOutputSizeProgram:H=Ao.MatMulPackedProgram}switch(H){case Ao.MatMulReduceProgram:V=new Eg(q,P,M,t,o,s,p,a);break;case Ao.MatMulSplitKProgram:{if(U=dr({backend:n,attrs:{shape:q,value:0,dtype:r.dtype}}),V=new Ag(q,m,P,M,t,o),s||p){U=n.runWebGPUProgram(V,L,r.dtype,W,U);let Z=new Rg(U.shape,s,p,a),ee=null,Y=[U];s&&Y.push(s),a&&Y.push(a),p===\"leakyrelu\"&&(ee=[{type:\"float32\",data:[i]}],Z.uniforms+=\" alpha : f32,\");let J=n.runWebGPUProgram(Z,Y,U.dtype,ee);R.push(U);let ie=de({inputs:{x:J},backend:n,attrs:{shape:w}});R.push(J);for(let pe of R)n.disposeData(pe.dataId);return ie}break}case Ao.MatMulSmallOutputSizeProgram:V=new $g(k,_,q,t,o,s,p,a);break;case Ao.MatMulPackedProgram:let X=n.adapterInfo.isIntel();V=new _g(k,q,P,M,t,o,s,p,a,X);break;default:throw new Error(`Unsupported MatMulProgramType ${H}.`)}s&&L.push(s),a&&L.push(a),p===\"leakyrelu\"&&(W.push({type:\"float32\",data:[i]}),V.uniforms+=\" alpha : f32,\"),U=n.runWebGPUProgram(V,L,r.dtype,W,U);let j=de({inputs:{x:U},backend:n,attrs:{shape:w}});R.push(U);for(let X of R)n.disposeData(X.dataId);return j}function lre(r){let{inputs:e,backend:t,attrs:o}=r,{a:n,b:s,bias:a,preluActivationWeights:i}=e,{transposeA:p,transposeB:u,activation:c,leakyreluAlpha:l}=o;return Gu({a:n,b:s,transposeA:p,transposeB:u,backend:t,bias:a,preluActivationWeights:i,leakyreluAlpha:l,activation:c})}var B3={kernelName:fo,backendName:\"webgpu\",kernelFunc:lre};var zl=class{constructor(e,t,o){this.variableNames=[\"AReal\",\"AImag\",\"BReal\",\"BImag\"],this.workgroupSize=[128,1,1],this.size=!0,this.outputShape=S.assertAndGetBroadcastShape(t,o),this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=`binaryOpComplex_${e}`,this.op=e}getUserCode(){return`\n fn binaryOpComplex(\n areal : f32, aimag : f32, breal : f32, bimag : f32) -> f32 {\n ${Ic(this.op,!1)}\n }\n\n ${se(\"index\")} {\n if(index < uniforms.size) {\n let areal = getARealByOutputIndex(index);\n let aimag = getAImagByOutputIndex(index);\n let breal = getBRealByOutputIndex(index);\n let bimag = getBImagByOutputIndex(index);\n setOutputAtIndex(index, binaryOpComplex(areal, aimag, breal, bimag));\n }\n }\n `}};var Hu=class{constructor(e,t,o){this.size=!0,this.variableNames=[\"A\",\"B\"],this.outputShape=S.assertAndGetBroadcastShape(t,o),this.dispatchLayout=ue(this.outputShape),this.op=e,this.useSharedMemoryWithA=t.length<=1&&o.length>1&&t[0]<128,this.useSharedMemoryWithB=o.length<=1&&t.length>1&&o[0]<128,this.useSharedMemoryWithA||this.useSharedMemoryWithB?(this.isVec4=!1,this.lastDimensionSize=this.useSharedMemoryWithB?o[0]:t[0],this.shaderKey=`binary_${this.type}_${e}_${this.lastDimensionSize}_${this.useSharedMemoryWithB}`,this.type=\"shared\",this.workgroupSize=[256,1,1],this.workPerThread=1):(y.arraysEqual(t,o)&&y.sizeFromShape(t)%4===0?(this.isVec4=!0,this.type=\"vec4\",this.workPerThread=4):(this.isVec4=!1,this.type=\"plain\",this.workPerThread=1),this.shaderKey=`binary_${this.type}_${e}`,this.workgroupSize=[128,1,1]),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,[this.workPerThread,1,1])}getUserCode(){let e,t=this.isVec4?\"vec4\":\"f32\",o=`\n fn binaryOperation(a : ${t}, b : ${t}) -> ${t} {\n ${Ic(this.op,this.isVec4)}\n };\n `;if(this.type===\"shared\"){let n=this.lastDimensionSize>1?`coords[${this.outputShape.length-1}]`:\"0\",s=this.useSharedMemoryWithB?`let a = getAByOutputIndex(index);\n let b = sharedBuf[${n}];`:`let a = sharedBuf[${n}];\n let b = getBByOutputIndex(index);`;e=`\n ${o}\n var sharedBuf : array;\n ${se(\"index\")} {\n // Fill in the shared memory buffer.\n let localIndex = i32(localId.x);\n if(localIndex < ${this.lastDimensionSize}) {\n sharedBuf[localIndex] = f32(${this.useSharedMemoryWithB?\"B\":\"A\"}[localIndex]);\n }\n workgroupBarrier();\n\n if(index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n ${s}\n setOutputAtIndex(index, binaryOperation(a, b));\n }\n }\n `}else e=`\n ${o}\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let a = getAByOutputIndex(index);\n let b = getBByOutputIndex(index);\n setOutputAtIndex(index, binaryOperation(a, b));\n }\n }\n `;return e}};function Ft(r){let{inputs:e}=r,{x:t}=e;return r.backend.incRef(t.dataId),{dataId:t.dataId,shape:t.shape,dtype:t.dtype}}var V3={kernelName:mo,backendName:\"webgpu\",kernelFunc:Ft};function po(r){let{inputs:e,backend:t}=r,{real:o,imag:n}=e,s=t.makeTensorInfo(o.shape,\"complex64\"),a=t.tensorMap.get(s.dataId),i=Ft({inputs:{x:o},backend:t}),p=Ft({inputs:{x:n},backend:t});return a.complexTensorInfos={real:i,imag:p},s}var z3={kernelName:ei,backendName:\"webgpu\",kernelFunc:po};var Ro=class{constructor(e,t){this.variableNames=[\"A\"],this.size=!0;let o=128;this.workgroupSize=[o,1,1],this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.op=t,this.shaderKey=`unary_${t}`}getUserCode(){return`\n fn unaryOperation(a : f32) -> f32 {\n ${Ha(this.op,!1)}\n }\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let a = getAByOutputIndex(index);\n setOutputAtIndex(index, unaryOperation(a));\n }\n }\n `}};function Se({opType:r,cpuKernelImpl:e,dtype:t}){return({inputs:o,backend:n})=>{let{x:s}=o,a=n,i=t||s.dtype;if(a.shouldExecuteOnCPU([s])&&e!=null){let u=a.tensorMap.get(s.dataId),c=e(u.values,i);return a.makeTensorInfo(s.shape,i,c)}let p=new Ro(s.shape,r);return a.runWebGPUProgram(p,[s],i)}}function ot({opType:r,cpuKernelImpl:e,supportsComplex:t=!1,dtype:o}){return({inputs:n,backend:s})=>{let{a,b:i}=n,p=s;if(t&&a.dtype===\"complex64\"){let l=p.tensorMap.get(a.dataId),m=p.tensorMap.get(i.dataId),d,f;if(r!==ye.MUL)[d,f]=[[l.complexTensorInfos.real,m.complexTensorInfos.real],[l.complexTensorInfos.imag,m.complexTensorInfos.imag]].map(g=>{let[x,b]=g,C={dataId:x.dataId,dtype:x.dtype,shape:a.shape},w={dataId:b.dataId,dtype:b.dtype,shape:i.shape},k=new Hu(r,a.shape,i.shape);return p.runWebGPUProgram(k,[C,w],dt(x.dtype,b.dtype))});else{let g=new zl(ye.COMPLEX_MULTIPLY_REAL,a.shape,i.shape),x=new zl(ye.COMPLEX_MULTIPLY_IMAG,a.shape,i.shape),b=[{dataId:l.complexTensorInfos.real.dataId,dtype:l.complexTensorInfos.real.dtype,shape:a.shape},{dataId:l.complexTensorInfos.imag.dataId,dtype:l.complexTensorInfos.imag.dtype,shape:a.shape},{dataId:m.complexTensorInfos.real.dataId,dtype:m.complexTensorInfos.real.dtype,shape:i.shape},{dataId:m.complexTensorInfos.imag.dataId,dtype:m.complexTensorInfos.imag.dtype,shape:i.shape}];d=p.runWebGPUProgram(g,b,\"float32\"),f=p.runWebGPUProgram(x,b,\"float32\")}let h=po({inputs:{real:d,imag:f},backend:p});return p.disposeData(d.dataId),p.disposeData(f.dataId),h}let u=o||dt(a.dtype,i.dtype);if((a.dtype===\"string\"||i.dtype===\"string\"||p.shouldExecuteOnCPU([a,i]))&&e!=null){let l=p.tensorMap.get(a.dataId).values,m=p.tensorMap.get(i.dataId).values,d=a.dtype===\"string\"?S.fromUint8ToStringArray(l):l,f=a.dtype===\"string\"?S.fromUint8ToStringArray(m):m,[h,g]=e(a.shape,i.shape,d,f,u);return p.makeTensorInfo(g,u,h)}let c=new Hu(r,a.shape,i.shape);return p.runWebGPUProgram(c,[a,i],u)}}var{addImpl:W3,castImpl:U3,ceilImpl:G3,concatImpl:H3,equalImpl:q3,expImpl:K3,expm1Impl:j3,floorImpl:X3,gatherNdImpl:Y3,gatherV2Impl:Q3,greaterEqualImpl:Z3,greaterImpl:J3,lessEqualImpl:eM,lessImpl:tM,logImpl:rM,maxImpl:oM,maximumImpl:nM,minimumImpl:sM,multiplyImpl:aM,negImpl:iM,notEqualImpl:uM,prodImpl:pM,rangeImpl:cM,rsqrtImpl:lM,scatterImpl:mM,simpleAbsImpl:dM,sliceImpl:fM,stridedSliceImpl:hM,stringNGramsImpl:gM,subImpl:xM,tileImpl:yM,topKImpl:bM,transposeImpl:CM,uniqueImpl:kNt}=Qp;var mre=Se({opType:Q.ABS,cpuKernelImpl:dM}),SM={kernelName:gs,backendName:\"webgpu\",kernelFunc:mre};var dre=Se({opType:Q.ACOS}),wM={kernelName:sa,backendName:\"webgpu\",kernelFunc:dre};var fre=Se({opType:Q.ACOSH}),IM={kernelName:aa,backendName:\"webgpu\",kernelFunc:fre};var hre=ot({opType:ye.ADD,cpuKernelImpl:W3,supportsComplex:!0}),vM={kernelName:eo,backendName:\"webgpu\",kernelFunc:hre};var Dg=class{constructor(e){this.workPerThread=1,this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e[0],this.variableNames=e.map((t,o)=>`T${o}`),this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,[this.workPerThread,1,1]),this.shaderKey=\"addN\"}getUserCode(){let e=[];this.variableNames.forEach(n=>{e.push(`let v${n} = get${n}ByOutputCoords(coords);`)});let t=this.variableNames.map(n=>`v${n}`).join(\" + \");return`\n ${se(\"index\")} {\n for (var i = 0; i < ${this.workPerThread}; i = i + 1) {\n let flatIndex = index * ${this.workPerThread} + i;\n if (flatIndex < uniforms.size) {\n let coords = getCoordsFromIndex(flatIndex);\n ${e.join(`\n `)}\n setOutputAtIndex(flatIndex, ${t});\n }\n }\n }\n `}};function gre(r){let{inputs:e,backend:t}=r,o=e;if(o.length===1)return Ft({inputs:{x:o[0]},backend:t});let n=o.map(i=>i.dtype).reduce((i,p)=>dt(i,p)),s=o.map(i=>i.shape),a=new Dg(s);return t.runWebGPUProgram(a,o,n)}var kM={kernelName:Mo,backendName:\"webgpu\",kernelFunc:gre};var Og=class{constructor(e,t){this.variableNames=[\"A\"],this.workgroupSize=[16,16,1];let o=new Array(e.length);for(let n=0;n`Must be a square tile, current tile shape is ${this.workgroupSize[0]} x ${this.workgroupSize[1]}`),`\n const tileSize = ${this.workgroupSize[0]};\n var tile : array, ${this.workgroupSize[0]}>;\n ${se()} {\n var x = i32(workgroupId.x) * tileSize + i32(localId.x);\n var y = i32(workgroupId.y) * tileSize + i32(localId.y);\n let width = uniforms.outShape[0];\n let height = uniforms.outShape[1];\n if (x < width && y < height) {\n tile[localId.y][localId.x] = f32(A[y * width + x]);\n }\n workgroupBarrier();\n\n x = i32(workgroupId.y) * tileSize + i32(localId.x);\n y = i32(workgroupId.x) * tileSize + i32(localId.y);\n if (x < height && y < width) {\n setOutputAtIndex((y * height + x), tile[localId.x]\n [localId.y]);\n }\n }\n `}};var Pg=class{constructor(e,t){this.variableNames=[\"A\"],this.workPerThread=1,this.workgroupSize=[64,1,1],this.size=!0;let o=new Array(e.length);for(let n=0;n6)throw Error(`Transpose for rank ${e} is not yet supported`);let t=new Array(e);for(let o=0;o\"} bestValue)\n { bestValue = candidate; }`,t=\"f32(x[offset])\"):this.reduceType===\"sum\"||this.reduceType===\"mean\"?e=\" bestValue = bestValue + candidate; \":this.reduceType===\"prod\"?(e=\" bestValue = bestValue * candidate; \",t=\"1.0\"):this.reduceType===\"all\"?(e=\" bestValue = f32(bestValue >= 1.0 && candidate >= 1.0); \",t=\"1.0\"):this.reduceType===\"any\"&&(e=\" bestValue = f32(bestValue >= 1.0 || candidate >= 1.0); \",t=\"0.0\");let o=this.reduceType===\"mean\"?\"setOutputAtIndex(outputIndex, bestValue / f32(uniforms.reduceSize));\":\"setOutputAtIndex(outputIndex, bestValue);\";return`\n fn DIV_CEIL(a : u32, b : u32) -> u32 {\n return ((a - 1u) / b + 1u);\n }\n\n ${`\n var xBestValues : array;\n `}\n fn getOffset(outputIndex : i32) -> i32 {\n let outputCoords = getCoordsFromIndex(outputIndex);\n let offset = ${this.outputShape.length===1?\"outputCoords\":\"outputCoords[0]\"} * uniforms.reduceSize;\n return offset;\n }\n ${se(\"index\")} {\n let outputIndex = index / i32(workgroupSizeX);\n let offset = getOffset(outputIndex);\n var bestValue = ${t};\n let Length = uniforms.reduceSize;\n let WorkPerThread = DIV_CEIL(u32(Length), workgroupSizeX);\n for (var k = i32(localId.x); k < Length && outputIndex < uniforms.size;\n k = k + i32(workgroupSizeX)) {\n let candidate = f32(x[offset + k]);\n ${e}\n }\n xBestValues[localId.x] = bestValue;\n workgroupBarrier();\n\n var reduceSize = min(u32(Length), workgroupSizeX);\n for (var currentSize = reduceSize / 2u; reduceSize > 1u;\n currentSize = reduceSize / 2u) {\n let interval = DIV_CEIL(reduceSize, 2u);\n if (localId.x < currentSize) {\n let candidate = xBestValues[localId.x + interval];\n ${e}\n xBestValues[localId.x] = bestValue;\n }\n reduceSize = interval;\n workgroupBarrier();\n }\n\n if (localId.x == 0u && outputIndex < uniforms.size) {\n ${o}\n }\n }\n `}};function qr(r,e,t,o,n){let s=r.shape.length,a=[],i=y.parseAxisParam(e,r.shape),p=i,u=S.getAxesPermutation(p,s),c=r;u!=null&&(c=Nr({inputs:{x:r},attrs:{perm:u},backend:n}),p=S.getInnerMostAxes(p.length,s),a.push(c)),S.assertAxesAreInnerMostDims(o,p,s);let[l,m]=S.computeOutAndReduceShapes(c.shape,p),d=l;t&&(d=S.expandShapeToKeepDim(l,i));let f;if((o===\"max\"||o===\"prod\")&&n.shouldExecuteOnCPU([c])){let h=n.tensorMap.get(c.dataId).values;switch(o){case\"max\":let g=oM(h,y.sizeFromShape(m),d,r.dtype);f=n.makeTensorInfo(d,r.dtype,g);break;case\"prod\":let{outVals:x,outShape:b,outDtype:C}=pM(c.shape,c.dtype,h,p);f=n.makeTensorInfo(b,C,x);break;default:throw new Error(`${o} CPU implementation is not yet supported.`)}}else{let h=y.sizeFromShape(m),x=y.sizeFromShape(c.shape)/h,b={windowSize:h,inSize:h,batchSize:x,outSize:1},C=o===\"mean\"?\"float32\":ka(r.dtype),w=[{type:\"int32\",data:[h]}],k=new Mg(b,o),_=n.runWebGPUProgram(k,[c],C,w);a.push(_),f=de({inputs:{x:_},attrs:{shape:d},backend:n})}return a.forEach(h=>n.disposeData(h.dataId)),f}function yre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{keepDims:s,axis:a}=o;return qr(n,a,s,\"all\",t)}var TM={kernelName:Lo,backendName:\"webgpu\",kernelFunc:yre};function bre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{keepDims:s,axis:a}=o;return qr(n,a,s,\"any\",t)}var _M={kernelName:Bo,backendName:\"webgpu\",kernelFunc:bre};var vc=class{constructor(e,t,o){this.workgroupSize=[64,1,1],this.variableNames=[\"x\"],this.uniforms=\"infinityValue : f32,\",this.size=!0;let n=[t];this.op=o===\"min\"?\"<\":\">\";let[s,a]=S.computeOutAndReduceShapes(e,n);this.outputShape=s.length===0?[1]:s,this.dispatchLayout=ue(this.outputShape),y.sizeFromShape(a)<32||y.sizeFromShape(s)>1e3?(this.type=\"plain\",this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize)):(this.type=\"shared\",this.dispatch=re(this.dispatchLayout,this.outputShape,[1,1,1])),this.inputShape=e,this.shaderKey=`argMinMax_${this.op}_${this.type}`}getUserCode(){let e=()=>this.inputShape.length===1?\"uniforms.xShape\":`uniforms.xShape.${$o(this.inputShape.length-1)}`,t=()=>{let o=\"\";if(this.outputShape.length===1)this.inputShape.length!==1&&(o+=\"outputCoords,\");else for(let n=0;n u32 {\n return ((a - 1u) / b + 1u);\n }\n\n ${`\n var xBestIndices : array;\n var xBestValues : array;\n `}\n\n ${se(\"index\")} {\n let outputIndex = index / i32(workgroupSizeX);\n let reduceLength = ${e()};\n\n var bestIndex = i32(localId.x);\n var bestValue = uniforms.infinityValue;\n let outputCoords = getCoordsFromIndex(outputIndex);\n for (var k = i32(localId.x); k < reduceLength && outputIndex < uniforms.size;\n k = k + i32(workgroupSizeX)) {\n let candidate = getX(${t()} k);\n if (!isnan(candidate) && candidate ${this.op} bestValue) {\n bestValue = candidate;\n bestIndex = k;\n }\n }\n xBestValues[localId.x] = bestValue;\n xBestIndices[localId.x] = bestIndex;\n workgroupBarrier();\n\n var reduceSize = min(u32(reduceLength), workgroupSizeX);\n for (var currentSize = reduceSize / 2u; reduceSize > 1u;\n currentSize = reduceSize / 2u) {\n let interval = DIV_CEIL(reduceSize, 2u);\n if (localId.x < currentSize) {\n let candidate = xBestValues[localId.x + interval];\n if (candidate ${this.op} bestValue) {\n bestValue = candidate;\n xBestValues[localId.x] = bestValue;\n xBestIndices[localId.x] = xBestIndices[localId.x + interval];\n }\n }\n reduceSize = interval;\n workgroupBarrier();\n }\n\n if (localId.x == 0u && outputIndex < uniforms.size) {\n setOutputAtIndexI32(outputIndex, xBestIndices[localId.x]);\n }\n }\n `:`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let outputCoords = getCoordsFromIndex(index);\n var bestIndex = 0;\n var bestValue = getX(${t()} 0);\n let reduceLength = ${e()};\n for (var i = 1; i < reduceLength; i++) {\n let candidate = getX(${t()} i);\n if (candidate ${this.op} bestValue) {\n bestValue = candidate;\n bestIndex = i;\n }\n }\n setOutputAtIndexI32(index, bestIndex);\n }\n }\n `}};function Cre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s}=o,a=y.parseAxisParam(s,n.shape),i=S.getAxesPermutation(a,n.shape.length),p=n,u=[];i!=null&&(p=Nr({inputs:{x:n},backend:t,attrs:{perm:i}}),u.push(p),a=S.getInnerMostAxes(a.length,p.shape.length)),S.assertAxesAreInnerMostDims(\"argMax\",[a[0]],p.shape.length);let c=new vc(p.shape,a[0],\"max\"),l=[{type:\"float32\",data:[Number.NEGATIVE_INFINITY]}],m=t.runWebGPUProgram(c,[p],\"int32\",l);return u.forEach(d=>t.disposeData(d.dataId)),m}var EM={kernelName:Vo,backendName:\"webgpu\",kernelFunc:Cre};function Sre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s}=o,a=y.parseAxisParam(s,n.shape),i=S.getAxesPermutation(a,n.shape.length),p=n,u=[];i!=null&&(p=Nr({inputs:{x:n},backend:t,attrs:{perm:i}}),u.push(p),a=S.getInnerMostAxes(a.length,p.shape.length)),S.assertAxesAreInnerMostDims(\"argMin\",[a[0]],p.shape.length);let c=new vc(p.shape,a[0],\"min\"),l=[{type:\"float32\",data:[Number.POSITIVE_INFINITY]}],m=t.runWebGPUProgram(c,[p],\"int32\",l);return u.forEach(d=>t.disposeData(d.dataId)),m}var $M={kernelName:Za,backendName:\"webgpu\",kernelFunc:Sre};var wre=Se({opType:Q.ASIN}),AM={kernelName:ia,backendName:\"webgpu\",kernelFunc:wre};var Ire=Se({opType:Q.ASINH}),RM={kernelName:ua,backendName:\"webgpu\",kernelFunc:Ire};var vre=Se({opType:Q.ATAN}),FM={kernelName:pa,backendName:\"webgpu\",kernelFunc:vre};var kre=ot({opType:ye.ATAN2}),DM={kernelName:la,backendName:\"webgpu\",kernelFunc:kre};var Nre=Se({opType:Q.ATANH}),OM={kernelName:ca,backendName:\"webgpu\",kernelFunc:Nre};var Wl=class{constructor(e,t){this.variableNames=[\"x\"],this.uniforms=\"stride : vec2, pad : vec2, dilation : vec2, convDims : vec2, filterDims : vec2,\",this.workgroupSize=[128,1,1],this.size=!0,this.outputShape=e.outShape,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=`pool2D_${t}`,this.poolType=t}getUserCode(){let e=\"resultValue = max(value, resultValue);\";this.poolType===\"avg\"&&(e=\"resultValue = resultValue + value; count = count + 1.0;\");let t=\"resultValue\";return this.poolType===\"avg\"&&(t=\"resultValue / count\"),`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let batch = coords[0];\n let xRCCorner = vec2(coords.yz) * uniforms.stride - uniforms.pad;\n let xRCorner = xRCCorner.x;\n let xCCorner = xRCCorner.y;\n\n var resultValue = ${this.poolType===\"avg\"?\"0.0\":\"-1.0 / pow(10.0, -20.0)\"};\n var count = 0.0;\n\n for (var wR = 0; wR < uniforms.filterDims.x; wR = wR + uniforms.dilation.x) {\n let xR = xRCorner + wR;\n\n if (xR < 0 || xR >= uniforms.convDims.x) {\n continue;\n }\n\n for (var wC = 0; wC < uniforms.filterDims.y; wC = wC + uniforms.dilation.y) {\n let xC = xCCorner + wC;\n if (xC < 0 || xC >= uniforms.convDims.y) {\n continue;\n }\n\n let value = getX(batch, xR, xC, coords[3]);\n ${e}\n }\n }\n\n setOutputAtIndex(index, ${t});\n }\n }\n `}};var Lg=class{constructor(e){this.variableNames=[\"x\"],this.uniforms=\"stride : vec2,\",this.workgroupSize=[256,1,1],this.size=!0,this.outputShape=e.outShape,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=\"poolWithFilterSizeEqualsOne\"}getUserCode(){return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let batch = coords[0];\n let d = coords[3];\n\n let xRCCorner = coords.yz * uniforms.stride;\n let xRCorner = xRCCorner.x;\n let xCCorner = xRCCorner.y;\n\n let value = getX(batch, xRCorner, xCCorner, d);\n setOutputAtIndex(index, value);\n }\n }\n `}};function Ul(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{reductionIndices:s,keepDims:a}=o;return qr(n,s,a,\"max\",t)}var PM={kernelName:yn,backendName:\"webgpu\",kernelFunc:Ul};function uI(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{keepDims:s,axis:a}=o;return qr(n,a,s,\"mean\",t)}var MM={kernelName:Sn,backendName:\"webgpu\",kernelFunc:uI};function Bg(r,e,t,o){if(e.filterWidth===1&&e.filterHeight===1&&y.arraysEqual(e.inShape,e.outShape))return Ft({inputs:{x:r},backend:o});if(e.filterWidth===e.inWidth&&e.filterHeight===e.inHeight&&e.batchSize===1&&e.padInfo.type===\"VALID\"){let a=r.shape.length,i=de({inputs:{x:r},backend:o,attrs:{shape:[r.shape[a-3]*r.shape[a-2],r.shape[a-1]]}}),p;t===\"avg\"?p=uI({inputs:{x:i},backend:o,attrs:{axis:0,keepDims:!1}}):(y.assert(t===\"max\",()=>`Invalid pool type ${t}`),p=Ul({inputs:{x:i},backend:o,attrs:{reductionIndices:0,keepDims:!1}}));let u=de({inputs:{x:p},backend:o,attrs:{shape:e.outShape}});return o.disposeData(i.dataId),o.disposeData(p.dataId),u}let n,s=[{type:\"int32\",data:[e.strideHeight,e.strideWidth]}];return e.filterHeight===1&&e.filterWidth===1?n=new Lg(e):(t===\"avg\"?n=new Wl(e,\"avg\"):(y.assert(t===\"max\",()=>`Invalid pool type ${t}`),n=new Wl(e,\"max\")),s.push({type:\"int32\",data:[e.padInfo.top,e.padInfo.left]},{type:\"int32\",data:[e.dilationHeight,e.dilationWidth]},{type:\"int32\",data:[e.inHeight,e.inWidth]},{type:\"int32\",data:[e.effectiveFilterHeight,e.effectiveFilterWidth]})),o.runWebGPUProgram(n,[r],r.dtype,s)}function Tre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{filterSize:s,strides:a,pad:i,dimRoundingMode:p}=o,u=1,c=S.computePool2DInfo(n.shape,s,a,u,i,p);return Bg(n,c,\"avg\",t)}var LM={kernelName:zo,backendName:\"webgpu\",kernelFunc:Tre};function _re(r){let{inputs:e,backend:t,attrs:o}=r,{a:n,b:s}=e,{transposeA:a,transposeB:i}=o;return Gu({a:n,b:s,transposeA:a,transposeB:i,backend:t})}var BM={kernelName:Wo,backendName:\"webgpu\",kernelFunc:_re};var Vg=class{constructor(e,t){this.variableNames=[\"source\"],this.workPerThread=1,this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=t,this.rank=t.length,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,[this.workPerThread,1,1]),this.start=e,this.uniforms=`start : ${Rt(e.length)}, `,this.shaderKey=\"slice\"}getUserCode(){let e=Rt(this.rank),t=Ere(this.rank),o;return this.start.length===1?o=this.outputShape.map((s,a)=>\"sourceLoc = uniforms.start + coords;\"):o=this.outputShape.map((s,a)=>`sourceLoc.${pI[a]} = uniforms.start.${$o(a)} + coords.${pI[a]};`),`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n var sourceLoc : ${e};\n let coords = getCoordsFromIndex(index);\n ${o.join(`\n`)}\n setOutputAtIndex(index, getSource(${t}));\n }\n }\n `}},pI=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"];function Ere(r){if(r===1)return\"sourceLoc\";if(r<=6)return pI.slice(0,r).map(e=>`sourceLoc.${e}`).join(\",\");throw Error(`Slicing for rank ${r} is not yet supported`)}function ds(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{begin:s,size:a}=o,[i,p]=ut.parseSliceParams(n,s,a);if(ut.assertParamsValid(n,i,p),t.shouldExecuteOnCPU([n])||n.dtype===\"string\"){let l=t.tensorMap.get(n.dataId),m=fM(l.values,i,p,n.shape,n.dtype);return t.makeTensorInfo(p,n.dtype,m)}if(y.sizeFromShape(p)===0)return t.makeTensorInfo(p,n.dtype,[]);let u=new Vg(i,p),c=[{type:\"int32\",data:i}];return t.runWebGPUProgram(u,[n],n.dtype,c)}var VM={kernelName:_s,backendName:\"webgpu\",kernelFunc:ds};var $re=r=>{let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{blockShape:s,crops:a}=o;y.assert(n.shape.length<=4,()=>\"batchToSpaceND for rank > 4 with a WebGPU backend not implemented yet\");let i=s.reduce((b,C)=>b*C),p=S.getReshaped(n.shape,s,i),u=S.getPermuted(p.length,s.length),c=S.getReshapedPermuted(n.shape,s,i),l=S.getSliceBeginCoords(a,s.length),m=S.getSliceSize(c,a,s.length),d=[],f=de({inputs:{x:n},backend:t,attrs:{shape:p}}),h=Nr({inputs:{x:f},backend:t,attrs:{perm:u}}),g=de({inputs:{x:h},backend:t,attrs:{shape:c}}),x=ds({inputs:{x:g},backend:t,attrs:{begin:l,size:m}});return d.push(f),d.push(h),d.push(g),d.forEach(b=>t.disposeData(b.dataId)),x},zM={kernelName:xs,backendName:\"webgpu\",kernelFunc:$re};var Are=`\n fn bincount_write(index: i32, value: f32) {\n var oldValue = atomicLoad(& (result[index]));\n var exchanged = false;\n for (; !exchanged;) {\n let newValueF32 = bitcast(oldValue) + value;\n let newValue = bitcast(newValueF32);\n let res = atomicCompareExchangeWeak(\n &(result[index]), oldValue, newValue);\n oldValue = res.old_value;\n exchanged = res.exchanged;\n }\n }\n`,Rre=`\n fn bincount_write(index: i32, value: f32) {\n result[index] = value;\n }\n`,kc=class{constructor(e,t,o=!1){this.outputShape=[],this.variableNames=[\"x\"],this.uniforms=\"binCountSize : i32,\",this.workgroupSize=[64,1,1],this.atomic=!0,this.hasWeights=!0,this.binaryOutput=!1,this.outputShape=e,this.rank=e.length,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.binaryOutput=o,o&&(this.atomic=!1),this.hasWeights=t,this.hasWeights&&this.variableNames.push(\"w\"),this.shaderKey=`bincount_${this.hasWeights}_${this.binaryOutput}_${this.rank}`}getUserCode(){return`\n ${this.binaryOutput?Rre:Are}\n ${se(\"index\")} {\n ${this.rank===1?`if (index < uniforms.xShape) {\n let indexVal = i32(getX(index));\n if (indexVal < uniforms.binCountSize) {\n let value = ${this.binaryOutput?1:this.hasWeights?\"f32(getW(index))\":\"1.\"};\n bincount_write(indexVal, value);\n }\n }`:`let coord = getCoordsFromIndex(index);\n if (coordsInBounds2D(coord, uniforms.xShape)) {\n let indexVal = i32(getX(coord[0], coord[1]));\n if (indexVal < uniforms.binCountSize) {\n let value = ${this.binaryOutput?1:this.hasWeights?\"f32(getW(coord[0], coord[1]))\":\"1.\"};\n bincount_write(coord.x * uniforms.binCountSize + indexVal, value);\n }\n }`}\n }\n `}};function Fre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,weights:s}=e,{size:a}=o,i=y.sizeFromShape(n.shape),u=y.sizeFromShape(s.shape)>0,c=[a],l=s.dtype,m=dr({backend:t,attrs:{shape:c,value:0,dtype:l}}),d=new kc([i],u),f=[{type:\"int32\",data:[a]}],h=u?[n,s]:[n];return t.runWebGPUProgram(d,h,l,f,m)}var WM={kernelName:Ja,backendName:\"webgpu\",kernelFunc:Fre};var cI=ot({opType:ye.NOT_EQUAL,dtype:\"bool\",cpuKernelImpl:uM}),UM={kernelName:Nn,backendName:\"webgpu\",kernelFunc:cI};function qa(r){let{inputs:e,backend:t}=r,{input:o}=e,n=t.tensorMap.get(o.dataId);return Ft({inputs:{x:n.complexTensorInfos.real},backend:t})}var GM={kernelName:ai,backendName:\"webgpu\",kernelFunc:qa};function HM(r,e){let t=new Ro(r.shape,Q.TO_INT),o=e.runWebGPUProgram(t,[r],\"int32\");return{dataId:o.dataId,shape:o.shape,dtype:o.dtype}}function lI(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{dtype:s}=o;if(s===\"complex64\"){if(n.dtype===\"complex64\")return Ft({inputs:{x:n},backend:t});let a=Vr(n.shape),i=lI({inputs:{x:n},backend:t,attrs:{dtype:\"float32\"}}),p=po({inputs:{real:i,imag:a},backend:t});return a.dispose(),t.disposeData(i.dataId),p}if(n.dtype===\"complex64\"){let a=qa({inputs:{input:n},backend:t}),i=lI({inputs:{x:a},backend:t,attrs:{dtype:s}});return t.disposeData(a.dataId),i}if(!y.hasEncodingLoss(n.dtype,s)){let a=Ft({inputs:{x:n},backend:t});return{dataId:a.dataId,shape:a.shape,dtype:s}}if(t.shouldExecuteOnCPU([n])){let a=t.tensorMap.get(n.dataId).values,[i,p,u]=U3(a,n.shape,n.dtype,s);return t.makeTensorInfo(i,p,u)}if(s===\"int32\")return HM(n,t);if(s===\"bool\"){let a=t.makeTensorInfo([],\"bool\",y.getTypedArrayFromDType(\"bool\",1)),p=cI({inputs:{a:n,b:a},backend:t});return t.disposeData(a.dataId),p}throw new Error(`Error in Cast: failed to cast ${n.dtype} to ${s}`)}var qM={kernelName:co,backendName:\"webgpu\",kernelFunc:lI};var Dre=Se({opType:Q.CEIL,cpuKernelImpl:G3}),KM={kernelName:Uo,backendName:\"webgpu\",kernelFunc:Dre};var zg=class{constructor(e){this.variableNames=[\"A\"],this.uniforms=\"minVal : f32, maxVal : f32,\",this.workPerThread=4,this.workgroupSize=[64,1,1],this.isVec4=!0,this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,[this.workPerThread,1,1]),this.shaderKey=\"clipVec4\"}getUserCode(){return`\n ${se(\"index\")} {\n if(index < uniforms.size) {\n let value = getAByOutputIndex(index);\n var clampedValue : vec4;\n for (var i = 0; i < 4; i = i + 1) {\n if (isnan(value[i])) {\n clampedValue[i] = value[i];\n } else {\n clampedValue[i] = clamp(value[i], uniforms.minVal, uniforms.maxVal);\n }\n }\n\n setOutputAtIndex(index, clampedValue);\n }\n }\n `}};var Wg=class{constructor(e){this.variableNames=[\"A\"],this.uniforms=\"minVal : f32, maxVal : f32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=\"clip\"}getUserCode(){return`\n ${se(\"index\")} {\n if(index < uniforms.size) {\n let value = getAByOutputIndex(index);\n if (isnan(value)) {\n setOutputAtIndex(index, value);\n return;\n }\n setOutputAtIndex(index, clamp(value, uniforms.minVal, uniforms.maxVal));\n }\n }\n `}};function Ore(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{clipValueMin:s,clipValueMax:a}=o,i,p=[{type:\"float32\",data:[s]},{type:\"float32\",data:[a]}];return y.sizeFromShape(n.shape)%4===0?i=new zg(n.shape):i=new Wg(n.shape),t.runWebGPUProgram(i,[n],n.dtype,p)}var jM={kernelName:lo,backendName:\"webgpu\",kernelFunc:Ore};var Ug=class{constructor(e){this.uniforms=\"\",this.workPerThread=1,this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=S.computeOutShape(e,1),this.variableNames=e.map((t,o)=>`T${o}`),this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,[this.workPerThread,1,1]),this.offsetLength=e.length-1;for(let t=0;t0){e.push(\"if (yC < uniforms.offset0){ setOutputAtCoords(coords.x, coords.y, getT0(yR, yC)); }\");for(let s=1;sqa({inputs:{input:C},backend:t})),h=r.map(C=>qu({inputs:{input:C},backend:t})),g=Nc(f,e,t),x=Nc(h,e,t),b=po({inputs:{real:g,imag:x},backend:t});return f.forEach(C=>t.disposeData(C.dataId)),h.forEach(C=>t.disposeData(C.dataId)),t.disposeData(g.dataId),t.disposeData(x.dataId),b}let n=t.shouldExecuteOnCPU(r);if(o===\"string\"&&(n=!0),n){let f=r.map(k=>{let $=[-1,y.sizeFromShape(k.shape.slice(e))];return de({inputs:{x:k},backend:t,attrs:{shape:$}})}),h=f.map(k=>({vals:t.readSync(k.dataId),shape:k.shape})),g=S.computeOutShape(f.map(k=>k.shape),1),x=f[0].shape[0]===1,b=H3(h,g,o,x),C=S.computeOutShape(r.map(k=>k.shape),e),w=t.makeTensorInfo(C,o,b);return f.forEach(k=>t.disposeData(k.dataId)),w}let s=t.device.limits.maxStorageBuffersPerShaderStage-1;if(r.length>s){let f=[];for(let g=0;gf.shape),u=new Ug(p),c=[],l=new Array(p.length-1);if(l.length>0){l[0]=p[0][1],c.push({type:\"int32\",data:[l[0]]});for(let f=1;ft.disposeData(f.dataId));let d=de({inputs:{x:m},backend:t,attrs:{shape:i}});return t.disposeData(m.dataId),d}function Pre(r,e,t){let o=S.computeOutShape(r.map(s=>s.shape),e);return{tensors2D:r.map(s=>de({inputs:{x:s},backend:t,attrs:{shape:[y.sizeFromShape(s.shape.slice(0,e)),y.sizeFromShape(s.shape.slice(e))]}})),outShape:o}}function mI(r){let{inputs:e,backend:t,attrs:o}=r,{axis:n}=o,s=y.parseAxisParam(n,e[0].shape)[0],a=e.map(u=>u.shape);S.assertParamsConsistent(a,s);let i=S.computeOutShape(e.map(u=>u.shape),s);if(y.sizeFromShape(i)===0)return t.makeTensorInfo(i,e[0].dtype,[]);let p=e.filter(u=>y.sizeFromShape(u.shape)>0);return p.length===1?Ft({inputs:{x:p[0]},backend:t}):Nc(p,s,t)}var YM={kernelName:ys,backendName:\"webgpu\",kernelFunc:mI};function Mre(r,e,t,o,n=!1,s=null,a=!1,i=4,p=4,u=4){let c=R=>{switch(R){case 1:return\"resData = x[xIndex];\";case 3:return\"resData = vec3(x[xIndex], x[xIndex + 1], x[xIndex + 2]);\";case 4:return\"resData = x[xIndex / 4];\";default:throw new Error(`innerElementSize ${R} is not supported.`)}},l=R=>{switch(R){case 1:return\"return W[row * uniforms.wShape[3] + colIn];\";case 4:return\"return W[row * uniforms.wShape[3] / 4 + colIn];\";default:throw new Error(`innerElementSize ${R} is not supported.`)}},m=r?`\n let coord = vec4(batch, xRow, xCol, xCh);\n `:`\n let coord = vec4(batch, xCh, xRow, xCol);\n `,d=r?`\n let coords = vec4(\n batch,\n row / outWidth,\n row % outWidth,\n col);\n `:`\n let coords = vec4(\n batch,\n row,\n col / outWidth,\n col % outWidth);\n `,f=r?\"uniforms.xShape[1]\":\"uniforms.xShape[2]\",h=r?\"uniforms.xShape[2]\":\"uniforms.xShape[3]\",g=r?\"row\":\"col\",x=r?\"col\":\"row\",b=`\n let inChannels = uniforms.wShape[2];\n let outWidth = ${r?\"uniforms.outShape[2]\":\"uniforms.outShape[3]\"};\n let outRow = ${g} / outWidth;\n let outCol = ${g} % outWidth;\n\n let WRow = ${x} / (uniforms.filterDims[1] * inChannels);\n let WCol = ${x} / inChannels % uniforms.filterDims[1];\n let xRow = outRow * uniforms.stride[0] + uniforms.dilation[0] * WRow - uniforms.pad[0];\n let xCol = outCol * uniforms.stride[1] + uniforms.dilation[1] * WCol - uniforms.pad[1];\n let xCh = ${x} % inChannels;\n var resData = ${kt(i)}(0.0);\n // The bounds checking is always needed since we use it to pad zero for\n // the 'same' padding type.\n if (xRow >= 0 && xRow < ${f} && xCol >= 0 && xCol < ${h}) {\n ${m}\n let xIndex = getIndexFromCoords4D(coord, uniforms.xShape);\n ${c(i)}\n }\n return resData;`,C=r?e&&o?`\n let col = colIn * ${i};\n ${b}`:`\n let col = colIn * ${i};\n if (row < uniforms.dimAOuter && col < uniforms.dimInner) {\n ${b}\n }\n return ${kt(i)}(0.0);`:o&&t?`\n let col = colIn * ${i};\n ${b}`:`\n let col = colIn * ${i};\n if (row < uniforms.dimInner && col < uniforms.dimBOuter) {\n ${b}\n }\n return ${kt(i)}(0.0);`,w=`${l(p)}`,k=kt(u),_=r?kt(i):kt(p),$=r?kt(p):kt(i);return`\n ${ur(s,a,u===4,4)}\n fn mm_readA(batch: i32, row : i32, colIn : i32) -> ${_} {\n ${r?C:w}\n }\n\n fn mm_readB(batch: i32, row : i32, colIn : i32) -> ${$} {\n ${r?w:C}\n }\n\n fn mm_write(batch: i32, row : i32, colIn : i32, valueIn : ${k}) {\n let col = colIn * ${u};\n if (row < uniforms.dimAOuter && col < uniforms.dimBOuter)\n {\n var value = valueIn;\n let outWidth = ${r?\"uniforms.outShape[2]\":\"uniforms.outShape[3]\"};\n ${d}\n ${Hr(n,s)}\n setOutputAtCoords(coords[0], coords[1], coords[2], coords[3], value);\n }\n }`}var Gg=class{constructor(e,t,o,n,s=!1,a=null,i=!1,p=!1){this.variableNames=[\"x\",\"W\"],this.uniforms=\"filterDims : vec2, pad : vec2, stride : vec2, dilation : vec2, dimAOuter : i32, dimBOuter : i32, dimInner : i32,\",this.outputShape=e.outShape,this.isChannelsLast=e.dataFormat===\"channelsLast\",this.isVec4=((e.inChannels%4===0||e.inChannels%3===0)&&this.isChannelsLast||e.outWidth%4===0&&!this.isChannelsLast)&&e.outChannels%4===0,this.dispatchLayout=this.isChannelsLast?{x:[3],y:[1,2],z:[0]}:{x:[2,3],y:[1],z:[0]},this.workgroupSize=Ml(this.dispatchLayout,this.outputShape,this.isVec4),this.elementsPerThread=Ll(this.dispatchLayout,this.outputShape,this.isVec4),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,this.elementsPerThread),this.isVec4?(this.isChannelsLast&&e.inChannels%4!==0?(this.innerElementSize=3,this.variableTypes=[\"f32\",\"vec4\"]):(this.innerElementSize=4,this.variableTypes=[\"vec4\",\"vec4\"]),s&&(this.variableNames.push(\"bias\"),this.variableTypes.push(\"vec4\")),i&&(this.variableNames.push(\"preluActivationWeights\"),this.variableTypes.push(\"vec4\"))):(this.innerElementSize=this.elementsPerThread[0],s&&this.variableNames.push(\"bias\"),i&&this.variableNames.push(\"preluActivationWeights\")),this.sequentialAccessByThreads=p,this.addBias=s,this.activation=a,this.hasPreluActivationWeights=i,this.tileAOuter=this.workgroupSize[1]*this.elementsPerThread[1],this.tileBOuter=this.workgroupSize[0]*this.elementsPerThread[0],this.tileInner=Math.max(this.workgroupSize[0]*this.innerElementSize,this.workgroupSize[1]),this.fitAOuter=t%this.tileAOuter===0,this.fitBOuter=o%this.tileBOuter===0,this.fitInner=n%this.tileInner===0,this.shaderKey=`conv2DMM_${this.elementsPerThread}_${this.activation}}_${this.fitAOuter}_${this.fitBOuter}_${this.fitInner}_${this.isVec4}_${this.innerElementSize}_${this.isChannelsLast}_${this.sequentialAccessByThreads}`}getUserCode(){let e=this.isVec4?Wu(this.elementsPerThread,this.workgroupSize,!this.isChannelsLast,this.tileInner):Uu(this.elementsPerThread,this.workgroupSize,!this.isChannelsLast,this.tileInner,!1,null,this.sequentialAccessByThreads),t=this.isVec4?[this.innerElementSize,4,4]:[1,1,1];return`\n ${Mre(this.isChannelsLast,this.fitAOuter,this.fitBOuter,this.fitInner,this.addBias,this.activation,this.hasPreluActivationWeights,t[0],t[1],t[2])}\n ${e}\n `}};var Hg=class{constructor(e,t=!1,o=null,n=!1){this.variableNames=[\"x\",\"W\"],this.uniforms=\"filterDims: vec2, pad: vec2, stride: vec2, dilation: vec2,\",this.workgroupSize=[4,4,8],this.outputShape=e.outShape,this.isChannelsLast=e.dataFormat===\"channelsLast\",this.dispatchLayout=this.isChannelsLast?{x:[2],y:[1],z:[0,3]}:{x:[3],y:[2],z:[0,1]},this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.addBias=t,this.activation=o,this.hasPreluActivationWeights=n,t&&this.variableNames.push(\"bias\"),n&&this.variableNames.push(\"preluActivationWeights\"),this.shaderKey=`conv2dnaive_${this.activation}_${this.isChannelsLast}`}getUserCode(){return`\n ${ur(this.activation,this.hasPreluActivationWeights,!1,4)}\n fn readInp(batch : i32, row : i32, col : i32, chan : i32) -> f32{\n let coords = vec4(batch, row, col, chan);\n if (coordsInBounds4D(coords, uniforms.xShape)) {\n return getX(batch, row, col, chan);\n } else {\n return 0.0;\n }\n }\n fn readFilt(row : i32, col : i32, xChannel : i32, outChannel : i32) -> f32{\n let coords = vec4(row, col, xChannel, outChannel);\n if(coordsInBounds4D(coords, uniforms.wShape)) {\n return getW(row, col, xChannel, outChannel);\n } else {\n return 0.0;\n }\n }\n fn writeResult(batch : i32, row : i32, col : i32, chan : i32, valueIn : f32) {\n let coords = ${this.isChannelsLast?\"vec4(batch, row, col, chan);\":\"vec4(batch, chan, row, col);\"}\n if (coordsInBounds4D(coords, uniforms.outShape)) {\n var value = valueIn;\n ${Hr(this.addBias,this.activation)}\n setOutputAtCoords(coords.x, coords.y, coords.z, coords.w, value);\n }\n }\n ${se(\"index\")} {\n let coords = getOutputCoords();\n let batch = coords[0];\n let outChannel = ${this.isChannelsLast?\"coords[3];\":\"coords[1];\"}\n let outRow = ${this.isChannelsLast?\"coords[1];\":\"coords[2];\"}\n let outCol = ${this.isChannelsLast?\"coords[2];\":\"coords[3];\"}\n var acc : f32 = 0.0;\n for (var row = 0; row < uniforms.filterDims[0]; row = row + 1) {\n for (var col = 0; col < uniforms.filterDims[1]; col = col + 1) {\n let xRow = outRow * uniforms.stride[0] + uniforms.dilation[0] * row - uniforms.pad[0];\n let xCol = outCol * uniforms.stride[1] + uniforms.dilation[1] * col - uniforms.pad[1];\n for (var xChannel = 0; xChannel < ${this.isChannelsLast?\"uniforms.xShape[3];\":\"uniforms.xShape[1];\"} xChannel = xChannel + 1) {\n ${this.isChannelsLast?\"let v = readInp(batch, xRow, xCol, xChannel);\":\"let v = readInp(batch, xChannel, xRow, xCol);\"}\n let f = readFilt(row, col, xChannel, outChannel);\n acc = acc + v * f;\n }\n }\n }\n writeResult(batch, outRow, outCol, outChannel, acc);\n }\n `}};var qg=class{constructor(e,t){this.variableNames=[\"x\"],this.uniforms=`pad : vec2, stride : vec2, dilation : vec2, outWidth : i32, itemsPerBlockRow : i32,\n inChannels : i32,`,this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.isChannelsLast=t,this.shaderKey=`im2col_${this.isChannelsLast}`}getUserCode(){let e=this.isChannelsLast?1:2,t=this.isChannelsLast?2:3,o=this.isChannelsLast?\"coords[1]\":\"coords[2]\",n=this.isChannelsLast?\"coords[2]\":\"coords[1]\",s=this.isChannelsLast?\"getX(batch, xRow, xCol, ch)\":\"getX(batch, ch, xRow, xCol)\";return`\n ${se(\"index\")} {\n let coords = getCoordsFromIndex(index);\n if(index < uniforms.size) {\n let batch = coords[0];\n let row = ${o};\n let col = ${n};\n let offsetY = (row / uniforms.outWidth) * uniforms.stride[0] - uniforms.pad[0];\n let xRow = offsetY + uniforms.dilation[0] * (col / uniforms.itemsPerBlockRow);\n var value = 0.0;\n if(xRow < uniforms.xShape[${e}] && xRow >= 0) {\n let offsetX = (row % uniforms.outWidth) * uniforms.stride[1] -\n uniforms.pad[1];\n let xCol = offsetX + uniforms.dilation[1] * ((col %\n uniforms.itemsPerBlockRow) / uniforms.inChannels);\n let ch = col % uniforms.inChannels;\n if(xCol < uniforms.xShape[${t}] && xCol >= 0) {\n value = ${s};\n }\n }\n setOutputAtIndex(index, value);\n }\n }\n `}};function Kg(r,e){let t=r.length;return t>=3?e?[...r.slice(0,-3),r[t-3]*r[t-2],r[t-1]]:[...r.slice(0,-3),r[t-3],r[t-2]*r[t-1]]:!e&&t===1&&r[0]>1?[r[0],1]:null}function Lre({x:r,filter:e,convInfo:t,backend:o,bias:n=null,preluActivationWeights:s=null,leakyreluAlpha:a=0,activation:i=null}){let p=t.dataFormat===\"channelsLast\",u=!p,c=!1,l=p&&t.filterHeight===t.inHeight&&t.filterWidth===t.inWidth&&t.padInfo.type===\"VALID\",m=[],d,f;if(l){let x=t.inHeight*t.inWidth*t.inChannels;d=de({inputs:{x:r},backend:o,attrs:{shape:[1,t.batchSize,x]}}),f=de({inputs:{x:e},backend:o,attrs:{shape:[1,x,t.outChannels]}})}else d=de({inputs:{x:r},backend:o,attrs:{shape:p?[t.batchSize,t.inHeight*t.inWidth,t.inChannels]:[t.batchSize,t.inChannels,t.inHeight*t.inWidth]}}),f=de({inputs:{x:e},backend:o,attrs:{shape:[1,t.inChannels,t.outChannels]}});if(m.push(d),m.push(f),s!=null){let x=Kg(s.shape,p);x!=null&&(s=de({inputs:{x:s},backend:o,attrs:{shape:x}}),m.push(s))}if(n!=null){let x=Kg(n.shape,p);x!=null&&(n=de({inputs:{x:n},backend:o,attrs:{shape:x}}),m.push(n))}let h=Gu({a:p?d:f,b:p?f:d,transposeA:u,transposeB:c,backend:o,bias:n,activation:i,preluActivationWeights:s,leakyreluAlpha:a}),g=de({inputs:{x:h},backend:o,attrs:{shape:t.outShape}});m.push(h);for(let x of m)o.disposeData(x.dataId);return g}function Bre({x:r,filter:e,convInfo:t,backend:o,bias:n=null,preluActivationWeights:s=null,leakyreluAlpha:a=0,activation:i=null}){let{filterWidth:p,filterHeight:u,inChannels:c,strideWidth:l,strideHeight:m,padInfo:d,outWidth:f,outHeight:h,dilationWidth:g,dilationHeight:x,dataFormat:b}=t,C=b===\"channelsLast\",w=p*u*c,k=h*f,_=C?[t.batchSize,k,w]:[t.batchSize,w,k],$=new qg(_,C),A=[{type:\"int32\",data:[d.top,d.left]},{type:\"int32\",data:[m,l]},{type:\"int32\",data:[x,g]},{type:\"int32\",data:[f]},{type:\"int32\",data:[c*p]},{type:\"int32\",data:[c]}],R=o.runWebGPUProgram($,[r],r.dtype,A),D=[];D.push(R);let P=de({inputs:{x:e},backend:o,attrs:{shape:[1,w,-1]}});if(D.push(P),s!=null){let U=Kg(s.shape,C);U!=null&&(s=de({inputs:{x:s},backend:o,attrs:{shape:U}}),D.push(s))}if(n!=null){let U=Kg(n.shape,C);U!=null&&(n=de({inputs:{x:n},backend:o,attrs:{shape:U}}),D.push(n))}let W=Gu({a:C?R:P,b:C?P:R,transposeA:!C,transposeB:!1,backend:o,bias:n,activation:i,preluActivationWeights:s,leakyreluAlpha:a}),V=de({inputs:{x:W},backend:o,attrs:{shape:t.outShape}});D.push(W);for(let U of D)o.disposeData(U.dataId);return V}function jg({x:r,filter:e,convInfo:t,backend:o,bias:n=null,preluActivationWeights:s=null,leakyreluAlpha:a=0,activation:i=null}){let p=n!=null,u=s!=null,c=t.dataFormat===\"channelsLast\",l=c&&t.filterHeight===t.inHeight&&t.filterWidth===t.inWidth&&t.padInfo.type===\"VALID\",m=O().getBool(\"WEBGPU_USE_NAIVE_CONV2D_DEBUG\");if(!m&&(l||t.filterHeight===1&&t.filterWidth===1&&t.dilationHeight===1&&t.dilationWidth===1&&t.strideHeight===1&&t.strideWidth===1&&(t.padInfo.type===\"SAME\"||t.padInfo.type===\"VALID\")))return Lre({x:r,filter:e,convInfo:t,backend:o,bias:n,activation:i,preluActivationWeights:s,leakyreluAlpha:a});let d=O().getNumber(\"WEBGPU_THRESHOLD_TO_INCREASE_WORKGROUPS_FOR_MATMUL\"),f=d>0?d:o.thresholdToIncreaseWorkgroups,h=t.batchSize*Math.ceil(t.outHeight*t.outWidth/32)*Math.ceil(t.outChannels/32);if(O().getBool(\"WEBGPU_CONV_SEPARATE_IM2COL_SHADER\")||h<=f)return Bre({x:r,filter:e,convInfo:t,backend:o,bias:n,preluActivationWeights:s,leakyreluAlpha:a,activation:i});let g,x=[t.padInfo.top,t.padInfo.left],b=[{type:\"int32\",data:[t.filterHeight,t.filterWidth]},{type:\"int32\",data:[...x]},{type:\"int32\",data:[t.strideHeight,t.strideWidth]},{type:\"int32\",data:[t.dilationHeight,t.dilationWidth]}];if(m)g=new Hg(t,p,i,u);else{let _=c?t.outHeight*t.outWidth:t.outChannels,$=c?t.outChannels:t.outHeight*t.outWidth,A=t.filterHeight*t.filterWidth*t.inChannels;b.push({type:\"int32\",data:[_]},{type:\"int32\",data:[$]},{type:\"int32\",data:[A]});let R=o.adapterInfo.isIntel();g=new Gg(t,_,$,A,p,i,u,R)}let C=[],w=[r,e];p&&(!c&&n.shape.length===1&&(n=de({inputs:{x:n},backend:o,attrs:{shape:[n.shape[0],1,1]}}),C.push(n)),w.push(n)),u&&(!c&&s.shape.length===1&&(s=de({inputs:{x:s},backend:o,attrs:{shape:[s.shape[0],1,1]}}),C.push(s)),w.push(s)),i===\"leakyrelu\"&&(b.push({type:\"float32\",data:[a]}),g.uniforms+=\" alpha : f32,\");let k=o.runWebGPUProgram(g,w,r.dtype,b);for(let _ of C)o.disposeData(_.dataId);return k}function Vre(r){let{inputs:e,attrs:t,backend:o}=r,{x:n,filter:s}=e,{strides:a,pad:i,dataFormat:p,dilations:u,dimRoundingMode:c}=t,l=S.convertConv2DDataFormat(p),m=S.computeConv2DInfo(n.shape,s.shape,a,u,i,c,!1,l);return jg({x:n,filter:s,convInfo:m,backend:o})}var QM={kernelName:Go,backendName:\"webgpu\",kernelFunc:Vre};function zre(r=4){let e=s=>{switch(s){case 1:return\"return W[getIndexFromCoords4D(coord, uniforms.wShape)];\";case 4:return`\n let coord1 = vec4(coordX, coordY, col + 1, rowInner);\n let coord2 = vec4(coordX, coordY, col + 2, rowInner);\n let coord3 = vec4(coordX, coordY, col + 3, rowInner);\n let v0 = W[getIndexFromCoords4D(coord, uniforms.wShape)];\n let v1 = W[getIndexFromCoords4D(coord1, uniforms.wShape)];\n let v2 = W[getIndexFromCoords4D(coord2, uniforms.wShape)];\n let v3 = W[getIndexFromCoords4D(coord3, uniforms.wShape)];\n return vec4(v0, v1, v2, v3);\n `;default:throw new Error(`innerElementSize ${s} is not supported.`)}},o=`if (row < uniforms.dimAOuter && col < uniforms.dimInner) {\n ${`\n let outRow = row / uniforms.outShape[2];\n let outCol = row % uniforms.outShape[2];\n\n let WRow = col / (uniforms.filterDims[1] * uniforms.outBackprop[3]);\n let WCol = col / uniforms.outBackprop[3] % uniforms.filterDims[1];\n let xR = f32(outRow - uniforms.pads[0] + WRow) / f32(uniforms.stride[0]);\n let xC = f32(outCol - uniforms.pads[1] + WCol) / f32(uniforms.stride[1]);\n if (xR < 0.0 || xR >= f32(uniforms.outBackprop[1]) || fract(xR) > 0.0) {\n return ${kt(r)}(0.0);\n }\n if (xC < 0.0 || xC >= f32(uniforms.outBackprop[2]) || fract(xC) > 0.0) {\n return ${kt(r)}(0.0);\n }\n let coord = vec4(\n batch,\n i32(xR),\n i32(xC),\n col % uniforms.outBackprop[3]);\n return x[getIndexFromCoords4D(coord, uniforms.xShape)/${r}];`}\n }\n return ${kt(r)}(0.0);`;return`\n fn mm_readA(batch: i32, row : i32, colIn : i32) -> ${kt(r)} {\n let col = colIn * ${r};\n ${o}\n }\n\n fn mm_readB(batch: i32, row : i32, colIn : i32) -> ${kt(r)} {\n let col = colIn * ${r};\n let coordX = uniforms.filterDims.x - 1 -\n row / (uniforms.filterDims[1] * uniforms.outBackprop[3]);\n let coordY = uniforms.filterDims.y - 1 -\n (row / uniforms.outBackprop[3]) % uniforms.filterDims[1];\n if (row < uniforms.dimInner && col < uniforms.dimBOuter &&\n coordX >= 0 && coordY >= 0) {\n let rowInner = row % uniforms.outBackprop[3];\n let coord = vec4(coordX, coordY, col, rowInner);\n ${e(r)}\n }\n return ${kt(r)}(0.0);\n }\n\n fn mm_write(batch: i32, row : i32, colIn : i32, valueInput : ${kt(r)}) {\n let col = colIn * ${r};\n if (row < uniforms.dimAOuter && (col + ${r-1}) < uniforms.dimBOuter) {\n var value = valueInput;\n let outCoord = vec4(\n batch,\n row / uniforms.outShape[2],\n row % uniforms.outShape[2],\n col);\n result[getIndexFromCoords4D(outCoord, uniforms.outShape)/${r}] = value;\n }\n }`}var Xg=class{constructor(e){this.variableNames=[\"x\",\"W\"],this.uniforms=\"filterDims : vec2, pads : vec2, stride : vec2, outBackprop : vec4, dimAOuter : i32, dimBOuter : i32, dimInner : i32,\",this.outputShape=e.inShape,y.assert(e.dataFormat===\"channelsLast\",()=>\"TODO: NCHW is unimplemented\"),this.isVec4=e.inChannels%4===0&&e.outChannels%4===0,this.dispatchLayout={x:[3],y:[1,2],z:[0]},this.workgroupSize=Ml(this.dispatchLayout,this.outputShape,this.isVec4),this.elementsPerThread=Ll(this.dispatchLayout,this.outputShape,this.isVec4),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,this.elementsPerThread),this.isVec4&&(this.variableTypes=[\"vec4\",\"f32\"]),this.shaderKey=`conv2DDerInputMM_${this.isVec4}_${this.elementsPerThread}`}getUserCode(){let e=this.isVec4?Wu(this.elementsPerThread,this.workgroupSize):Uu(this.elementsPerThread,this.workgroupSize);return`\n ${zre(this.isVec4?4:1)}\n ${e}\n `}};var Yg=class{constructor(e){this.variableNames=[\"dy\",\"W\"],this.uniforms=\"filterDims : vec2, pads : vec2, stride : vec2, outBackprop : vec4,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e.inShape,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.isChannelsLast=e.dataFormat===\"channelsLast\",this.shaderKey=`conv2DDerInput_${this.isChannelsLast}`}getUserCode(){let e=this.isChannelsLast?1:2,t=this.isChannelsLast?2:3,o=this.isChannelsLast?3:1;return`\n ${se(\"index\")} {\n if(index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let batch = coords[0];\n let d1 = coords[${o}];\n\n let dyCorner = vec2(coords[${e}], coords[${t}]) - uniforms.pads;\n let dyRCorner = dyCorner.x;\n let dyCCorner = dyCorner.y;\n\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n var dotProd = 0.0;\n for (var wR = 0; wR < uniforms.filterDims.x; wR = wR + 1) {\n let dyR = (f32(dyRCorner) + f32(wR)) / f32(uniforms.stride.x);\n let wRPerm = uniforms.filterDims.x - 1 - wR;\n if (dyR < 0.0 || dyR >= f32(uniforms.outBackprop[1]) || fract(dyR) > 0.0 ||\n wRPerm < 0) {\n continue;\n }\n let idyR = i32(dyR);\n\n for (var wC = 0; wC < uniforms.filterDims.y; wC = wC + 1) {\n let dyC = (f32(dyCCorner) + f32(wC)) / f32(uniforms.stride.y);\n let wCPerm = uniforms.filterDims.y - 1 - wC;\n if (dyC < 0.0 || dyC >= f32(uniforms.outBackprop[2]) ||\n fract(dyC) > 0.0 || wCPerm < 0) {\n continue;\n }\n let idyC = i32(dyC);\n\n for (var d2 = 0; d2 < uniforms.outBackprop[3]; d2 = d2 + 1) {\n if (${this.isChannelsLast}) {\n let xValue = getDy(batch, idyR, idyC, d2);\n let wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd = dotProd + xValue * wValue;\n } else {\n let xValue = getDy(batch, d2, idyR, idyC);\n let wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd = dotProd + xValue * wValue;\n }\n\n }\n }\n }\n setOutputAtIndex(index, dotProd);\n }\n }\n `}};function Wre(r){let{inputs:e,backend:t,attrs:o}=r,{dy:n,filter:s}=e,{inputShape:a,strides:i,pad:p,dataFormat:u,dimRoundingMode:c}=o,l=S.convertConv2DDataFormat(u),m=S.computeConv2DInfo(a,s.shape,i,1,p,c,!1,l),d=[{type:\"int32\",data:[m.filterHeight,m.filterWidth]},{type:\"int32\",data:[m.filterHeight-1-m.padInfo.top,m.filterWidth-1-m.padInfo.left]},{type:\"int32\",data:[m.strideHeight,m.strideWidth]},{type:\"int32\",data:[m.batchSize,m.outHeight,m.outWidth,m.outChannels]}],f;if(O().getBool(\"WEBGPU_USE_NAIVE_CONV2D_TRANSPOSE\")||m.filterHeight<=2&&m.filterWidth<=2&&m.outChannels<=16&&m.inChannels===1)f=new Yg(m);else{f=new Xg(m);let h=m.inHeight*m.inWidth,g=m.inChannels,x=m.filterHeight*m.filterWidth*m.outChannels;d.push({type:\"uint32\",data:[h]},{type:\"uint32\",data:[g]},{type:\"uint32\",data:[x]})}return t.runWebGPUProgram(f,[n,s],\"float32\",d)}var ZM={kernelName:Ho,backendName:\"webgpu\",kernelFunc:Wre};var Ure=Se({opType:Q.COS}),JM={kernelName:qo,backendName:\"webgpu\",kernelFunc:Ure};var Gre=Se({opType:Q.COSH}),eL={kernelName:Ko,backendName:\"webgpu\",kernelFunc:Gre};var Qg=class{constructor(e,t,o,n){this.variableNames=[\"Image\",\"Boxes\",\"BoxInd\"],this.uniforms=\"extrapolationValue : f32,\",this.workgroupSize=[64,1,1],this.size=!0;let[s]=t;this.outputShape=[s,o[0],o[1],e],this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.methodId=n===\"bilinear\"?1:0,this.cropHeightBiggerThan1=this.outputShape[1]>1,this.cropWidthBiggerThan1=this.outputShape[2]>1,this.shaderKey=`cropAndResize_${this.methodId}_${this.cropHeightBiggerThan1}_${this.cropWidthBiggerThan1}`}getUserCode(){let[e,t]=[\"f32(uniforms.imageShape[1] - 1)\",\"f32(uniforms.imageShape[2] - 1)\"],[o,n,s]=this.cropHeightBiggerThan1?[`(${e} / f32(uniforms.outShape[1] - 1))`,\"(y2-y1) * height_ratio\",`y1*${e} + f32(y)*(height_scale)`]:[\"0.0\",\"0.0\",`0.5 * (y1+y2) * ${e}`],[a,i,p]=this.cropWidthBiggerThan1?[`(${t} / f32(uniforms.outShape[2] - 1))`,\"(x2-x1) * width_ratio\",`x1*${t} + f32(x)*(width_scale)`]:[\"0.0\",\"0.0\",`0.5 * (x1+x2) * ${t}`];return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let height_ratio = f32(${o});\n let width_ratio = f32(${a});\n let b = coords[0];\n let y = coords[1];\n let x = coords[2];\n let d = coords[3];\n // get box vals\n let y1 = getBoxes(b, 0);\n let x1 = getBoxes(b, 1);\n let y2 = getBoxes(b, 2);\n let x2 = getBoxes(b, 3);\n // get image in batch index\n let bInd = i32(round(getBoxInd(b)));\n if(bInd < 0 || bInd >= uniforms.outShape[0]) {\n return;\n }\n let height_scale = ${n};\n let width_scale = ${i};\n let in_y = ${s};\n if( in_y < 0.0 || in_y > ${e} ) {\n setOutputAtIndex(index, uniforms.extrapolationValue);\n return;\n }\n let in_x = ${p};\n if( in_x < 0.0 || in_x > ${t} ) {\n setOutputAtIndex(index, uniforms.extrapolationValue);\n return;\n }\n let sourceFracIndexCR = vec2(in_x,in_y);\n if(${this.methodId} == 1) {\n // Compute the four integer indices.\n let sourceFloorCR = vec2(sourceFracIndexCR);\n let sourceCeilCR = vec2(ceil(sourceFracIndexCR));\n let topLeft = getImage(bInd, sourceFloorCR.y, sourceFloorCR.x, d);\n let bottomLeft = getImage(bInd, sourceCeilCR.y, sourceFloorCR.x, d);\n let topRight = getImage(bInd, sourceFloorCR.y, sourceCeilCR.x, d);\n let bottomRight = getImage(bInd, sourceCeilCR.y, sourceCeilCR.x, d);\n let fracCR = sourceFracIndexCR - vec2(sourceFloorCR);\n let top = topLeft + (topRight - topLeft) * fracCR.x;\n let bottom = bottomLeft + (bottomRight - bottomLeft) * fracCR.x;\n let newValue = top + (bottom - top) * fracCR.y;\n setOutputAtIndex(index, newValue);\n } else {\n // Compute the coordinators of nearest neighbor point.\n let sourceNearestCR = vec2(floor(\n sourceFracIndexCR + vec2(0.5,0.5)));\n let newValue = getImage(\n bInd, sourceNearestCR.y, sourceNearestCR.x, d);\n setOutputAtIndex(index, newValue);\n }\n }\n }\n `}};var Hre=r=>{let{inputs:e,backend:t,attrs:o}=r,{image:n,boxes:s,boxInd:a}=e,{cropSize:i,method:p,extrapolationValue:u}=o,c=new Qg(n.shape[3],s.shape,i,p),l=[{type:\"float32\",data:[u]}];return t.runWebGPUProgram(c,[n,s,a],\"float32\",l)},tL={kernelName:Yo,backendName:\"webgpu\",kernelFunc:Hre};var Ku;(function(r){r.Prod=\"*\",r.Sum=\"+\"})(Ku||(Ku={}));var Gl=class{constructor(e,t,o,n){this.variableNames=[\"x\"],this.uniforms=\"index : f32,\",this.size=!0,this.workgroupSize=[128,1,1],this.outputShape=t,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.exclusive=o,this.reverse=n,this.op=e,this.shaderKey=`cum_${this.op}_${this.exclusive}_${this.reverse}`}getUserCode(){let e=this.outputShape.length,t=this.op===Ku.Prod?\"1.0\":\"0.0\",o=this.exclusive?t:`getX(${rL(e,\"coords\",this.op)})`,n=this.outputShape[this.outputShape.length-1],s=\"\",a=\"\";return this.exclusive?(s=this.reverse?`end != ${n-1}`:\"end != 0\",a=this.reverse?\"end + 1\":\"end - 1\"):(s=this.reverse?`end + pow2 < ${n}`:\"end >= pow2\",a=this.reverse?\"end + pow2\":\"end - pow2\"),`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n var coords = getCoordsFromIndex(index);\n\n let end = ${oL(e,\"coords\",this.op)};\n var val = ${o};\n let pow2 = i32(pow(2.0, uniforms.index));\n if (${s}) {\n let idx = ${a};\n ${oL(e,\"coords\",this.op)} = idx;\n val ${this.op}= getX(${rL(e,\"coords\",this.op)});\n }\n setOutputAtIndex(index, val);\n }\n }\n `}};function rL(r,e,t){if(r===1)return`${e}`;if(r===2)return`${e}.x, ${e}.y`;if(r===3)return`${e}.x, ${e}.y, ${e}.z`;if(r===4)return`${e}.x, ${e}.y, ${e}.z, ${e}.w`;throw Error(`Cumulative ${t} for rank ${r} is not yet supported`)}function oL(r,e,t){if(r===1)return`${e}`;if(r===2)return`${e}.y`;if(r===3)return`${e}.z`;if(r===4)return`${e}.w`;throw Error(`Cumulative ${t} for rank ${r} is not yet supported`)}function Zg(r,e,t,o,n,s){let a=e.shape.length,i=S.getAxesPermutation([o],a),p=e;i!=null&&(p=Nr({inputs:{x:e},backend:t,attrs:{perm:i}}));let u=S.getInnerMostAxes(1,a)[0];if(u!==a-1)throw new Error(`WebGPU cumprod shader expects an inner-most axis=${e.shape.length-1} but got axis=${o}`);let c=p.shape[u],l=Ft({inputs:{x:p},backend:t});for(let m=0;m<=Math.ceil(Math.log2(c))-1;m++){let d=new Gl(r,p.shape,!1,s),f=l,h=[{type:\"float32\",data:[m]}];l=t.runWebGPUProgram(d,[l],l.dtype,h),t.disposeData(f.dataId)}if(n){let m=new Gl(r,p.shape,n,s),d=l,f=[{type:\"float32\",data:[0]}];l=t.runWebGPUProgram(m,[l],l.dtype,f),t.disposeData(d.dataId)}if(i!=null){let m=S.getUndoAxesPermutation(i),d=Nr({inputs:{x:l},backend:t,attrs:{perm:m}});return t.disposeData(l.dataId),t.disposeData(p.dataId),d}return l}function qre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,exclusive:a,reverse:i}=o;return Zg(Ku.Prod,n,t,s,a,i)}var nL={kernelName:jo,backendName:\"webgpu\",kernelFunc:qre};function Kre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,exclusive:a,reverse:i}=o;return Zg(Ku.Sum,n,t,s,a,i)}var sL={kernelName:Xo,backendName:\"webgpu\",kernelFunc:Kre};function jre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,weights:s}=e,{size:a,binaryOutput:i}=o,p=n.shape.length===1,c=y.sizeFromShape(s.shape)>0,l=s.dtype,m=p?[n.shape[0]]:[n.shape[0],n.shape[1]],d=p?[a]:[n.shape[0],a],f=dr({backend:t,attrs:{shape:d,value:0,dtype:l}}),h=new kc(m,c,i),g=[{type:\"int32\",data:[a]}],x=c?[n,s]:[n];return t.runWebGPUProgram(h,x,l,g,f)}var aL={kernelName:ti,backendName:\"webgpu\",kernelFunc:jre};var Jg=class{constructor(e,t){this.variableNames=[\"x\"],this.workgroupSize=[64,1,1],this.size=!0,this.uniforms=\"blockSize : i32,\",this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=`depthToSpace_${t}`,this.dataFormat=t}getUserCode(){return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let b = coords[0];\n let h = ${this.getHeightCoordString()};\n let w = ${this.getWidthCoordString()};\n let d = ${this.getDepthCoordString()};\n\n let in_h = h / uniforms.blockSize;\n let offset_h = h % uniforms.blockSize;\n let in_w = w / uniforms.blockSize;\n let offset_w = w % uniforms.blockSize;\n let offset_d = (offset_h * uniforms.blockSize + offset_w) *\n ${this.getOutputDepthSize()};\n let in_d = d + offset_d;\n\n let rlt = ${this.getInputSamplingString()};\n setOutputAtIndex(index, rlt);\n }\n }`}getHeightCoordString(){return this.dataFormat===\"NHWC\"?\"coords[1]\":\"coords[2]\"}getWidthCoordString(){return this.dataFormat===\"NHWC\"?\"coords[2]\":\"coords[3]\"}getDepthCoordString(){return this.dataFormat===\"NHWC\"?\"coords[3]\":\"coords[1]\"}getOutputDepthSize(){return this.dataFormat===\"NHWC\"?\"uniforms.outShape[3]\":\"uniforms.outShape[1]\"}getInputSamplingString(){return this.dataFormat===\"NHWC\"?\"getX(b, in_h, in_w, in_d)\":\"getX(b, in_d, in_h, in_w)\"}};function Xre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{blockSize:s,dataFormat:a}=o,i=n.shape[0],p=a===\"NHWC\"?n.shape[1]:n.shape[2],u=a===\"NHWC\"?n.shape[2]:n.shape[3],c=a===\"NHWC\"?n.shape[3]:n.shape[1],l=p*s,m=u*s,d=c/(s*s),f=a===\"NHWC\"?[i,l,m,d]:[i,d,l,m],h=[{type:\"int32\",data:[s]}],g=new Jg(f,a);return t.runWebGPUProgram(g,[n],n.dtype,h)}var iL={kernelName:Qo,backendName:\"webgpu\",kernelFunc:Xre};var ex=class{constructor(e,t,o,n=!1,s=null,a=!1){this.variableNames=[\"x\",\"W\"],this.uniforms=\"pad : vec2, inDims : vec2,\",this.workgroupSize=[16,16,1],this.outputShape=e,this.dispatchLayout={x:[3],y:[2],z:[0,1]},this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),n&&this.variableNames.push(\"bias\"),a&&this.variableNames.push(\"preluActivationWeights\"),this.addBias=n,this.activation=s,this.hasPreluActivation=a,this.filterHeight=t,this.filterWidth=o,this.shaderKey=`depthwiseNCHW_${this.activation}_${this.filterHeight}_${this.filterWidth}`}getUserCode(){let e=this.filterWidth*this.filterHeight,t=this.workgroupSize[0]*this.workgroupSize[1]*this.workgroupSize[2],o=this.workgroupSize[1]+this.filterHeight-1,n=this.workgroupSize[0]+this.filterWidth-1;return`\n ${ur(this.activation,this.hasPreluActivation,!1,4)}\n\n var mm_Asub : array, ${o}>;\n var mm_Bsub : array, ${this.filterHeight}>;\n fn readX(batch : i32, channel : i32, row : i32, col : i32) -> f32 {\n var value = 0.0;\n if (row >=0 && row < uniforms.inDims[0] && col >=0 && col < uniforms.inDims[1])\n {\n value = getX(batch, channel, row, col);\n }\n return value;\n }\n\n ${se()} {\n let coords = getOutputCoords();\n let batch = coords[0];\n let xRCCorner = vec2(coords.zw) - uniforms.pad;\n let channelMul = uniforms.wShape[3];\n let d1 = coords[1] / channelMul;\n let q = coords[1] % channelMul;\n\n let inputRowStart = xRCCorner.x;\n let inputColStart = xRCCorner.y;\n\n let localRow = i32(localId.y);\n let localCol = i32(localId.x);\n\n // Load one tile of X into local memory.\n for (var inputRow = localRow; inputRow < ${o}; inputRow = inputRow + ${this.workgroupSize[1]}) {\n for (var inputCol = localCol; inputCol < ${n}; inputCol = inputCol + ${this.workgroupSize[0]}) {\n let rowOffset = inputRow - localRow;\n let colOffset = inputCol - localCol;\n mm_Asub[inputRow][inputCol] = readX(batch, d1, inputRowStart + rowOffset, inputColStart + colOffset);\n }\n }\n\n // Load one tile of W into local memory.\n var wIndex = i32(localIndex);\n ${e, inDims : vec2,\",this.workgroupSize=[4,4,4],this.workPerThread=4,this.isVec4=!0,this.outputShape=e.outShape,this.dispatchLayout={x:[3],y:[2],z:[0,1]},this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,[4,this.workPerThread,1]),y.assert(e.dataFormat===\"channelsLast\",()=>\"TODO: NCHW is unimplemented\"),t&&this.variableNames.push(\"bias\"),n&&this.variableNames.push(\"preluActivationWeights\"),this.convInfo=e,this.addBias=t,this.activation=o,this.hasPreluActivation=n,this.shaderKey=`depthwiseVec4_${o}_${this.convInfo.filterHeight}_${this.convInfo.filterWidth}_${this.convInfo.strideHeight}_${this.convInfo.strideWidth}_${this.workPerThread}`}getUserCode(){let e=(this.workPerThread-1)*this.convInfo.strideWidth+this.convInfo.filterWidth;return`\n ${ur(this.activation,this.hasPreluActivation,!0,4)}\n fn readX(batch : i32, row : i32, col : i32, channel : i32) -> vec4 {\n var value = vec4(0.0);\n if (col >=0 && col < uniforms.inDims[1]) {\n value = getX(batch, row, col, channel);\n }\n return value;\n }\n\n const strideHeight = ${this.convInfo.strideHeight};\n const strideWidth = ${this.convInfo.strideWidth};\n ${se()} {\n let batch = i32(globalId.z) / uniforms.outShape[1];\n let r = i32(globalId.z) % uniforms.outShape[1];\n let c = i32(globalId.y) * ${this.workPerThread};\n let d1 = i32(globalId.x) * 4;\n let xRCCorner = vec2(r, c) * vec2(strideHeight, strideWidth) - uniforms.pad;\n\n let xRCorner = xRCCorner.x;\n let xCCorner = xRCCorner.y;\n var xVals : array, ${e}>;\n var dotProd : array, ${this.workPerThread}>;\n for (var i = 0; i < ${this.workPerThread}; i++) {\n dotProd[i] = vec4(0.0);\n }\n\n // Use constant instead of uniform can give better performance.\n for (var wR = 0; wR < ${this.convInfo.filterHeight}; wR = wR + 1) {\n let xR = xRCorner + wR;\n if (xR >=0 && xR < uniforms.inDims[0]) {\n for (var i = 0; i < ${e}; i++) {\n xVals[i] = readX(batch, xR, xCCorner + i, d1);\n }\n for (var wC = 0; wC < ${this.convInfo.filterWidth}; wC = wC + 1) {\n let wValue = getW(wR, wC, d1, 0);\n for (var i = 0; i < ${this.workPerThread}; i++) {\n dotProd[i] = fma(xVals[i * strideWidth + wC], wValue, dotProd[i]);\n }\n }\n }\n }\n\n for (var i = 0; i < ${this.workPerThread}; i = i + 1) {\n let coords = vec4(batch, r, c + i, d1);\n if (coordsInBounds4D(coords, uniforms.outShape)) {\n var value = dotProd[i];\n ${Hr(this.addBias,this.activation)}\n setOutputAtCoords(coords[0], coords[1], coords[2], coords[3], value);\n }\n }\n }\n `}};var _c=class{constructor(e,t=!1,o=null,n=!1){this.variableNames=[\"x\",\"W\"],this.uniforms=`pad : vec2, inDims : vec2, filterHeight : i32,\n filterWidth : i32, stride : vec2, dilation : vec2,`,this.workgroupSize=[256,1,1],this.size=!0,this.outputShape=e.outShape,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.isChannelsLast=e.dataFormat===\"channelsLast\",t&&this.variableNames.push(\"bias\"),n&&this.variableNames.push(\"preluActivationWeights\"),this.convInfo=e,this.addBias=t,this.activation=o,this.hasPreluActivation=n,this.shaderKey=`depthwise_${this.activation}_${this.isChannelsLast}`}getUserCode(){let e=this.isChannelsLast?\"getX(batch, xR, xC, d1);\":\"getX(batch, d1, xR, xC);\";return`\n ${ur(this.activation,this.hasPreluActivation,!1,4)}\n\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getOutputCoords();\n let batch = coords[0];\n let xRCCorner = vec2(coords.${this.isChannelsLast?\"yz\":\"zw\"}) * uniforms.stride - uniforms.pad;\n let d2 = coords[${this.isChannelsLast?3:1}];\n let channelMul = uniforms.wShape[3];\n let d1 = d2 / channelMul;\n let q = d2 % channelMul;\n\n let inputRowStart = xRCCorner.x;\n let inputColStart = xRCCorner.y;\n let inputRowEnd = inputRowStart + uniforms.filterHeight *\n uniforms.dilation[0];\n let inputColEnd = inputColStart + uniforms.filterWidth *\n uniforms.dilation[1];\n\n // Convolve x(?, ?, d1)|x(d1, ?, ?) with w(:, :, d1, q) to get\n // y(yR, yC, d2)|y(d2, yR, yC). ? = to be determined. : = across all\n // values in that axis. x(?, ?, d1) and y(yR, yC, d2) is for NHWC.\n // x(d1, ?, ?) and y(d2, yR, yC) is for NCHW.\n var value = 0.0;\n\n // Extract if checking out of for loop for performance.\n if (inputRowStart >= 0 && inputColStart >= 0 &&\n inputRowEnd < uniforms.inDims[0] &&\n inputColEnd < uniforms.inDims[1]) {\n for (var wR = 0; wR < uniforms.filterHeight; wR = wR + 1) {\n let xR = inputRowStart + wR * uniforms.dilation[0];\n\n for (var wC = 0; wC < uniforms.filterWidth; wC = wC + 1) {\n let xC = inputColStart + wC * uniforms.dilation[1];\n\n let xVal = ${e};\n let wVal = getW(wR, wC, d1, q);\n value = value + xVal * wVal;\n }\n }\n } else {\n for (var wR = 0; wR < uniforms.filterHeight; wR = wR + 1) {\n let xR = inputRowStart + wR * uniforms.dilation[0];\n\n if (xR < 0 || xR >= uniforms.inDims[0]) {\n continue;\n }\n\n for (var wC = 0; wC < uniforms.filterWidth; wC = wC + 1) {\n let xC = inputColStart + wC * uniforms.dilation[1];\n\n if (xC < 0 || xC >= uniforms.inDims[1]) {\n continue;\n }\n\n let xVal = ${e};\n let wVal = getW(wR, wC, d1, q);\n value = value + xVal * wVal;\n }\n }\n }\n ${Hr(this.addBias,this.activation)}\n setOutputAtCoords(coords[0], coords[1], coords[2], coords[3], value);\n }\n }\n `}};function Yre(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s}=e,{strides:a,pad:i,dataFormat:p,dilations:u,dimRoundingMode:c}=o,l=S.convertConv2DDataFormat(p),m=u;m==null&&(m=[1,1]);let d=S.computeConv2DInfo(n.shape,s.shape,a,m,i,c,!0,l),f=[{type:\"int32\",data:[d.padInfo.top,d.padInfo.left]},{type:\"int32\",data:[d.inHeight,d.inWidth]}],h=d.dataFormat===\"channelsLast\",g;return!h&&d.inHeight>16&&d.inWidth>16&&d.strideHeight===1&&d.strideWidth===1&&d.dilationWidth===1&&d.dilationHeight===1&&d.inChannels===d.outChannels?g=new ex(d.outShape,d.filterHeight,d.filterWidth):h&&d.outHeight>4&&d.outWidth>4&&d.strideWidth<=2&&d.inChannels===d.outChannels&&d.dilationHeight===1&&d.dilationWidth===1&&d.inChannels%4===0?g=new Tc(d):(g=new _c(d),f.push({type:\"int32\",data:[d.filterHeight]},{type:\"int32\",data:[d.filterWidth]},{type:\"int32\",data:[d.strideHeight,d.strideWidth]},{type:\"int32\",data:[d.dilationHeight,d.dilationWidth]})),t.runWebGPUProgram(g,[n,s],n.dtype,f)}var uL={kernelName:Zo,backendName:\"webgpu\",kernelFunc:Yre};var dI=ot({opType:ye.MUL,cpuKernelImpl:aM,supportsComplex:!0}),pL={kernelName:kn,backendName:\"webgpu\",kernelFunc:dI};function Hl(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o;return qr(n,s,a,\"sum\",t)}var cL={kernelName:Hn,backendName:\"webgpu\",kernelFunc:Hl};function Qre(r){let{inputs:e,backend:t,attrs:o}=r,{equation:n}=o,s=e,{allDims:a,summedDims:i,idDims:p}=S.decodeEinsumEquation(n,s.length);S.checkEinsumDimSizes(a.length,p,s);let{path:u,steps:c}=S.getEinsumComputePath(i,p),l=c.length,m=null,d=a.length,f=[];for(let h=0;h=0&&(m=Hl({inputs:{x:m},backend:t,attrs:{axis:u[h]-(a.length-d),keepDims:!1}}),f.push(m)),d--)}for(let h of f)h!==m&&t.disposeData(h.dataId);return m}var lL={kernelName:ri,backendName:\"webgpu\",kernelFunc:Qre};var Zre=Se({opType:Q.ELU}),mL={kernelName:en,backendName:\"webgpu\",kernelFunc:Zre};var Jre=ot({opType:ye.EQUAL,dtype:\"bool\",cpuKernelImpl:q3}),dL={kernelName:tn,backendName:\"webgpu\",kernelFunc:Jre};var eoe=Se({opType:Q.ERF}),fL={kernelName:ma,backendName:\"webgpu\",kernelFunc:eoe};var fI=Se({opType:Q.EXP,cpuKernelImpl:K3,dtype:\"float32\"}),hL={kernelName:rn,backendName:\"webgpu\",kernelFunc:fI};function tx(r){let{inputs:e,attrs:t,backend:o}=r,{dim:n}=t,{input:s}=e,a=s.shape.length,i=s.shape.slice(),p=n;return n<0&&(y.assert(-(a+1)<=n,()=>`Axis must be in the interval [${-(a+1)}, ${a}]`),p=a+n+1),i.splice(p,0,1),de({inputs:{x:s},backend:o,attrs:{shape:i}})}var gL={kernelName:bs,backendName:\"webgpu\",kernelFunc:tx};var toe=Se({opType:Q.EXPM1,cpuKernelImpl:j3}),xL={kernelName:da,backendName:\"webgpu\",kernelFunc:toe};var ql=class{constructor(e,t){this.variableNames=[\"real\",\"imag\"],this.outputShape=[],this.uniforms=\"exponentMultiplier : f32, denominator: f32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=t,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.component=e,this.shaderKey=`fft_${e}`}getUserCode(){return`\n fn unaryOpComplex(real: f32, expR: f32, imag: f32, expI: f32) -> f32 {\n ${this.component===\"real\"?\"return real * expR - imag * expI;\":\"return real * expI + imag * expR;\"}\n }\n\n fn mulMatDFT(batch: i32, index: i32) -> f32 {\n let indexRatio = f32(index) / f32(uniforms.realShape[1]);\n let exponentMultiplierTimesIndexRatio =\n uniforms.exponentMultiplier * indexRatio;\n\n var result = 0.0;\n\n for (var i = 0; i < uniforms.realShape[1]; i = i + 1) {\n // x = (-2|2 * PI / N) * index * i;\n let x = exponentMultiplierTimesIndexRatio * f32(i);\n let expR = cos(x);\n let expI = sin(x);\n let real = getReal(batch, i);\n let imag = getImag(batch, i);\n\n result = result +\n unaryOpComplex(real, expR, imag, expI) / uniforms.denominator;\n }\n\n return result;\n }\n\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getOutputCoords();\n setOutputAtIndex(index, mulMatDFT(coords[0], coords[1]));\n }\n }\n `}};function rx(r,e,t){let o=t.tensorMap.get(r.dataId),n=y.sizeFromShape(r.shape),s=r.shape[r.shape.length-1],a=n/s,i=[],p=de({inputs:{x:r},backend:t,attrs:{shape:[a,s]}});i.push(p);let u=p.shape,c=new ql(\"real\",u),l=new ql(\"imag\",u),m=[{dataId:o.complexTensorInfos.real.dataId,dtype:o.complexTensorInfos.real.dtype,shape:u},{dataId:o.complexTensorInfos.imag.dataId,dtype:o.complexTensorInfos.imag.dtype,shape:u}],d=e?2*Math.PI:-2*Math.PI,f=e?u[1]:1,h=[{type:\"float32\",data:[d]},{type:\"float32\",data:[f]}],g=t.runWebGPUProgram(c,m,\"float32\",h);i.push(g);let x=t.runWebGPUProgram(l,m,\"float32\",h);i.push(x);let b=po({inputs:{real:g,imag:x},backend:t});i.push(b);let C=de({inputs:{x:b},backend:t,attrs:{shape:r.shape}});return i.forEach(w=>t.disposeData(w.dataId)),C}function roe(r){let{inputs:e,backend:t}=r,{input:o}=e;return rx(o,!1,t)}var yL={kernelName:oi,backendName:\"webgpu\",kernelFunc:roe};var ox=class{constructor(e){this.outputShape=[],this.variableNames=[\"x\"],this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=\"flipLeftRight\"}getUserCode(){return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let coordX = uniforms.xShape[2] - coords[2] - 1;\n let outputValue = getX(coords[0], coords[1], coordX, coords[3]);\n setOutputAtIndex(index, outputValue);\n }\n }\n `}};var bL={kernelName:on,backendName:\"webgpu\",kernelFunc:({inputs:r,backend:e})=>{let{image:t}=r,o=e,n=new ox(t.shape);return o.runWebGPUProgram(n,[t],t.dtype)}};var ooe=Se({opType:Q.FLOOR,cpuKernelImpl:X3}),CL={kernelName:nn,backendName:\"webgpu\",kernelFunc:ooe};var noe=ot({opType:ye.INT_DIV,dtype:\"int32\"}),SL={kernelName:sn,backendName:\"webgpu\",kernelFunc:noe};var nx=class{constructor(e,t,o=!1){this.isFromPixels=!0,this.outputShape=[0],this.variableNames=[],this.workgroupSize=[256,1,1],this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,[t,1,1]),this.importVideo=o,this.shaderKey=`fromPixels_${this.importVideo}`}getUserCode(){let e=this.importVideo?\"textureLoad(src, vec2(coords.yx));\":\"textureLoad(src, vec2(coords.yx), 0)\";return`\n @binding(1) @group(0) var src: ${this.importVideo?\"texture_external\":\"texture_2d\"};\n ${se(\"index\")} {\n let flatIndex = index * uniforms.numChannels;\n if (flatIndex < uniforms.size) {\n let coords = getCoordsFromIndex(flatIndex);\n let values = ${e};\n for (var i = 0; i < uniforms.numChannels; i = i + 1) {\n result[flatIndex + i] = i32(floor(255.0 * values[i]));\n }\n }\n }\n `}};var wL={kernelName:Zi,backendName:\"webgpu\",kernelFunc:soe},Ec,hI=O().getBool(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\"),sx=new Map;function soe(r){let{inputs:e,backend:t,attrs:o}=r,{pixels:n}=e,{numChannels:s}=o;if(n==null)throw new Error(\"pixels passed to tf.browser.fromPixels() can not be null\");let a=typeof HTMLVideoElement!=\"undefined\"&&n instanceof HTMLVideoElement,i=typeof HTMLImageElement!=\"undefined\"&&n instanceof HTMLImageElement,p=typeof HTMLCanvasElement!=\"undefined\"&&n instanceof HTMLCanvasElement||typeof OffscreenCanvas!=\"undefined\"&&n instanceof OffscreenCanvas,u=typeof ImageBitmap!=\"undefined\"&&n instanceof ImageBitmap,[c,l]=a?[n.videoWidth,n.videoHeight]:[n.width,n.height],m=[l,c,s],d=!1,f=a||i;if(u||p||f){let b;if(d){let D=n;if(!sx.has(D)||sx.get(D).expired){let P={source:D};sx.set(D,t.device.importExternalTexture(P))}b={width:c,height:l,format:null,usage:null,texture:sx.get(D)}}else{if(f){let L=O().getBool(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\");(Ec==null||L!==hI)&&(hI=L,Ec=document.createElement(\"canvas\").getContext(\"2d\",{willReadFrequently:hI})),Ec.canvas.width=c,Ec.canvas.height=l,Ec.drawImage(n,0,0,c,l),n=Ec.canvas}let D=GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING,P=\"rgba8unorm\",M=t.textureManager.acquireTexture(m[1],m[0],P,D);t.queue.copyExternalImageToTexture({source:n},{texture:M},[m[1],m[0]]),b={width:c,height:l,format:P,usage:D,texture:M}}let C=y.sizeFromShape(m),w=y.computeStrides(m),k=new nx(m,s,d),_=[{type:\"uint32\",data:[C]},{type:\"uint32\",data:[s]},{type:\"uint32\",data:[...w]}],$=t.makeTensorInfo([l,c],\"int32\"),A=t.tensorMap.get($.dataId);A.resourceInfo=b;let R=t.runWebGPUProgram(k,[$],\"int32\",_);return t.disposeData($.dataId),R}let h=n.data,g=h;if(s!=null&&s!==4){g=new Uint8Array(n.width*n.height*s);let b=h.length,C=0;for(let w=0;w(xValue, -meanValue, offsetValue), vec3(inv, inv, 1.0)));\n }\n }\n `}};var IL={kernelName:an,backendName:\"webgpu\",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{x:o,scale:n,offset:s,mean:a,variance:i}=r,{varianceEpsilon:p}=e,u=t,c=[o,a,i],l=null;s!=null&&(l=s.shape,c.push(s));let m=null;n!=null&&(m=n.shape,c.push(n));let d=new ax(o.shape,a.shape,i.shape,l,m),f=[{type:\"float32\",data:[p]}];return u.runWebGPUProgram(d,c,o.dtype,f)}};function aoe(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s,bias:a,preluActivationWeights:i}=e,{strides:p,pad:u,dataFormat:c,dilations:l,dimRoundingMode:m,activation:d,leakyreluAlpha:f}=o,h=S.convertConv2DDataFormat(c),g=S.computeConv2DInfo(n.shape,s.shape,p,l,u,m,!1,h);return jg({x:n,filter:s,convInfo:g,backend:t,bias:a,preluActivationWeights:i,leakyreluAlpha:f,activation:d})}var vL={kernelName:ho,backendName:\"webgpu\",kernelFunc:aoe};function ioe(r){let{inputs:e,backend:t,attrs:o}=r,{x:n,filter:s,bias:a,preluActivationWeights:i}=e,{strides:p,pad:u,dilations:c,dimRoundingMode:l,activation:m,leakyreluAlpha:d}=o,f=c;f==null&&(f=[1,1]),y.assert(S.eitherStridesOrDilationsAreOne(p,f),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${p} and dilations '${f}'`);let h=S.computeConv2DInfo(n.shape,s.shape,p,f,u,l,!0),g=[n,s],x=a!=null,b=i!=null;x&&g.push(a),b&&g.push(i);let C=[{type:\"int32\",data:[h.padInfo.top,h.padInfo.left]},{type:\"int32\",data:[h.inHeight,h.inWidth]}],w;return h.outHeight>4&&h.outWidth>4&&h.strideWidth<=2&&h.inChannels===h.outChannels&&h.dilationHeight===1&&h.dilationWidth===1&&h.inChannels%4===0?w=new Tc(h,x,m,b):(w=new _c(h,x,m,b),C.push({type:\"int32\",data:[h.filterHeight]},{type:\"int32\",data:[h.filterWidth]},{type:\"int32\",data:[h.strideHeight,h.strideWidth]},{type:\"int32\",data:[h.dilationHeight,h.dilationWidth]})),m===\"leakyrelu\"&&(C.push({type:\"float32\",data:[d]}),w.uniforms+=\" alpha : f32,\"),t.runWebGPUProgram(w,g,\"float32\",C)}var kL={kernelName:go,backendName:\"webgpu\",kernelFunc:ioe};var ix=class{constructor(e,t){this.variableNames=[\"A\",\"indices\"],this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=t,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=`gathernd_${e}`,this.sliceDim=e,this.uniforms=`sliceDim : i32, strides : ${Rt(e)},`}getUserCode(){let e;return this.sliceDim>1?e=\"uniforms.strides[j]\":e=\"uniforms.strides\",`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n var flattenIndex = 0;\n for (var j = 0; j < uniforms.sliceDim; j = j + 1) {\n let indexTemp = i32(round(getIndices(coords[0], j)));\n let strideNum = ${e};\n flattenIndex = flattenIndex + indexTemp * strideNum;\n }\n\n setOutputAtIndex(index, getA(flattenIndex, coords[1]));\n }\n }\n `}};function uoe(r){let{inputs:e,backend:t}=r,{params:o,indices:n}=e,s=n.shape,a=s[s.length-1],i=y.sizeFromShape(o.shape),[p,u,c,l]=S.prepareAndValidate(o,n),m=de({inputs:{x:n},backend:t,attrs:{shape:[u,a]}}),d=de({inputs:{x:o},backend:t,attrs:{shape:[y.sizeFromShape(o.shape)/c,c]}});if(t.shouldExecuteOnCPU([o,n])||o.dtype===\"string\"){let b=t.readSync(n.dataId),C=t.bufferSync(o),w=Y3(b,C,o.dtype,u,a,c,l,o.shape,i);return t.makeTensorInfo(p,o.dtype,w.values)}let f=new ix(a,[u,c]),h=[{type:\"int32\",data:[a]},{type:\"int32\",data:l}],g=t.runWebGPUProgram(f,[d,m],d.dtype,h),x=de({inputs:{x:g},backend:t,attrs:{shape:p}});return t.disposeData(m.dataId),t.disposeData(d.dataId),t.disposeData(g.dataId),x}var NL={kernelName:un,backendName:\"webgpu\",kernelFunc:uoe};var ux=class{constructor(e,t){this.variableNames=[\"A\",\"indices\"],this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e.slice(),this.aShape=e,this.outputShape=t,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=\"gather\"}getUserCode(){let e=poe(this.aShape);return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let resRC = getCoordsFromIndex(index);\n let indexZ = i32(getIndices(resRC.x, resRC.z));\n let inBounds = select(0.0, 1.0, indexZ >= 0 && indexZ < uniforms.aShape[2]);\n setOutputAtIndex(index, inBounds * getA(${e}));\n }\n }\n `}};function poe(r){let e=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],t=[];for(let o=0;ot.disposeData(R.dataId)),t.makeTensorInfo(u.outputShape,A.dtype,A.values)}let h=new ux(m.shape,f),g=t.runWebGPUProgram(h,[m,d],m.dtype);l.push(g);let x=de({inputs:{x:g},backend:t,attrs:{shape:u.outputShape}});return l.forEach(b=>t.disposeData(b.dataId)),x}var TL={kernelName:Ss,backendName:\"webgpu\",kernelFunc:gI};var coe=ot({opType:ye.GREATER,cpuKernelImpl:J3,dtype:\"bool\"}),_L={kernelName:pn,backendName:\"webgpu\",kernelFunc:coe};var loe=ot({opType:ye.GREATER_EQUAL,dtype:\"bool\",cpuKernelImpl:Z3}),EL={kernelName:cn,backendName:\"webgpu\",kernelFunc:loe};function moe(r){let{inputs:e,backend:t}=r,{input:o}=e;return rx(o,!0,t)}var $L={kernelName:ni,backendName:\"webgpu\",kernelFunc:moe};var doe=Se({opType:Q.IS_FINITE,dtype:\"bool\"}),AL={kernelName:fa,backendName:\"webgpu\",kernelFunc:doe};var foe=Se({opType:Q.IS_INF,dtype:\"bool\"}),RL={kernelName:ha,backendName:\"webgpu\",kernelFunc:foe};var hoe=Se({opType:Q.IS_NAN,dtype:\"bool\"}),FL={kernelName:ln,backendName:\"webgpu\",kernelFunc:hoe};function goe(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{alpha:s}=o,a=[{type:\"float32\",data:[s]}],i=new Ro(n.shape,Q.LEAKYRELU);return i.uniforms=\"alpha : f32,\",t.runWebGPUProgram(i,[n],\"float32\",a)}var DL={kernelName:mn,backendName:\"webgpu\",kernelFunc:goe};var xoe=ot({opType:ye.LESS,dtype:\"bool\",cpuKernelImpl:tM}),OL={kernelName:dn,backendName:\"webgpu\",kernelFunc:xoe};var yoe=ot({opType:ye.LESS_EQUAL,dtype:\"bool\",cpuKernelImpl:eM}),PL={kernelName:fn,backendName:\"webgpu\",kernelFunc:yoe};var boe=Se({opType:Q.LOG,cpuKernelImpl:rM}),ML={kernelName:hn,backendName:\"webgpu\",kernelFunc:boe};var Coe=Se({opType:Q.LOG1P}),LL={kernelName:ga,backendName:\"webgpu\",kernelFunc:Coe};var Soe=ot({opType:ye.LOGICAL_AND,dtype:\"bool\"}),BL={kernelName:gn,backendName:\"webgpu\",kernelFunc:Soe};var woe=Se({opType:Q.LOGICAL_NOT}),VL={kernelName:xn,backendName:\"webgpu\",kernelFunc:woe};var Ioe=ot({opType:ye.MAX,cpuKernelImpl:nM}),zL={kernelName:bn,backendName:\"webgpu\",kernelFunc:Ioe};function voe(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{filterSize:s,strides:a,pad:i,dimRoundingMode:p}=o,u=1,c=S.computePool2DInfo(n.shape,s,a,u,i,p);return Bg(n,c,\"max\",t)}var WL={kernelName:Cn,backendName:\"webgpu\",kernelFunc:voe};function koe(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o;return qr(n,s,a,\"min\",t)}var UL={kernelName:wn,backendName:\"webgpu\",kernelFunc:koe};var Noe=ot({opType:ye.MIN,cpuKernelImpl:sM}),GL={kernelName:In,backendName:\"webgpu\",kernelFunc:Noe};var px=class{constructor(e,t,o){this.uniforms=\"\",this.variableNames=[\"x\"],this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=t.map((n,s)=>n[0]+e[s]+n[1]),this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.xShape=e,t.map((n,s)=>{this.uniforms+=` pad${s} : vec2,`}),this.offset=o===\"reflect\"?0:1,this.shaderKey=`mirrorPad_${o}`}getUserCode(){let e=this.xShape.length,t=this.xShape.map((u,c)=>`uniforms.pad${c}[0]`).join(\",\"),o=this.xShape.map((u,c)=>`uniforms.pad${c}[0] + uniforms.xShape${e>1?`[${c}]`:\"\"}`).join(\",\"),n=e===1?\"start\":\"start[i]\",s=e===1?\"end\":\"end[i]\",a=e===1?\"outC\":\"outC[i]\",i=Rt(e),p=e>1?[\"coords[0]\",\"coords[1]\",\"coords[2]\",\"coords[3]\"].slice(0,e):\"coords\";return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let start = ${i}(${t});\n let end = ${i}(${o});\n var outC = getCoordsFromIndex(index);\n for (var i = 0; i < ${e}; i = i + 1) {\n if (${a} < ${n}) {\n ${a} = ${n} * 2 - ${a} - ${this.offset};\n } else if(${a} >= ${s}) {\n ${a} = (${s} - 1) * 2 - ${a} + ${this.offset};\n }\n }\n let coords = outC - start;\n setOutputAtIndex(index, getX(${p}));\n }\n }\n `}};var HL={kernelName:vn,backendName:\"webgpu\",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{x:o}=r,{paddings:n,mode:s}=e,a=t,i=n.map(c=>({type:\"int32\",data:[c[0],c[1]]})),p=new px(o.shape,n,s);return a.runWebGPUProgram(p,[o],o.dtype,i)}};var Toe=ot({opType:ye.MOD}),qL={kernelName:ya,backendName:\"webgpu\",kernelFunc:Toe};function _oe(r){let{inputs:e,backend:t}=r,{x:o}=e;if(t.shouldExecuteOnCPU([o])){let s=t.tensorMap.get(o.dataId),[a,i]=iM(s.values,o.shape,o.dtype);return t.makeTensorInfo(i,o.dtype,a)}let n=new Ro(o.shape,Q.NEG);return t.runWebGPUProgram(n,[o],o.dtype)}var KL={kernelName:ws,backendName:\"webgpu\",kernelFunc:_oe};function Eoe(r){console.warn(\"tf.nonMaxSuppression() in webgpu locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:e,backend:t,attrs:o}=r,{boxes:n,scores:s}=e,{maxOutputSize:a,iouThreshold:i,scoreThreshold:p}=o,u=t.readSync(n.dataId),c=t.readSync(s.dataId),{selectedIndices:l}=Lt.nonMaxSuppressionV3Impl(u,c,a,i,p);return t.makeTensorInfo([l.length],\"int32\",new Int32Array(l))}var jL={kernelName:Tn,backendName:\"webgpu\",kernelFunc:Eoe};function $oe(r){console.warn(\"tf.nonMaxSuppression() in webgpu locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:e,backend:t,attrs:o}=r,{boxes:n,scores:s}=e,{maxOutputSize:a,iouThreshold:i,scoreThreshold:p,softNmsSigma:u}=o,c=t.readSync(n.dataId),l=t.readSync(s.dataId),m=a,d=i,f=p,h=u,{selectedIndices:g,selectedScores:x}=Lt.nonMaxSuppressionV5Impl(c,l,m,d,f,h);return[t.makeTensorInfo([g.length],\"int32\",new Int32Array(g)),t.makeTensorInfo([x.length],\"float32\",new Float32Array(x))]}var XL={kernelName:_n,backendName:\"webgpu\",kernelFunc:$oe};var cx=class{constructor(e,t){this.variableNames=[\"x\"],this.uniforms=\"onValue : f32, offValue : f32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=[e,t],this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=\"onehot\"}getUserCode(){return`\n ${se(\"index\")} {\n if(index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n setOutputAtIndex(index, mix(uniforms.offValue, uniforms.onValue,\n f32(i32(round(getX(coords.x))) == coords.y)));\n }\n }\n `}};function Aoe(r){let{inputs:e,backend:t,attrs:o}=r,{indices:n}=e,{dtype:s,depth:a,onValue:i,offValue:p}=o,u=y.sizeFromShape(n.shape),c=new cx(u,a),l=de({inputs:{x:n},backend:t,attrs:{shape:[u]}}),m=[{type:\"float32\",data:[i]},{type:\"float32\",data:[p]}],d=t.runWebGPUProgram(c,[l],s,m);t.disposeData(l.dataId);let f=[...n.shape,a],h=de({inputs:{x:d},backend:t,attrs:{shape:f}});return t.disposeData(d.dataId),h}var YL={kernelName:En,backendName:\"webgpu\",kernelFunc:Aoe};function Kl(r){let{inputs:e,backend:t}=r,{x:o}=e;if(o.dtype===\"complex64\"){let n=qa({inputs:{input:o},backend:t}),s=Kl({inputs:{x:n},backend:t}),a=qu({inputs:{input:o},backend:t}),i=Kl({inputs:{x:a},backend:t}),p=po({inputs:{real:s,imag:i},backend:t});return t.disposeData(n.dataId),t.disposeData(s.dataId),t.disposeData(a.dataId),t.disposeData(i.dataId),p}else return dr({attrs:{shape:o.shape,dtype:o.dtype,value:o.dtype===\"string\"?\"\":0},backend:t})}var QL={kernelName:Fs,backendName:\"webgpu\",kernelFunc:Kl};function ZL(r){let{inputs:e,backend:t}=r,{x:o}=e;if(o.dtype===\"string\")throw new Error(\"onesLike is not supported under string dtype\");if(o.dtype===\"complex64\"){let n=qa({inputs:{input:o},backend:t}),s=ZL({inputs:{x:n},backend:t}),a=qu({inputs:{input:o},backend:t}),i=Kl({inputs:{x:a},backend:t}),p=po({inputs:{real:s,imag:i},backend:t});return t.disposeData(n.dataId),t.disposeData(s.dataId),t.disposeData(a.dataId),t.disposeData(i.dataId),p}else return dr({attrs:{shape:o.shape,dtype:o.dtype,value:1},backend:t})}var JL={kernelName:Is,backendName:\"webgpu\",kernelFunc:ZL};function Roe(r){let{inputs:e,backend:t,attrs:o}=r,{axis:n}=o;if(e.length===1)return tx({inputs:{input:e[0]},backend:t,attrs:{dim:n}});let s=e[0].shape,a=e[0].dtype;e.forEach(c=>{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(a===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let i=[],p=e.map(c=>{let l=tx({inputs:{input:c},backend:t,attrs:{dim:n}});return i.push(l),l}),u=mI({inputs:p,backend:t,attrs:{axis:n}});return i.forEach(c=>t.disposeData(c.dataId)),u}var eB={kernelName:vs,backendName:\"webgpu\",kernelFunc:Roe};var lx=class{constructor(e,t){this.variableNames=[\"x\"],this.uniforms=\"constantValue : f32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=t.map((o,n)=>o[0]+e[n]+o[1]),this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),t.map((o,n)=>{this.uniforms+=` pad${n} : vec2,`}),this.xShape=e,this.shaderKey=\"pad\"}getUserCode(){let e=this.xShape.length,t=Rt(e),o=this.xShape.map((l,m)=>`uniforms.pad${m}[0]`).join(\",\"),n=this.xShape.map((l,m)=>`uniforms.pad${m}[0] + uniforms.xShape${e>1?`[${m}]`:\"\"}`).join(\",\"),s=e>1?`${t}(${o})`:`${o}`,a=e>1?`${t}(${n})`:`${n}`,i=e>1?\"any(outC < start)\":\"outC < start\",p=e>1?\"any(outC >= end)\":\"outC >= end\",u=e>1?[\"coords[0]\",\"coords[1]\",\"coords[2]\",\"coords[3]\"].slice(0,e):\"coords\";return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let start = ${s};\n let end = ${a};\n let outC = getCoordsFromIndex(index);\n\n if (${i} || ${p}) {\n setOutputAtIndex(index, uniforms.constantValue);\n } else {\n let coords = outC - start;\n setOutputAtIndex(index, getX(${u}));\n }\n }\n }\n `}};var xI=r=>{let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{paddings:s,constantValue:a}=o;if(s.every(u=>y.arraysEqual(u,[0,0])))return Ft({inputs:{x:n},backend:t});if(y.sizeFromShape(n.shape)===0){let u=s.map((c,l)=>c[0]+n.shape[l]+c[1]);return dr({backend:t,attrs:{shape:u,value:a,dtype:n.dtype}})}let i=[{type:\"float32\",data:[a]}];s.map(u=>i.push({type:\"int32\",data:[u[0],u[1]]}));let p=new lx(n.shape,s);return t.runWebGPUProgram(p,[n],n.dtype,i)},tB={kernelName:$n,backendName:\"webgpu\",kernelFunc:xI};var Foe=ot({opType:ye.POW}),rB={kernelName:An,backendName:\"webgpu\",kernelFunc:Foe};function Doe(r){let{inputs:e,backend:t}=r,{x:o,alpha:n}=e,s=new Hu(ye.PRELU,o.shape,n.shape);return t.runWebGPUProgram(s,[o,n],\"float32\")}var oB={kernelName:Rn,backendName:\"webgpu\",kernelFunc:Doe};function Ooe(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{axis:s,keepDims:a}=o;return qr(n,s,a,\"prod\",t)}var nB={kernelName:Fn,backendName:\"webgpu\",kernelFunc:Ooe};var Poe=r=>{let{backend:e,attrs:t}=r,{start:o,stop:n,step:s,dtype:a}=t,i=cM(o,n,s,a);return e.makeTensorInfo([i.length],a,i)},sB={kernelName:ks,backendName:\"webgpu\",kernelFunc:Poe};var yI=ot({opType:ye.DIV}),aB={kernelName:Jo,backendName:\"webgpu\",kernelFunc:yI};var Moe=Se({opType:Q.RECIPROCAL}),iB={kernelName:Dn,backendName:\"webgpu\",kernelFunc:Moe};var Loe=Se({opType:Q.RELU}),uB={kernelName:On,backendName:\"webgpu\",kernelFunc:Loe};var Boe=Se({opType:Q.RELU6}),pB={kernelName:Ln,backendName:\"webgpu\",kernelFunc:Boe};var mx=class{constructor(e,t,o){this.variableNames=[\"x\"],this.uniforms=\"adjustHeightWidth : vec2, halfPixelCenters : f32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=[e[0],t,o,e[3]],this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=\"resizeBilinear\"}getUserCode(){return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let b = coords[0];\n let d = coords[3];\n let rc = coords.yz;\n\n let effectiveInSize = vec2(\n f32(uniforms.xShape.y) - uniforms.adjustHeightWidth[0],\n f32(uniforms.xShape.z) - uniforms.adjustHeightWidth[1]);\n\n let effectiveOutSize = vec2(\n f32(uniforms.outShape.y) - uniforms.adjustHeightWidth[0],\n f32(uniforms.outShape.z) - uniforms.adjustHeightWidth[1]);\n\n let effectiveInputOverOutputRatioRC =\n effectiveInSize / effectiveOutSize;\n\n // Fractional source index\n let sourceFracIndexRC =\n (vec2(rc) + vec2(uniforms.halfPixelCenters)) *\n effectiveInputOverOutputRatioRC - vec2(uniforms.halfPixelCenters);\n\n // Compute the four integer indices.\n let sourceFloorRC = vec2(sourceFracIndexRC);\n let sourceCeilRC = vec2(\n min(vec2(uniforms.xShape.yz) - vec2(1.0), ceil(sourceFracIndexRC)));\n\n let topLeft = getX(b, sourceFloorRC.x, sourceFloorRC.y, d);\n let bottomLeft = getX(b, sourceCeilRC.x, sourceFloorRC.y, d);\n let topRight = getX(b, sourceFloorRC.x, sourceCeilRC.y, d);\n let bottomRight = getX(b, sourceCeilRC.x, sourceCeilRC.y, d);\n\n let fracRC = sourceFracIndexRC - vec2(sourceFloorRC);\n\n let top = topLeft + (topRight - topLeft) * fracRC.y;\n let bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y;\n let newValue = top + (bottom - top) * fracRC.x;\n\n setOutputAtIndex(index, newValue);\n }\n }\n `}};function Voe(r){let{inputs:e,backend:t,attrs:o}=r,{images:n}=e,{alignCorners:s,size:a,halfPixelCenters:i}=o,[p,u]=a,c=s&&p>1?1:0,l=s&&u>1?1:0,d=[{type:\"float32\",data:[c,l]},{type:\"float32\",data:[i?.5:0]}],f=new mx(n.shape,p,u);return t.runWebGPUProgram(f,[n],\"float32\",d)}var cB={kernelName:Mn,backendName:\"webgpu\",kernelFunc:Voe};var dx=class{constructor(e,t,o,n){this.variableNames=[\"x\"],this.uniforms=\"adjustHeightWidth : vec2, roundBase : f32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=[e[0],t,o,e[3]],this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.halfPixelCenters=n,this.shaderKey=`resizeNearest_${n}`}getUserCode(){let e;return this.halfPixelCenters?e=\"max((vec2(rc) + vec2(0.5)) * effectiveInputOverOutputRatioRC, vec2(0.0))\":e=\"vec2(rc) * effectiveInputOverOutputRatioRC\",`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let b = coords[0];\n let d = coords[3];\n let rc = coords.yz;\n\n let effectiveInSize = vec2(\n f32(uniforms.xShape.y) - uniforms.adjustHeightWidth[0],\n f32(uniforms.xShape.z) - uniforms.adjustHeightWidth[1]);\n\n let effectiveOutSize = vec2(\n f32(uniforms.outShape.y) - uniforms.adjustHeightWidth[0],\n f32(uniforms.outShape.z) - uniforms.adjustHeightWidth[1]);\n\n let effectiveInputOverOutputRatioRC =\n effectiveInSize / effectiveOutSize;\n\n // Fractional source index\n let sourceFracIndexRC = ${e};\n\n // Compute the coordinators of nearest neighbor point.\n let inputShapeRC = vec2(f32(uniforms.xShape.y), f32(uniforms.xShape.z));\n let sourceNearestRC = vec2(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + uniforms.roundBase)));\n let newValue = getX(b, sourceNearestRC.x, sourceNearestRC.y, d);\n\n setOutputAtIndex(index, newValue);\n }\n }\n `}};function zoe(r){let{inputs:e,backend:t,attrs:o}=r,{images:n}=e,{alignCorners:s,halfPixelCenters:a,size:i}=o,[p,u]=i,c=s&&p>1?1:0,l=s&&u>1?1:0,d=[{type:\"float32\",data:[c,l]},{type:\"float32\",data:[s?.5:0]}],f=new dx(n.shape,p,u,a);return t.runWebGPUProgram(f,[n],n.dtype,d)}var lB={kernelName:Pn,backendName:\"webgpu\",kernelFunc:zoe};var fx=class{constructor(e){this.variableNames=[\"x\"],this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.uniforms=\" axis : vec4,\",this.shaderKey=\"reverse\"}getUserCode(){return`\n \n // Using uniform variables as judging conditions, so the function has\n // coherent execution within all threads.\n fn getReverseCoords(coords : vec4) -> vec4 {\n var reverseCoords = coords;\n if (uniforms.axis[0] == 1) {\n reverseCoords[0] = uniforms.xShape[0] - coords[0] - 1;\n }\n if (uniforms.axis[1] == 1) {\n reverseCoords[1] = uniforms.xShape[1] - coords[1] - 1;\n }\n if (uniforms.axis[2] == 1) {\n reverseCoords[2] = uniforms.xShape[2] - coords[2] - 1;\n }\n if (uniforms.axis[3] == 1) {\n reverseCoords[3] = uniforms.xShape[3] - coords[3] - 1;\n }\n\n return reverseCoords;\n }\n \n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let reverseCoords = getReverseCoords(coords);\n setOutputAtIndex(index, getX(reverseCoords[0],\n reverseCoords[1], reverseCoords[2], reverseCoords[3]));\n }\n }\n `}};function Woe(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{dims:s}=o,a=n.shape.length;if(a===0)return Ft({inputs:{x:n},backend:t});let i=n.shape,p=[1,1,1,1];i.forEach((g,x)=>{let b=x+4-a;p[b]=g});let u=y.parseAxisParam(s,n.shape),c=[0,0,0,0];u.forEach(g=>{let x=g+4-a;c[x]=1});let l=[{type:\"int32\",data:c}],m=de({inputs:{x:n},backend:t,attrs:{shape:p}}),d=new fx(p),f=t.runWebGPUProgram(d,[m],m.dtype,l);t.disposeData(m.dataId);let h=de({inputs:{x:f},backend:t,attrs:{shape:i}});return t.disposeData(f.dataId),h}var mB={kernelName:Bn,backendName:\"webgpu\",kernelFunc:Woe};var hx=class{constructor(e,t){this.outputShape=[],this.variableNames=[\"x\"],this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.uniforms=`centerX : f32, centerY : f32, sinRadians : f32,\n cosRadians : f32,`,this.shaderKey=\"rotate\",this.outputShape=e,typeof t==\"number\"?(this.uniforms+=\" fillValue : f32,\",this.fillSnippet=\"var outputValue = uniforms.fillValue;\",this.shaderKey+=\"_float\"):(this.uniforms+=\" fillValue : vec3,\",this.fillSnippet=\"var outputValue = uniforms.fillValue[coords[3]];\",this.shaderKey+=\"_vec3\")}getUserCode(){return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let coordXFloat = (f32(coords[2]) - uniforms.centerX) *\n uniforms.cosRadians - (f32(coords[1]) - uniforms.centerY) *\n uniforms.sinRadians;\n let coordYFloat = (f32(coords[2]) - uniforms.centerX) *\n uniforms.sinRadians + (f32(coords[1]) - uniforms.centerY) *\n uniforms.cosRadians;\n let coordX = i32(round(coordXFloat + uniforms.centerX));\n let coordY = i32(round(coordYFloat + uniforms.centerY));\n ${this.fillSnippet}\n if(coordX >= 0 && coordX < uniforms.xShape[2] && coordY >= 0 &&\n coordY < uniforms.xShape[1]) {\n outputValue = getX(coords[0], coordY, coordX, coords[3]);\n }\n setOutputAtIndex(index, outputValue);\n }\n }\n `}};var dB={kernelName:es,backendName:\"webgpu\",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{image:o}=r,{radians:n,fillValue:s,center:a}=e,i=t,p=new hx(o.shape,s),[u,c]=S.getImageCenter(a,o.shape[1],o.shape[2]),l=[{type:\"float32\",data:[u]},{type:\"float32\",data:[c]},{type:\"float32\",data:[Math.sin(n)]},{type:\"float32\",data:[Math.cos(n)]}];return typeof s==\"number\"?l.push({type:\"float32\",data:[Number.parseFloat(s.toFixed(2))]}):l.push({type:\"float32\",data:s}),i.runWebGPUProgram(p,[o],o.dtype,l)}};var Uoe=Se({opType:Q.RSQRT,cpuKernelImpl:lM}),fB={kernelName:Vn,backendName:\"webgpu\",kernelFunc:Uoe};var Gi=class{constructor(e,t,o,n,s,a,i,p=!0){this.variableNames=[\"updates\",\"indices\"],this.workgroupSize=[64,1,1],this.atomic=!0,this.outputShape=a,this.type=i,this.sumDupeIndices=p,this.dispatchLayout=ue(e),this.dispatch=re(this.dispatchLayout,e,this.workgroupSize),this.sliceDimGreaterThanOne=t>1,this.shaderKey=`scatter_${o}_${n}_${this.sliceDimGreaterThanOne}_${i}_${p}`;let u=Rt(s.length);this.uniforms=`sliceDim : i32, strides: ${u}, updatesSize: i32,`,this.updatesRank=n,this.indicesRank=o}getUserCode(){let e=\"\";this.indicesRank===1?e=\"coords[0]\":this.indicesRank===2&&(e=\"coords[0], j\");let t=`getIndices(${e})`,o=this.sliceDimGreaterThanOne?\"uniforms.strides[j]\":\"uniforms.strides\",n=\"\",s=\"\";this.dispatchLayout.x.length===1?(n=\"flattenedIndex\",s=`\n fn getUpdatesCoordsFromFlatIndex(index : i32) -> i32 {\n return index;\n }\n `):this.dispatchLayout.x.length===2&&(n=\"vec2(flattenedIndex, coords[1])\",s=`\n fn getUpdatesCoordsFromFlatIndex(index : i32) -> vec2 {\n // N.B. |updates| could be a scalar tensor, conceptually representing a\n // 2D tensor with all values equal to that. By design, its size must be\n // the same as |outShape[1]| in one dimension, and |indicesShape[0]|\n // gives the other.\n let sliceSize = uniforms.outShape[1];\n let d0 = index / sliceSize;\n let d1 = index - d0 * sliceSize;\n return vec2(d0, d1);\n }\n `);let i=`getUpdates(${Array.from({length:this.updatesRank},(c,l)=>`coords[${l}]`).join(\", \")})`,p=(c,l)=>{let m=`atomicAdd(${c}, bitcast(${l}))`;this.type===\"float32\"&&(m=`\n {\n var oldBits = 0;\n var newBits = bitcast(${l});\n loop {\n let info = atomicCompareExchangeWeak(${c}, oldBits, newBits);\n if (info.exchanged) {\n break;\n }\n oldBits = info.old_value;\n let oldValue = bitcast(oldBits);\n let newValue = oldValue + (${l});\n newBits = bitcast(newValue);\n }\n }\n `);let d=`atomicStore(${c}, bitcast(${l}));`;return this.sumDupeIndices?m:d};return`\n ${s}\n\n ${se(\"index\")} {\n if (index < uniforms.updatesSize) {\n let coords = getUpdatesCoordsFromFlatIndex(index);\n var flattenedIndex = 0;\n for (var j = 0; j < uniforms.sliceDim; j = j + 1) {\n let indexInside = i32(round(${t}));\n flattenedIndex = flattenedIndex + indexInside * ${o};\n }\n let updateValue =\n ${wc(this.type,!1)}(${i});\n let flatIndex = getOutputIndexFromCoords(${n});\n\n ${p(\"&result[flatIndex]\",\"updateValue\")};\n }\n }`}};function Goe(r){let{inputs:e,backend:t,attrs:o}=r,{indices:n,updates:s}=e,{shape:a}=o,{sliceRank:i,numUpdates:p,sliceSize:u,strides:c,outputSize:l}=S.calculateShapes(s,n,a),m=[l/u,u];if(l===0)return t.makeTensorInfo(a,n.dtype);let d=de({inputs:{x:n},backend:t,attrs:{shape:[p,i]}}),f=de({inputs:{x:s},backend:t,attrs:{shape:[p,u]}}),h=f.dtype,g=dr({backend:t,attrs:{shape:m,value:0,dtype:h}}),x=y.sizeFromShape(f.shape),b=[{type:\"int32\",data:[i]},{type:\"int32\",data:c},{type:\"int32\",data:[x]}],C=new Gi(f.shape,i,d.shape.length,f.shape.length,c,m,h),w=t.runWebGPUProgram(C,[f,d],h,b,g),k=de({inputs:{x:w},backend:t,attrs:{shape:a}});return t.disposeData(d.dataId),t.disposeData(f.dataId),t.disposeData(w.dataId),k}var hB={kernelName:zn,backendName:\"webgpu\",kernelFunc:Goe};var gx=class{constructor(e,t){this.outputShape=[],this.variableNames=[\"sortedSequence\",\"values\"],this.uniforms=\"numInputs : i32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.side=t,this.shaderKey=`search_sorted_${t}`}getUserCode(){return`\n fn findBound(batch: i32, value: f32) -> i32 {\n var left = i32(0);\n var right = uniforms.numInputs;\n while (left < right) {\n var mid = (left + right) / 2;\n if (getSortedSequence(batch, mid) ${this.side===\"left\"?\"<\":\"<=\"} value) {\n left = mid + 1;\n } else {\n right = mid;\n }\n }\n return right;\n }\n\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n let value = getValuesByOutputIndex(index);\n setOutputAtIndexI32(index, findBound(coords[0], value));\n }\n }\n `}};function Hoe(r){let{inputs:e,backend:t,attrs:o}=r,{sortedSequence:n,values:s}=e,{side:a}=o,i=new gx([s.shape[0],s.shape[1]],a),p=[{type:\"int32\",data:[n.shape[1]]}];return t.runWebGPUProgram(i,[n,s],\"int32\",p)}var gB={kernelName:ii,backendName:\"webgpu\",kernelFunc:Hoe};var xx=class{constructor(e,t,o){this.variableNames=[\"c\",\"a\",\"b\"],this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=t,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.cRank=e,this.rank=o,this.shaderKey=\"select\"}getUserCode(){let e,t;if(this.rank>4)throw Error(`Where for rank ${this.rank} is not yet supported`);if(this.rank===1)t=\"resRC\",e=\"resRC\";else{let n=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],s=[],a=[];for(let i=0;i= 1.0) {\n setOutputAtIndex(index, getA(${t}));\n } else {\n setOutputAtIndex(index, getB(${t}));\n }\n }\n }\n `}};function qoe(r){let{inputs:e,backend:t}=r,{condition:o,t:n,e:s}=e,a=new xx(o.shape.length,n.shape,n.shape.length);return t.runWebGPUProgram(a,[o,n,s],dt(n.dtype,s.dtype))}var xB={kernelName:Ts,backendName:\"webgpu\",kernelFunc:qoe};var Koe=Se({opType:Q.SIGMOID}),yB={kernelName:Un,backendName:\"webgpu\",kernelFunc:Koe};var joe=Se({opType:Q.SIN}),bB={kernelName:Wn,backendName:\"webgpu\",kernelFunc:joe};var Xoe=Se({opType:Q.SINH}),CB={kernelName:Sa,backendName:\"webgpu\",kernelFunc:Xoe};var bI=ot({opType:ye.SUB,cpuKernelImpl:xM,supportsComplex:!0}),SB={kernelName:Xn,backendName:\"webgpu\",kernelFunc:bI};function Yoe(r){let{inputs:e,backend:t,attrs:o}=r,{logits:n}=e,{dim:s}=o,a=y.parseAxisParam([s],n.shape),i=Ul({inputs:{x:n},backend:t,attrs:{reductionIndices:a,keepDims:!1}}),p=S.expandShapeToKeepDim(i.shape,a),u=de({inputs:{x:i},backend:t,attrs:{shape:p}}),c=bI({inputs:{a:n,b:u},backend:t}),l=fI({inputs:{x:c},backend:t}),m=Hl({inputs:{x:l},backend:t,attrs:{axis:a,keepDims:!1}}),d=de({inputs:{x:m},backend:t,attrs:{shape:p}}),f=yI({inputs:{a:l,b:d},backend:t});return t.disposeData(i.dataId),t.disposeData(u.dataId),t.disposeData(c.dataId),t.disposeData(l.dataId),t.disposeData(m.dataId),t.disposeData(d.dataId),f}var wB={kernelName:qn,backendName:\"webgpu\",kernelFunc:Yoe};var Qoe=r=>{let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{blockShape:s,paddings:a}=o;y.assert(n.shape.length<=4,()=>\"spaceToBatchND for rank > 4 with a WebGPU backend not implemented yet\");let i=s.reduce((x,b)=>x*b),p=[[0,0]];p.push(...a);for(let x=1+s.length;xt.disposeData(x.dataId)),g},IB={kernelName:Es,backendName:\"webgpu\",kernelFunc:Qoe};var yx=class{constructor(e,t){this.variableNames=[\"A\"],this.workgroupSize=[64,1,1],this.size=!0;let o=new Array(e.length);for(let n=0;n=5)throw Error(`Tile for rank ${r} is not yet supported`);if(r===1)return`(resRC % ${e}aShape)`;let t=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],o=[];for(let n=0;n=5){let p=t.readSync(n.dataId),u=n.dtype===\"string\"?p.map(m=>y.decodeString(m)):p,c=le(n.shape,n.dtype,u),l=yM(c,s);return t.makeTensorInfo(l.shape,l.dtype,l.values)}let a=new yx(n.shape,s);return t.runWebGPUProgram(a,[n],n.dtype)}var vB={kernelName:to,backendName:\"webgpu\",kernelFunc:CI};function Joe(r){let{inputs:e,backend:t,attrs:o}=r,{sparseIndices:n,sparseValues:s,defaultValue:a}=e,{outputShape:i}=o,{sliceRank:p,numUpdates:u,sliceSize:c,strides:l,outputSize:m}=S.calculateShapes(s,n,i),d=!1;if(s.dtype===\"string\"){let A=t.bufferSync(n),R=t.bufferSync(s),D=y.decodeString(t.readSync(a.dataId)[0]),P=mM(A,R,i,m,c,u,p,l,D,d);return t.makeTensorInfo(i,P.dtype,P.values)}let f=[m/c,c],h=de({inputs:{x:n},backend:t,attrs:{shape:[u,p]}}),g=s.shape.length?de({inputs:{x:s},backend:t,attrs:{shape:[u,c]}}):Ft({inputs:{x:s},backend:t}),x=g.dtype,b=t.makeTensorInfo([],x,y.makeZerosTypedArray(1,x)),C=de({inputs:{x:a},backend:t,attrs:{shape:Array(f.length).fill(1)}}),w=CI({inputs:{x:C},backend:t,attrs:{reps:f}}),k=y.sizeFromShape([u,c]),_=[{type:\"int32\",data:[p]},{type:\"int32\",data:l},{type:\"int32\",data:[k]}];switch(u){case 0:break;case 1:{let A=new Gi([u,c],p,h.shape.length,g.shape.length,l,f,x,d);t.runWebGPUProgram(A,[g,h],x,_,w)}break;default:{let A=new Gi([u,c],p,h.shape.length,b.shape.length,l,f,x,d);t.runWebGPUProgram(A,[b,h],x,_,w)}{let A=new Gi([u,c],p,h.shape.length,g.shape.length,l,f,x);t.runWebGPUProgram(A,[g,h],x,_,w)}}let $=de({inputs:{x:w},backend:t,attrs:{shape:i}});return t.disposeData(h.dataId),t.disposeData(g.dataId),t.disposeData(C.dataId),t.disposeData(b.dataId),t.disposeData(w.dataId),$}var kB={kernelName:li,backendName:\"webgpu\",kernelFunc:Joe};function ene(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{numOrSizeSplits:s,axis:a}=o,i=y.parseAxisParam(a,n.shape)[0],p=S.prepareSplitSize(n,s,i),u=n.shape.length,c=new Array(u).fill(0),l=n.shape.slice();return p.map(m=>{let d=[...l];d[i]=m;let f=ds({inputs:{x:n},backend:t,attrs:{begin:c,size:d}});return c[i]+=m,f})}var NB={kernelName:$s,backendName:\"webgpu\",kernelFunc:ene};var tne=Se({opType:Q.SQRT}),TB={kernelName:Gn,backendName:\"webgpu\",kernelFunc:tne};var _B={kernelName:mi,backendName:\"webgpu\",kernelFunc:({inputs:r,backend:e})=>{let{x:t}=r,o=e,n=new Ro(t.shape,Q.SQUARE);return o.runWebGPUProgram(n,[t],t.dtype)}};var rne=ot({opType:ye.SQUARED_DIFFERENCE}),EB={kernelName:Kn,backendName:\"webgpu\",kernelFunc:rne};var bx=class{constructor(e){this.variableNames=[\"x\"],this.workPerThread=1,this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize,[this.workPerThread,1,1]);let t=Rt(this.outputShape.length);this.uniforms=`begin : ${t}, strides : ${t}, `,this.shaderKey=\"stridedSlice\"}getUserCode(){let e=this.outputShape.length,t=\"\";if(e===1)t=\"coords * uniforms.strides + uniforms.begin\";else{let n=0;t=this.outputShape.map((s,a)=>(n++,this.outputShape.length===1?`coords * uniforms.strides[${a}] + uniforms.begin[${a}]`:`coords[${n-1}] * uniforms.strides[${a}] + uniforms.begin[${a}]`)).join(\",\")}return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n setOutputAtIndex(index, getX(${t}));\n }\n }\n `}};function one(r){let{inputs:e,backend:t,attrs:o}=r,{x:n}=e,{begin:s,end:a,strides:i,beginMask:p,endMask:u,ellipsisMask:c,newAxisMask:l,shrinkAxisMask:m}=o,{finalShapeSparse:d,finalShape:f,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:C,strides:w}=ut.sliceInfo(n.shape,s,a,i,p,u,c,l,m),k;if(h)k=de({inputs:{x:n},backend:t,attrs:{shape:f}});else if(g||x){y.assert(n.shape.length>=1,()=>`Input must have rank at least 1, got: ${n.shape.length}`);let _=ut.computeOutShape(b,C,w),$=ds({inputs:{x:n},backend:t,attrs:{begin:b,size:_}});k=de({inputs:{x:$},backend:t,attrs:{shape:f}}),t.disposeData($.dataId)}else if(t.shouldExecuteOnCPU([n])){let $=t.readSync(n.dataId),A=le(n.shape,n.dtype,$),R=hM(d,A,w,b);k=t.makeTensorInfo(f,n.dtype,R.values)}else{let $=new bx(d),A=[{type:\"int32\",data:b},{type:\"int32\",data:w}],R=t.runWebGPUProgram($,[n],n.dtype,A);k=de({inputs:{x:R},backend:t,attrs:{shape:f}}),t.disposeData(R.dataId)}return k}var $B={kernelName:jn,backendName:\"webgpu\",kernelFunc:one};function nne(r){let{inputs:e,backend:t,attrs:o}=r,{separator:n,nGramWidths:s,leftPad:a,rightPad:i,padWidth:p,preserveShortSequences:u}=o,{data:c,dataSplits:l}=e,m=t.readSync(c.dataId),d=t.readSync(l.dataId),[f,h]=gM(m,d,n,s,a,i,p,u);return[t.makeTensorInfo([f.length],\"string\",f),t.makeTensorInfo(l.shape,\"int32\",h)]}var AB={kernelName:As,backendName:\"webgpu\",kernelFunc:nne};var sne=Se({opType:Q.TAN}),RB={kernelName:Yn,backendName:\"webgpu\",kernelFunc:sne};var ane=Se({opType:Q.TANH}),FB={kernelName:Qn,backendName:\"webgpu\",kernelFunc:ane};var Cx=class{constructor(e){this.variableNames=[\"x\",\"indices\"],this.workgroupSize=[256,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.uniforms=`inputSize : i32, firstPass : i32, negativeInf : f32,\n dir : i32, inc : i32,`,this.shaderKey=\"swap\"}getUserCode(){return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let outC = getCoordsFromIndex(index);\n let batch = outC[0];\n let elemIdx = outC[1];\n // We compare elements pair-wise within a group of size 2 * inc.\n // The comparing rule for each group alternates between ascending\n // and descending. Within each group, we compare each pair at\n // positions i and i+inc. To decide whether an element at position i\n // is x0 or x1, we mod it by 2 * inc, if the result is smaller than\n // inc, it is in the first half of the group, we denote it as x0,\n // otherwise we denote it as x1.\n // For example, as shown in the Bitonic top K paper referenced\n // above, Figure5(a) shows that element[1] is in the second half of\n // the group when group size is 2, but it is in the first half of\n // the group when group size is 4.\n let isFirstInPair = elemIdx % (2 * uniforms.inc) < uniforms.inc;\n var i = 0;\n if (isFirstInPair) {\n i = elemIdx;\n } else {\n i = elemIdx - uniforms.inc;\n }\n\n var i0 = 0;\n if (uniforms.firstPass == 1) {\n i0 = i;\n } else {\n i0 = i32(getIndices(batch, i));\n }\n\n var i1 = 0;\n if (uniforms.firstPass == 1) {\n i1 = i + uniforms.inc;\n } else {\n i1 = i32(getIndices(batch, i + uniforms.inc));\n }\n\n var x0 = f32(0.0);\n var x1 = f32(0.0);\n if (i0 < uniforms.inputSize) {\n x0 = getX(batch, i0);\n } else {\n x0 = uniforms.negativeInf;\n }\n if (i1 < uniforms.inputSize) {\n x1 = getX(batch, i1);\n } else {\n x1 = uniforms.negativeInf;\n }\n\n let reverse = elemIdx % (2 * uniforms.dir) >= uniforms.dir;\n let isGreater = x0 > x1 || (x0 == x1 && i1 > i0);\n if (reverse == isGreater) {\n // Elements in opposite order of direction\n let iTemp = i0;\n i0 = i1;\n i1 = iTemp;\n }\n if (isFirstInPair) {\n setOutputAtIndex(index, f32(i0));\n } else {\n setOutputAtIndex(index, f32(i1));\n }\n }\n }\n `}},Sx=class{constructor(e){this.variableNames=[\"x\",\"indices\"],this.workgroupSize=[256,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.uniforms=\"inputSize : i32, firstPass : i32, k : i32,\",this.shaderKey=\"merge\"}getUserCode(){return`\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let outC = getCoordsFromIndex(index);\n let batch = outC[0];\n let elemIdx = outC[1];\n // The output size is half of the previous size.\n // If the previous sequence is | | | | _ _ _ _ | | | | _ _ _ _\n // (k=4), we only need to output the indices at positions |, the\n // indices at positions _ can be thrown away, see Figure5(b) After\n // Phase 2 (Merge phase) in the Bitonic Top K paper referenced\n // above.\n // For example, the paper shows we only need to output the orange\n // bars. The output sequence should look like this | | | | | | | |.\n // Because the sequence is halved, to map the output index back to\n // the previous sequence to find the corresponding value, we need\n // to double the index. When we double the index, we basically\n // interpolate a position, so 2i looks like\n // | _ | _ | _ | _ | _ | _ | _. We move the | to the first k\n // position of each 2k positions by - elemIdx % k. E.g. for output\n // at index 4,5,6,7, we want to get the corresponding element at\n // original index 8,9,10,11, for output at index 8,9,10,11,\n // we want to get the corresponding element at original index\n // 16,17,18,19, so on and so forth.\n\n var i = 0;\n if (elemIdx < uniforms.k) {\n i = elemIdx;\n } else {\n i = elemIdx * 2 - elemIdx % uniforms.k;\n }\n var i0 = 0;\n if (uniforms.firstPass == 1) {\n i0 = i;\n } else {\n i0 = i32(getIndices(batch, i));\n }\n var i1 = 0;\n if (uniforms.firstPass == 1) {\n i1 = i + uniforms.k;\n } else {\n i1 = i32(getIndices(batch, i + uniforms.k));\n }\n\n let x0 = getX(batch, i0);\n var x1 = f32(0.0);\n if (i1 < uniforms.inputSize) {\n x1 = getX(batch, i1);\n } else {\n x1 = x0;\n }\n\n if (x0 >= x1) {\n setOutputAtIndex(index, f32(i0));\n } else {\n setOutputAtIndex(index, f32(i1));\n }\n }\n }\n `}};function $c(r,e){e!==null&&r.disposeData(e.dataId)}function DB(r){let e=1;for(;ef===null?[l,l]:[l,f],g=(k,_,$)=>{let A=h(),R=new Cx($),P=[{type:\"int32\",data:[p]},{type:\"int32\",data:[f===null?1:0]},{type:\"float32\",data:[Number.NEGATIVE_INFINITY]},{type:\"int32\",data:[k]},{type:\"int32\",data:[_]}],M=f;f=t.runWebGPUProgram(R,A,\"int32\",P),$c(t,M)};for(let k=1;k=1;$/=2)g(_,$,[c,d])}for(let k=d;k>m;k/=2){let _=h(),$=new Sx([c,k/2]),R=[{type:\"int32\",data:[p]},{type:\"int32\",data:[f===null?1:0]},{type:\"int32\",data:[m]}],D=f;f=t.runWebGPUProgram($,_,\"int32\",R),$c(t,D);let P=m/2,M=P*2;for(let L=P;L>=1;L/=2)g(M,L,f.shape)}let x=f;f=ds({inputs:{x:f},backend:t,attrs:{begin:0,size:[c,s]}}),$c(t,x);let b=gI({inputs:{x:l,indices:f},backend:t,attrs:{axis:1,batchDims:1}});$c(t,l);let C=i.slice(0,-1);C.push(s),x=f,f=de({inputs:{x:f},attrs:{shape:C},backend:t}),$c(t,x);let w=b;return b=de({inputs:{x:b},attrs:{shape:C},backend:t}),$c(t,w),[b,f]}var OB={kernelName:Zn,backendName:\"webgpu\",kernelFunc:ine};var wx=class{constructor(e){this.variableNames=[\"Image\",\"Transforms\"],this.uniforms=\"interpolationModeId : i32, fillModeId : i32, fillValue : f32,\",this.workgroupSize=[64,1,1],this.size=!0,this.outputShape=e,this.dispatchLayout=ue(this.outputShape),this.dispatch=re(this.dispatchLayout,this.outputShape,this.workgroupSize),this.shaderKey=\"transform\"}getUserCode(){return`\n fn mapCoord(outCoord : f32, len : f32) -> f32{\n var inCoord = outCoord;\n if(uniforms.fillModeId == 2) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n let sz2 = 2.0 * len;\n if (inCoord < sz2) {\n inCoord = sz2 * f32(i32(f32(-inCoord / sz2))) +\n inCoord;\n }\n if (inCoord < -len) {\n inCoord = inCoord + sz2;\n } else {\n inCoord = -inCoord - 1.0;\n }\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n let sz2 = 2.0 * len;\n inCoord = inCoord - sz2 * f32(i32(f32(inCoord / sz2)));\n if (inCoord >= len) {\n inCoord = sz2 - inCoord - 1.0;\n }\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (uniforms.fillModeId == 3) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n let sz = len - 1.0;\n inCoord = inCoord + len * (f32(i32(f32(-inCoord / sz))) + 1.0);\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n let sz = len - 1.0;\n inCoord = inCoord - len * f32(i32(f32(inCoord / sz)));\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (uniforms.fillModeId == 4) {\n return clamp(outCoord, 0.0, len - 1.0);\n }\n return outCoord;\n }\n fn readWithFillValue(batch : i32, coordY : i32, coordX : i32,\n channel : i32) -> f32 {\n var outputValue : f32;\n if (0 <= coordY && coordY < uniforms.imageShape[1] && 0 <= coordX && coordX < uniforms.imageShape[2]) {\n outputValue = getImage(batch, coordY, coordX, channel);\n } else {\n outputValue = uniforms.fillValue;\n }\n return outputValue;\n }\n\n ${se(\"index\")} {\n if (index < uniforms.size) {\n let coords = getCoordsFromIndex(index);\n var outputValue : f32;\n let batch = coords[0];\n let x = coords[2];\n let y = coords[1];\n let channel = coords[3];\n let xf = f32(x);\n let yf = f32(y);\n let a1 = getTransforms(batch, 0);\n let a2 = getTransforms(batch, 1);\n let a3 = getTransforms(batch, 2);\n let b1 = getTransforms(batch, 3);\n let b2 = getTransforms(batch, 4);\n let b3 = getTransforms(batch, 5);\n let c1 = getTransforms(batch, 6);\n let c2 = getTransforms(batch, 7);\n let projection = c1 * xf + c2 * yf + 1.0;\n if (projection == 0.0) {\n outputValue = uniforms.fillValue;\n } else {\n let inX = (a1 * xf + a2 * yf + a3) / projection;\n let inY = (b1 * xf + b2 * yf + b3) / projection;\n let mapX = mapCoord(inX, f32(uniforms.imageShape[2]));\n let mapY = mapCoord(inY, f32(uniforms.imageShape[1]));\n\n if (uniforms.interpolationModeId == 1) {\n let coordY = i32(round(mapY));\n let coordX = i32(round(mapX));\n outputValue = readWithFillValue(batch, coordY, coordX,\n channel);\n } else {\n let yFloor = floor(mapY);\n let xFloor = floor(mapX);\n let yCeil = yFloor + 1.0;\n let xCeil = xFloor + 1.0;\n let valueYFloor = (xCeil - mapX) *\n readWithFillValue(batch, i32(yFloor), i32(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, i32(yFloor), i32(xCeil), channel);\n let valueYCeil = (xCeil - mapX) *\n readWithFillValue(batch, i32(yCeil), i32(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, i32(yCeil), i32(xCeil), channel);\n outputValue = (yCeil - mapY) * valueYFloor +\n (mapY - yFloor) * valueYCeil;\n }\n }\n setOutputAtIndex(index, outputValue);\n }\n }\n `}};function une(r){let{inputs:e,backend:t,attrs:o}=r,{image:n,transforms:s}=e,{interpolation:a,fillMode:i,fillValue:p,outputShape:u}=o,[c,l,m,d]=n.shape,[f,h]=u!=null?u:[l,m],g=[c,f,h,d],x=new wx(g),b=a===\"nearest\"?1:2,C;switch(i){case\"constant\":C=1;break;case\"reflect\":C=2;break;case\"wrap\":C=3;break;case\"nearest\":C=4;break;default:C=1;break}let w=[{type:\"int32\",data:[b]},{type:\"int32\",data:[C]},{type:\"float32\",data:[p]}];return t.runWebGPUProgram(x,[n,s],\"float32\",w)}var PB={kernelName:Jn,backendName:\"webgpu\",kernelFunc:une};function pne(r){let{inputs:e,backend:t,attrs:o}=r,{value:n}=e,{axis:s}=o;s<0&&(s+=n.shape.length);let a=n,i=a.shape.length,p=n.shape[s],u=new Array(i-1),c=0;for(let h=0;ht.disposeData(h.dataId)),f}var MB={kernelName:Rs,backendName:\"webgpu\",kernelFunc:pne};var cne=[B3,SM,wM,IM,vM,kM,TM,_M,EM,$M,AM,RM,FM,DM,OM,LM,BM,zM,WM,qM,KM,jM,z3,YM,QM,ZM,JM,eL,tL,nL,sL,aL,iL,uL,lL,mL,dL,fL,hL,gL,xL,yL,M3,bL,wL,CL,SL,IL,vL,kL,NL,TL,_L,EL,V3,$L,XM,AL,RL,FL,DL,OL,PL,LL,ML,BL,VL,PM,zL,WL,MM,UL,GL,HL,qL,pL,KL,jL,XL,UM,YL,JL,eB,tB,rB,oB,nB,sB,GM,aB,iB,uB,pB,L3,cB,lB,mB,dB,fB,hB,gB,xB,yB,bB,CB,VM,$B,AB,wB,IB,kB,NB,TB,_B,EB,SB,cL,RB,FB,vB,OB,PB,NM,MB,QL];for(let r of cne)Ia(r);var LB=\"4.1.0\",lne=\"4.1.0\",mne=\"4.1.0\",dne=\"4.1.0\",fne=\"4.1.0\",hne=\"0.0.1-alpha.16\",gne={tfjs:LB,\"tfjs-core\":LB,\"tfjs-converter\":lne,\"tfjs-backend-cpu\":mne,\"tfjs-backend-webgl\":dne,\"tfjs-backend-wasm\":fne,\"tfjs-backend-webgpu\":hne};export{gs as Abs,sa as Acos,aa as Acosh,Ei as AdadeltaOptimizer,$i as AdagradOptimizer,Ai as AdamOptimizer,Ri as AdamaxOptimizer,eo as Add,Mo as AddN,Lo as All,Bo as Any,Vo as ArgMax,Za as ArgMin,ia as Asin,ua as Asinh,pa as Atan,la as Atan2,ca as Atanh,zo as AvgPool,ip as AvgPool3D,Im as AvgPool3DGrad,wm as AvgPoolGrad,Pl as BackendWasm,Wo as BatchMatMul,xs as BatchToSpaceND,Ja as Bincount,up as BroadcastArgs,wne as BroadcastTo,co as Cast,Uo as Ceil,lo as ClipByValue,ei as Complex,pp as ComplexAbs,ys as Concat,Go as Conv2D,cp as Conv2DBackpropFilter,Ho as Conv2DBackpropInput,lp as Conv3D,vm as Conv3DBackpropFilterV2,mp as Conv3DBackpropInputV2,qo as Cos,Ko as Cosh,Yo as CropAndResize,jo as Cumprod,Xo as Cumsum,Do as DataStorage,ti as DenseBincount,Qo as DepthToSpace,Zo as DepthwiseConv2dNative,dp as DepthwiseConv2dNativeBackpropFilter,fp as DepthwiseConv2dNativeBackpropInput,hp as Diag,gp as Dilation2D,bb as Dilation2DBackpropFilter,yb as Dilation2DBackpropInput,hb as ENV,ri as Einsum,en as Elu,km as EluGrad,Uc as Environment,tn as Equal,ma as Erf,rn as Exp,bs as ExpandDims,da as Expm1,oi as FFT,Cs as Fill,on as FlipLeftRight,nn as Floor,sn as FloorDiv,Zi as FromPixels,an as FusedBatchNorm,ho as FusedConv2D,go as FusedDepthwiseConv2D,Fu as GPGPUContext,un as GatherNd,Ss as GatherV2,ll as GraphModel,pn as Greater,cn as GreaterEqual,ni as IFFT,mo as Identity,si as Imag,fa as IsFinite,ha as IsInf,ln as IsNan,Zr as KernelBackend,yp as LRN,Nm as LRNGrad,mn as LeakyRelu,dn as Less,fn as LessEqual,xp as LinSpace,hn as Log,ga as Log1p,Ine as LogSoftmax,gn as LogicalAnd,xn as LogicalNot,xa as LogicalOr,GI as LogicalXor,vne as LowerBound,Oi as MathBackendCPU,Bi as MathBackendWebGL,yn as Max,Cn as MaxPool,bp as MaxPool3D,_m as MaxPool3DGrad,Tm as MaxPoolGrad,Cp as MaxPoolWithArgmax,bn as Maximum,Sn as Mean,wn as Min,In as Minimum,vn as MirrorPad,ya as Mod,Fi as MomentumOptimizer,Sp as Multinomial,kn as Multiply,ws as Neg,Tn as NonMaxSuppressionV3,ba as NonMaxSuppressionV4,_n as NonMaxSuppressionV5,Nn as NotEqual,Lb as OP_SCOPE_SUFFIX,En as OneHot,Is as OnesLike,wr as Optimizer,ns as OptimizerConstructors,vs as Pack,$n as PadV2,kne as Pool,An as Pow,Rn as Prelu,Fn as Prod,Di as RMSPropOptimizer,wp as RaggedGather,Ip as RaggedRange,vp as RaggedTensorToTensor,ks as Range,_b as Rank,ai as Real,Jo as RealDiv,Dn as Reciprocal,Et as Reduction,On as Relu,Ln as Relu6,Ns as Reshape,Mn as ResizeBilinear,$m as ResizeBilinearGrad,Pn as ResizeNearestNeighbor,Em as ResizeNearestNeighborGrad,Bn as Reverse,es as RotateWithOffset,Ca as Round,Vn as Rsqrt,qs as SGDOptimizer,zn as ScatterNd,ii as SearchSorted,Ts as Select,Xi as Selu,Un as Sigmoid,Yi as Sign,Wn as Sin,Sa as Sinh,_s as Slice,qn as Softmax,Qi as Softplus,Es as SpaceToBatchND,ui as SparseFillEmptyRows,wa as SparseReshape,pi as SparseSegmentMean,ci as SparseSegmentSum,li as SparseToDense,$s as SplitV,Gn as Sqrt,mi as Square,Kn as SquaredDifference,Ds as Step,jn as StridedSlice,As as StringNGrams,di as StringSplit,fi as StringToHashBucketFast,Xn as Sub,Hn as Sum,Yn as Tan,Qn as Tanh,it as Tensor,st as TensorBuffer,to as Tile,Zn as TopK,Jn as Transform,ro as Transpose,kp as Unique,Rs as Unpack,Np as UnsortedSegmentSum,Nne as UpperBound,va as Variable,Ui as WebGPUBackend,Fs as ZerosLike,fo as _FusedMatMul,Yt as abs,f0 as acos,h0 as acosh,xe as add,g0 as addN,x0 as all,y0 as any,b0 as argMax,C0 as argMin,S0 as asin,w0 as asinh,I0 as atan,v0 as atan2,k0 as atanh,td as avgPool,_0 as avgPool3d,Oie as backend,S as backend_util,E0 as basicLSTMCell,wi as batchNorm,A0 as batchNorm2d,R0 as batchNorm3d,F0 as batchNorm4d,rd as batchToSpaceND,od as bincount,XG as booleanMaskAsync,D0 as broadcastArgs,Ii as broadcastTo,br as broadcast_util,Qv as browser,le as buffer,Ke as cast,O0 as ceil,P0 as clipByValue,Br as clone,Tr as complex,gt as concat,M0 as concat1d,L0 as concat2d,B0 as concat3d,V0 as concat4d,z0 as conv1d,vi as conv2d,W0 as conv2dTranspose,U0 as conv3d,H0 as conv3dTranspose,Dne as copyRegisteredKernels,q0 as cos,K0 as cosh,il as cosineWindow,j0 as cumprod,X0 as cumsum,Cr as customGrad,Y0 as denseBincount,eC as deprecationWarn,Q0 as depthToSpace,Bp as depthwiseConv2d,xK as deregisterOp,yi as device_util,Z0 as diag,J0 as dilation2d,vie as disableDeprecationWarnings,Dt as dispose,kie as disposeVariables,Ge as div,ek as divNoNan,tk as dot,aH as dropout,rk as einsum,ad as elu,Iie as enableDebugMode,wie as enableProdMode,xC as enclosingPowerOfTwo,cr as engine,O as env,sd as equal,ok as erf,ak as euclideanNorm,Co as exp,Fa as expandDims,ik as expm1,id as eye,zp as fft,Ws as fill,Fie as findBackend,Die as findBackendFactory,ud as floor,Jm as floorDiv,L$ as forceHalfFloat,yC as fused,pd as gather,nH as gatherND,Ym as gather_util,Aie as getBackend,Cb as getGradient,qc as getKernel,Am as getKernelsForBackend,Nee as getThreadsCount,yw as gpgpu_util,l4 as grad,m4 as grads,cu as greater,cd as greaterEqual,hu as ifft,Si as imag,uq as image,uH as inTopKAsync,Ea as io,Fd as irfft,uk as isFinite,pk as isInf,ck as isNaN,_r as keep,Lt as kernel_impls,ld as leakyRelu,lk as less,Vp as lessEqual,pq as linalg,mk as linspace,l6 as loadGraphModel,m6 as loadGraphModelSync,dk as localResponseNormalization,Da as log,md as log1p,fk as logSigmoid,hk as logSoftmax,hd as logSumExp,lu as logicalAnd,gd as logicalNot,xd as logicalOr,gk as logicalXor,cq as losses,xk as lowerBound,Xe as matMul,jv as math,Us as max,bd as maxPool,yk as maxPool3d,bk as maxPoolWithArgmax,Cd as maximum,mu as mean,Nie as memory,Ck as meshgrid,sl as min,Sd as minimum,Sk as mirrorPad,wk as mod,Ik as moments,QG as movingAverage,ae as mul,vk as multiRNNCell,kk as multinomial,yr as neg,CC as nextFrame,pu as norm,wd as notEqual,tl as oneHot,Gs as ones,Nk as onesLike,N as op,Tk as outerProduct,Hs as pad,_k as pad1d,Ek as pad2d,$k as pad3d,Ak as pad4d,Rk as pool,Ra as pow,vd as prelu,Gm as print,Fk as prod,Tie as profile,Dk as raggedGather,Ok as raggedRange,Pk as raggedTensorToTensor,Mk as rand,e1 as randomGamma,Ed as randomNormal,t1 as randomStandardNormal,$d as randomUniform,Ni as range,$ie as ready,$a as real,r1 as reciprocal,Ci as registerBackend,Ane as registerGradient,Ia as registerKernel,gK as registerOp,Ti as relu,Ad as relu6,Rie as removeBackend,z as reshape,no as reverse,o1 as reverse1d,n1 as reverse2d,s1 as reverse3d,a1 as reverse4d,Wp as rfft,Rd as round,i1 as rsqrt,be as scalar,JG as scatterND,rl as scatter_util,al as searchSorted,u1 as selu,p1 as separableConv2d,p0 as serialization,Eie as setBackend,Pie as setPlatform,kee as setThreadsCount,Iee as setWasmPath,vee as setWasmPaths,RS as setWebGLContext,c1 as setdiff1dAsync,Qp as shared,zs as sigmoid,l1 as sign,iq as signal,m1 as sin,d1 as sinh,He as slice,f1 as slice1d,h1 as slice2d,g1 as slice3d,x1 as slice4d,ut as slice_util,y1 as softmax,fd as softplus,Id as spaceToBatchND,lq as sparse,rH as sparseToDense,aq as spectral,Oa as split,$r as sqrt,Qt as square,Dd as squaredDifference,Up as squeeze,Sr as stack,Od as step,b1 as stridedSlice,mq as string,Ne as sub,et as sum,ka as sumOutType,C1 as tan,nl as tanh,nr as tensor,mr as tensor1d,_i as tensor2d,Xm as tensor3d,S1 as tensor4d,w1 as tensor5d,I1 as tensor6d,hv as tensor_util,d0 as test_util,Ee as tidy,ki as tile,_ie as time,v1 as topk,hMe as train,Mp as transpose,k1 as truncatedNormal,N1 as unique,Fne as unregisterGradient,Rne as unregisterKernel,T1 as unsortedSegmentSum,so as unstack,dt as upcastType,_1 as upperBound,y as util,d4 as valueAndGrad,f4 as valueAndGrads,E1 as variable,pC as variableGrads,gne as version,f6 as version_converter,xW as version_core,U6 as version_cpu,Tee as version_wasm,L8 as version_webgl,L9e as webgl,oc as webgl_util,nI as webgpu_util,os as where,Md as whereAsync,Vr as zeros,Ut as zerosLike};\n", "import type { Config } from '../exports';\n\n/**\n * Simple helper functions used accross codebase\n */\n\n// helper function: wrapper around console output\nexport function log(...msg): void {\n const dt = new Date();\n const ts = `${dt.getHours().toString().padStart(2, '0')}:${dt.getMinutes().toString().padStart(2, '0')}:${dt.getSeconds().toString().padStart(2, '0')}.${dt.getMilliseconds().toString().padStart(3, '0')}`;\n if (msg) console.log(ts, 'Human:', ...msg); // eslint-disable-line no-console\n}\n\n// helper function: join two paths\nexport function join(folder: string, file: string): string {\n const separator = folder.endsWith('/') ? '' : '/';\n const skipJoin = file.startsWith('.') || file.startsWith('/') || file.startsWith('http:') || file.startsWith('https:') || file.startsWith('file:');\n const path = skipJoin ? `${file}` : `${folder}${separator}${file}`;\n if (!path.toLocaleLowerCase().includes('.json')) throw new Error(`modelpath error: expecting json file: ${path}`);\n return path;\n}\n\n// helper function: gets elapsed time on both browser and nodejs\nexport const now = () => {\n if (typeof performance !== 'undefined') return performance.now();\n return parseInt((Number(process.hrtime.bigint()) / 1000 / 1000).toString());\n};\n\n// helper function: checks current config validity\nexport function validate(defaults: Partial, config: Partial, parent = 'config', msgs: { reason: string, where: string, expected?: string }[] = []) {\n for (const key of Object.keys(config)) {\n if (typeof config[key] === 'object') {\n validate(defaults[key], config[key], key, msgs);\n } else {\n const defined = defaults && (typeof defaults[key] !== 'undefined');\n if (!defined) msgs.push({ reason: 'unknown property', where: `${parent}.${key} = ${config[key]}` });\n const same = defaults && typeof defaults[key] === typeof config[key];\n if (defined && !same) msgs.push({ reason: 'property type mismatch', where: `${parent}.${key} = ${config[key]}`, expected: typeof defaults[key] });\n }\n // ok = ok && defined && same;\n }\n if (config.debug && parent === 'config' && msgs.length > 0) log('invalid configuration', msgs);\n return msgs;\n}\n\n// helper function: perform deep merge of multiple objects so it allows full inheritance with overrides\nexport function mergeDeep(...objects) {\n const isObject = (obj) => obj && typeof obj === 'object';\n return objects.reduce((prev, obj) => {\n Object.keys(obj || {}).forEach((key) => {\n const pVal = prev[key];\n const oVal = obj[key];\n if (Array.isArray(pVal) && Array.isArray(oVal)) prev[key] = pVal.concat(...oVal);\n else if (isObject(pVal) && isObject(oVal)) prev[key] = mergeDeep(pVal, oVal);\n else prev[key] = oVal;\n });\n return prev;\n }, {});\n}\n\n// helper function: return min and max from input array\nexport const minmax = (data: number[]) => data.reduce((acc: number[], val) => {\n acc[0] = (acc[0] === undefined || val < acc[0]) ? val : acc[0];\n acc[1] = (acc[1] === undefined || val > acc[1]) ? val : acc[1];\n return acc;\n}, []);\n\n// helper function: async wait\nexport async function wait(time: number) {\n const waiting = new Promise((resolve) => { setTimeout(() => resolve(true), time); });\n await waiting;\n}\n", "/* eslint-disable no-multi-spaces */\n\n/** Possible TensorFlow backends */\nexport type BackendEnum = '' | 'cpu' | 'wasm' | 'webgl' | 'humangl' | 'tensorflow' | 'webgpu';\n\n/** Possible values for `human.warmup` */\nexport type WarmupEnum = '' | 'none' | 'face' | 'full' | 'body';\n\n/** Possible segmentation model behavior */\nexport type SegmentationEnum = 'default' | 'alpha' | 'foreground' | 'state'\n\n/** Generic config type inherited by all module types */\nexport interface GenericConfig {\n /** is module enabled? */\n enabled: boolean,\n /** path to model json file (relative to `modelBasePath` */\n modelPath: string,\n /** how many max frames to go without re-running model if cached results are acceptable\n * for two-phase models such as face and hand caching applies to bounding boxes detection only */\n skipFrames: number,\n /** how many max milliseconds to go without re-running model if cached results are acceptable\n * for two-phase models such as face and hand caching applies to bounding boxes detection only */\n skipTime: number,\n}\n\n/** Detector part of face configuration */\nexport interface FaceDetectorConfig extends GenericConfig {\n /** is face rotation correction performed after detecting face?\n * used to correctly analyze faces under high angles\n */\n rotation: boolean,\n /** maximum number of detected faces */\n maxDetected: number,\n /** minimum confidence for a detected face before results are discarded */\n minConfidence: number,\n /** minimum overlap between two detected faces before one is discarded */\n iouThreshold: number,\n /** should child models perform on masked image of a face */\n mask: boolean,\n /** should face detection return processed and cropped face tensor that can with an external model for addtional processing?\n * if enabled it must be manually deallocated to avoid memory leak */\n return: boolean,\n}\n\n/** Mesh part of face configuration */\nexport interface FaceMeshConfig extends GenericConfig {\n /** Keep detected faces that cannot be verified using facemesh */\n keepInvalid: boolean\n}\n\n/** Iris part of face configuration */\nexport interface FaceIrisConfig extends GenericConfig {}\n\n/** Attention part of face configuration */\nexport interface FaceAttentionConfig extends GenericConfig {}\n\n/** Description or face embedding part of face configuration\n * - also used by age and gender detection\n */\nexport interface FaceDescriptionConfig extends GenericConfig {\n /** minimum confidence for a detected face before results are discarded */\n minConfidence: number,\n}\n\n/** Emotion part of face configuration */\nexport interface FaceEmotionConfig extends GenericConfig {\n /** minimum confidence for a detected face before results are discarded */\n minConfidence: number,\n}\n\n/** Anti-spoofing part of face configuration */\nexport interface FaceAntiSpoofConfig extends GenericConfig {}\n\n/** Liveness part of face configuration */\nexport interface FaceLivenessConfig extends GenericConfig {}\n\n/** Gear part of face configuration */\nexport interface FaceGearConfig extends GenericConfig {\n /** minimum confidence for a detected race before results are discarded */\n minConfidence: number,\n}\n\n/** Configures all face-specific options: face detection, mesh analysis, age, gender, emotion detection and face description */\nexport interface FaceConfig extends GenericConfig {\n detector: Partial,\n mesh: Partial,\n attention: Partial,\n iris: Partial,\n description: Partial,\n emotion: Partial,\n antispoof: Partial,\n liveness: Partial,\n gear: Partial,\n}\n\n/** Configures all body detection specific options */\nexport interface BodyConfig extends GenericConfig {\n /** maximum number of detected bodies */\n maxDetected: number,\n /** minimum confidence for a detected body before results are discarded */\n minConfidence: number,\n /* experimental\n /** experimental: detector used for body model before actual analysis\n detector?: {\n /** experimental: enable body detector before body landmarks\n enabled: boolean,\n /** experimental: path to optional body detector model json file\n modelPath: string,\n /** experimental: minimum confidence for a detected body before results are discarded\n minConfidence: number,\n /** experimental: minimum overlap between two detected bodies before one is discarded\n iouThreshold: number\n },\n */\n}\n\n/** Configures all hand detection specific options */\nexport interface HandConfig extends GenericConfig {\n /** should hand rotation correction be performed after hand detection? */\n rotation: boolean,\n /** minimum confidence for a detected hand before results are discarded */\n minConfidence: number,\n /** minimum overlap between two detected hands before one is discarded */\n iouThreshold: number,\n /** maximum number of detected hands */\n maxDetected: number,\n /** should hand landmarks be detected or just return detected hand box */\n landmarks: boolean,\n detector: {\n /** path to hand detector model json */\n modelPath?: string,\n },\n skeleton: {\n /** path to hand skeleton model json */\n modelPath?: string,\n },\n}\n\n/** Configures all object detection specific options */\nexport interface ObjectConfig extends GenericConfig {\n /** minimum confidence for a detected objects before results are discarded */\n minConfidence: number,\n /** minimum overlap between two detected objects before one is discarded */\n iouThreshold: number,\n /** maximum number of detected objects */\n maxDetected: number,\n}\n\n/** Configures all body segmentation module\n * removes background from input containing person\n * if segmentation is enabled it will run as preprocessing task before any other model\n * alternatively leave it disabled and use it on-demand using human.segmentation method which can\n * remove background or replace it with user-provided background\n*/\nexport interface SegmentationConfig extends GenericConfig {\n /** downsample ratio, adjust to reflect approximately how much of input is taken by body */\n ratio: number,\n /** possible rvm segmentation mode */\n mode: SegmentationEnum,\n}\n\n/** Run input through image filters before inference\n * - available only in Browser environments\n * - image filters run with near-zero latency as they are executed on the GPU using WebGL\n*/\nexport interface FilterConfig {\n /** are image filters enabled? */\n enabled: boolean,\n /** perform image histogram equalization\n * - equalization is performed on input as a whole and detected face before its passed for further analysis\n */\n equalization: boolean,\n /** resize input width\n * - if both width and height are set to 0, there is no resizing\n * - if just one is set, second one is scaled automatically\n * - if both are set, values are used as-is\n */\n width: number,\n /** resize input height\n * - if both width and height are set to 0, there is no resizing\n * - if just one is set, second one is scaled automatically\n * - if both are set, values are used as-is\n */\n height: number,\n /** return processed canvas imagedata in result */\n return: boolean,\n /** flip input as mirror image */\n flip: boolean,\n /** apply auto-brighness */\n autoBrightness: boolean,\n /** range: -1 (darken) to 1 (lighten) */\n brightness: number,\n /** range: -1 (reduce contrast) to 1 (increase contrast) */\n contrast: number,\n /** range: 0 (no sharpening) to 1 (maximum sharpening) */\n sharpness: number,\n /** range: 0 (no blur) to N (blur radius in pixels) */\n blur: number\n /** range: -1 (reduce saturation) to 1 (increase saturation) */\n saturation: number,\n /** range: 0 (no change) to 360 (hue rotation in degrees) */\n hue: number,\n /** image negative */\n negative: boolean,\n /** image sepia colors */\n sepia: boolean,\n /** image vintage colors */\n vintage: boolean,\n /** image kodachrome colors */\n kodachrome: boolean,\n /** image technicolor colors */\n technicolor: boolean,\n /** image polaroid camera effect */\n polaroid: boolean,\n /** range: 0 (no pixelate) to N (number of pixels to pixelate) */\n pixelate: number,\n}\n\n/** Controlls gesture detection */\nexport interface GestureConfig {\n /** is gesture detection enabled? */\n enabled: boolean,\n}\n/**\n * Configuration interface definition for **Human** library\n * Contains all configurable parameters\n * Defaults: [config](https://github.com/vladmandic/human/blob/main/src/config.ts#L262)\n */\nexport interface Config {\n /** Backend used for TFJS operations\n * valid build-in backends are:\n * - Browser: `cpu`, `wasm`, `webgl`, `humangl`, `webgpu`\n * - NodeJS: `cpu`, `wasm`, `tensorflow`\n * default: `webgl` for browser and `tensorflow` for nodejs\n */\n backend: BackendEnum,\n\n /** Path to *.wasm files if backend is set to `wasm`\n *\n * default: auto-detects to link to CDN `jsdelivr` when running in browser\n */\n wasmPath: string,\n\n /** Force WASM loader to use platform fetch\n *\n * default: false\n */\n wasmPlatformFetch: boolean,\n\n /** Print debug statements to console\n *\n * default: `true`\n */\n debug: boolean,\n\n /** Perform model loading and inference concurrently or sequentially\n *\n * default: `true`\n */\n async: boolean,\n\n /** What to use for `human.warmup()`\n * - warmup pre-initializes all models for faster inference but can take significant time on startup\n * - used by `webgl`, `humangl` and `webgpu` backends\n *\n * default: `full`\n */\n warmup: WarmupEnum,\n\n /** Base model path (typically starting with file://, http:// or https://) for all models\n * - individual modelPath values are relative to this path\n *\n * default: `../models/` for browsers and `file://models/` for nodejs\n */\n modelBasePath: string,\n\n /** Cache models in IndexDB on first sucessfull load\n * default: true if indexdb is available (browsers), false if its not (nodejs)\n */\n cacheModels: boolean,\n\n /** Validate kernel ops used in model during model load\n * default: true\n * any errors will be printed on console but will be treated as non-fatal\n */\n validateModels: boolean,\n\n /** Cache sensitivity\n * - values 0..1 where 0.01 means reset cache if input changed more than 1%\n * - set to 0 to disable caching\n *\n * default: 0.7\n */\n cacheSensitivity: number;\n\n /** Explicit flags passed to initialize TFJS */\n flags: Record,\n\n /** Software Kernels\n * Registers software kernel ops running on CPU when accelerated version of kernel is not found in the current backend\n */\n softwareKernels: boolean,\n\n /** Perform immediate garbage collection on deallocated tensors instead of caching them */\n deallocate: boolean;\n\n /** Internal Variable */\n skipAllowed: boolean;\n\n /** Filter config {@link FilterConfig} */\n filter: Partial,\n\n /** Gesture config {@link GestureConfig} */\n gesture: Partial;\n\n /** Face config {@link FaceConfig} */\n face: Partial,\n\n /** Body config {@link BodyConfig} */\n body: Partial,\n\n /** Hand config {@link HandConfig} */\n hand: Partial,\n\n /** Object config {@link ObjectConfig} */\n object: Partial,\n\n /** Segmentation config {@link SegmentationConfig} */\n segmentation: Partial,\n}\n\n/** - [See all default Config values...](https://github.com/vladmandic/human/blob/main/src/config.ts#L262) */\nconst config: Config = {\n backend: '',\n modelBasePath: '',\n cacheModels: true,\n validateModels: true,\n wasmPath: '',\n wasmPlatformFetch: false,\n debug: false,\n async: true,\n warmup: 'full',\n cacheSensitivity: 0.70,\n skipAllowed: false,\n deallocate: false,\n flags: {},\n softwareKernels: false,\n filter: {\n enabled: true,\n equalization: false,\n width: 0,\n height: 0,\n flip: false,\n return: true,\n autoBrightness: true,\n brightness: 0,\n contrast: 0,\n sharpness: 0,\n blur: 0,\n saturation: 0,\n hue: 0,\n negative: false,\n sepia: false,\n vintage: false,\n kodachrome: false,\n technicolor: false,\n polaroid: false,\n pixelate: 0,\n },\n gesture: {\n enabled: true,\n },\n face: {\n enabled: true,\n detector: {\n modelPath: 'blazeface.json',\n rotation: true,\n maxDetected: 1,\n skipFrames: 99,\n skipTime: 2500,\n minConfidence: 0.2,\n iouThreshold: 0.1,\n mask: false,\n return: false,\n },\n mesh: {\n enabled: true,\n modelPath: 'facemesh.json',\n keepInvalid: false,\n },\n attention: {\n enabled: false,\n modelPath: 'facemesh-attention.json',\n },\n iris: {\n enabled: true,\n modelPath: 'iris.json',\n },\n emotion: {\n enabled: true,\n minConfidence: 0.1,\n skipFrames: 99,\n skipTime: 1500,\n modelPath: 'emotion.json',\n },\n description: {\n enabled: true,\n modelPath: 'faceres.json',\n skipFrames: 99,\n skipTime: 3000,\n minConfidence: 0.1,\n },\n antispoof: {\n enabled: false,\n skipFrames: 99,\n skipTime: 4000,\n modelPath: 'antispoof.json',\n },\n liveness: {\n enabled: false,\n skipFrames: 99,\n skipTime: 4000,\n modelPath: 'liveness.json',\n },\n },\n body: {\n enabled: true,\n modelPath: 'movenet-lightning.json',\n maxDetected: -1,\n minConfidence: 0.3,\n skipFrames: 1,\n skipTime: 200,\n },\n hand: {\n enabled: true,\n rotation: true,\n skipFrames: 99,\n skipTime: 1000,\n minConfidence: 0.50,\n iouThreshold: 0.2,\n maxDetected: -1,\n landmarks: true,\n detector: {\n modelPath: 'handtrack.json',\n },\n skeleton: {\n modelPath: 'handlandmark-lite.json',\n },\n },\n object: {\n enabled: false,\n modelPath: 'centernet.json',\n minConfidence: 0.2,\n iouThreshold: 0.4,\n maxDetected: 10,\n skipFrames: 99,\n skipTime: 2000,\n },\n segmentation: {\n enabled: false,\n modelPath: 'rvm.json',\n ratio: 0.5,\n mode: 'default',\n },\n};\n\nexport { config as defaults };\n", "export const vertexIdentity = `\n precision highp float;\n attribute vec2 pos;\n attribute vec2 uv;\n varying vec2 vUv;\n uniform float flipY;\n void main(void) {\n vUv = uv;\n gl_Position = vec4(pos.x, pos.y*flipY, 0.0, 1.);\n }\n`;\n\nexport const fragmentIdentity = `\n precision highp float;\n varying vec2 vUv;\n uniform sampler2D texture;\n void main(void) {\n gl_FragColor = texture2D(texture, vUv);\n }\n`;\n\nexport const colorMatrixWithAlpha = `\n precision highp float;\n varying vec2 vUv;\n uniform sampler2D texture;\n uniform float m[20];\n void main(void) {\n vec4 c = texture2D(texture, vUv);\n gl_FragColor.r = m[0] * c.r + m[1] * c.g + m[2] * c.b + m[3] * c.a + m[4];\n gl_FragColor.g = m[5] * c.r + m[6] * c.g + m[7] * c.b + m[8] * c.a + m[9];\n gl_FragColor.b = m[10] * c.r + m[11] * c.g + m[12] * c.b + m[13] * c.a + m[14];\n gl_FragColor.a = m[15] * c.r + m[16] * c.g + m[17] * c.b + m[18] * c.a + m[19];\n }\n`;\n\nexport const colorMatrixWithoutAlpha = `\n precision highp float;\n varying vec2 vUv;\n uniform sampler2D texture;\n uniform float m[20];\n void main(void) {\n vec4 c = texture2D(texture, vUv);\n gl_FragColor.r = m[0] * c.r + m[1] * c.g + m[2] * c.b + m[4];\n gl_FragColor.g = m[5] * c.r + m[6] * c.g + m[7] * c.b + m[9];\n gl_FragColor.b = m[10] * c.r + m[11] * c.g + m[12] * c.b + m[14];\n gl_FragColor.a = c.a;\n }\n`;\n\nexport const pixelate = `\n precision highp float;\n varying vec2 vUv;\n uniform vec2 size;\n uniform sampler2D texture;\n vec2 pixelate(vec2 coord, vec2 size) {\n return floor( coord / size ) * size;\n }\n void main(void) {\n gl_FragColor = vec4(0.0);\n vec2 coord = pixelate(vUv, size);\n gl_FragColor += texture2D(texture, coord);\n }\n`;\n\nexport const blur = `\n precision highp float;\n varying vec2 vUv;\n uniform sampler2D texture;\n uniform vec2 px;\n void main(void) {\n gl_FragColor = vec4(0.0);\n gl_FragColor += texture2D(texture, vUv + vec2(-7.0*px.x, -7.0*px.y))*0.0044299121055113265;\n gl_FragColor += texture2D(texture, vUv + vec2(-6.0*px.x, -6.0*px.y))*0.00895781211794;\n gl_FragColor += texture2D(texture, vUv + vec2(-5.0*px.x, -5.0*px.y))*0.0215963866053;\n gl_FragColor += texture2D(texture, vUv + vec2(-4.0*px.x, -4.0*px.y))*0.0443683338718;\n gl_FragColor += texture2D(texture, vUv + vec2(-3.0*px.x, -3.0*px.y))*0.0776744219933;\n gl_FragColor += texture2D(texture, vUv + vec2(-2.0*px.x, -2.0*px.y))*0.115876621105;\n gl_FragColor += texture2D(texture, vUv + vec2(-1.0*px.x, -1.0*px.y))*0.147308056121;\n gl_FragColor += texture2D(texture, vUv )*0.159576912161;\n gl_FragColor += texture2D(texture, vUv + vec2( 1.0*px.x, 1.0*px.y))*0.147308056121;\n gl_FragColor += texture2D(texture, vUv + vec2( 2.0*px.x, 2.0*px.y))*0.115876621105;\n gl_FragColor += texture2D(texture, vUv + vec2( 3.0*px.x, 3.0*px.y))*0.0776744219933;\n gl_FragColor += texture2D(texture, vUv + vec2( 4.0*px.x, 4.0*px.y))*0.0443683338718;\n gl_FragColor += texture2D(texture, vUv + vec2( 5.0*px.x, 5.0*px.y))*0.0215963866053;\n gl_FragColor += texture2D(texture, vUv + vec2( 6.0*px.x, 6.0*px.y))*0.00895781211794;\n gl_FragColor += texture2D(texture, vUv + vec2( 7.0*px.x, 7.0*px.y))*0.0044299121055113265;\n }\n`;\n\nexport const convolution = `\n precision highp float;\n varying vec2 vUv;\n uniform sampler2D texture;\n uniform vec2 px;\n uniform float m[9];\n void main(void) {\n vec4 c11 = texture2D(texture, vUv - px); // top left\n vec4 c12 = texture2D(texture, vec2(vUv.x, vUv.y - px.y)); // top center\n vec4 c13 = texture2D(texture, vec2(vUv.x + px.x, vUv.y - px.y)); // top right\n vec4 c21 = texture2D(texture, vec2(vUv.x - px.x, vUv.y) ); // mid left\n vec4 c22 = texture2D(texture, vUv); // mid center\n vec4 c23 = texture2D(texture, vec2(vUv.x + px.x, vUv.y) ); // mid right\n vec4 c31 = texture2D(texture, vec2(vUv.x - px.x, vUv.y + px.y) ); // bottom left\n vec4 c32 = texture2D(texture, vec2(vUv.x, vUv.y + px.y) ); // bottom center\n vec4 c33 = texture2D(texture, vUv + px ); // bottom right\n gl_FragColor = \n c11 * m[0] + c12 * m[1] + c22 * m[2] +\n c21 * m[3] + c22 * m[4] + c23 * m[5] +\n c31 * m[6] + c32 * m[7] + c33 * m[8];\n gl_FragColor.a = c22.a;\n }\n`;\n", "/**\n * Image Filters in WebGL algoritm implementation\n * Based on: [WebGLImageFilter](https://github.com/phoboslab/WebGLImageFilter)\n */\n\n/* eslint-disable func-names */\n\nimport * as shaders from './imagefxshaders';\nimport { canvas } from './image';\nimport { log } from '../util/util';\n\nconst collect = (source, prefix: string, collection) => {\n const r = new RegExp('\\\\b' + prefix + ' \\\\w+ (\\\\w+)', 'ig');\n source.replace(r, (match, name) => {\n collection[name] = 0;\n return match;\n });\n};\n\nclass GLProgram {\n uniform = {};\n attribute = {};\n gl: WebGLRenderingContext;\n id: WebGLProgram;\n\n constructor(gl, vertexSource, fragmentSource) {\n this.gl = gl;\n const vertexShader = this.compile(vertexSource, this.gl.VERTEX_SHADER);\n const fragmentShader = this.compile(fragmentSource, this.gl.FRAGMENT_SHADER);\n this.id = this.gl.createProgram() as WebGLProgram;\n if (!vertexShader || !fragmentShader) return;\n if (!this.id) {\n log('filter: could not create webgl program');\n return;\n }\n this.gl.attachShader(this.id, vertexShader);\n this.gl.attachShader(this.id, fragmentShader);\n this.gl.linkProgram(this.id);\n if (!this.gl.getProgramParameter(this.id, this.gl.LINK_STATUS)) {\n log(`filter: gl link failed: ${this.gl.getProgramInfoLog(this.id) || 'unknown'}`);\n return;\n }\n this.gl.useProgram(this.id);\n collect(vertexSource, 'attribute', this.attribute); // Collect attributes\n for (const a in this.attribute) this.attribute[a] = this.gl.getAttribLocation(this.id, a);\n collect(vertexSource, 'uniform', this.uniform); // Collect uniforms\n collect(fragmentSource, 'uniform', this.uniform);\n for (const u in this.uniform) this.uniform[u] = this.gl.getUniformLocation(this.id, u);\n }\n\n compile = (source, type): WebGLShader | null => {\n const shader = this.gl.createShader(type);\n if (!shader) {\n log('filter: could not create shader');\n return null;\n }\n this.gl.shaderSource(shader, source);\n this.gl.compileShader(shader);\n if (!this.gl.getShaderParameter(shader, this.gl.COMPILE_STATUS)) {\n log(`filter: gl compile failed: ${this.gl.getShaderInfoLog(shader) || 'unknown'}`);\n return null;\n }\n return shader;\n };\n}\n\n// function that is instantiated as class so it has private this members\n/**\n * @class GLImageFilter\n * @property {function} reset reset current filter chain\n * @property {function} add add specified filter to filter chain\n * @property {function} apply execute filter chain and draw result\n * @property {function} draw just draw input to result\n */\n\nexport function GLImageFilter() {\n let drawCount = 0;\n let sourceTexture: WebGLTexture | null = null;\n let lastInChain = false;\n let currentFramebufferIndex = -1;\n let tempFramebuffers: [null, null] | [{ fbo: WebGLFramebuffer | null, texture: WebGLTexture | null }] = [null, null];\n let filterChain: Record[] = [];\n let vertexBuffer: WebGLBuffer | null = null;\n let currentProgram: GLProgram | null = null;\n const fxcanvas = canvas(100, 100) as HTMLCanvasElement;\n const shaderProgramCache = { }; // key is the shader program source, value is the compiled program\n const DRAW = { INTERMEDIATE: 1 };\n const gl = fxcanvas.getContext('webgl') as WebGLRenderingContext;\n if (!gl) {\n log('filter: cannot get webgl context');\n return;\n }\n // @ts-ignore used for sanity checks outside of imagefx\n this.gl = gl;\n\n function resize(width, height) {\n if (width === fxcanvas.width && height === fxcanvas.height) return; // Same width/height? Nothing to do here\n fxcanvas.width = width;\n fxcanvas.height = height;\n if (!vertexBuffer) { // Create the context if we don't have it yet\n const vertices = new Float32Array([-1, -1, 0, 1, 1, -1, 1, 1, -1, 1, 0, 0, -1, 1, 0, 0, 1, -1, 1, 1, 1, 1, 1, 0]); // Create the vertex buffer for the two triangles [x, y, u, v] * 6\n vertexBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW);\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);\n }\n gl.viewport(0, 0, fxcanvas.width, fxcanvas.height);\n tempFramebuffers = [null, null]; // Delete old temp framebuffers\n }\n\n function createFramebufferTexture(width, height) {\n const fbo = gl.createFramebuffer();\n gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);\n const renderbuffer = gl.createRenderbuffer();\n gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer);\n const texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);\n gl.bindTexture(gl.TEXTURE_2D, null);\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n return { fbo, texture };\n }\n\n function getTempFramebuffer(index): { fbo: WebGLFramebuffer | null, texture: WebGLTexture | null } {\n tempFramebuffers[index] = tempFramebuffers[index] || createFramebufferTexture(fxcanvas.width, fxcanvas.height);\n return tempFramebuffers[index] as { fbo: WebGLFramebuffer, texture: WebGLTexture };\n }\n\n function draw(flags = 0) {\n if (!currentProgram) return;\n let source: WebGLTexture | null = null;\n let target: WebGLFramebuffer | null = null;\n let flipY = false;\n if (drawCount === 0) source = sourceTexture; // First draw call - use the source texture\n else source = getTempFramebuffer(currentFramebufferIndex).texture || null; // All following draw calls use the temp buffer last drawn to\n drawCount++;\n if (lastInChain && !(flags & DRAW.INTERMEDIATE)) { // Last filter in our chain - draw directly to the WebGL Canvas. We may also have to flip the image vertically now\n target = null;\n flipY = drawCount % 2 === 0;\n } else {\n currentFramebufferIndex = (currentFramebufferIndex + 1) % 2;\n target = getTempFramebuffer(currentFramebufferIndex).fbo || null; // Intermediate draw call - get a temp buffer to draw to\n }\n gl.bindTexture(gl.TEXTURE_2D, source); // Bind the source and target and draw the two triangles\n gl.bindFramebuffer(gl.FRAMEBUFFER, target);\n gl.uniform1f(currentProgram.uniform['flipY'], (flipY ? -1 : 1));\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n }\n\n function compileShader(fragmentSource): GLProgram | null {\n if (shaderProgramCache[fragmentSource]) {\n currentProgram = shaderProgramCache[fragmentSource];\n gl.useProgram((currentProgram ? currentProgram.id : null) || null);\n return currentProgram;\n }\n currentProgram = new GLProgram(gl, shaders.vertexIdentity, fragmentSource);\n if (!currentProgram) {\n log('filter: could not get webgl program');\n return null;\n }\n const floatSize = Float32Array.BYTES_PER_ELEMENT;\n const vertSize = 4 * floatSize;\n gl.enableVertexAttribArray(currentProgram.attribute['pos']);\n gl.vertexAttribPointer(currentProgram.attribute['pos'], 2, gl.FLOAT, false, vertSize, 0 * floatSize);\n gl.enableVertexAttribArray(currentProgram.attribute['uv']);\n gl.vertexAttribPointer(currentProgram.attribute['uv'], 2, gl.FLOAT, false, vertSize, 2 * floatSize);\n shaderProgramCache[fragmentSource] = currentProgram;\n return currentProgram;\n }\n\n const filter = {\n colorMatrix: (matrix: number[]) => { // general color matrix filter\n const m = new Float32Array(matrix);\n m[4] /= 255;\n m[9] /= 255;\n m[14] /= 255;\n m[19] /= 255;\n const shader = (m[18] === 1 && m[3] === 0 && m[8] === 0 && m[13] === 0 && m[15] === 0 && m[16] === 0 && m[17] === 0 && m[19] === 0) // Can we ignore the alpha value? Makes things a bit faster.\n ? shaders.colorMatrixWithoutAlpha\n : shaders.colorMatrixWithAlpha;\n const program = compileShader(shader);\n if (!program) return;\n gl.uniform1fv(program.uniform['m'], m);\n draw();\n },\n\n brightness: (brightness: number) => {\n const b = (brightness || 0) + 1;\n filter.colorMatrix([\n b, 0, 0, 0, 0,\n 0, b, 0, 0, 0,\n 0, 0, b, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n saturation: (amount: number) => {\n const x = (amount || 0) * 2 / 3 + 1;\n const y = ((x - 1) * -0.5);\n filter.colorMatrix([\n x, y, y, 0, 0,\n y, x, y, 0, 0,\n y, y, x, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n desaturate: () => {\n filter.saturation(-1);\n },\n\n contrast: (amount: number) => {\n const v = (amount || 0) + 1;\n const o = -128 * (v - 1);\n filter.colorMatrix([\n v, 0, 0, 0, o,\n 0, v, 0, 0, o,\n 0, 0, v, 0, o,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n negative: () => {\n filter.contrast(-2);\n },\n\n hue: (rotation: number) => {\n rotation = (rotation || 0) / 180 * Math.PI;\n const cos = Math.cos(rotation);\n const sin = Math.sin(rotation);\n const lumR = 0.213;\n const lumG = 0.715;\n const lumB = 0.072;\n filter.colorMatrix([\n lumR + cos * (1 - lumR) + sin * (-lumR), lumG + cos * (-lumG) + sin * (-lumG), lumB + cos * (-lumB) + sin * (1 - lumB), 0, 0,\n lumR + cos * (-lumR) + sin * (0.143), lumG + cos * (1 - lumG) + sin * (0.140), lumB + cos * (-lumB) + sin * (-0.283), 0, 0,\n lumR + cos * (-lumR) + sin * (-(1 - lumR)), lumG + cos * (-lumG) + sin * (lumG), lumB + cos * (1 - lumB) + sin * (lumB), 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n desaturateLuminance: () => {\n filter.colorMatrix([\n 0.2764723, 0.9297080, 0.0938197, 0, -37.1,\n 0.2764723, 0.9297080, 0.0938197, 0, -37.1,\n 0.2764723, 0.9297080, 0.0938197, 0, -37.1,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n sepia: () => {\n filter.colorMatrix([\n 0.393, 0.7689999, 0.18899999, 0, 0,\n 0.349, 0.6859999, 0.16799999, 0, 0,\n 0.272, 0.5339999, 0.13099999, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n brownie: () => {\n filter.colorMatrix([\n 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873,\n -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127,\n 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n vintagePinhole: () => {\n filter.colorMatrix([\n 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123,\n 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591,\n 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n kodachrome: () => {\n filter.colorMatrix([\n 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502,\n -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203,\n -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n technicolor: () => {\n filter.colorMatrix([\n 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337,\n -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398,\n -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n polaroid: () => {\n filter.colorMatrix([\n 1.438, -0.062, -0.062, 0, 0,\n -0.122, 1.378, -0.122, 0, 0,\n -0.016, -0.016, 1.483, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n shiftToBGR: () => {\n filter.colorMatrix([\n 0, 0, 1, 0, 0,\n 0, 1, 0, 0, 0,\n 1, 0, 0, 0, 0,\n 0, 0, 0, 1, 0,\n ]);\n },\n\n convolution: (matrix: number[]) => { // general convolution Filter\n const m = new Float32Array(matrix);\n const pixelSizeX = 1 / fxcanvas.width;\n const pixelSizeY = 1 / fxcanvas.height;\n const program = compileShader(shaders.convolution);\n if (!program) return;\n gl.uniform1fv(program.uniform['m'], m);\n gl.uniform2f(program.uniform['px'], pixelSizeX, pixelSizeY);\n draw();\n },\n\n detectEdges: () => {\n // @ts-ignore this\n filter.convolution.call(this, [\n 0, 1, 0,\n 1, -4, 1,\n 0, 1, 0,\n ]);\n },\n\n sobelX: () => {\n // @ts-ignore this\n filter.convolution.call(this, [\n -1, 0, 1,\n -2, 0, 2,\n -1, 0, 1,\n ]);\n },\n\n sobelY: () => {\n // @ts-ignore this\n filter.convolution.call(this, [\n -1, -2, -1,\n 0, 0, 0,\n 1, 2, 1,\n ]);\n },\n\n sharpen: (amount) => {\n const a = amount || 1;\n // @ts-ignore this\n filter.convolution.call(this, [\n 0, -1 * a, 0,\n -1 * a, 1 + 4 * a, -1 * a,\n 0, -1 * a, 0,\n ]);\n },\n\n emboss: (size: number) => {\n const s = size || 1;\n // @ts-ignore this\n filter.convolution.call(this, [\n -2 * s, -1 * s, 0,\n -1 * s, 1, 1 * s,\n 0, 1 * s, 2 * s,\n ]);\n },\n\n blur: (size: number) => {\n const blurSizeX = (size / 7) / fxcanvas.width;\n const blurSizeY = (size / 7) / fxcanvas.height;\n const program = compileShader(shaders.blur);\n if (!program) return;\n // Vertical\n gl.uniform2f(program.uniform['px'], 0, blurSizeY);\n draw(DRAW.INTERMEDIATE);\n // Horizontal\n gl.uniform2f(program.uniform['px'], blurSizeX, 0);\n draw();\n },\n\n pixelate: (size: number) => {\n const blurSizeX = (size) / fxcanvas.width;\n const blurSizeY = (size) / fxcanvas.height;\n const program = compileShader(shaders.pixelate);\n if (!program) return;\n gl.uniform2f(program.uniform['size'], blurSizeX, blurSizeY);\n draw();\n },\n };\n\n // @ts-ignore this\n this.add = function (name) {\n const args = Array.prototype.slice.call(arguments, 1); // eslint-disable-line prefer-rest-params\n const func = filter[name];\n filterChain.push({ func, args });\n };\n\n // @ts-ignore this\n this.reset = function () {\n filterChain = [];\n };\n\n // @ts-ignore this\n this.get = function () {\n return filterChain;\n };\n\n // @ts-ignore this\n this.apply = function (image) {\n resize(image.width, image.height);\n drawCount = 0;\n if (!sourceTexture) sourceTexture = gl.createTexture(); // Create the texture for the input image if we haven't yet\n gl.bindTexture(gl.TEXTURE_2D, sourceTexture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n for (let i = 0; i < filterChain.length; i++) {\n lastInChain = (i === filterChain.length - 1);\n const f = filterChain[i];\n // @ts-ignore function assigment\n f.func.apply(this, f.args || []);\n }\n return fxcanvas;\n };\n\n // @ts-ignore this\n this.draw = function (image) {\n this.add('brightness', 0);\n return this.apply(image);\n };\n}\n", "/**\n * Image enhancements\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport type { Tensor } from '../exports';\n\nexport async function histogramEqualization(inputImage: Tensor): Promise {\n const squeeze = inputImage.shape.length === 4 ? tf.squeeze(inputImage) : inputImage;\n const rgb = tf.split(squeeze, 3, 2);\n const min: Tensor[] = [tf.min(rgb[0]), tf.min(rgb[1]), tf.min(rgb[2])]; // minimum pixel value per channel T[]\n const max: Tensor[] = [tf.max(rgb[0]), tf.max(rgb[1]), tf.max(rgb[2])]; // maximum pixel value per channel T[]\n // const absMin = await Promise.all(min.map((channel) => channel.data())); // minimum pixel value per channel A[]\n // const minValue = Math.min(absMax[0][0], absMin[1][0], absMin[2][0]);\n const absMax = await Promise.all(max.map((channel) => channel.data())); // maximum pixel value per channel A[]\n const maxValue = Math.max(absMax[0][0], absMax[1][0], absMax[2][0]);\n const maxRange = maxValue > 1 ? 255 : 1;\n const factor = maxRange / maxValue;\n let final: Tensor;\n if (factor > 1) {\n const sub = [tf.sub(rgb[0], min[0]), tf.sub(rgb[1], min[1]), tf.sub(rgb[2], min[2])]; // channels offset by min values\n const range = [tf.sub(max[0], min[0]), tf.sub(max[1], min[1]), tf.sub(max[2], min[2])]; // channel ranges\n // const fact = [tf.div(maxRange, absMax[0]), tf.div(maxRange, absMax[1]), tf.div(maxRange, absMax[1])]; // factors between\n const enh = [tf.mul(sub[0], factor), tf.mul(sub[1], factor), tf.mul(sub[2], factor)];\n const stack = tf.stack([enh[0], enh[1], enh[2]], 2);\n final = tf.reshape(stack, [1, squeeze.shape[0] || 0, squeeze.shape[1] || 0, 3]);\n tf.dispose([...sub, ...range, ...enh]);\n } else {\n final = tf.expandDims(squeeze, 0);\n }\n tf.dispose([...rgb, ...min, ...max, rgb, squeeze, inputImage]);\n return final;\n}\n", "/**\n * Image Processing algorithm implementation\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport * as fxImage from './imagefx';\nimport type { Input, AnyCanvas, Config } from '../exports';\nimport type { Tensor, Tensor3D, Tensor4D } from '../tfjs/types';\nimport { env } from '../util/env';\nimport { log } from '../util/util';\nimport * as enhance from './enhance';\n\nconst maxSize = 3840;\n// internal temp canvases\nlet inCanvas: AnyCanvas | null = null; // use global variable to avoid recreating canvas on each frame\nlet outCanvas: AnyCanvas | null = null; // use global variable to avoid recreating canvas on each frame\nlet tmpCanvas: AnyCanvas | null = null; // use global variable to avoid recreating canvas on each frame\n// @ts-ignore // imagefx is js module that should be converted to a class\nlet fx: fxImage.GLImageFilter | null; // instance of imagefx\n\nconst last: { inputSum: number, cacheDiff: number, sumMethod: number, inputTensor: undefined | Tensor } = {\n inputSum: 0,\n cacheDiff: 1,\n sumMethod: 0,\n inputTensor: undefined,\n};\n\nexport function reset() {\n last.inputSum = 0;\n last.cacheDiff = 1;\n last.sumMethod = 0;\n last.inputTensor = undefined;\n}\n\nexport function canvas(width: number, height: number): AnyCanvas {\n let c: AnyCanvas;\n if (env.browser) { // browser defines canvas object\n if (env.worker) { // if runing in web worker use OffscreenCanvas\n if (typeof OffscreenCanvas === 'undefined') throw new Error('canvas error: attempted to run in web worker but OffscreenCanvas is not supported');\n c = new OffscreenCanvas(width, height);\n } else { // otherwise use DOM canvas\n if (typeof document === 'undefined') throw new Error('canvas error: attempted to run in browser but DOM is not defined');\n c = document.createElement('canvas');\n c.width = width;\n c.height = height;\n }\n } else { // if not running in browser, there is no \"default\" canvas object, so we need monkey patch or fail\n // @ts-ignore // env.canvas is an external monkey-patch\n if (typeof env.Canvas !== 'undefined') c = new env.Canvas(width, height);\n else if (typeof globalThis.Canvas !== 'undefined') c = new globalThis.Canvas(width, height);\n // else throw new Error('canvas error: attempted to use canvas in nodejs without canvas support installed');\n }\n // @ts-ignore its either defined or we already threw an error\n return c;\n}\n\n// helper function to copy canvas from input to output\nexport function copy(input: AnyCanvas, output?: AnyCanvas) {\n const outputCanvas = output || canvas(input.width, input.height);\n const ctx = outputCanvas.getContext('2d') as CanvasRenderingContext2D;\n ctx.drawImage(input, 0, 0);\n return outputCanvas;\n}\n\n// process input image and return tensor\n// input can be tensor, imagedata, htmlimageelement, htmlvideoelement\n// input is resized and run through imagefx filter\nexport async function process(input: Input, config: Config, getTensor: boolean = true): Promise<{ tensor: Tensor4D | null, canvas: AnyCanvas | null }> {\n if (!input) {\n // throw new Error('input is missing');\n if (config.debug) log('input error: input is missing');\n return { tensor: null, canvas: null }; // video may become temporarily unavailable due to onresize\n }\n // sanity checks since different browsers do not implement all dom elements\n if (\n !(input instanceof tf.Tensor)\n && !(typeof Image !== 'undefined' && input instanceof Image)\n && !(typeof env.Canvas !== 'undefined' && input instanceof env.Canvas)\n && !(typeof globalThis.Canvas !== 'undefined' && input instanceof globalThis.Canvas)\n && !(typeof ImageData !== 'undefined' && input instanceof ImageData)\n && !(typeof ImageBitmap !== 'undefined' && input instanceof ImageBitmap)\n && !(typeof HTMLImageElement !== 'undefined' && input instanceof HTMLImageElement)\n && !(typeof HTMLMediaElement !== 'undefined' && input instanceof HTMLMediaElement)\n && !(typeof HTMLVideoElement !== 'undefined' && input instanceof HTMLVideoElement)\n && !(typeof HTMLCanvasElement !== 'undefined' && input instanceof HTMLCanvasElement)\n && !(typeof OffscreenCanvas !== 'undefined' && input instanceof OffscreenCanvas)\n ) {\n throw new Error('input error: type is not recognized');\n }\n if (input instanceof tf.Tensor) { // if input is tensor use as-is without filters but correct shape as needed\n let tensor: Tensor | null = null;\n if (input['isDisposedInternal']) throw new Error('input error: attempted to use tensor but it is disposed');\n if (!(input as Tensor).shape) throw new Error('input error: attempted to use tensor without a shape');\n if ((input as Tensor).shape.length === 3) { // [height, width, 3 || 4]\n if ((input as Tensor).shape[2] === 3) { // [height, width, 3] so add batch\n tensor = tf.expandDims(input, 0);\n } else if ((input as Tensor).shape[2] === 4) { // [height, width, 4] so strip alpha and add batch\n const rgb = tf.slice3d(input as Tensor3D, [0, 0, 0], [-1, -1, 3]);\n tensor = tf.expandDims(rgb, 0);\n tf.dispose(rgb);\n }\n } else if ((input as Tensor).shape.length === 4) { // [1, width, height, 3 || 4]\n if ((input as Tensor).shape[3] === 3) { // [1, width, height, 3] just clone\n tensor = tf.clone(input);\n } else if ((input as Tensor).shape[3] === 4) { // [1, width, height, 4] so strip alpha\n tensor = tf.slice4d(input as Tensor4D, [0, 0, 0, 0], [-1, -1, -1, 3]);\n }\n }\n // at the end shape must be [1, height, width, 3]\n if (tensor == null || tensor.shape.length !== 4 || tensor.shape[0] !== 1 || tensor.shape[3] !== 3) throw new Error(`input error: attempted to use tensor with unrecognized shape: ${((input as Tensor).shape).toString()}`);\n if ((tensor).dtype === 'int32') {\n const cast = tf.cast(tensor, 'float32');\n tf.dispose(tensor);\n tensor = cast;\n }\n return { tensor: tensor as Tensor4D, canvas: (config.filter.return ? outCanvas : null) };\n }\n // check if resizing will be needed\n if (typeof input['readyState'] !== 'undefined' && (input as HTMLMediaElement).readyState <= 2) {\n if (config.debug) log('input stream is not ready');\n return { tensor: null, canvas: inCanvas }; // video may become temporarily unavailable due to onresize\n }\n const originalWidth: number = input['naturalWidth'] || input['videoWidth'] || input['width'] || (input['shape'] && (input['shape'][1] > 0));\n const originalHeight: number = input['naturalHeight'] || input['videoHeight'] || input['height'] || (input['shape'] && (input['shape'][2] > 0));\n if (!originalWidth || !originalHeight) {\n if (config.debug) log('cannot determine input dimensions');\n return { tensor: null, canvas: inCanvas }; // video may become temporarily unavailable due to onresize\n }\n let targetWidth: number = originalWidth;\n let targetHeight: number = originalHeight;\n if (targetWidth > maxSize) {\n targetWidth = maxSize;\n targetHeight = Math.trunc(targetWidth * originalHeight / originalWidth);\n }\n if (targetHeight > maxSize) {\n targetHeight = maxSize;\n targetWidth = Math.trunc(targetHeight * originalWidth / originalHeight);\n }\n\n // create our canvas and resize it if needed\n if ((config.filter?.width || 0) > 0) targetWidth = config.filter.width as number;\n else if ((config.filter?.height || 0) > 0) targetWidth = originalWidth * ((config.filter.height || 0) / originalHeight);\n if ((config.filter.height || 0) > 0) targetHeight = config.filter.height as number;\n else if ((config.filter.width || 0) > 0) targetHeight = originalHeight * ((config.filter.width || 0) / originalWidth);\n if (!targetWidth || !targetHeight) throw new Error('input error: cannot determine dimension');\n if (!inCanvas || (inCanvas.width !== targetWidth) || (inCanvas.height !== targetHeight)) inCanvas = canvas(targetWidth, targetHeight);\n\n // draw input to our canvas\n const inCtx = inCanvas.getContext('2d') as CanvasRenderingContext2D;\n if ((typeof ImageData !== 'undefined') && (input instanceof ImageData)) {\n inCtx.putImageData(input, 0, 0);\n } else {\n if (config.filter.flip && typeof inCtx.translate !== 'undefined') {\n inCtx.translate(originalWidth, 0);\n inCtx.scale(-1, 1);\n inCtx.drawImage(input as AnyCanvas, 0, 0, originalWidth, originalHeight, 0, 0, inCanvas.width, inCanvas.height);\n inCtx.setTransform(1, 0, 0, 1, 0, 0); // resets transforms to defaults\n } else {\n inCtx.drawImage(input as AnyCanvas, 0, 0, originalWidth, originalHeight, 0, 0, inCanvas.width, inCanvas.height);\n }\n }\n\n if (!outCanvas || (inCanvas.width !== outCanvas.width) || (inCanvas.height !== outCanvas.height)) outCanvas = canvas(inCanvas.width, inCanvas.height); // init output canvas\n\n // imagefx transforms using gl from input canvas to output canvas\n if (config.filter.enabled && env.webgl.supported) {\n if (!fx) fx = env.browser ? new fxImage.GLImageFilter() : null; // && (typeof document !== 'undefined')\n env.filter = !!fx;\n if (!fx?.add) {\n if (config.debug) log('input process error: cannot initialize filters');\n env.webgl.supported = false;\n config.filter.enabled = false;\n copy(inCanvas, outCanvas); // filter failed to initialize\n // return { tensor: null, canvas: inCanvas };\n } else {\n fx.reset();\n if (config.filter.brightness !== 0) fx.add('brightness', config.filter.brightness);\n if (config.filter.contrast !== 0) fx.add('contrast', config.filter.contrast);\n if (config.filter.sharpness !== 0) fx.add('sharpen', config.filter.sharpness);\n if (config.filter.blur !== 0) fx.add('blur', config.filter.blur);\n if (config.filter.saturation !== 0) fx.add('saturation', config.filter.saturation);\n if (config.filter.hue !== 0) fx.add('hue', config.filter.hue);\n if (config.filter.negative) fx.add('negative');\n if (config.filter.sepia) fx.add('sepia');\n if (config.filter.vintage) fx.add('brownie');\n if (config.filter.sepia) fx.add('sepia');\n if (config.filter.kodachrome) fx.add('kodachrome');\n if (config.filter.technicolor) fx.add('technicolor');\n if (config.filter.polaroid) fx.add('polaroid');\n if (config.filter.pixelate !== 0) fx.add('pixelate', config.filter.pixelate);\n if (fx.get()?.length > 1) outCanvas = fx.apply(inCanvas);\n else outCanvas = fx.draw(inCanvas);\n }\n } else {\n copy(inCanvas, outCanvas); // if no filters applied, output canvas is input canvas\n if (fx) fx = null;\n env.filter = !!fx;\n }\n\n if (!getTensor) return { tensor: null, canvas: outCanvas }; // just canvas was requested\n if (!outCanvas) throw new Error('canvas error: cannot create output');\n\n // create tensor from image unless input was a tensor already\n let pixels;\n let depth = 3;\n if ((typeof ImageData !== 'undefined' && input instanceof ImageData) || ((input as ImageData).data && (input as ImageData).width && (input as ImageData).height)) { // if input is imagedata, just use it\n if (env.browser && tf.browser) {\n pixels = tf.browser ? tf.browser.fromPixels(input as ImageData) : null;\n } else {\n depth = (input as ImageData).data.length / (input as ImageData).height / (input as ImageData).width;\n // const arr = Uint8Array.from(input['data']);\n const arr = new Uint8Array((input as ImageData).data.buffer);\n pixels = tf.tensor(arr, [(input as ImageData).height, (input as ImageData).width, depth], 'int32');\n }\n } else {\n if (!tmpCanvas || (outCanvas.width !== tmpCanvas.width) || (outCanvas.height !== tmpCanvas.height)) tmpCanvas = canvas(outCanvas.width, outCanvas.height); // init output canvas\n if (tf.browser && env.browser) {\n if (config.backend === 'webgl' || config.backend === 'humangl' || config.backend === 'webgpu') {\n pixels = tf.browser.fromPixels(outCanvas as HTMLCanvasElement); // safe to reuse since both backend and context are gl based\n } else {\n tmpCanvas = copy(outCanvas); // cannot use output canvas as it already has gl context so we do a silly one more canvas\n pixels = tf.browser.fromPixels(tmpCanvas as HTMLCanvasElement);\n }\n } else {\n const tempCanvas = copy(outCanvas); // cannot use output canvas as it already has gl context so we do a silly one more canvas\n const tempCtx = tempCanvas.getContext('2d') as CanvasRenderingContext2D;\n const tempData = tempCtx.getImageData(0, 0, targetWidth, targetHeight);\n depth = tempData.data.length / targetWidth / targetHeight;\n const arr = new Uint8Array(tempData.data.buffer);\n pixels = tf.tensor(arr, [targetWidth, targetHeight, depth]);\n }\n }\n if (depth === 4) { // rgba to rgb\n const rgb = tf.slice3d(pixels, [0, 0, 0], [-1, -1, 3]); // strip alpha channel\n tf.dispose(pixels);\n pixels = rgb;\n }\n if (!pixels) throw new Error('input error: cannot create tensor');\n const casted: Tensor = tf.cast(pixels, 'float32');\n const tensor: Tensor = config.filter.equalization ? await enhance.histogramEqualization(casted) : tf.expandDims(casted, 0);\n tf.dispose([pixels, casted]);\n\n if (config.filter.autoBrightness) {\n const max = tf.max(tensor);\n const maxVal = await max.data();\n config.filter.brightness = maxVal[0] > 1 ? (1 - maxVal[0] / 255) : (1 - maxVal[0]);\n tf.dispose(max);\n }\n\n return { tensor: tensor as Tensor4D, canvas: (config.filter.return ? outCanvas : null) };\n}\n\n/*\nconst checksum = async (input: Tensor): Promise => { // use tf sum or js based sum loop depending on which is faster\n const resizeFact = 48;\n const reduced: Tensor = tf.image.resizeBilinear(input, [Math.trunc((input.shape[1] || 1) / resizeFact), Math.trunc((input.shape[2] || 1) / resizeFact)]);\n const tfSum = async (): Promise => {\n const sumT = tf.sum(reduced);\n const sum0 = await sumT.data();\n tf.dispose(sumT);\n return sum0[0];\n };\n const jsSum = async (): Promise => {\n const reducedData = await reduced.data(); // raw image rgb array\n let sum0 = 0;\n for (let i = 0; i < reducedData.length / 3; i++) sum0 += reducedData[3 * i + 2]; // look only at green value of each pixel\n return sum0;\n };\n if (last.sumMethod === 0) {\n const t0 = now();\n await jsSum();\n const t1 = now();\n await tfSum();\n const t2 = now();\n last.sumMethod = t1 - t0 < t2 - t1 ? 1 : 2;\n }\n const res = last.sumMethod === 1 ? await jsSum() : await tfSum();\n tf.dispose(reduced);\n return res;\n};\n*/\n\nexport async function skip(config: Partial, input: Tensor) {\n let skipFrame = false;\n if (config.cacheSensitivity === 0 || !input.shape || input.shape.length !== 4 || input.shape[1] > 3840 || input.shape[2] > 2160) return skipFrame; // cache disabled or input is invalid or too large for cache analysis\n\n /*\n const checkSum = await checksum(input);\n const diff = 100 * (Math.max(checkSum, last.inputSum) / Math.min(checkSum, last.inputSum) - 1);\n last.inputSum = checkSum;\n // if previous frame was skipped, skip this frame if changed more than cacheSensitivity\n // if previous frame was not skipped, then look for cacheSensitivity or difference larger than one in previous frame to avoid resetting cache in subsequent frames unnecessarily\n let skipFrame = diff < Math.max(config.cacheSensitivity, last.cacheDiff);\n // if difference is above 10x threshold, don't use last value to force reset cache for significant change of scenes or images\n last.cacheDiff = diff > 10 * config.cacheSensitivity ? 0 : diff;\n skipFrame = skipFrame && (last.cacheDiff > 0); // if no cached diff value then force no skip\n */\n\n if (!last.inputTensor) {\n last.inputTensor = tf.clone(input);\n } else if (last.inputTensor.shape[1] !== input.shape[1] || last.inputTensor.shape[2] !== input.shape[2]) { // input resolution changed\n tf.dispose(last.inputTensor);\n last.inputTensor = tf.clone(input);\n } else {\n const t: Record = {};\n t.diff = tf.sub(input, last.inputTensor);\n t.squared = tf.mul(t.diff, t.diff);\n t.sum = tf.sum(t.squared);\n const diffSum = await t.sum.data();\n const diffRelative = diffSum[0] / (input.shape[1] || 1) / (input.shape[2] || 1) / 255 / 3; // squared difference relative to input resolution and averaged per channel\n tf.dispose([last.inputTensor, t.diff, t.squared, t.sum]);\n last.inputTensor = tf.clone(input);\n skipFrame = diffRelative <= (config.cacheSensitivity || 0);\n }\n return skipFrame;\n}\n\nexport async function compare(config: Partial, input1: Tensor, input2: Tensor): Promise {\n const t: Record = {};\n if (!input1 || !input2 || input1.shape.length !== 4 || input1.shape.length !== input2.shape.length) {\n if (!config.debug) log('invalid input tensor or tensor shapes do not match:', input1.shape, input2.shape);\n return 0;\n }\n if (input1.shape[0] !== 1 || input2.shape[0] !== 1 || input1.shape[3] !== 3 || input2.shape[3] !== 3) {\n if (!config.debug) log('input tensors must be of shape [1, height, width, 3]:', input1.shape, input2.shape);\n return 0;\n }\n t.input1 = tf.clone(input1);\n t.input2 = (input1.shape[1] !== input2.shape[1] || input1.shape[2] !== input2.shape[2]) ? tf.image.resizeBilinear(input2 as Tensor3D, [input1.shape[1], input1.shape[2]]) : tf.clone(input2);\n t.diff = tf.sub(t.input1, t.input2);\n t.squared = tf.mul(t.diff, t.diff);\n t.sum = tf.sum(t.squared);\n const diffSum = await t.sum.data();\n const diffRelative = diffSum[0] / (input1.shape[1] || 1) / (input1.shape[2] || 1) / 255 / 3;\n tf.dispose([t.input1, t.input2, t.diff, t.squared, t.sum]);\n return diffRelative;\n}\n", "import * as tf from 'dist/tfjs.esm.js';\nimport * as image from '../image/image';\n\n/** Env class that holds detected capabilities */\nexport class Env {\n /** Running in Browser */\n browser: boolean;\n /** Running in NodeJS */\n node: boolean;\n /** Running in WebWorker thread */\n worker: boolean;\n /** Detected platform */\n platform: string = '';\n /** Detected agent */\n agent: string = '';\n /** List of supported backends */\n backends: string[] = [];\n /** Has any work been performed so far */\n initial: boolean;\n /** Are image filters supported? */\n filter: boolean | undefined;\n /** TFJS instance details */\n tfjs: {\n version: undefined | string,\n };\n /** Is offscreenCanvas supported? */\n offscreen: undefined | boolean;\n /** Are performance counter instant values or additive */\n perfadd: boolean = false;\n /** If using tfjs-node get version of underlying tensorflow shared library and if gpu acceleration is enabled */\n tensorflow: {\n version: undefined | string,\n gpu: undefined | boolean,\n } = {\n version: undefined,\n gpu: undefined,\n };\n /** WASM detected capabilities */\n wasm: {\n supported: undefined | boolean,\n backend: undefined | boolean,\n simd: undefined | boolean,\n multithread: undefined | boolean,\n } = {\n supported: undefined,\n backend: undefined,\n simd: undefined,\n multithread: undefined,\n };\n /** WebGL detected capabilities */\n webgl: {\n supported: undefined | boolean,\n backend: undefined | boolean,\n version: undefined | string,\n renderer: undefined | string,\n shader: undefined | string,\n vendor: undefined | string,\n } = {\n supported: undefined,\n backend: undefined,\n version: undefined,\n renderer: undefined,\n shader: undefined,\n vendor: undefined,\n };\n /** WebGPU detected capabilities */\n webgpu: {\n supported: undefined | boolean,\n backend: undefined | boolean,\n adapter: undefined | GPUAdapterInfo,\n } = {\n supported: undefined,\n backend: undefined,\n adapter: undefined,\n };\n /** CPU info */\n cpu: {\n model: undefined | string,\n flags: string[],\n } = {\n model: undefined,\n flags: [],\n };\n /** List of supported kernels for current backend */\n kernels: string[] = [];\n /** MonkeyPatch for Canvas */\n Canvas: undefined;\n /** MonkeyPatch for Image */\n Image: undefined;\n /** MonkeyPatch for ImageData */\n ImageData: undefined;\n\n constructor() {\n this.browser = typeof navigator !== 'undefined';\n this.node = (typeof process !== 'undefined') && (typeof process.versions !== 'undefined') && (typeof process.versions.node !== 'undefined');\n this.tfjs = { version: tf.version['tfjs-core'] };\n this.offscreen = typeof OffscreenCanvas !== 'undefined';\n this.initial = true;\n\n // @ts-ignore WorkerGlobalScope evaluated in browser only\n this.worker = this.browser && this.offscreen ? (typeof WorkerGlobalScope !== 'undefined') : undefined;\n if (typeof navigator !== 'undefined') { // TBD replace with navigator.userAgentData once in mainline\n const raw = navigator.userAgent.match(/\\(([^()]+)\\)/g);\n if (raw?.[0]) {\n const platformMatch = raw[0].match(/\\(([^()]+)\\)/g);\n this.platform = (platformMatch?.[0]) ? platformMatch[0].replace(/\\(|\\)/g, '') : '';\n this.agent = navigator.userAgent.replace(raw[0], '');\n if (this.platform[1]) this.agent = this.agent.replace(raw[1], '');\n this.agent = this.agent.replace(/ /g, ' ');\n }\n } else if (typeof process !== 'undefined') {\n this.platform = `${process.platform} ${process.arch}`;\n this.agent = `NodeJS ${process.version}`;\n }\n }\n\n /** update backend information */\n async updateBackend() {\n // analyze backends\n this.backends = Object.keys(tf.engine().registryFactory);\n try { // backend may not be initialized\n this.tensorflow = {\n version: (tf.backend()['binding'] ? tf.backend()['binding'].TF_Version : undefined),\n gpu: (tf.backend()['binding'] ? tf.backend()['binding'].isUsingGpuDevice() : undefined),\n };\n } catch { /**/ }\n this.wasm.supported = typeof WebAssembly !== 'undefined';\n this.wasm.backend = this.backends.includes('wasm');\n if (this.wasm.supported && this.wasm.backend) {\n this.wasm.simd = await tf.env().getAsync('WASM_HAS_SIMD_SUPPORT') as boolean;\n this.wasm.multithread = await tf.env().getAsync('WASM_HAS_MULTITHREAD_SUPPORT') as boolean;\n }\n const c = image.canvas(100, 100);\n const gl = c ? c.getContext('webgl2') as WebGL2RenderingContext : undefined; // causes too many gl contexts\n this.webgl.supported = typeof gl !== 'undefined';\n this.webgl.backend = this.backends.includes('webgl');\n if (this.webgl.supported && this.webgl.backend && gl) {\n this.webgl.version = gl.getParameter(gl.VERSION);\n this.webgl.vendor = gl.getParameter(gl.VENDOR);\n this.webgl.renderer = gl.getParameter(gl.RENDERER);\n this.webgl.shader = gl.getParameter(gl.SHADING_LANGUAGE_VERSION);\n }\n this.webgpu.supported = this.browser && typeof navigator.gpu !== 'undefined';\n this.webgpu.backend = this.backends.includes('webgpu');\n try {\n if (this.webgpu.supported) {\n const adapter = await navigator.gpu.requestAdapter();\n this.webgpu.adapter = await adapter?.requestAdapterInfo();\n }\n } catch {\n this.webgpu.supported = false;\n }\n try {\n this.kernels = tf.getKernelsForBackend(tf.getBackend()).map((kernel) => kernel.kernelName.toLowerCase());\n } catch { /**/ }\n }\n\n /** update cpu information */\n updateCPU() {\n const cpu = { model: '', flags: [] };\n if (this.node && this.platform.startsWith('linux')) {\n /*\n const fs = require('fs');\n try {\n const data = fs.readFileSync('/proc/cpuinfo').toString();\n for (const line of data.split('\\n')) {\n if (line.startsWith('model name')) cpu.model = line.match(/:(.*)/g)[0].replace(':', '').trim();\n if (line.startsWith('flags')) cpu.flags = line.match(/:(.*)/g)[0].replace(':', '').trim().split(' ').sort();\n }\n } catch { }\n */\n }\n if (!this.cpu) Object.defineProperty(this, 'cpu', { value: cpu });\n else this.cpu = cpu;\n }\n}\n\nexport const env = new Env();\n", "import { log } from './util';\n\n// const log = (...msg) => console.log('webcam', ...msg); // eslint-disable-line no-console\n\n/** WebCam configuration */\nexport interface WebCamConfig {\n /**\n * element can be:\n * - string which indicates dom element id\n * - actual HTMLVideo dom element\n * - undefined in which case a new HTMLVideoElement will be created\n */\n element: string | HTMLVideoElement | undefined,\n /** print messages on console */\n debug: boolean,\n /** use front or back camera */\n mode: 'front' | 'back',\n /** camera crop mode */\n crop: boolean,\n /** desired webcam width */\n width: number,\n /** desired webcam height */\n height: number,\n /** deviceId of the video device to use */\n id?: string,\n}\n\nexport class WebCam { // eslint-disable-line @typescript-eslint/no-extraneous-class\n /** current webcam configuration */\n config: WebCamConfig;\n /** instance of dom element associated with webcam stream */\n element: HTMLVideoElement | undefined;\n /** active webcam stream */\n stream: MediaStream | undefined;\n /** enumerated video devices */\n devices: MediaDeviceInfo[] = [];\n\n constructor() {\n this.config = {\n element: undefined,\n debug: true,\n mode: 'front',\n crop: false,\n width: 0,\n height: 0,\n };\n }\n\n /** get active webcam stream track */\n public get track(): MediaStreamTrack | undefined {\n if (!this.stream) return undefined;\n return this.stream.getVideoTracks()[0];\n }\n\n /** get webcam capabilities */\n public get capabilities(): MediaTrackCapabilities | undefined {\n if (!this.track) return undefined;\n return this.track.getCapabilities ? this.track.getCapabilities() : undefined;\n }\n\n /** get webcam constraints */\n public get constraints(): MediaTrackConstraints | undefined {\n if (!this.track) return undefined;\n return this.track.getConstraints ? this.track.getConstraints() : undefined;\n }\n\n /** get webcam settings */\n public get settings(): MediaTrackSettings | undefined {\n if (!this.stream) return undefined;\n const track: MediaStreamTrack = this.stream.getVideoTracks()[0];\n return track.getSettings ? track.getSettings() : undefined;\n }\n\n /** get webcam label */\n public get label(): string {\n if (!this.track) return '';\n return this.track.label;\n }\n\n /** is webcam paused */\n public get paused(): boolean {\n return this.element?.paused || false;\n }\n\n /** webcam current width */\n public get width(): number {\n return this.element?.videoWidth || 0;\n }\n\n /** webcam current height */\n public get height(): number {\n return this.element?.videoHeight || 0;\n }\n\n public enumerate = async (): Promise => {\n try {\n const devices = await navigator.mediaDevices.enumerateDevices();\n this.devices = devices.filter((device) => device.kind === 'videoinput');\n } catch {\n this.devices = [];\n }\n return this.devices;\n };\n\n /** start method initializizes webcam stream and associates it with a dom video element */\n public start = async (webcamConfig?: Partial): Promise => {\n // set config\n if (webcamConfig?.debug) this.config.debug = webcamConfig?.debug;\n if (webcamConfig?.crop) this.config.crop = webcamConfig?.crop;\n if (webcamConfig?.mode) this.config.mode = webcamConfig?.mode;\n if (webcamConfig?.width) this.config.width = webcamConfig?.width;\n if (webcamConfig?.height) this.config.height = webcamConfig?.height;\n if (webcamConfig?.id) this.config.id = webcamConfig?.id;\n\n // use or create dom element\n if (webcamConfig?.element) {\n if (typeof webcamConfig.element === 'string') {\n const el = document.getElementById(webcamConfig.element);\n if (el && el instanceof HTMLVideoElement) {\n this.element = el;\n } else {\n if (this.config.debug) log('webcam', 'cannot get dom element', webcamConfig.element);\n return;\n }\n } else if (webcamConfig.element instanceof HTMLVideoElement) {\n this.element = webcamConfig.element;\n } else {\n if (this.config.debug) log('webcam', 'unknown dom element', webcamConfig.element);\n return;\n }\n } else {\n this.element = document.createElement('video');\n }\n\n // set constraints to use\n const requestedConstraints: MediaStreamConstraints = {\n audio: false,\n video: {\n facingMode: this.config.mode === 'front' ? 'user' : 'environment',\n // @ts-ignore // resizeMode is still not defined in tslib\n resizeMode: this.config.crop ? 'crop-and-scale' : 'none',\n width: { ideal: this.config.width > 0 ? this.config.width : window.innerWidth },\n height: { ideal: this.config.height > 0 ? this.config.height : window.innerHeight },\n },\n };\n if (this.config.id) (requestedConstraints.video as MediaTrackConstraintSet).deviceId = this.config.id;\n\n // set default event listeners\n this.element.addEventListener('play', () => { if (this.config.debug) log('webcam', 'play'); });\n this.element.addEventListener('pause', () => { if (this.config.debug) log('webcam', 'pause'); });\n this.element.addEventListener('click', async () => { // pause when clicked on screen and resume on next click\n if (!this.element || !this.stream) return;\n if (this.element.paused) await this.element.play();\n else this.element.pause();\n });\n\n // get webcam and set it to run in dom element\n if (!navigator?.mediaDevices) {\n if (this.config.debug) log('webcam', 'no devices');\n return;\n }\n try {\n this.stream = await navigator.mediaDevices.getUserMedia(requestedConstraints); // get stream that satisfies constraints\n } catch (err) {\n log('webcam', err);\n return;\n }\n if (!this.stream) {\n if (this.config.debug) log('webcam', 'no stream');\n return;\n }\n this.element.srcObject = this.stream; // assign it to dom element\n const ready = new Promise((resolve) => { // wait until stream is ready\n if (!this.element) resolve(false);\n else this.element.onloadeddata = () => resolve(true);\n });\n await ready;\n await this.element.play(); // start playing\n\n if (this.config.debug) {\n log('webcam', {\n width: this.width,\n height: this.height,\n label: this.label,\n stream: this.stream,\n track: this.track,\n settings: this.settings,\n constraints: this.constraints,\n capabilities: this.capabilities,\n });\n }\n };\n\n /** pause webcam video method */\n public pause = (): void => {\n if (this.element) this.element.pause();\n };\n\n /** play webcam video method */\n public play = async (): Promise => {\n if (this.element) await this.element.play();\n };\n\n /** stop method stops active webcam stream track and disconnects webcam */\n public stop = (): void => {\n if (this.config.debug) log('webcam', 'stop');\n if (this.track) this.track.stop();\n };\n}\n", "import * as tf from 'dist/tfjs.esm.js';\nimport { log, join } from '../util/util';\nimport type { GraphModel } from './types';\nimport type { Config } from '../config';\nimport * as modelsDefs from '../../models/models.json';\n\nconst options = {\n cacheModels: true,\n cacheSupported: true,\n verbose: true,\n debug: false,\n modelBasePath: '',\n};\n\nexport interface ModelInfo {\n name: string,\n inCache: boolean,\n sizeDesired: number,\n sizeFromManifest: number,\n sizeLoadedWeights: number,\n url: string,\n}\n\nexport const modelStats: Record = {};\n\nasync function httpHandler(url: string, init?: RequestInit): Promise {\n if (options.debug) log('load model fetch:', url, init);\n return fetch(url, init);\n}\n\nexport function setModelLoadOptions(config: Config) {\n options.cacheModels = config.cacheModels;\n options.verbose = config.debug;\n options.modelBasePath = config.modelBasePath;\n}\n\nexport async function loadModel(modelPath: string | undefined): Promise {\n let modelUrl = join(options.modelBasePath, modelPath || '');\n if (!modelUrl.toLowerCase().endsWith('.json')) modelUrl += '.json';\n const modelPathSegments = modelUrl.includes('/') ? modelUrl.split('/') : modelUrl.split('\\\\');\n const shortModelName = modelPathSegments[modelPathSegments.length - 1].replace('.json', '');\n const cachedModelName = 'indexeddb://' + shortModelName; // generate short model name for cache\n modelStats[shortModelName] = {\n name: shortModelName,\n sizeFromManifest: 0,\n sizeLoadedWeights: 0,\n sizeDesired: modelsDefs[shortModelName],\n inCache: false,\n url: '',\n };\n options.cacheSupported = (typeof indexedDB !== 'undefined'); // check if localStorage and indexedb are available\n let cachedModels = {};\n try {\n cachedModels = (options.cacheSupported && options.cacheModels) ? await tf.io.listModels() : {}; // list all models already in cache // this fails for webview although localStorage is defined\n } catch {\n options.cacheSupported = false;\n }\n modelStats[shortModelName].inCache = (options.cacheSupported && options.cacheModels) && Object.keys(cachedModels).includes(cachedModelName); // is model found in cache\n modelStats[shortModelName].url = modelStats[shortModelName].inCache ? cachedModelName : modelUrl;\n const tfLoadOptions = typeof fetch === 'undefined' ? {} : { fetchFunc: (url: string, init?: RequestInit) => httpHandler(url, init) };\n let model: GraphModel = new tf.GraphModel(modelStats[shortModelName].url, tfLoadOptions) as unknown as GraphModel; // create model prototype and decide if load from cache or from original modelurl\n let loaded = false;\n try {\n // @ts-ignore private function\n model.findIOHandler(); // decide how to actually load a model\n if (options.debug) log('model load handler:', model['handler']);\n } catch (err) {\n log('error finding model i/o handler:', modelUrl, err);\n }\n try {\n // @ts-ignore private property\n const artifacts = await model.handler?.load() || null; // load manifest\n modelStats[shortModelName].sizeFromManifest = artifacts?.weightData?.byteLength || 0;\n if (artifacts) model.loadSync(artifacts); // load weights\n else model = await tf.loadGraphModel(modelStats[shortModelName].inCache ? cachedModelName : modelUrl, tfLoadOptions) as unknown as GraphModel;\n // @ts-ignore private property\n modelStats[shortModelName].sizeLoadedWeights = model.artifacts?.weightData?.byteLength || 0;\n if (options.verbose) log('load:', { model: shortModelName, url: model['modelUrl'], bytes: modelStats[shortModelName].sizeLoadedWeights });\n loaded = true;\n } catch (err) {\n log('error loading model:', modelUrl, err);\n }\n if (loaded && options.cacheModels && options.cacheSupported && !modelStats[shortModelName].inCache) { // save model to cache\n try {\n const saveResult = await model.save(cachedModelName);\n if (options.debug) log('model saved:', cachedModelName, saveResult);\n } catch (err) {\n log('error saving model:', modelUrl, err);\n }\n }\n return model;\n}\n", "/** TFJS custom backend registration */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport type { Human } from '../human';\nimport { log } from '../util/util';\nimport * as image from '../image/image';\nimport type { AnyCanvas } from '../exports';\n\nexport const config = {\n name: 'humangl',\n priority: 999,\n canvas: null as null | AnyCanvas,\n gl: null as null | WebGL2RenderingContext,\n extensions: [] as string[] | null,\n webGLattr: { // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.2\n alpha: false,\n antialias: false,\n premultipliedAlpha: false,\n preserveDrawingBuffer: false,\n depth: false,\n stencil: false,\n failIfMajorPerformanceCaveat: false, // default=true\n desynchronized: true, // default=undefined\n },\n};\n\nfunction extensions(): void {\n /*\n https://www.khronos.org/registry/webgl/extensions/\n https://webglreport.com/?v=2\n */\n const gl = config.gl;\n if (!gl) return;\n config.extensions = gl.getSupportedExtensions();\n // gl.getExtension('KHR_parallel_shader_compile');\n}\n\n/**\n * Registers custom WebGL2 backend to be used by Human library\n *\n * @returns void\n */\nexport function register(instance: Human): void {\n // force backend reload if gl context is not valid\n if (instance.config.backend !== 'humangl') return;\n if ((config.name in tf.engine().registry) && !config?.gl?.getParameter(config.gl.VERSION)) {\n log('humangl error: backend invalid context');\n instance.models.reset();\n /*\n log('resetting humangl backend');\n await tf.removeBackend(config.name);\n await register(instance); // re-register\n */\n }\n if (!tf.findBackend(config.name)) {\n try {\n config.canvas = image.canvas(100, 100);\n } catch (err) {\n log('humangl error: cannot create canvas:', err);\n return;\n }\n try {\n config.gl = config.canvas.getContext('webgl2', config.webGLattr) as WebGL2RenderingContext;\n if (!config.gl) {\n log('humangl error: cannot get webgl context');\n return;\n }\n const glv2 = config.gl.getParameter(config.gl.VERSION).includes('2.0');\n if (!glv2) {\n log('backend override: using fallback webgl backend as webgl 2.0 is not detected');\n instance.config.backend = 'webgl';\n return;\n }\n if (config.canvas) {\n config.canvas.addEventListener('webglcontextlost', (e) => {\n log('humangl error:', e.type);\n log('possible browser memory leak using webgl or conflict with multiple backend registrations');\n instance.emit('error');\n throw new Error('backend error: webgl context lost');\n });\n config.canvas.addEventListener('webglcontextrestored', (e) => {\n log('humangl error: context restored:', e);\n });\n config.canvas.addEventListener('webglcontextcreationerror', (e) => {\n log('humangl error: context create:', e);\n });\n }\n } catch (err) {\n log('humangl error: cannot get webgl context:', err);\n return;\n }\n try {\n tf.setWebGLContext(2, config.gl);\n } catch (err) {\n log('humangl error: cannot set webgl context:', err);\n return;\n }\n try {\n const ctx = new tf.GPGPUContext(config.gl);\n // @ts-ignore uncompatible kernelMs timing info\n tf.registerBackend(config.name, () => new tf.MathBackendWebGL(ctx), config.priority);\n } catch (err) {\n log('humangl error: cannot register webgl backend:', err);\n return;\n }\n try {\n const kernels = tf.getKernelsForBackend('webgl');\n kernels.forEach((kernelConfig) => {\n const newKernelConfig = { ...kernelConfig, backendName: config.name };\n tf.registerKernel(newKernelConfig);\n });\n } catch (err) {\n log('humangl error: cannot update webgl backend registration:', err);\n return;\n }\n try {\n // @ts-ignore private property\n if (tf.env().flagRegistry.WEBGL_VERSION) tf.env().set('WEBGL_VERSION', 2);\n } catch (err) {\n log('humangl error: cannot set WebGL backend flags:', err);\n return;\n }\n extensions();\n const backend = tf.backend();\n const current = typeof backend['gpgpu'] !== 'undefined' ? backend['getGPGPUContext']().gl : null;\n if (current) {\n if (instance.config.debug) log('humangl backend registered:', { webgl: current.getParameter(current.VERSION) as string, renderer: current.getParameter(current.RENDERER) as string });\n } else {\n log('humangl error: no current gl context:', current, config.gl);\n }\n }\n}\n", "import * as tf from 'dist/tfjs.esm.js';\nimport type { Tensor } from './types';\n\nexport const constants: Record = {\n tf255: 255.0,\n tf1: 1.0,\n tf2: 2.0,\n tf05: 0.5,\n tf127: 127.5,\n rgb: [0.2989, 0.5870, 0.1140],\n};\n\nexport function init() {\n constants.tf255 = tf.scalar(255.0, 'float32');\n constants.tf1 = tf.scalar(1.0, 'float32');\n constants.tf2 = tf.scalar(2.0, 'float32');\n constants.tf05 = tf.scalar(0.5, 'float32');\n constants.tf127 = tf.scalar(127.5, 'float32');\n constants.rgb = tf.tensor1d([0.2989, 0.5870, 0.1140], 'float32'); // factors for red/green/blue colors when converting to grayscale\n}\n", "/** TFJS backend initialization and customization */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport type { Human, Config, BackendEnum } from '../human';\nimport { log, now } from '../util/util';\nimport { env } from '../util/env';\nimport * as humangl from './humangl';\nimport * as constants from './constants';\nimport type { TensorInfo } from './types';\n\nexport async function getBestBackend(): Promise {\n await env.updateBackend(); // update env on backend init\n if (!env.browser) return 'tensorflow';\n if (env.webgpu.supported && env.webgpu.backend) return 'webgpu';\n if (env.webgl.supported && env.webgl.backend) return 'webgl';\n if (env.wasm.supported && env.wasm.backend) return 'wasm';\n return 'cpu';\n}\n\nfunction registerCustomOps(config: Config) {\n const newKernels: string[] = [];\n if (!env.kernels.includes('mod')) {\n const kernelMod = {\n kernelName: 'Mod',\n backendName: tf.getBackend(),\n kernelFunc: (op) => tf.tidy(() => tf.sub(op.inputs.a, tf.mul(tf.div(op.inputs.a, op.inputs.b), op.inputs.b))),\n };\n tf.registerKernel(kernelMod);\n env.kernels.push('mod');\n newKernels.push('mod');\n }\n if (!env.kernels.includes('floormod')) {\n const kernelFloorMod = {\n kernelName: 'FloorMod',\n backendName: tf.getBackend(),\n kernelFunc: (op) => tf.tidy(() => tf.add(tf.mul(tf.floorDiv(op.inputs.a, op.inputs.b), op.inputs.b), tf.mod(op.inputs.a, op.inputs.b))),\n };\n tf.registerKernel(kernelFloorMod);\n env.kernels.push('floormod');\n newKernels.push('floormod');\n }\n /*\n if (!env.kernels.includes('atan2') && config.softwareKernels) {\n const kernelAtan2 = {\n kernelName: 'Atan2',\n backendName: tf.getBackend(),\n kernelFunc: (op) => tf.tidy(() => {\n const backend = tf.getBackend();\n tf.setBackend('cpu');\n const t = tf.atan2(op.inputs.a, op.inputs.b);\n tf.setBackend(backend);\n return t;\n }),\n };\n if (config.debug) log('registered kernel:', 'atan2');\n log('registered kernel:', 'atan2');\n tf.registerKernel(kernelAtan2);\n env.kernels.push('atan2');\n newKernels.push('atan2');\n }\n */\n if (!env.kernels.includes('rotatewithoffset') && config.softwareKernels) {\n const kernelRotateWithOffset = {\n kernelName: 'RotateWithOffset',\n backendName: tf.getBackend(),\n kernelFunc: (op) => tf.tidy(() => {\n const backend = tf.getBackend();\n tf.setBackend('cpu'); // eslint-disable-line @typescript-eslint/no-floating-promises\n const t = tf.image.rotateWithOffset(op.inputs.image, op.attrs.radians, op.attrs.fillValue, op.attrs.center);\n tf.setBackend(backend); // eslint-disable-line @typescript-eslint/no-floating-promises\n return t;\n }),\n };\n tf.registerKernel(kernelRotateWithOffset);\n env.kernels.push('rotatewithoffset');\n newKernels.push('rotatewithoffset');\n }\n if ((newKernels.length > 0) && config.debug) log('registered kernels:', newKernels);\n}\n\nlet defaultFlags: Record = {};\n\nexport async function check(instance: Human, force = false) {\n instance.state = 'backend';\n if (instance.config.backend?.length === 0) instance.config.backend = await getBestBackend();\n if (force || env.initial || (instance.config.backend && (instance.config.backend.length > 0) && (tf.getBackend() !== instance.config.backend))) {\n const timeStamp = now();\n\n if (instance.config.backend && instance.config.backend.length > 0) {\n // detect web worker\n // @ts-ignore ignore missing type for WorkerGlobalScope as that is the point\n if (typeof window === 'undefined' && typeof WorkerGlobalScope !== 'undefined' && instance.config.debug) {\n if (instance.config.debug) log('running inside web worker');\n }\n\n // force browser vs node backend\n if (env.browser && instance.config.backend === 'tensorflow') {\n if (instance.config.debug) log('override: backend set to tensorflow while running in browser');\n instance.config.backend = 'webgl';\n }\n if (env.node && (instance.config.backend === 'webgl' || instance.config.backend === 'humangl')) {\n if (instance.config.debug) log(`override: backend set to ${instance.config.backend} while running in nodejs`);\n instance.config.backend = 'tensorflow';\n }\n\n // handle webgpu\n if (env.browser && instance.config.backend === 'webgpu') {\n if (typeof navigator === 'undefined' || typeof navigator.gpu === 'undefined') {\n log('override: backend set to webgpu but browser does not support webgpu');\n instance.config.backend = 'webgl';\n } else {\n const adapter = await navigator.gpu.requestAdapter();\n if (instance.config.debug) log('enumerated webgpu adapter:', adapter);\n if (!adapter) {\n log('override: backend set to webgpu but browser reports no available gpu');\n instance.config.backend = 'webgl';\n } else {\n // @ts-ignore requestAdapterInfo is not in tslib\n const adapterInfo = 'requestAdapterInfo' in adapter ? await adapter.requestAdapterInfo() : undefined;\n // if (adapter.features) adapter.features.forEach((feature) => log('webgpu features:', feature));\n log('webgpu adapter info:', adapterInfo);\n }\n }\n }\n\n // check available backends\n let available = Object.keys(tf.engine().registryFactory as Record);\n if (instance.config.backend === 'humangl' && !available.includes('humangl')) {\n humangl.register(instance);\n available = Object.keys(tf.engine().registryFactory as Record);\n }\n if (instance.config.debug) log('available backends:', available);\n\n if (!available.includes(instance.config.backend)) {\n log(`error: backend ${instance.config.backend} not found in registry`);\n instance.config.backend = env.node ? 'tensorflow' : 'webgl';\n if (instance.config.debug) log(`override: setting backend ${instance.config.backend}`);\n }\n\n if (instance.config.debug) log('setting backend:', [instance.config.backend]);\n\n // customize wasm\n if (instance.config.backend === 'wasm') {\n // @ts-ignore private property\n if (tf.env().flagRegistry.CANVAS2D_WILL_READ_FREQUENTLY) tf.env().set('CANVAS2D_WILL_READ_FREQUENTLY', true);\n if (instance.config.debug) log('wasm path:', instance.config.wasmPath);\n if (typeof tf.setWasmPaths !== 'undefined') tf.setWasmPaths(instance.config.wasmPath, instance.config.wasmPlatformFetch);\n else throw new Error('backend error: attempting to use wasm backend but wasm path is not set');\n let mt = false;\n let simd = false;\n try {\n mt = await tf.env().getAsync('WASM_HAS_MULTITHREAD_SUPPORT') as boolean;\n simd = await tf.env().getAsync('WASM_HAS_SIMD_SUPPORT') as boolean;\n if (instance.config.debug) log(`wasm execution: ${simd ? 'simd' : 'no simd'} ${mt ? 'multithreaded' : 'singlethreaded'}`);\n if (instance.config.debug && !simd) log('warning: wasm simd support is not enabled');\n } catch {\n log('wasm detection failed');\n }\n }\n\n try {\n await tf.setBackend(instance.config.backend);\n await tf.ready();\n } catch (err) {\n log('error: cannot set backend:', instance.config.backend, err);\n return false;\n }\n // @ts-ignore private property\n if (instance.config.debug) defaultFlags = JSON.parse(JSON.stringify(tf.env().flags));\n }\n\n // customize humangl\n if (tf.getBackend() === 'humangl' || tf.getBackend() === 'webgl') {\n // @ts-ignore private property\n if (tf.env().flagRegistry.WEBGL_USE_SHAPES_UNIFORMS) tf.env().set('WEBGL_USE_SHAPES_UNIFORMS', true); // default=false \n // @ts-ignore private property\n if (tf.env().flagRegistry.WEBGL_EXP_CONV) tf.env().set('WEBGL_EXP_CONV', true); // default=false \n // if (tf.env().flagRegistry['WEBGL_PACK_DEPTHWISECONV']) tf.env().set('WEBGL_PACK_DEPTHWISECONV', false); // default=true \n // if (tf.env().flagRegistry.USE_SETTIMEOUTCUSTOM) tf.env().set('USE_SETTIMEOUTCUSTOM', true); // default=false \n // if (tf.env().flagRegistry.CPU_HANDOFF_SIZE_THRESHOLD) tf.env().set('CPU_HANDOFF_SIZE_THRESHOLD', 1024); // default=1000\n // if (tf.env().flagRegistry['WEBGL_FORCE_F16_TEXTURES'] && !instance.config.object.enabled) tf.env().set('WEBGL_FORCE_F16_TEXTURES', true); // safe to use 16bit precision\n if (instance.config.debug && typeof instance.config.deallocate !== 'undefined' && instance.config.deallocate) { // hidden param\n log('changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:', true);\n tf.env().set('WEBGL_DELETE_TEXTURE_THRESHOLD', 0);\n }\n }\n\n // customize webgpu\n if (tf.getBackend() === 'webgpu') {\n // if (tf.env().flagRegistry['WEBGPU_CPU_HANDOFF_SIZE_THRESHOLD']) tf.env().set('WEBGPU_CPU_HANDOFF_SIZE_THRESHOLD', 512);\n // if (tf.env().flagRegistry['WEBGPU_DEFERRED_SUBMIT_BATCH_SIZE']) tf.env().set('WEBGPU_DEFERRED_SUBMIT_BATCH_SIZE', 0);\n // if (tf.env().flagRegistry['WEBGPU_CPU_FORWARD']) tf.env().set('WEBGPU_CPU_FORWARD', true);\n }\n\n if (instance.config.debug) {\n // @ts-ignore private property\n const newFlags = tf.env().flags;\n const updatedFlags = {};\n for (const key of Object.keys(newFlags)) {\n if (defaultFlags[key] === newFlags[key]) continue;\n updatedFlags[key] = newFlags[key];\n }\n if (instance.config.debug && Object.keys(updatedFlags).length > 0) log('backend:', tf.getBackend(), 'flags:', updatedFlags);\n }\n\n if (instance.config.flags && Object.keys(instance.config.flags).length > 0) {\n if (instance.config.debug) log('flags:', instance.config['flags']);\n for (const [key, val] of Object.entries(instance.config.flags)) {\n tf.env().set(key, val as number | boolean);\n }\n }\n\n tf.enableProdMode();\n constants.init();\n instance.performance.initBackend = Math.trunc(now() - timeStamp);\n instance.config.backend = tf.getBackend() as BackendEnum;\n await env.updateBackend(); // update env on backend init\n registerCustomOps(instance.config);\n // await env.updateBackend(); // update env on backend init\n env.initial = false;\n }\n return true;\n}\n\n// register fake missing tfjs ops\nexport function fakeOps(kernelNames: string[], config) {\n // if (config.debug) log('registerKernel:', kernelNames);\n for (const kernelName of kernelNames) {\n const kernelConfig = {\n kernelName,\n backendName: config.backend,\n kernelFunc: (param): TensorInfo => {\n if (config.debug) log('kernelFunc', kernelName, config.backend, param);\n return param?.inputs?.info as TensorInfo;\n },\n // setupFunc: () => { if (config.debug) log('kernelFunc', kernelName, config.backend); },\n // disposeFunc: () => { if (config.debug) log('kernelFunc', kernelName, config.backend); },\n };\n tf.registerKernel(kernelConfig);\n }\n env.kernels = tf.getKernelsForBackend(tf.getBackend()).map((kernel) => kernel.kernelName.toLowerCase()); // re-scan registered ops\n}\n", "/**\n * Module that implements helper draw functions, exposed as human.draw\n */\n\nimport { mergeDeep, now } from '../util/util';\nimport { env } from '../util/env';\nimport { getCanvasContext, rect } from './primitives';\nimport { options } from './options';\nimport { face } from './face';\nimport { body } from './body';\nimport { hand } from './hand';\nimport { object } from './object';\nimport { gesture } from './gesture';\nimport { defaultLabels } from './labels';\nimport type { Result, PersonResult } from '../result';\nimport type { AnyCanvas, DrawOptions } from '../exports';\n\nlet drawTime = 0;\n\nexport { options } from './options';\nexport { face } from './face';\nexport { body } from './body';\nexport { hand } from './hand';\nexport { object } from './object';\nexport { gesture } from './gesture';\n\n/** draw combined person results instead of individual detection result objects */\nexport function person(inCanvas: AnyCanvas, result: PersonResult[], drawOptions?: Partial) {\n const localOptions: DrawOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n const ctx = getCanvasContext(inCanvas) as CanvasRenderingContext2D;\n if (!ctx) return;\n ctx.lineJoin = 'round';\n ctx.font = localOptions.font;\n\n for (let i = 0; i < result.length; i++) {\n if (localOptions.drawBoxes) {\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n rect(ctx, result[i].box[0], result[i].box[1], result[i].box[2], result[i].box[3], localOptions);\n if (localOptions.drawLabels) {\n const label = `person #${i}`;\n if (localOptions.shadowColor && localOptions.shadowColor !== '') {\n ctx.fillStyle = localOptions.shadowColor;\n ctx.fillText(label, result[i].box[0] + 3, 1 + result[i].box[1] + localOptions.lineHeight, result[i].box[2]);\n }\n ctx.fillStyle = localOptions.labelColor;\n ctx.fillText(label, result[i].box[0] + 2, 0 + result[i].box[1] + localOptions.lineHeight, result[i].box[2]);\n }\n ctx.stroke();\n }\n }\n}\n\n/** draw processed canvas */\nexport function canvas(input: AnyCanvas | HTMLImageElement | HTMLVideoElement, output: AnyCanvas) {\n if (!input || !output) return;\n const ctx = getCanvasContext(output) as CanvasRenderingContext2D;\n if (!ctx) return;\n ctx.drawImage(input, 0, 0);\n}\n\n/** meta-function that performs draw for: canvas, face, body, hand */\nexport async function all(inCanvas: AnyCanvas, result: Result, drawOptions?: Partial) {\n if (!result?.performance || !inCanvas) return null;\n const timeStamp = now();\n const localOptions = mergeDeep(options, drawOptions);\n const promise = Promise.all([\n face(inCanvas, result.face, localOptions),\n body(inCanvas, result.body, localOptions),\n hand(inCanvas, result.hand, localOptions),\n object(inCanvas, result.object, localOptions),\n gesture(inCanvas, result.gesture, localOptions), // gestures do not have buffering\n // person(inCanvas, result.persons, localOptions); // already included above\n ]);\n drawTime = env.perfadd ? drawTime + Math.round(now() - timeStamp) : Math.round(now() - timeStamp);\n result.performance.draw = drawTime;\n return promise;\n}\n\n/** sets default label templates for face/body/hand/object/gestures */\nexport function init() {\n options.faceLabels = defaultLabels.face;\n options.bodyLabels = defaultLabels.body;\n options.bodyPartLabels = defaultLabels.bodyPart;\n options.handLabels = defaultLabels.hand;\n options.fingerLabels = defaultLabels.finger;\n options.objectLabels = defaultLabels.object;\n options.gestureLabels = defaultLabels.gesture;\n}\n", "import { log } from '../util/util';\nimport type { AnyCanvas } from '../exports';\nimport type { Point } from '../result';\nimport type { DrawOptions } from './options';\n\nexport const getCanvasContext = (input: AnyCanvas) => {\n if (!input) log('draw error: invalid canvas');\n else if (!input.getContext) log('draw error: canvas context not defined');\n else {\n const ctx = input.getContext('2d');\n if (!ctx) log('draw error: cannot get canvas context');\n else return ctx;\n }\n return null;\n};\n\nexport const rad2deg = (theta: number) => Math.round((theta * 180) / Math.PI);\n\nexport const replace = (str: string, source: string, target: string | number) => str.replace(source, typeof target === 'number' ? target.toFixed(1) : target);\n\nexport const colorDepth = (z: number | undefined, opt: DrawOptions): string => { // performance optimization needed\n if (!opt.useDepth || typeof z === 'undefined') return opt.color;\n const rgb = Uint8ClampedArray.from([127 + (2 * z), 127 - (2 * z), 255]);\n return `rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, ${opt.alpha})`;\n};\n\nexport function labels(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, str: string, startX: number, startY: number, localOptions: DrawOptions) {\n const line: string[] = str.replace(/\\[.*\\]/g, '').split('\\n').map((l) => l.trim()); // remove unmatched templates and split into array\n const x = Math.max(0, startX);\n for (let i = line.length - 1; i >= 0; i--) {\n const y = i * localOptions.lineHeight + startY;\n if (localOptions.shadowColor && localOptions.shadowColor !== '') {\n ctx.fillStyle = localOptions.shadowColor;\n ctx.fillText(line[i], x + 5, y + 16);\n }\n ctx.fillStyle = localOptions.labelColor;\n ctx.fillText(line[i], x + 4, y + 15);\n }\n}\n\nexport function point(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, x: number, y: number, z: number | undefined, localOptions: DrawOptions) {\n ctx.fillStyle = colorDepth(z, localOptions);\n ctx.beginPath();\n ctx.arc(x, y, localOptions.pointSize, 0, 2 * Math.PI);\n ctx.fill();\n}\n\nexport function rect(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, x: number, y: number, width: number, height: number, localOptions: DrawOptions) {\n ctx.beginPath();\n ctx.lineWidth = localOptions.lineWidth;\n if (localOptions.useCurves) {\n const cx = (x + x + width) / 2;\n const cy = (y + y + height) / 2;\n ctx.ellipse(cx, cy, width / 2, height / 2, 0, 0, 2 * Math.PI);\n } else {\n ctx.moveTo(x + localOptions.roundRect, y);\n ctx.lineTo(x + width - localOptions.roundRect, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + localOptions.roundRect);\n ctx.lineTo(x + width, y + height - localOptions.roundRect);\n ctx.quadraticCurveTo(x + width, y + height, x + width - localOptions.roundRect, y + height);\n ctx.lineTo(x + localOptions.roundRect, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - localOptions.roundRect);\n ctx.lineTo(x, y + localOptions.roundRect);\n ctx.quadraticCurveTo(x, y, x + localOptions.roundRect, y);\n ctx.closePath();\n }\n ctx.stroke();\n}\n\nexport function lines(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, points: Point[], localOptions: DrawOptions) {\n if (points.length < 2) return;\n ctx.beginPath();\n ctx.moveTo(points[0][0], points[0][1]);\n for (const pt of points) {\n ctx.strokeStyle = colorDepth(pt[2] || 0, localOptions);\n ctx.lineTo(Math.trunc(pt[0]), Math.trunc(pt[1]));\n }\n ctx.stroke();\n if (localOptions.fillPolygons) {\n ctx.closePath();\n ctx.fill();\n }\n}\n\nexport function curves(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, points: Point[], localOptions: DrawOptions) {\n if (points.length < 2) return;\n ctx.lineWidth = localOptions.lineWidth;\n if (!localOptions.useCurves || points.length <= 2) {\n lines(ctx, points, localOptions);\n return;\n }\n ctx.moveTo(points[0][0], points[0][1]);\n for (let i = 0; i < points.length - 2; i++) {\n const xc = (points[i][0] + points[i + 1][0]) / 2;\n const yc = (points[i][1] + points[i + 1][1]) / 2;\n ctx.quadraticCurveTo(points[i][0], points[i][1], xc, yc);\n }\n ctx.quadraticCurveTo(points[points.length - 2][0], points[points.length - 2][1], points[points.length - 1][0], points[points.length - 1][1]);\n ctx.stroke();\n if (localOptions.fillPolygons) {\n ctx.closePath();\n ctx.fill();\n }\n}\n\nexport function arrow(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, from: Point, to: Point, radius = 5) {\n let angle;\n let x;\n let y;\n ctx.beginPath();\n ctx.moveTo(from[0], from[1]);\n ctx.lineTo(to[0], to[1]);\n angle = Math.atan2(to[1] - from[1], to[0] - from[0]);\n x = radius * Math.cos(angle) + to[0];\n y = radius * Math.sin(angle) + to[1];\n ctx.moveTo(x, y);\n angle += (1.0 / 3.0) * (2 * Math.PI);\n x = radius * Math.cos(angle) + to[0];\n y = radius * Math.sin(angle) + to[1];\n ctx.lineTo(x, y);\n angle += (1.0 / 3.0) * (2 * Math.PI);\n x = radius * Math.cos(angle) + to[0];\n y = radius * Math.sin(angle) + to[1];\n ctx.lineTo(x, y);\n ctx.closePath();\n ctx.stroke();\n ctx.fill();\n}\n", "/** Draw Options\n * - Accessed via `human.draw.options` or provided per each draw method as the drawOptions optional parameter\n */\n\nexport interface DrawOptions {\n /** draw line color */\n color: string,\n /** alpha value used for lines */\n alpha: number,\n /** label color */\n labelColor: string,\n /** label shadow color */\n shadowColor: string,\n /** label font */\n font: string,\n /** line spacing between labels */\n lineHeight: number,\n /** line width for drawn lines */\n lineWidth: number,\n /** size of drawn points */\n pointSize: number,\n /** draw rounded boxes by n pixels */\n roundRect: number,\n /** should points be drawn? */\n drawPoints: boolean,\n /** should labels be drawn? */\n drawLabels: boolean,\n /** should face attention keypoints be highlighted */\n drawAttention: boolean;\n /** should detected gestures be drawn? */\n drawGestures: boolean,\n /** should draw boxes around detection results? */\n drawBoxes: boolean,\n /** should draw polygons from detection points? */\n drawPolygons: boolean,\n /** should draw gaze arrows? */\n drawGaze: boolean,\n /** should fill polygons? */\n fillPolygons: boolean,\n /** use z-coordinate when available */\n useDepth: boolean,\n /** should lines be curved? */\n useCurves: boolean,\n /** string template for face labels */\n faceLabels: string,\n /** string template for body labels */\n bodyLabels: string,\n /** string template for body part labels */\n bodyPartLabels: string,\n /** string template for hand labels */\n handLabels: string,\n /** string template for hand labels */\n fingerLabels: string,\n /** string template for object labels */\n objectLabels: string,\n /** string template for gesture labels */\n gestureLabels: string,\n}\n\n/** currently set draw options {@link DrawOptions} */\nexport const options: DrawOptions = {\n color: 'rgba(173, 216, 230, 0.6)' as string, // 'lightblue' with light alpha channel\n labelColor: 'rgba(173, 216, 230, 1)' as string, // 'lightblue' with dark alpha channel\n shadowColor: 'black' as string,\n alpha: 0.5 as number,\n font: 'small-caps 16px \"Segoe UI\"' as string,\n lineHeight: 18 as number,\n lineWidth: 4 as number,\n pointSize: 2 as number,\n roundRect: 8 as number,\n drawPoints: false as boolean,\n drawLabels: true as boolean,\n drawBoxes: true as boolean,\n drawAttention: true as boolean,\n drawGestures: true as boolean,\n drawPolygons: true as boolean,\n drawGaze: true as boolean,\n fillPolygons: false as boolean,\n useDepth: true as boolean,\n useCurves: false as boolean,\n faceLabels: '' as string,\n bodyLabels: '' as string,\n bodyPartLabels: '' as string,\n objectLabels: '' as string,\n handLabels: '' as string,\n fingerLabels: '' as string,\n gestureLabels: '' as string,\n};\n", "/**\n * BlazeFace, FaceMesh & Iris model implementation\n * See `facemesh.ts` for entry point\n */\n\nexport const meshAnnotations: Record = {\n silhouette: [\n 10, 338, 297, 332, 284, 251, 389, 356, 454, 323, 361, 288,\n 397, 365, 379, 378, 400, 377, 152, 148, 176, 149, 150, 136,\n 172, 58, 132, 93, 234, 127, 162, 21, 54, 103, 67, 109,\n ],\n // lipsUpperOuter: [61, 185, 40, 39, 37, 0, 267, 269, 270, 409, 291], // 11\n // lipsLowerOuter: [146, 91, 181, 84, 17, 314, 405, 321, 375, 291], // 10\n // lipsUpperInner: [78, 191, 80, 81, 82, 13, 312, 311, 310, 415, 308], // 11\n // lipsLowerInner: [78, 95, 88, 178, 87, 14, 317, 402, 318, 324, 308], // 11\n lipsUpperOuter: [185, 40, 39, 37, 0, 267, 269, 270, 409],\n lipsLowerOuter: [61, 146, 91, 181, 84, 17, 314, 405, 321, 375, 291],\n lipsUpperInner: [191, 80, 81, 82, 13, 312, 311, 310, 415],\n lipsLowerInner: [78, 95, 88, 178, 87, 14, 317, 402, 318, 324, 308],\n lipsLowerSemiOuter: [76, 77, 90, 180, 85, 16, 315, 404, 320, 307, 306],\n lipsUpperSemiOuter: [184, 74, 73, 72, 11, 302, 303, 304, 408],\n lipsLowerSemiInner: [62, 96, 89, 179, 86, 15, 316, 403, 319, 325, 292],\n lipsUpperSemiInner: [183, 42, 41, 38, 12, 268, 271, 272, 407],\n rightEyeUpper0: [246, 161, 160, 159, 158, 157, 173], // 7\n rightEyeLower0: [33, 7, 163, 144, 145, 153, 154, 155, 133], // 9\n rightEyeUpper1: [247, 30, 29, 27, 28, 56, 190], // 7\n rightEyeLower1: [130, 25, 110, 24, 23, 22, 26, 112, 243], // 9\n rightEyeUpper2: [113, 225, 224, 223, 222, 221, 189], // 7\n rightEyeLower2: [226, 31, 228, 229, 230, 231, 232, 233, 244], // 9\n rightEyeLower3: [143, 111, 117, 118, 119, 120, 121, 128, 245], // 9\n rightEyebrowUpper: [156, 70, 63, 105, 66, 107, 55, 193], // 8\n rightEyebrowLower: [35, 124, 46, 53, 52, 65], // 6\n rightEyeIris: [473, 474, 475, 476, 477], // 5\n leftEyeUpper0: [466, 388, 387, 386, 385, 384, 398],\n leftEyeLower0: [263, 249, 390, 373, 374, 380, 381, 382, 362],\n leftEyeUpper1: [467, 260, 259, 257, 258, 286, 414],\n leftEyeLower1: [359, 255, 339, 254, 253, 252, 256, 341, 463],\n leftEyeUpper2: [342, 445, 444, 443, 442, 441, 413],\n leftEyeLower2: [446, 261, 448, 449, 450, 451, 452, 453, 464],\n leftEyeLower3: [372, 340, 346, 347, 348, 349, 350, 357, 465],\n leftEyebrowUpper: [383, 300, 293, 334, 296, 336, 285, 417],\n leftEyebrowLower: [265, 353, 276, 283, 282, 295],\n leftEyeIris: [468, 469, 470, 471, 472],\n midwayBetweenEyes: [168],\n noseTip: [1],\n noseBottom: [2],\n noseRightCorner: [98],\n noseLeftCorner: [327],\n rightCheek: [205],\n leftCheek: [425],\n};\n\nexport const meshLandmarks: Record = {\n count: 468,\n mouth: 13,\n symmetryLine: [13, meshAnnotations.midwayBetweenEyes[0]],\n};\n\nexport const blazeFaceLandmarks: Record = {\n leftEye: 0,\n rightEye: 1,\n nose: 2,\n mouth: 3,\n leftEar: 4,\n rightEar: 5,\n symmetryLine: [3, 2],\n};\n\nexport const irisIndices: { key: string, indices: number[] }[] = [ // A mapping from facemesh model keypoints to iris model keypoints.\n { key: 'EyeUpper0', indices: [9, 10, 11, 12, 13, 14, 15] }, // 7 x 3d\n { key: 'EyeUpper1', indices: [25, 26, 27, 28, 29, 30, 31] }, // 7 x 3d\n { key: 'EyeUpper2', indices: [41, 42, 43, 44, 45, 46, 47] }, // 7 x 3d\n { key: 'EyeLower0', indices: [0, 1, 2, 3, 4, 5, 6, 7, 8] }, // 7 x 3d\n { key: 'EyeLower1', indices: [16, 17, 18, 19, 20, 21, 22, 23, 24] }, // 9 x 3d\n { key: 'EyeLower2', indices: [32, 33, 34, 35, 36, 37, 38, 39, 40] }, // 9 x 3d\n { key: 'EyeLower3', indices: [54, 55, 56, 57, 58, 59, 60, 61, 62] }, // 9 x 3d\n { key: 'EyebrowUpper', indices: [63, 64, 65, 66, 67, 68, 69, 70] }, // 8 x 3d\n { key: 'EyebrowLower', indices: [48, 49, 50, 51, 52, 53] }, // 6 x 3d\n];\n\nexport const UV468: [number, number][] = [\n [0.499976992607117, 0.652534008026123],\n [0.500025987625122, 0.547487020492554],\n [0.499974012374878, 0.602371990680695],\n [0.482113003730774, 0.471979022026062],\n [0.500150978565216, 0.527155995368958],\n [0.499909996986389, 0.498252987861633],\n [0.499523013830185, 0.40106201171875],\n [0.289712011814117, 0.380764007568359],\n [0.499954998493195, 0.312398016452789],\n [0.499987006187439, 0.269918978214264],\n [0.500023007392883, 0.107050001621246],\n [0.500023007392883, 0.666234016418457],\n [0.5000159740448, 0.679224014282227],\n [0.500023007392883, 0.692348003387451],\n [0.499976992607117, 0.695277988910675],\n [0.499976992607117, 0.70593398809433],\n [0.499976992607117, 0.719385027885437],\n [0.499976992607117, 0.737019002437592],\n [0.499967992305756, 0.781370997428894],\n [0.499816000461578, 0.562981009483337],\n [0.473773002624512, 0.573909997940063],\n [0.104906998574734, 0.254140973091125],\n [0.365929991006851, 0.409575998783112],\n [0.338757991790771, 0.41302502155304],\n [0.311120003461838, 0.409460008144379],\n [0.274657994508743, 0.389131009578705],\n [0.393361985683441, 0.403706014156342],\n [0.345234006643295, 0.344011008739471],\n [0.370094001293182, 0.346076011657715],\n [0.319321990013123, 0.347265005111694],\n [0.297903001308441, 0.353591024875641],\n [0.24779200553894, 0.410809993743896],\n [0.396889001131058, 0.842755019664764],\n [0.280097991228104, 0.375599980354309],\n [0.106310002505779, 0.399955987930298],\n [0.2099249958992, 0.391353011131287],\n [0.355807989835739, 0.534406006336212],\n [0.471751004457474, 0.65040397644043],\n [0.474155008792877, 0.680191993713379],\n [0.439785003662109, 0.657229006290436],\n [0.414617002010345, 0.66654098033905],\n [0.450374007225037, 0.680860996246338],\n [0.428770989179611, 0.682690978050232],\n [0.374971002340317, 0.727805018424988],\n [0.486716985702515, 0.547628998756409],\n [0.485300987958908, 0.527395009994507],\n [0.257764995098114, 0.314490020275116],\n [0.401223003864288, 0.455172002315521],\n [0.429818987846375, 0.548614978790283],\n [0.421351999044418, 0.533740997314453],\n [0.276895999908447, 0.532056987285614],\n [0.483370006084442, 0.499586999416351],\n [0.33721199631691, 0.282882988452911],\n [0.296391993761063, 0.293242990970612],\n [0.169294998049736, 0.193813979625702],\n [0.447580009698868, 0.302609980106354],\n [0.392390012741089, 0.353887975215912],\n [0.354490011930466, 0.696784019470215],\n [0.067304998636246, 0.730105042457581],\n [0.442739009857178, 0.572826027870178],\n [0.457098007202148, 0.584792017936707],\n [0.381974011659622, 0.694710969924927],\n [0.392388999462128, 0.694203019142151],\n [0.277076005935669, 0.271932005882263],\n [0.422551989555359, 0.563233017921448],\n [0.385919004678726, 0.281364023685455],\n [0.383103013038635, 0.255840003490448],\n [0.331431001424789, 0.119714021682739],\n [0.229923993349075, 0.232002973556519],\n [0.364500999450684, 0.189113974571228],\n [0.229622006416321, 0.299540996551514],\n [0.173287004232407, 0.278747975826263],\n [0.472878992557526, 0.666198015213013],\n [0.446828007698059, 0.668527007102966],\n [0.422762006521225, 0.673889994621277],\n [0.445307999849319, 0.580065965652466],\n [0.388103008270264, 0.693961024284363],\n [0.403039008378983, 0.706539988517761],\n [0.403629004955292, 0.693953037261963],\n [0.460041999816895, 0.557139039039612],\n [0.431158006191254, 0.692366003990173],\n [0.452181994915009, 0.692366003990173],\n [0.475387006998062, 0.692366003990173],\n [0.465828001499176, 0.779190003871918],\n [0.472328990697861, 0.736225962638855],\n [0.473087012767792, 0.717857003211975],\n [0.473122000694275, 0.704625964164734],\n [0.473033010959625, 0.695277988910675],\n [0.427942007780075, 0.695277988910675],\n [0.426479011774063, 0.703539967536926],\n [0.423162013292313, 0.711845993995667],\n [0.4183090031147, 0.720062971115112],\n [0.390094995498657, 0.639572978019714],\n [0.013953999616206, 0.560034036636353],\n [0.499913990497589, 0.58014702796936],\n [0.413199990987778, 0.69539999961853],\n [0.409626007080078, 0.701822996139526],\n [0.468080013990402, 0.601534962654114],\n [0.422728985548019, 0.585985004901886],\n [0.463079988956451, 0.593783974647522],\n [0.37211999297142, 0.47341400384903],\n [0.334562003612518, 0.496073007583618],\n [0.411671012639999, 0.546965003013611],\n [0.242175996303558, 0.14767599105835],\n [0.290776997804642, 0.201445996761322],\n [0.327338010072708, 0.256527006626129],\n [0.399509996175766, 0.748921036720276],\n [0.441727995872498, 0.261676013469696],\n [0.429764986038208, 0.187834024429321],\n [0.412198007106781, 0.108901023864746],\n [0.288955003023148, 0.398952007293701],\n [0.218936994671822, 0.435410976409912],\n [0.41278201341629, 0.398970007896423],\n [0.257135003805161, 0.355440020561218],\n [0.427684992551804, 0.437960982322693],\n [0.448339998722076, 0.536936044692993],\n [0.178560003638268, 0.45755398273468],\n [0.247308000922203, 0.457193970680237],\n [0.286267012357712, 0.467674970626831],\n [0.332827985286713, 0.460712015628815],\n [0.368755996227264, 0.447206974029541],\n [0.398963987827301, 0.432654976844788],\n [0.476410001516342, 0.405806005001068],\n [0.189241006970406, 0.523923993110657],\n [0.228962004184723, 0.348950982093811],\n [0.490725994110107, 0.562400996685028],\n [0.404670000076294, 0.485132992267609],\n [0.019469000399113, 0.401564002037048],\n [0.426243007183075, 0.420431017875671],\n [0.396993011236191, 0.548797011375427],\n [0.266469985246658, 0.376977026462555],\n [0.439121007919312, 0.51895797252655],\n [0.032313998788595, 0.644356966018677],\n [0.419054001569748, 0.387154996395111],\n [0.462783008813858, 0.505746960639954],\n [0.238978996872902, 0.779744982719421],\n [0.198220998048782, 0.831938028335571],\n [0.107550002634525, 0.540755033493042],\n [0.183610007166862, 0.740257024765015],\n [0.134409993886948, 0.333683013916016],\n [0.385764002799988, 0.883153975009918],\n [0.490967005491257, 0.579378008842468],\n [0.382384985685349, 0.508572995662689],\n [0.174399003386497, 0.397670984268188],\n [0.318785011768341, 0.39623498916626],\n [0.343364000320435, 0.400596976280212],\n [0.396100014448166, 0.710216999053955],\n [0.187885001301765, 0.588537991046906],\n [0.430987000465393, 0.944064974784851],\n [0.318993002176285, 0.898285031318665],\n [0.266247987747192, 0.869701027870178],\n [0.500023007392883, 0.190576016902924],\n [0.499976992607117, 0.954452991485596],\n [0.366169989109039, 0.398822009563446],\n [0.393207013607025, 0.39553701877594],\n [0.410373002290726, 0.391080021858215],\n [0.194993004202843, 0.342101991176605],\n [0.388664990663528, 0.362284004688263],\n [0.365961998701096, 0.355970978736877],\n [0.343364000320435, 0.355356991291046],\n [0.318785011768341, 0.35834002494812],\n [0.301414996385574, 0.363156020641327],\n [0.058132998645306, 0.319076001644135],\n [0.301414996385574, 0.387449026107788],\n [0.499987989664078, 0.618434011936188],\n [0.415838003158569, 0.624195992946625],\n [0.445681989192963, 0.566076993942261],\n [0.465844005346298, 0.620640993118286],\n [0.49992299079895, 0.351523995399475],\n [0.288718998432159, 0.819945991039276],\n [0.335278987884521, 0.852819979190826],\n [0.440512001514435, 0.902418971061707],\n [0.128294005990028, 0.791940987110138],\n [0.408771991729736, 0.373893976211548],\n [0.455606997013092, 0.451801002025604],\n [0.499877005815506, 0.908990025520325],\n [0.375436991453171, 0.924192011356354],\n [0.11421000212431, 0.615022003650665],\n [0.448662012815475, 0.695277988910675],\n [0.4480200111866, 0.704632043838501],\n [0.447111994028091, 0.715808033943176],\n [0.444831997156143, 0.730794012546539],\n [0.430011987686157, 0.766808986663818],\n [0.406787008047104, 0.685672998428345],\n [0.400738000869751, 0.681069016456604],\n [0.392399996519089, 0.677703022956848],\n [0.367855995893478, 0.663918972015381],\n [0.247923001646996, 0.601333022117615],\n [0.452769994735718, 0.420849978923798],\n [0.43639200925827, 0.359887003898621],\n [0.416164010763168, 0.368713974952698],\n [0.413385987281799, 0.692366003990173],\n [0.228018000721931, 0.683571994304657],\n [0.468268007040024, 0.352671027183533],\n [0.411361992359161, 0.804327011108398],\n [0.499989002943039, 0.469825029373169],\n [0.479153990745544, 0.442654013633728],\n [0.499974012374878, 0.439637005329132],\n [0.432112008333206, 0.493588984012604],\n [0.499886006116867, 0.866917014122009],\n [0.49991300702095, 0.821729004383087],\n [0.456548988819122, 0.819200992584229],\n [0.344549000263214, 0.745438992977142],\n [0.37890899181366, 0.574010014533997],\n [0.374292999505997, 0.780184984207153],\n [0.319687992334366, 0.570737957954407],\n [0.357154995203018, 0.604269981384277],\n [0.295284003019333, 0.621580958366394],\n [0.447750002145767, 0.862477004528046],\n [0.410986006259918, 0.508723020553589],\n [0.31395098567009, 0.775308012962341],\n [0.354128003120422, 0.812552988529205],\n [0.324548006057739, 0.703992962837219],\n [0.189096003770828, 0.646299958229065],\n [0.279776990413666, 0.71465802192688],\n [0.1338230073452, 0.682700991630554],\n [0.336768001317978, 0.644733011722565],\n [0.429883986711502, 0.466521978378296],\n [0.455527991056442, 0.548622965812683],\n [0.437114000320435, 0.558896005153656],\n [0.467287987470627, 0.529924988746643],\n [0.414712011814117, 0.335219979286194],\n [0.37704598903656, 0.322777986526489],\n [0.344107985496521, 0.320150971412659],\n [0.312875986099243, 0.32233202457428],\n [0.283526003360748, 0.333190023899078],\n [0.241245999932289, 0.382785975933075],\n [0.102986000478268, 0.468762993812561],\n [0.267612010240555, 0.424560010433197],\n [0.297879010438919, 0.433175981044769],\n [0.333433985710144, 0.433878004550934],\n [0.366427004337311, 0.426115989685059],\n [0.396012008190155, 0.416696012020111],\n [0.420121014118195, 0.41022801399231],\n [0.007561000064015, 0.480777025222778],\n [0.432949006557465, 0.569517970085144],\n [0.458638995885849, 0.479089021682739],\n [0.473466008901596, 0.545744001865387],\n [0.476087987422943, 0.563830018043518],\n [0.468472003936768, 0.555056989192963],\n [0.433990985155106, 0.582361996173859],\n [0.483518004417419, 0.562983989715576],\n [0.482482999563217, 0.57784903049469],\n [0.42645001411438, 0.389798998832703],\n [0.438998997211456, 0.39649498462677],\n [0.450067013502121, 0.400434017181396],\n [0.289712011814117, 0.368252992630005],\n [0.276670008897781, 0.363372981548309],\n [0.517862021923065, 0.471948027610779],\n [0.710287988185883, 0.380764007568359],\n [0.526226997375488, 0.573909997940063],\n [0.895093023777008, 0.254140973091125],\n [0.634069979190826, 0.409575998783112],\n [0.661242008209229, 0.41302502155304],\n [0.688880026340485, 0.409460008144379],\n [0.725341975688934, 0.389131009578705],\n [0.606630027294159, 0.40370500087738],\n [0.654766023159027, 0.344011008739471],\n [0.629905998706818, 0.346076011657715],\n [0.680678009986877, 0.347265005111694],\n [0.702096998691559, 0.353591024875641],\n [0.75221198797226, 0.410804986953735],\n [0.602918028831482, 0.842862963676453],\n [0.719901978969574, 0.375599980354309],\n [0.893692970275879, 0.399959981441498],\n [0.790081977844238, 0.391354024410248],\n [0.643998026847839, 0.534487962722778],\n [0.528249025344849, 0.65040397644043],\n [0.525849997997284, 0.680191040039062],\n [0.560214996337891, 0.657229006290436],\n [0.585384011268616, 0.66654098033905],\n [0.549625992774963, 0.680860996246338],\n [0.57122802734375, 0.682691991329193],\n [0.624852001667023, 0.72809898853302],\n [0.513050019741058, 0.547281980514526],\n [0.51509702205658, 0.527251958847046],\n [0.742246985435486, 0.314507007598877],\n [0.598631024360657, 0.454979002475739],\n [0.570338010787964, 0.548575043678284],\n [0.578631997108459, 0.533622980117798],\n [0.723087012767792, 0.532054007053375],\n [0.516445994377136, 0.499638974666595],\n [0.662801027297974, 0.282917976379395],\n [0.70362401008606, 0.293271005153656],\n [0.830704987049103, 0.193813979625702],\n [0.552385985851288, 0.302568018436432],\n [0.607609987258911, 0.353887975215912],\n [0.645429015159607, 0.696707010269165],\n [0.932694971561432, 0.730105042457581],\n [0.557260990142822, 0.572826027870178],\n [0.542901992797852, 0.584792017936707],\n [0.6180260181427, 0.694710969924927],\n [0.607590973377228, 0.694203019142151],\n [0.722943007946014, 0.271963000297546],\n [0.577413976192474, 0.563166975975037],\n [0.614082992076874, 0.281386971473694],\n [0.616907000541687, 0.255886018276215],\n [0.668509006500244, 0.119913995265961],\n [0.770092010498047, 0.232020974159241],\n [0.635536015033722, 0.189248979091644],\n [0.77039098739624, 0.299556016921997],\n [0.826722025871277, 0.278755009174347],\n [0.527121007442474, 0.666198015213013],\n [0.553171992301941, 0.668527007102966],\n [0.577238023281097, 0.673889994621277],\n [0.554691970348358, 0.580065965652466],\n [0.611896991729736, 0.693961024284363],\n [0.59696102142334, 0.706539988517761],\n [0.596370995044708, 0.693953037261963],\n [0.539958000183105, 0.557139039039612],\n [0.568841993808746, 0.692366003990173],\n [0.547818005084991, 0.692366003990173],\n [0.52461302280426, 0.692366003990173],\n [0.534089982509613, 0.779141008853912],\n [0.527670979499817, 0.736225962638855],\n [0.526912987232208, 0.717857003211975],\n [0.526877999305725, 0.704625964164734],\n [0.526966989040375, 0.695277988910675],\n [0.572058022022247, 0.695277988910675],\n [0.573521018028259, 0.703539967536926],\n [0.57683801651001, 0.711845993995667],\n [0.581691026687622, 0.720062971115112],\n [0.609944999217987, 0.639909982681274],\n [0.986046016216278, 0.560034036636353],\n [0.5867999792099, 0.69539999961853],\n [0.590372025966644, 0.701822996139526],\n [0.531915009021759, 0.601536989212036],\n [0.577268004417419, 0.585934996604919],\n [0.536915004253387, 0.593786001205444],\n [0.627542972564697, 0.473352015018463],\n [0.665585994720459, 0.495950996875763],\n [0.588353991508484, 0.546862006187439],\n [0.757824003696442, 0.14767599105835],\n [0.709249973297119, 0.201507985591888],\n [0.672684013843536, 0.256581008434296],\n [0.600408971309662, 0.74900496006012],\n [0.55826598405838, 0.261672019958496],\n [0.570303976535797, 0.187870979309082],\n [0.588165998458862, 0.109044015407562],\n [0.711045026779175, 0.398952007293701],\n [0.781069993972778, 0.435405015945435],\n [0.587247014045715, 0.398931980133057],\n [0.742869973182678, 0.355445981025696],\n [0.572156012058258, 0.437651991844177],\n [0.55186802148819, 0.536570012569427],\n [0.821442008018494, 0.457556009292603],\n [0.752701997756958, 0.457181990146637],\n [0.71375697851181, 0.467626988887787],\n [0.66711300611496, 0.460672974586487],\n [0.631101012229919, 0.447153985500336],\n [0.6008620262146, 0.432473003864288],\n [0.523481011390686, 0.405627012252808],\n [0.810747981071472, 0.523926019668579],\n [0.771045982837677, 0.348959028720856],\n [0.509127020835876, 0.562718033790588],\n [0.595292985439301, 0.485023975372314],\n [0.980530977249146, 0.401564002037048],\n [0.573499977588654, 0.420000016689301],\n [0.602994978427887, 0.548687994480133],\n [0.733529984951019, 0.376977026462555],\n [0.560611009597778, 0.519016981124878],\n [0.967685997486115, 0.644356966018677],\n [0.580985009670258, 0.387160003185272],\n [0.537728011608124, 0.505385041236877],\n [0.760966002941132, 0.779752969741821],\n [0.801778972148895, 0.831938028335571],\n [0.892440974712372, 0.54076099395752],\n [0.816350996494293, 0.740260004997253],\n [0.865594983100891, 0.333687007427216],\n [0.614073991775513, 0.883246004581451],\n [0.508952975273132, 0.579437971115112],\n [0.617941975593567, 0.508316040039062],\n [0.825608015060425, 0.397674977779388],\n [0.681214988231659, 0.39623498916626],\n [0.656635999679565, 0.400596976280212],\n [0.603900015354156, 0.710216999053955],\n [0.81208598613739, 0.588539004325867],\n [0.56801301240921, 0.944564998149872],\n [0.681007981300354, 0.898285031318665],\n [0.733752012252808, 0.869701027870178],\n [0.633830010890961, 0.398822009563446],\n [0.606792986392975, 0.39553701877594],\n [0.589659988880157, 0.391062021255493],\n [0.805015981197357, 0.342108011245728],\n [0.611334979534149, 0.362284004688263],\n [0.634037971496582, 0.355970978736877],\n [0.656635999679565, 0.355356991291046],\n [0.681214988231659, 0.35834002494812],\n [0.698584973812103, 0.363156020641327],\n [0.941866993904114, 0.319076001644135],\n [0.698584973812103, 0.387449026107788],\n [0.584177017211914, 0.624107003211975],\n [0.554318010807037, 0.566076993942261],\n [0.534153997898102, 0.62064003944397],\n [0.711217999458313, 0.819975018501282],\n [0.664629995822906, 0.852871000766754],\n [0.559099972248077, 0.902631998062134],\n [0.871706008911133, 0.791940987110138],\n [0.591234028339386, 0.373893976211548],\n [0.544341027736664, 0.451583981513977],\n [0.624562978744507, 0.924192011356354],\n [0.88577002286911, 0.615028977394104],\n [0.551338016986847, 0.695277988910675],\n [0.551980018615723, 0.704632043838501],\n [0.552887976169586, 0.715808033943176],\n [0.555167973041534, 0.730794012546539],\n [0.569944024085999, 0.767035007476807],\n [0.593203008174896, 0.685675978660583],\n [0.599261999130249, 0.681069016456604],\n [0.607599973678589, 0.677703022956848],\n [0.631937980651855, 0.663500010967255],\n [0.752032995223999, 0.601315021514893],\n [0.547226011753082, 0.420395016670227],\n [0.563543975353241, 0.359827995300293],\n [0.583841025829315, 0.368713974952698],\n [0.586614012718201, 0.692366003990173],\n [0.771915018558502, 0.683578014373779],\n [0.531597018241882, 0.352482974529266],\n [0.588370978832245, 0.804440975189209],\n [0.52079701423645, 0.442565023899078],\n [0.567984998226166, 0.493479013442993],\n [0.543282985687256, 0.819254994392395],\n [0.655317008495331, 0.745514988899231],\n [0.621008992195129, 0.574018001556396],\n [0.625559985637665, 0.78031200170517],\n [0.680198013782501, 0.570719003677368],\n [0.64276397228241, 0.604337990283966],\n [0.704662978649139, 0.621529996395111],\n [0.552012026309967, 0.862591981887817],\n [0.589071989059448, 0.508637011051178],\n [0.685944974422455, 0.775357007980347],\n [0.645735025405884, 0.812640011310577],\n [0.675342977046967, 0.703978002071381],\n [0.810858011245728, 0.646304965019226],\n [0.72012197971344, 0.714666962623596],\n [0.866151988506317, 0.682704985141754],\n [0.663187026977539, 0.644596993923187],\n [0.570082008838654, 0.466325998306274],\n [0.544561982154846, 0.548375964164734],\n [0.562758982181549, 0.558784961700439],\n [0.531987011432648, 0.530140042304993],\n [0.585271000862122, 0.335177004337311],\n [0.622952997684479, 0.32277899980545],\n [0.655896008014679, 0.320163011550903],\n [0.687132000923157, 0.322345972061157],\n [0.716481983661652, 0.333200991153717],\n [0.758756995201111, 0.382786989212036],\n [0.897013008594513, 0.468769013881683],\n [0.732392013072968, 0.424547016620636],\n [0.70211398601532, 0.433162987232208],\n [0.66652500629425, 0.433866024017334],\n [0.633504986763, 0.426087975502014],\n [0.603875994682312, 0.416586995124817],\n [0.579657971858978, 0.409945011138916],\n [0.992439985275269, 0.480777025222778],\n [0.567192018032074, 0.569419980049133],\n [0.54136598110199, 0.478899002075195],\n [0.526564002037048, 0.546118021011353],\n [0.523913025856018, 0.563830018043518],\n [0.531529009342194, 0.555056989192963],\n [0.566035985946655, 0.582329034805298],\n [0.51631098985672, 0.563053965568542],\n [0.5174720287323, 0.577877044677734],\n [0.573594987392426, 0.389806985855103],\n [0.560697972774506, 0.395331978797913],\n [0.549755990505219, 0.399751007556915],\n [0.710287988185883, 0.368252992630005],\n [0.723330020904541, 0.363372981548309],\n];\n\nexport const TRI468: number[] = [\n 127, 34, 139, 11, 0, 37, 232, 231, 120, 72, 37, 39, 128, 121, 47, 232, 121, 128, 104, 69, 67, 175, 171, 148, 157, 154, 155, 118, 50, 101, 73, 39, 40, 9,\n 151, 108, 48, 115, 131, 194, 204, 211, 74, 40, 185, 80, 42, 183, 40, 92, 186, 230, 229, 118, 202, 212, 214, 83, 18, 17, 76, 61, 146, 160, 29, 30, 56,\n 157, 173, 106, 204, 194, 135, 214, 192, 203, 165, 98, 21, 71, 68, 51, 45, 4, 144, 24, 23, 77, 146, 91, 205, 50, 187, 201, 200, 18, 91, 106, 182, 90, 91,\n 181, 85, 84, 17, 206, 203, 36, 148, 171, 140, 92, 40, 39, 193, 189, 244, 159, 158, 28, 247, 246, 161, 236, 3, 196, 54, 68, 104, 193, 168, 8, 117,\n 228, 31, 189, 193, 55, 98, 97, 99, 126, 47, 100, 166, 79, 218, 155, 154, 26, 209, 49, 131, 135, 136, 150, 47, 126, 217, 223, 52, 53, 45, 51, 134, 211,\n 170, 140, 67, 69, 108, 43, 106, 91, 230, 119, 120, 226, 130, 247, 63, 53, 52, 238, 20, 242, 46, 70, 156, 78, 62, 96, 46, 53, 63, 143, 34, 227, 173,\n 155, 133, 123, 117, 111, 44, 125, 19, 236, 134, 51, 216, 206, 205, 154, 153, 22, 39, 37, 167, 200, 201, 208, 36, 142, 100, 57, 212, 202, 20, 60, 99, 28,\n 158, 157, 35, 226, 113, 160, 159, 27, 204, 202, 210, 113, 225, 46, 43, 202, 204, 62, 76, 77, 137, 123, 116, 41, 38, 72, 203, 129, 142, 64, 98, 240, 49,\n 102, 64, 41, 73, 74, 212, 216, 207, 42, 74, 184, 169, 170, 211, 170, 149, 176, 105, 66, 69, 122, 6, 168, 123, 147, 187, 96, 77, 90, 65, 55, 107, 89,\n 90, 180, 101, 100, 120, 63, 105, 104, 93, 137, 227, 15, 86, 85, 129, 102, 49, 14, 87, 86, 55, 8, 9, 100, 47, 121, 145, 23, 22, 88, 89, 179, 6, 122,\n 196, 88, 95, 96, 138, 172, 136, 215, 58, 172, 115, 48, 219, 42, 80, 81, 195, 3, 51, 43, 146, 61, 171, 175, 199, 81, 82, 38, 53, 46, 225, 144, 163, 110,\n 246, 33, 7, 52, 65, 66, 229, 228, 117, 34, 127, 234, 107, 108, 69, 109, 108, 151, 48, 64, 235, 62, 78, 191, 129, 209, 126, 111, 35, 143, 163, 161, 246,\n 117, 123, 50, 222, 65, 52, 19, 125, 141, 221, 55, 65, 3, 195, 197, 25, 7, 33, 220, 237, 44, 70, 71, 139, 122, 193, 245, 247, 130, 33, 71, 21, 162,\n 153, 158, 159, 170, 169, 150, 188, 174, 196, 216, 186, 92, 144, 160, 161, 2, 97, 167, 141, 125, 241, 164, 167, 37, 72, 38, 12, 145, 159, 160, 38, 82, 13,\n 63, 68, 71, 226, 35, 111, 158, 153, 154, 101, 50, 205, 206, 92, 165, 209, 198, 217, 165, 167, 97, 220, 115, 218, 133, 112, 243, 239, 238, 241, 214,\n 135, 169, 190, 173, 133, 171, 208, 32, 125, 44, 237, 86, 87, 178, 85, 86, 179, 84, 85, 180, 83, 84, 181, 201, 83, 182, 137, 93, 132, 76, 62, 183, 61,\n 76, 184, 57, 61, 185, 212, 57, 186, 214, 207, 187, 34, 143, 156, 79, 239, 237, 123, 137, 177, 44, 1, 4, 201, 194, 32, 64, 102, 129, 213, 215, 138, 59,\n 166, 219, 242, 99, 97, 2, 94, 141, 75, 59, 235, 24, 110, 228, 25, 130, 226, 23, 24, 229, 22, 23, 230, 26, 22, 231, 112, 26, 232, 189, 190, 243, 221, 56,\n 190, 28, 56, 221, 27, 28, 222, 29, 27, 223, 30, 29, 224, 247, 30, 225, 238, 79, 20, 166, 59, 75, 60, 75, 240, 147, 177, 215, 20, 79, 166, 187, 147, 213,\n 112, 233, 244, 233, 128, 245, 128, 114, 188, 114, 217, 174, 131, 115, 220, 217, 198, 236, 198, 131, 134, 177, 132, 58, 143, 35, 124, 110, 163, 7, 228,\n 110, 25, 356, 389, 368, 11, 302, 267, 452, 350, 349, 302, 303, 269, 357, 343, 277, 452, 453, 357, 333, 332, 297, 175, 152, 377, 384, 398, 382, 347,\n 348, 330, 303, 304, 270, 9, 336, 337, 278, 279, 360, 418, 262, 431, 304, 408, 409, 310, 415, 407, 270, 409, 410, 450, 348, 347, 422, 430, 434, 313,\n 314, 17, 306, 307, 375, 387, 388, 260, 286, 414, 398, 335, 406, 418, 364, 367, 416, 423, 358, 327, 251, 284, 298, 281, 5, 4, 373, 374, 253, 307, 320,\n 321, 425, 427, 411, 421, 313, 18, 321, 405, 406, 320, 404, 405, 315, 16, 17, 426, 425, 266, 377, 400, 369, 322, 391, 269, 417, 465, 464, 386, 257, 258,\n 466, 260, 388, 456, 399, 419, 284, 332, 333, 417, 285, 8, 346, 340, 261, 413, 441, 285, 327, 460, 328, 355, 371, 329, 392, 439, 438, 382, 341, 256,\n 429, 420, 360, 364, 394, 379, 277, 343, 437, 443, 444, 283, 275, 440, 363, 431, 262, 369, 297, 338, 337, 273, 375, 321, 450, 451, 349, 446, 342, 467,\n 293, 334, 282, 458, 461, 462, 276, 353, 383, 308, 324, 325, 276, 300, 293, 372, 345, 447, 382, 398, 362, 352, 345, 340, 274, 1, 19, 456, 248, 281, 436,\n 427, 425, 381, 256, 252, 269, 391, 393, 200, 199, 428, 266, 330, 329, 287, 273, 422, 250, 462, 328, 258, 286, 384, 265, 353, 342, 387, 259, 257, 424,\n 431, 430, 342, 353, 276, 273, 335, 424, 292, 325, 307, 366, 447, 345, 271, 303, 302, 423, 266, 371, 294, 455, 460, 279, 278, 294, 271, 272, 304, 432,\n 434, 427, 272, 407, 408, 394, 430, 431, 395, 369, 400, 334, 333, 299, 351, 417, 168, 352, 280, 411, 325, 319, 320, 295, 296, 336, 319, 403, 404, 330,\n 348, 349, 293, 298, 333, 323, 454, 447, 15, 16, 315, 358, 429, 279, 14, 15, 316, 285, 336, 9, 329, 349, 350, 374, 380, 252, 318, 402, 403, 6, 197, 419,\n 318, 319, 325, 367, 364, 365, 435, 367, 397, 344, 438, 439, 272, 271, 311, 195, 5, 281, 273, 287, 291, 396, 428, 199, 311, 271, 268, 283, 444, 445,\n 373, 254, 339, 263, 466, 249, 282, 334, 296, 449, 347, 346, 264, 447, 454, 336, 296, 299, 338, 10, 151, 278, 439, 455, 292, 407, 415, 358, 371, 355,\n 340, 345, 372, 390, 249, 466, 346, 347, 280, 442, 443, 282, 19, 94, 370, 441, 442, 295, 248, 419, 197, 263, 255, 359, 440, 275, 274, 300, 383, 368,\n 351, 412, 465, 263, 467, 466, 301, 368, 389, 380, 374, 386, 395, 378, 379, 412, 351, 419, 436, 426, 322, 373, 390, 388, 2, 164, 393, 370, 462, 461,\n 164, 0, 267, 302, 11, 12, 374, 373, 387, 268, 12, 13, 293, 300, 301, 446, 261, 340, 385, 384, 381, 330, 266, 425, 426, 423, 391, 429, 355, 437, 391,\n 327, 326, 440, 457, 438, 341, 382, 362, 459, 457, 461, 434, 430, 394, 414, 463, 362, 396, 369, 262, 354, 461, 457, 316, 403, 402, 315, 404, 403, 314,\n 405, 404, 313, 406, 405, 421, 418, 406, 366, 401, 361, 306, 408, 407, 291, 409, 408, 287, 410, 409, 432, 436, 410, 434, 416, 411, 264, 368, 383, 309,\n 438, 457, 352, 376, 401, 274, 275, 4, 421, 428, 262, 294, 327, 358, 433, 416, 367, 289, 455, 439, 462, 370, 326, 2, 326, 370, 305, 460, 455, 254,\n 449, 448, 255, 261, 446, 253, 450, 449, 252, 451, 450, 256, 452, 451, 341, 453, 452, 413, 464, 463, 441, 413, 414, 258, 442, 441, 257, 443, 442, 259,\n 444, 443, 260, 445, 444, 467, 342, 445, 459, 458, 250, 289, 392, 290, 290, 328, 460, 376, 433, 435, 250, 290, 392, 411, 416, 433, 341, 463, 464, 453,\n 464, 465, 357, 465, 412, 343, 412, 399, 360, 363, 440, 437, 399, 456, 420, 456, 363, 401, 435, 288, 372, 383, 353, 339, 255, 249, 448, 261, 255, 133,\n 243, 190, 133, 155, 112, 33, 246, 247, 33, 130, 25, 398, 384, 286, 362, 398, 414, 362, 463, 341, 263, 359, 467, 263, 249, 255, 466, 467, 260, 75, 60,\n 166, 238, 239, 79, 162, 127, 139, 72, 11, 37, 121, 232, 120, 73, 72, 39, 114, 128, 47, 233, 232, 128, 103, 104, 67, 152, 175, 148, 173, 157, 155,\n 119, 118, 101, 74, 73, 40, 107, 9, 108, 49, 48, 131, 32, 194, 211, 184, 74, 185, 191, 80, 183, 185, 40, 186, 119, 230, 118, 210, 202, 214, 84, 83, 17,\n 77, 76, 146, 161, 160, 30, 190, 56, 173, 182, 106, 194, 138, 135, 192, 129, 203, 98, 54, 21, 68, 5, 51, 4, 145, 144, 23, 90, 77, 91, 207, 205, 187, 83,\n 201, 18, 181, 91, 182, 180, 90, 181, 16, 85, 17, 205, 206, 36, 176, 148, 140, 165, 92, 39, 245, 193, 244, 27, 159, 28, 30, 247, 161, 174, 236, 196,\n 103, 54, 104, 55, 193, 8, 111, 117, 31, 221, 189, 55, 240, 98, 99, 142, 126, 100, 219, 166, 218, 112, 155, 26, 198, 209, 131, 169, 135, 150, 114, 47,\n 217, 224, 223, 53, 220, 45, 134, 32, 211, 140, 109, 67, 108, 146, 43, 91, 231, 230, 120, 113, 226, 247, 105, 63, 52, 241, 238, 242, 124, 46, 156, 95,\n 78, 96, 70, 46, 63, 116, 143, 227, 116, 123, 111, 1, 44, 19, 3, 236, 51, 207, 216, 205, 26, 154, 22, 165, 39, 167, 199, 200, 208, 101, 36, 100, 43,\n 57, 202, 242, 20, 99, 56, 28, 157, 124, 35, 113, 29, 160, 27, 211, 204, 210, 124, 113, 46, 106, 43, 204, 96, 62, 77, 227, 137, 116, 73, 41, 72, 36, 203,\n 142, 235, 64, 240, 48, 49, 64, 42, 41, 74, 214, 212, 207, 183, 42, 184, 210, 169, 211, 140, 170, 176, 104, 105, 69, 193, 122, 168, 50, 123, 187, 89, 96,\n 90, 66, 65, 107, 179, 89, 180, 119, 101, 120, 68, 63, 104, 234, 93, 227, 16, 15, 85, 209, 129, 49, 15, 14, 86, 107, 55, 9, 120, 100, 121, 153, 145, 22,\n 178, 88, 179, 197, 6, 196, 89, 88, 96, 135, 138, 136, 138, 215, 172, 218, 115, 219, 41, 42, 81, 5, 195, 51, 57, 43, 61, 208, 171, 199, 41, 81, 38,\n 224, 53, 225, 24, 144, 110, 105, 52, 66, 118, 229, 117, 227, 34, 234, 66, 107, 69, 10, 109, 151, 219, 48, 235, 183, 62, 191, 142, 129, 126, 116, 111,\n 143, 7, 163, 246, 118, 117, 50, 223, 222, 52, 94, 19, 141, 222, 221, 65, 196, 3, 197, 45, 220, 44, 156, 70, 139, 188, 122, 245, 139, 71, 162, 145,\n 153, 159, 149, 170, 150, 122, 188, 196, 206, 216, 92, 163, 144, 161, 164, 2, 167, 242, 141, 241, 0, 164, 37, 11, 72, 12, 144, 145, 160, 12, 38, 13, 70,\n 63, 71, 31, 226, 111, 157, 158, 154, 36, 101, 205, 203, 206, 165, 126, 209, 217, 98, 165, 97, 237, 220, 218, 237, 239, 241, 210, 214, 169, 140, 171, 32,\n 241, 125, 237, 179, 86, 178, 180, 85, 179, 181, 84, 180, 182, 83, 181, 194, 201, 182, 177, 137, 132, 184, 76, 183, 185, 61, 184, 186, 57, 185, 216, 212,\n 186, 192, 214, 187, 139, 34, 156, 218, 79, 237, 147, 123, 177, 45, 44, 4, 208, 201, 32, 98, 64, 129, 192, 213, 138, 235, 59, 219, 141, 242, 97, 97, 2,\n 141, 240, 75, 235, 229, 24, 228, 31, 25, 226, 230, 23, 229, 231, 22, 230, 232, 26, 231, 233, 112, 232, 244, 189, 243, 189, 221, 190, 222, 28, 221,\n 223, 27, 222, 224, 29, 223, 225, 30, 224, 113, 247, 225, 99, 60, 240, 213, 147, 215, 60, 20, 166, 192, 187, 213, 243, 112, 244, 244, 233, 245, 245,\n 128, 188, 188, 114, 174, 134, 131, 220, 174, 217, 236, 236, 198, 134, 215, 177, 58, 156, 143, 124, 25, 110, 7, 31, 228, 25, 264, 356, 368, 0, 11, 267,\n 451, 452, 349, 267, 302, 269, 350, 357, 277, 350, 452, 357, 299, 333, 297, 396, 175, 377, 381, 384, 382, 280, 347, 330, 269, 303, 270, 151, 9, 337,\n 344, 278, 360, 424, 418, 431, 270, 304, 409, 272, 310, 407, 322, 270, 410, 449, 450, 347, 432, 422, 434, 18, 313, 17, 291, 306, 375, 259, 387, 260,\n 424, 335, 418, 434, 364, 416, 391, 423, 327, 301, 251, 298, 275, 281, 4, 254, 373, 253, 375, 307, 321, 280, 425, 411, 200, 421, 18, 335, 321, 406,\n 321, 320, 405, 314, 315, 17, 423, 426, 266, 396, 377, 369, 270, 322, 269, 413, 417, 464, 385, 386, 258, 248, 456, 419, 298, 284, 333, 168, 417, 8,\n 448, 346, 261, 417, 413, 285, 326, 327, 328, 277, 355, 329, 309, 392, 438, 381, 382, 256, 279, 429, 360, 365, 364, 379, 355, 277, 437, 282, 443, 283,\n 281, 275, 363, 395, 431, 369, 299, 297, 337, 335, 273, 321, 348, 450, 349, 359, 446, 467, 283, 293, 282, 250, 458, 462, 300, 276, 383, 292, 308, 325,\n 283, 276, 293, 264, 372, 447, 346, 352, 340, 354, 274, 19, 363, 456, 281, 426, 436, 425, 380, 381, 252, 267, 269, 393, 421, 200, 428, 371, 266, 329,\n 432, 287, 422, 290, 250, 328, 385, 258, 384, 446, 265, 342, 386, 387, 257, 422, 424, 430, 445, 342, 276, 422, 273, 424, 306, 292, 307, 352, 366, 345,\n 268, 271, 302, 358, 423, 371, 327, 294, 460, 331, 279, 294, 303, 271, 304, 436, 432, 427, 304, 272, 408, 395, 394, 431, 378, 395, 400, 296, 334, 299,\n 6, 351, 168, 376, 352, 411, 307, 325, 320, 285, 295, 336, 320, 319, 404, 329, 330, 349, 334, 293, 333, 366, 323, 447, 316, 15, 315, 331, 358, 279,\n 317, 14, 316, 8, 285, 9, 277, 329, 350, 253, 374, 252, 319, 318, 403, 351, 6, 419, 324, 318, 325, 397, 367, 365, 288, 435, 397, 278, 344, 439, 310,\n 272, 311, 248, 195, 281, 375, 273, 291, 175, 396, 199, 312, 311, 268, 276, 283, 445, 390, 373, 339, 295, 282, 296, 448, 449, 346, 356, 264, 454, 337,\n 336, 299, 337, 338, 151, 294, 278, 455, 308, 292, 415, 429, 358, 355, 265, 340, 372, 388, 390, 466, 352, 346, 280, 295, 442, 282, 354, 19, 370, 285,\n 441, 295, 195, 248, 197, 457, 440, 274, 301, 300, 368, 417, 351, 465, 251, 301, 389, 385, 380, 386, 394, 395, 379, 399, 412, 419, 410, 436, 322, 387,\n 373, 388, 326, 2, 393, 354, 370, 461, 393, 164, 267, 268, 302, 12, 386, 374, 387, 312, 268, 13, 298, 293, 301, 265, 446, 340, 380, 385, 381, 280, 330,\n 425, 322, 426, 391, 420, 429, 437, 393, 391, 326, 344, 440, 438, 458, 459, 461, 364, 434, 394, 428, 396, 262, 274, 354, 457, 317, 316, 402, 316, 315,\n 403, 315, 314, 404, 314, 313, 405, 313, 421, 406, 323, 366, 361, 292, 306, 407, 306, 291, 408, 291, 287, 409, 287, 432, 410, 427, 434, 411, 372, 264,\n 383, 459, 309, 457, 366, 352, 401, 1, 274, 4, 418, 421, 262, 331, 294, 358, 435, 433, 367, 392, 289, 439, 328, 462, 326, 94, 2, 370, 289, 305, 455, 339,\n 254, 448, 359, 255, 446, 254, 253, 449, 253, 252, 450, 252, 256, 451, 256, 341, 452, 414, 413, 463, 286, 441, 414, 286, 258, 441, 258, 257, 442, 257,\n 259, 443, 259, 260, 444, 260, 467, 445, 309, 459, 250, 305, 289, 290, 305, 290, 460, 401, 376, 435, 309, 250, 392, 376, 411, 433, 453, 341, 464, 357,\n 453, 465, 343, 357, 412, 437, 343, 399, 344, 360, 440, 420, 437, 456, 360, 420, 363, 361, 401, 288, 265, 372, 353, 390, 339, 249, 339, 448, 255];\n\nexport const TRI68: number[] = [0, 1, 36, 0, 36, 17, 1, 2, 41, 1, 41, 36, 2, 3, 31, 2, 31, 41, 3, 4, 48, 3, 48, 31, 4, 5, 48, 5, 6, 48, 6, 7, 59, 6, 59, 48, 7, 8, 58, 7, 58, 59,\n 8, 9, 56, 8, 56, 57, 8, 57, 58, 9, 10, 55, 9, 55, 56, 10, 11, 54, 10, 54, 55, 11, 12, 54, 12, 13, 54, 13, 14, 35, 13, 35, 54, 14, 15, 46, 14, 46, 35, 15, 16,\n 45, 15, 45, 46, 16, 26, 45, 17, 36, 18, 18, 37, 19, 18, 36, 37, 19, 38, 20, 19, 37, 38, 20, 39, 21, 20, 38, 39, 21, 39, 27, 22, 42, 23, 22, 27, 42, 23, 43, 24,\n 23, 42, 43, 24, 44, 25, 24, 43, 44, 25, 45, 26, 25, 44, 45, 27, 39, 28, 27, 28, 42, 28, 39, 29, 28, 29, 42, 29, 31, 30, 29, 30, 35, 29, 40, 31, 29, 35, 47, 29,\n 39, 40, 29, 47, 42, 30, 31, 32, 30, 32, 33, 30, 33, 34, 30, 34, 35, 31, 50, 32, 31, 40, 41, 31, 48, 49, 31, 49, 50, 32, 51, 33, 32, 50, 51, 33, 51, 34, 34, 52,\n 35, 34, 51, 52, 35, 46, 47, 35, 52, 53, 35, 53, 54, 36, 41, 37, 37, 40, 38, 37, 41, 40, 38, 40, 39, 42, 47, 43, 43, 47, 44, 44, 46, 45, 44, 47, 46, 48, 60, 49,\n 48, 59, 60, 49, 61, 50, 49, 60, 61, 50, 62, 51, 50, 61, 62, 51, 62, 52, 52, 63, 53, 52, 62, 63, 53, 64, 54, 53, 63, 64, 54, 64, 55, 55, 65, 56, 55, 64, 65, 56,\n 66, 57, 56, 65, 66, 57, 66, 58, 58, 67, 59, 58, 66, 67, 59, 67, 60, 60, 67, 61, 61, 66, 62, 61, 67, 66, 62, 66, 63, 63, 65, 64, 63, 66, 65, 21, 27, 22];\n\nexport const TRI33: number[] = [\n /* eyes */ 0, 8, 7, 7, 8, 1, 2, 10, 9, 9, 10, 3,\n /* brows */ 17, 0, 18, 18, 0, 7, 18, 7, 19, 19, 7, 1, 19, 1, 11, 19, 11, 20, 21, 3, 22, 21, 9, 3, 20, 9, 21, 20, 2, 9, 20, 11, 2,\n /* 4head */ 23, 17, 18, 25, 21, 22, 24, 19, 20, 24, 18, 19, 24, 20, 21, 24, 23, 18, 24, 21, 25,\n /* nose */ 11, 12, 4, 11, 4, 13, 1, 12, 11, 11, 13, 2, 12, 14, 4, 4, 14, 13,\n /* up-lip */ 14, 5, 15, 14, 15, 6, 12, 5, 14, 14, 6, 13,\n /* cheeks */ 8, 12, 1, 2, 13, 10, 8, 26, 12, 10, 13, 27, 26, 5, 12, 13, 6, 27, 0, 26, 8, 10, 27, 3,\n /* chin */ 5, 32, 16, 16, 32, 6, 5, 30, 32, 6, 32, 31,\n /* cont */ 26, 30, 5, 27, 6, 31, 0, 28, 26, 3, 27, 29, 17, 28, 0, 3, 29, 22, 23, 28, 17, 22, 29, 25, 28, 30, 26, 27, 31, 29,\n];\n\nexport const TRI7: number[] = [0, 4, 1, 2, 4, 3, 4, 5, 6];\n\nexport const VTX68: number[] = [\n /* cont */ 127, 234, 132, 58, 172, 150, 149, 148, 152, 377, 378, 379, 397, 288, 361, 454, 356,\n /* brows */ 70, 63, 105, 66, 107, 336, 296, 334, 293, 300,\n /* nose */ 168, 6, 195, 4, 98, 97, 2, 326, 327,\n /* eyes */ 33, 160, 158, 133, 153, 144, 362, 385, 387, 263, 373, 380,\n /* lip */ 57, 40, 37, 0, 267, 270, 287, 321, 314, 17, 84, 91,\n /* mouth */ 78, 81, 13, 311, 308, 402, 14, 178,\n];\n\nexport const VTX33: number[] = [33, 133, 362, 263, 1, 62, 308, 159, 145, 386, 374, 6, 102, 331, 2, 13, 14, 70, 105, 107, 336, 334, 300, 54, 10, 284, 50, 280, 234, 454, 58, 288, 152];\n\nexport const VTX7: number[] = [33, 133, 362, 263, 1, 78, 308];\n\nexport const UV68 = VTX68.map((x) => UV468[x]);\n\nexport const UV33 = VTX33.map((x) => UV468[x]);\n\nexport const UV7 = VTX7.map((x) => UV468[x]);\n\n// https://github.com/tensorflow/tfjs-models/blob/master/face-landmarks-detection/src/constants.ts\n// https://github.com/google/mediapipe/mediapipe/python/solutions/face_mesh_connections.py\n\ntype PairArray = [number, number][];\n\nfunction connectionsToIndices(connections: PairArray) {\n const indices = connections.map((connection) => connection[0]);\n indices.push(connections[connections.length - 1][1]);\n return indices;\n}\n\nexport const pairsLips: PairArray = [\n [61, 146], [146, 91], [91, 181], [181, 84], [84, 17], [17, 314], [314, 405], [405, 321], [321, 375], [375, 291], [61, 185], [185, 40], [40, 39], [39, 37], [37, 0], [0, 267], [267, 269], [269, 270], [270, 409], [409, 291],\n [78, 95], [95, 88], [88, 178], [178, 87], [87, 14], [14, 317], [317, 402], [402, 318], [318, 324], [324, 308], [78, 191], [191, 80], [80, 81], [81, 82], [82, 13], [13, 312], [312, 311], [311, 310], [310, 415], [415, 308],\n];\n\nexport const pairsLeftEye: PairArray = [[263, 249], [249, 390], [390, 373], [373, 374], [374, 380], [380, 381], [381, 382], [382, 362], [263, 466], [466, 388], [388, 387], [387, 386], [386, 385], [385, 384], [384, 398], [398, 362]];\n\nexport const pairsLeftEyebrow: PairArray = [[276, 283], [283, 282], [282, 295], [295, 285], [300, 293], [293, 334], [334, 296], [296, 336]];\n\nexport const pairsLeftIris: PairArray = [[474, 475], [475, 476], [476, 477], [477, 474]];\n\nexport const pairsRightEye: PairArray = [[33, 7], [7, 163], [163, 144], [144, 145], [145, 153], [153, 154], [154, 155], [155, 133], [33, 246], [246, 161], [161, 160], [160, 159], [159, 158], [158, 157], [157, 173], [173, 133]];\n\nexport const pairsRightEyebrow: PairArray = [[46, 53], [53, 52], [52, 65], [65, 55], [70, 63], [63, 105], [105, 66], [66, 107]];\n\nexport const pairsRightIris: PairArray = [[469, 470], [470, 471], [471, 472], [472, 469]];\n\nexport const pairsFaceContour: PairArray = [\n [10, 338], [338, 297], [297, 332], [332, 284], [284, 251], [251, 389],\n [389, 356], [356, 454], [454, 323], [323, 361], [361, 288], [288, 397],\n [397, 365], [365, 379], [379, 378], [378, 400], [400, 377], [377, 152],\n [152, 148], [148, 176], [176, 149], [149, 150], [150, 136], [136, 172],\n [172, 58], [58, 132], [132, 93], [93, 234], [234, 127], [127, 162],\n [162, 21], [21, 54], [54, 103], [103, 67], [67, 109], [109, 10],\n];\n\nexport const contourKeypoints = {\n lips: connectionsToIndices(pairsLips),\n leftEye: connectionsToIndices(pairsLeftEye),\n leftEyebrow: connectionsToIndices(pairsLeftEyebrow),\n leftIris: connectionsToIndices(pairsLeftIris),\n rightEye: connectionsToIndices(pairsRightEye),\n rightEyebrow: connectionsToIndices(pairsRightEyebrow),\n rightIris: connectionsToIndices(pairsRightIris),\n faceOval: connectionsToIndices(pairsFaceContour),\n};\n\nexport const pairsFaceMesh: PairArray = [\n [127, 34], [34, 139], [139, 127], [11, 0], [0, 37], [37, 11],\n [232, 231], [231, 120], [120, 232], [72, 37], [37, 39], [39, 72],\n [128, 121], [121, 47], [47, 128], [232, 121], [121, 128], [128, 232],\n [104, 69], [69, 67], [67, 104], [175, 171], [171, 148], [148, 175],\n [118, 50], [50, 101], [101, 118], [73, 39], [39, 40], [40, 73],\n [9, 151], [151, 108], [108, 9], [48, 115], [115, 131], [131, 48],\n [194, 204], [204, 211], [211, 194], [74, 40], [40, 185], [185, 74],\n [80, 42], [42, 183], [183, 80], [40, 92], [92, 186], [186, 40],\n [230, 229], [229, 118], [118, 230], [202, 212], [212, 214], [214, 202],\n [83, 18], [18, 17], [17, 83], [76, 61], [61, 146], [146, 76],\n [160, 29], [29, 30], [30, 160], [56, 157], [157, 173], [173, 56],\n [106, 204], [204, 194], [194, 106], [135, 214], [214, 192], [192, 135],\n [203, 165], [165, 98], [98, 203], [21, 71], [71, 68], [68, 21],\n [51, 45], [45, 4], [4, 51], [144, 24], [24, 23], [23, 144],\n [77, 146], [146, 91], [91, 77], [205, 50], [50, 187], [187, 205],\n [201, 200], [200, 18], [18, 201], [91, 106], [106, 182], [182, 91],\n [90, 91], [91, 181], [181, 90], [85, 84], [84, 17], [17, 85],\n [206, 203], [203, 36], [36, 206], [148, 171], [171, 140], [140, 148],\n [92, 40], [40, 39], [39, 92], [193, 189], [189, 244], [244, 193],\n [159, 158], [158, 28], [28, 159], [247, 246], [246, 161], [161, 247],\n [236, 3], [3, 196], [196, 236], [54, 68], [68, 104], [104, 54],\n [193, 168], [168, 8], [8, 193], [117, 228], [228, 31], [31, 117],\n [189, 193], [193, 55], [55, 189], [98, 97], [97, 99], [99, 98],\n [126, 47], [47, 100], [100, 126], [166, 79], [79, 218], [218, 166],\n [155, 154], [154, 26], [26, 155], [209, 49], [49, 131], [131, 209],\n [135, 136], [136, 150], [150, 135], [47, 126], [126, 217], [217, 47],\n [223, 52], [52, 53], [53, 223], [45, 51], [51, 134], [134, 45],\n [211, 170], [170, 140], [140, 211], [67, 69], [69, 108], [108, 67],\n [43, 106], [106, 91], [91, 43], [230, 119], [119, 120], [120, 230],\n [226, 130], [130, 247], [247, 226], [63, 53], [53, 52], [52, 63],\n [238, 20], [20, 242], [242, 238], [46, 70], [70, 156], [156, 46],\n [78, 62], [62, 96], [96, 78], [46, 53], [53, 63], [63, 46],\n [143, 34], [34, 227], [227, 143], [123, 117], [117, 111], [111, 123],\n [44, 125], [125, 19], [19, 44], [236, 134], [134, 51], [51, 236],\n [216, 206], [206, 205], [205, 216], [154, 153], [153, 22], [22, 154],\n [39, 37], [37, 167], [167, 39], [200, 201], [201, 208], [208, 200],\n [36, 142], [142, 100], [100, 36], [57, 212], [212, 202], [202, 57],\n [20, 60], [60, 99], [99, 20], [28, 158], [158, 157], [157, 28],\n [35, 226], [226, 113], [113, 35], [160, 159], [159, 27], [27, 160],\n [204, 202], [202, 210], [210, 204], [113, 225], [225, 46], [46, 113],\n [43, 202], [202, 204], [204, 43], [62, 76], [76, 77], [77, 62],\n [137, 123], [123, 116], [116, 137], [41, 38], [38, 72], [72, 41],\n [203, 129], [129, 142], [142, 203], [64, 98], [98, 240], [240, 64],\n [49, 102], [102, 64], [64, 49], [41, 73], [73, 74], [74, 41],\n [212, 216], [216, 207], [207, 212], [42, 74], [74, 184], [184, 42],\n [169, 170], [170, 211], [211, 169], [170, 149], [149, 176], [176, 170],\n [105, 66], [66, 69], [69, 105], [122, 6], [6, 168], [168, 122],\n [123, 147], [147, 187], [187, 123], [96, 77], [77, 90], [90, 96],\n [65, 55], [55, 107], [107, 65], [89, 90], [90, 180], [180, 89],\n [101, 100], [100, 120], [120, 101], [63, 105], [105, 104], [104, 63],\n [93, 137], [137, 227], [227, 93], [15, 86], [86, 85], [85, 15],\n [129, 102], [102, 49], [49, 129], [14, 87], [87, 86], [86, 14],\n [55, 8], [8, 9], [9, 55], [100, 47], [47, 121], [121, 100],\n [145, 23], [23, 22], [22, 145], [88, 89], [89, 179], [179, 88],\n [6, 122], [122, 196], [196, 6], [88, 95], [95, 96], [96, 88],\n [138, 172], [172, 136], [136, 138], [215, 58], [58, 172], [172, 215],\n [115, 48], [48, 219], [219, 115], [42, 80], [80, 81], [81, 42],\n [195, 3], [3, 51], [51, 195], [43, 146], [146, 61], [61, 43],\n [171, 175], [175, 199], [199, 171], [81, 82], [82, 38], [38, 81],\n [53, 46], [46, 225], [225, 53], [144, 163], [163, 110], [110, 144],\n [52, 65], [65, 66], [66, 52], [229, 228], [228, 117], [117, 229],\n [34, 127], [127, 234], [234, 34], [107, 108], [108, 69], [69, 107],\n [109, 108], [108, 151], [151, 109], [48, 64], [64, 235], [235, 48],\n [62, 78], [78, 191], [191, 62], [129, 209], [209, 126], [126, 129],\n [111, 35], [35, 143], [143, 111], [117, 123], [123, 50], [50, 117],\n [222, 65], [65, 52], [52, 222], [19, 125], [125, 141], [141, 19],\n [221, 55], [55, 65], [65, 221], [3, 195], [195, 197], [197, 3],\n [25, 7], [7, 33], [33, 25], [220, 237], [237, 44], [44, 220],\n [70, 71], [71, 139], [139, 70], [122, 193], [193, 245], [245, 122],\n [247, 130], [130, 33], [33, 247], [71, 21], [21, 162], [162, 71],\n [170, 169], [169, 150], [150, 170], [188, 174], [174, 196], [196, 188],\n [216, 186], [186, 92], [92, 216], [2, 97], [97, 167], [167, 2],\n [141, 125], [125, 241], [241, 141], [164, 167], [167, 37], [37, 164],\n [72, 38], [38, 12], [12, 72], [38, 82], [82, 13], [13, 38],\n [63, 68], [68, 71], [71, 63], [226, 35], [35, 111], [111, 226],\n [101, 50], [50, 205], [205, 101], [206, 92], [92, 165], [165, 206],\n [209, 198], [198, 217], [217, 209], [165, 167], [167, 97], [97, 165],\n [220, 115], [115, 218], [218, 220], [133, 112], [112, 243], [243, 133],\n [239, 238], [238, 241], [241, 239], [214, 135], [135, 169], [169, 214],\n [190, 173], [173, 133], [133, 190], [171, 208], [208, 32], [32, 171],\n [125, 44], [44, 237], [237, 125], [86, 87], [87, 178], [178, 86],\n [85, 86], [86, 179], [179, 85], [84, 85], [85, 180], [180, 84],\n [83, 84], [84, 181], [181, 83], [201, 83], [83, 182], [182, 201],\n [137, 93], [93, 132], [132, 137], [76, 62], [62, 183], [183, 76],\n [61, 76], [76, 184], [184, 61], [57, 61], [61, 185], [185, 57],\n [212, 57], [57, 186], [186, 212], [214, 207], [207, 187], [187, 214],\n [34, 143], [143, 156], [156, 34], [79, 239], [239, 237], [237, 79],\n [123, 137], [137, 177], [177, 123], [44, 1], [1, 4], [4, 44],\n [201, 194], [194, 32], [32, 201], [64, 102], [102, 129], [129, 64],\n [213, 215], [215, 138], [138, 213], [59, 166], [166, 219], [219, 59],\n [242, 99], [99, 97], [97, 242], [2, 94], [94, 141], [141, 2],\n [75, 59], [59, 235], [235, 75], [24, 110], [110, 228], [228, 24],\n [25, 130], [130, 226], [226, 25], [23, 24], [24, 229], [229, 23],\n [22, 23], [23, 230], [230, 22], [26, 22], [22, 231], [231, 26],\n [112, 26], [26, 232], [232, 112], [189, 190], [190, 243], [243, 189],\n [221, 56], [56, 190], [190, 221], [28, 56], [56, 221], [221, 28],\n [27, 28], [28, 222], [222, 27], [29, 27], [27, 223], [223, 29],\n [30, 29], [29, 224], [224, 30], [247, 30], [30, 225], [225, 247],\n [238, 79], [79, 20], [20, 238], [166, 59], [59, 75], [75, 166],\n [60, 75], [75, 240], [240, 60], [147, 177], [177, 215], [215, 147],\n [20, 79], [79, 166], [166, 20], [187, 147], [147, 213], [213, 187],\n [112, 233], [233, 244], [244, 112], [233, 128], [128, 245], [245, 233],\n [128, 114], [114, 188], [188, 128], [114, 217], [217, 174], [174, 114],\n [131, 115], [115, 220], [220, 131], [217, 198], [198, 236], [236, 217],\n [198, 131], [131, 134], [134, 198], [177, 132], [132, 58], [58, 177],\n [143, 35], [35, 124], [124, 143], [110, 163], [163, 7], [7, 110],\n [228, 110], [110, 25], [25, 228], [356, 389], [389, 368], [368, 356],\n [11, 302], [302, 267], [267, 11], [452, 350], [350, 349], [349, 452],\n [302, 303], [303, 269], [269, 302], [357, 343], [343, 277], [277, 357],\n [452, 453], [453, 357], [357, 452], [333, 332], [332, 297], [297, 333],\n [175, 152], [152, 377], [377, 175], [347, 348], [348, 330], [330, 347],\n [303, 304], [304, 270], [270, 303], [9, 336], [336, 337], [337, 9],\n [278, 279], [279, 360], [360, 278], [418, 262], [262, 431], [431, 418],\n [304, 408], [408, 409], [409, 304], [310, 415], [415, 407], [407, 310],\n [270, 409], [409, 410], [410, 270], [450, 348], [348, 347], [347, 450],\n [422, 430], [430, 434], [434, 422], [313, 314], [314, 17], [17, 313],\n [306, 307], [307, 375], [375, 306], [387, 388], [388, 260], [260, 387],\n [286, 414], [414, 398], [398, 286], [335, 406], [406, 418], [418, 335],\n [364, 367], [367, 416], [416, 364], [423, 358], [358, 327], [327, 423],\n [251, 284], [284, 298], [298, 251], [281, 5], [5, 4], [4, 281],\n [373, 374], [374, 253], [253, 373], [307, 320], [320, 321], [321, 307],\n [425, 427], [427, 411], [411, 425], [421, 313], [313, 18], [18, 421],\n [321, 405], [405, 406], [406, 321], [320, 404], [404, 405], [405, 320],\n [315, 16], [16, 17], [17, 315], [426, 425], [425, 266], [266, 426],\n [377, 400], [400, 369], [369, 377], [322, 391], [391, 269], [269, 322],\n [417, 465], [465, 464], [464, 417], [386, 257], [257, 258], [258, 386],\n [466, 260], [260, 388], [388, 466], [456, 399], [399, 419], [419, 456],\n [284, 332], [332, 333], [333, 284], [417, 285], [285, 8], [8, 417],\n [346, 340], [340, 261], [261, 346], [413, 441], [441, 285], [285, 413],\n [327, 460], [460, 328], [328, 327], [355, 371], [371, 329], [329, 355],\n [392, 439], [439, 438], [438, 392], [382, 341], [341, 256], [256, 382],\n [429, 420], [420, 360], [360, 429], [364, 394], [394, 379], [379, 364],\n [277, 343], [343, 437], [437, 277], [443, 444], [444, 283], [283, 443],\n [275, 440], [440, 363], [363, 275], [431, 262], [262, 369], [369, 431],\n [297, 338], [338, 337], [337, 297], [273, 375], [375, 321], [321, 273],\n [450, 451], [451, 349], [349, 450], [446, 342], [342, 467], [467, 446],\n [293, 334], [334, 282], [282, 293], [458, 461], [461, 462], [462, 458],\n [276, 353], [353, 383], [383, 276], [308, 324], [324, 325], [325, 308],\n [276, 300], [300, 293], [293, 276], [372, 345], [345, 447], [447, 372],\n [352, 345], [345, 340], [340, 352], [274, 1], [1, 19], [19, 274],\n [456, 248], [248, 281], [281, 456], [436, 427], [427, 425], [425, 436],\n [381, 256], [256, 252], [252, 381], [269, 391], [391, 393], [393, 269],\n [200, 199], [199, 428], [428, 200], [266, 330], [330, 329], [329, 266],\n [287, 273], [273, 422], [422, 287], [250, 462], [462, 328], [328, 250],\n [258, 286], [286, 384], [384, 258], [265, 353], [353, 342], [342, 265],\n [387, 259], [259, 257], [257, 387], [424, 431], [431, 430], [430, 424],\n [342, 353], [353, 276], [276, 342], [273, 335], [335, 424], [424, 273],\n [292, 325], [325, 307], [307, 292], [366, 447], [447, 345], [345, 366],\n [271, 303], [303, 302], [302, 271], [423, 266], [266, 371], [371, 423],\n [294, 455], [455, 460], [460, 294], [279, 278], [278, 294], [294, 279],\n [271, 272], [272, 304], [304, 271], [432, 434], [434, 427], [427, 432],\n [272, 407], [407, 408], [408, 272], [394, 430], [430, 431], [431, 394],\n [395, 369], [369, 400], [400, 395], [334, 333], [333, 299], [299, 334],\n [351, 417], [417, 168], [168, 351], [352, 280], [280, 411], [411, 352],\n [325, 319], [319, 320], [320, 325], [295, 296], [296, 336], [336, 295],\n [319, 403], [403, 404], [404, 319], [330, 348], [348, 349], [349, 330],\n [293, 298], [298, 333], [333, 293], [323, 454], [454, 447], [447, 323],\n [15, 16], [16, 315], [315, 15], [358, 429], [429, 279], [279, 358],\n [14, 15], [15, 316], [316, 14], [285, 336], [336, 9], [9, 285],\n [329, 349], [349, 350], [350, 329], [374, 380], [380, 252], [252, 374],\n [318, 402], [402, 403], [403, 318], [6, 197], [197, 419], [419, 6],\n [318, 319], [319, 325], [325, 318], [367, 364], [364, 365], [365, 367],\n [435, 367], [367, 397], [397, 435], [344, 438], [438, 439], [439, 344],\n [272, 271], [271, 311], [311, 272], [195, 5], [5, 281], [281, 195],\n [273, 287], [287, 291], [291, 273], [396, 428], [428, 199], [199, 396],\n [311, 271], [271, 268], [268, 311], [283, 444], [444, 445], [445, 283],\n [373, 254], [254, 339], [339, 373], [282, 334], [334, 296], [296, 282],\n [449, 347], [347, 346], [346, 449], [264, 447], [447, 454], [454, 264],\n [336, 296], [296, 299], [299, 336], [338, 10], [10, 151], [151, 338],\n [278, 439], [439, 455], [455, 278], [292, 407], [407, 415], [415, 292],\n [358, 371], [371, 355], [355, 358], [340, 345], [345, 372], [372, 340],\n [346, 347], [347, 280], [280, 346], [442, 443], [443, 282], [282, 442],\n [19, 94], [94, 370], [370, 19], [441, 442], [442, 295], [295, 441],\n [248, 419], [419, 197], [197, 248], [263, 255], [255, 359], [359, 263],\n [440, 275], [275, 274], [274, 440], [300, 383], [383, 368], [368, 300],\n [351, 412], [412, 465], [465, 351], [263, 467], [467, 466], [466, 263],\n [301, 368], [368, 389], [389, 301], [395, 378], [378, 379], [379, 395],\n [412, 351], [351, 419], [419, 412], [436, 426], [426, 322], [322, 436],\n [2, 164], [164, 393], [393, 2], [370, 462], [462, 461], [461, 370],\n [164, 0], [0, 267], [267, 164], [302, 11], [11, 12], [12, 302],\n [268, 12], [12, 13], [13, 268], [293, 300], [300, 301], [301, 293],\n [446, 261], [261, 340], [340, 446], [330, 266], [266, 425], [425, 330],\n [426, 423], [423, 391], [391, 426], [429, 355], [355, 437], [437, 429],\n [391, 327], [327, 326], [326, 391], [440, 457], [457, 438], [438, 440],\n [341, 382], [382, 362], [362, 341], [459, 457], [457, 461], [461, 459],\n [434, 430], [430, 394], [394, 434], [414, 463], [463, 362], [362, 414],\n [396, 369], [369, 262], [262, 396], [354, 461], [461, 457], [457, 354],\n [316, 403], [403, 402], [402, 316], [315, 404], [404, 403], [403, 315],\n [314, 405], [405, 404], [404, 314], [313, 406], [406, 405], [405, 313],\n [421, 418], [418, 406], [406, 421], [366, 401], [401, 361], [361, 366],\n [306, 408], [408, 407], [407, 306], [291, 409], [409, 408], [408, 291],\n [287, 410], [410, 409], [409, 287], [432, 436], [436, 410], [410, 432],\n [434, 416], [416, 411], [411, 434], [264, 368], [368, 383], [383, 264],\n [309, 438], [438, 457], [457, 309], [352, 376], [376, 401], [401, 352],\n [274, 275], [275, 4], [4, 274], [421, 428], [428, 262], [262, 421],\n [294, 327], [327, 358], [358, 294], [433, 416], [416, 367], [367, 433],\n [289, 455], [455, 439], [439, 289], [462, 370], [370, 326], [326, 462],\n [2, 326], [326, 370], [370, 2], [305, 460], [460, 455], [455, 305],\n [254, 449], [449, 448], [448, 254], [255, 261], [261, 446], [446, 255],\n [253, 450], [450, 449], [449, 253], [252, 451], [451, 450], [450, 252],\n [256, 452], [452, 451], [451, 256], [341, 453], [453, 452], [452, 341],\n [413, 464], [464, 463], [463, 413], [441, 413], [413, 414], [414, 441],\n [258, 442], [442, 441], [441, 258], [257, 443], [443, 442], [442, 257],\n [259, 444], [444, 443], [443, 259], [260, 445], [445, 444], [444, 260],\n [467, 342], [342, 445], [445, 467], [459, 458], [458, 250], [250, 459],\n [289, 392], [392, 290], [290, 289], [290, 328], [328, 460], [460, 290],\n [376, 433], [433, 435], [435, 376], [250, 290], [290, 392], [392, 250],\n [411, 416], [416, 433], [433, 411], [341, 463], [463, 464], [464, 341],\n [453, 464], [464, 465], [465, 453], [357, 465], [465, 412], [412, 357],\n [343, 412], [412, 399], [399, 343], [360, 363], [363, 440], [440, 360],\n [437, 399], [399, 456], [456, 437], [420, 456], [456, 363], [363, 420],\n [401, 435], [435, 288], [288, 401], [372, 383], [383, 353], [353, 372],\n [339, 255], [255, 249], [249, 339], [448, 261], [261, 255], [255, 448],\n [133, 243], [243, 190], [190, 133], [133, 155], [155, 112], [112, 133],\n [33, 246], [246, 247], [247, 33], [33, 130], [130, 25], [25, 33],\n [398, 384], [384, 286], [286, 398], [362, 398], [398, 414], [414, 362],\n [362, 463], [463, 341], [341, 362], [263, 359], [359, 467], [467, 263],\n [263, 249], [249, 255], [255, 263], [466, 467], [467, 260], [260, 466],\n [75, 60], [60, 166], [166, 75], [238, 239], [239, 79], [79, 238],\n [162, 127], [127, 139], [139, 162], [72, 11], [11, 37], [37, 72],\n [121, 232], [232, 120], [120, 121], [73, 72], [72, 39], [39, 73],\n [114, 128], [128, 47], [47, 114], [233, 232], [232, 128], [128, 233],\n [103, 104], [104, 67], [67, 103], [152, 175], [175, 148], [148, 152],\n [119, 118], [118, 101], [101, 119], [74, 73], [73, 40], [40, 74],\n [107, 9], [9, 108], [108, 107], [49, 48], [48, 131], [131, 49],\n [32, 194], [194, 211], [211, 32], [184, 74], [74, 185], [185, 184],\n [191, 80], [80, 183], [183, 191], [185, 40], [40, 186], [186, 185],\n [119, 230], [230, 118], [118, 119], [210, 202], [202, 214], [214, 210],\n [84, 83], [83, 17], [17, 84], [77, 76], [76, 146], [146, 77],\n [161, 160], [160, 30], [30, 161], [190, 56], [56, 173], [173, 190],\n [182, 106], [106, 194], [194, 182], [138, 135], [135, 192], [192, 138],\n [129, 203], [203, 98], [98, 129], [54, 21], [21, 68], [68, 54],\n [5, 51], [51, 4], [4, 5], [145, 144], [144, 23], [23, 145],\n [90, 77], [77, 91], [91, 90], [207, 205], [205, 187], [187, 207],\n [83, 201], [201, 18], [18, 83], [181, 91], [91, 182], [182, 181],\n [180, 90], [90, 181], [181, 180], [16, 85], [85, 17], [17, 16],\n [205, 206], [206, 36], [36, 205], [176, 148], [148, 140], [140, 176],\n [165, 92], [92, 39], [39, 165], [245, 193], [193, 244], [244, 245],\n [27, 159], [159, 28], [28, 27], [30, 247], [247, 161], [161, 30],\n [174, 236], [236, 196], [196, 174], [103, 54], [54, 104], [104, 103],\n [55, 193], [193, 8], [8, 55], [111, 117], [117, 31], [31, 111],\n [221, 189], [189, 55], [55, 221], [240, 98], [98, 99], [99, 240],\n [142, 126], [126, 100], [100, 142], [219, 166], [166, 218], [218, 219],\n [112, 155], [155, 26], [26, 112], [198, 209], [209, 131], [131, 198],\n [169, 135], [135, 150], [150, 169], [114, 47], [47, 217], [217, 114],\n [224, 223], [223, 53], [53, 224], [220, 45], [45, 134], [134, 220],\n [32, 211], [211, 140], [140, 32], [109, 67], [67, 108], [108, 109],\n [146, 43], [43, 91], [91, 146], [231, 230], [230, 120], [120, 231],\n [113, 226], [226, 247], [247, 113], [105, 63], [63, 52], [52, 105],\n [241, 238], [238, 242], [242, 241], [124, 46], [46, 156], [156, 124],\n [95, 78], [78, 96], [96, 95], [70, 46], [46, 63], [63, 70],\n [116, 143], [143, 227], [227, 116], [116, 123], [123, 111], [111, 116],\n [1, 44], [44, 19], [19, 1], [3, 236], [236, 51], [51, 3],\n [207, 216], [216, 205], [205, 207], [26, 154], [154, 22], [22, 26],\n [165, 39], [39, 167], [167, 165], [199, 200], [200, 208], [208, 199],\n [101, 36], [36, 100], [100, 101], [43, 57], [57, 202], [202, 43],\n [242, 20], [20, 99], [99, 242], [56, 28], [28, 157], [157, 56],\n [124, 35], [35, 113], [113, 124], [29, 160], [160, 27], [27, 29],\n [211, 204], [204, 210], [210, 211], [124, 113], [113, 46], [46, 124],\n [106, 43], [43, 204], [204, 106], [96, 62], [62, 77], [77, 96],\n [227, 137], [137, 116], [116, 227], [73, 41], [41, 72], [72, 73],\n [36, 203], [203, 142], [142, 36], [235, 64], [64, 240], [240, 235],\n [48, 49], [49, 64], [64, 48], [42, 41], [41, 74], [74, 42],\n [214, 212], [212, 207], [207, 214], [183, 42], [42, 184], [184, 183],\n [210, 169], [169, 211], [211, 210], [140, 170], [170, 176], [176, 140],\n [104, 105], [105, 69], [69, 104], [193, 122], [122, 168], [168, 193],\n [50, 123], [123, 187], [187, 50], [89, 96], [96, 90], [90, 89],\n [66, 65], [65, 107], [107, 66], [179, 89], [89, 180], [180, 179],\n [119, 101], [101, 120], [120, 119], [68, 63], [63, 104], [104, 68],\n [234, 93], [93, 227], [227, 234], [16, 15], [15, 85], [85, 16],\n [209, 129], [129, 49], [49, 209], [15, 14], [14, 86], [86, 15],\n [107, 55], [55, 9], [9, 107], [120, 100], [100, 121], [121, 120],\n [153, 145], [145, 22], [22, 153], [178, 88], [88, 179], [179, 178],\n [197, 6], [6, 196], [196, 197], [89, 88], [88, 96], [96, 89],\n [135, 138], [138, 136], [136, 135], [138, 215], [215, 172], [172, 138],\n [218, 115], [115, 219], [219, 218], [41, 42], [42, 81], [81, 41],\n [5, 195], [195, 51], [51, 5], [57, 43], [43, 61], [61, 57],\n [208, 171], [171, 199], [199, 208], [41, 81], [81, 38], [38, 41],\n [224, 53], [53, 225], [225, 224], [24, 144], [144, 110], [110, 24],\n [105, 52], [52, 66], [66, 105], [118, 229], [229, 117], [117, 118],\n [227, 34], [34, 234], [234, 227], [66, 107], [107, 69], [69, 66],\n [10, 109], [109, 151], [151, 10], [219, 48], [48, 235], [235, 219],\n [183, 62], [62, 191], [191, 183], [142, 129], [129, 126], [126, 142],\n [116, 111], [111, 143], [143, 116], [118, 117], [117, 50], [50, 118],\n [223, 222], [222, 52], [52, 223], [94, 19], [19, 141], [141, 94],\n [222, 221], [221, 65], [65, 222], [196, 3], [3, 197], [197, 196],\n [45, 220], [220, 44], [44, 45], [156, 70], [70, 139], [139, 156],\n [188, 122], [122, 245], [245, 188], [139, 71], [71, 162], [162, 139],\n [149, 170], [170, 150], [150, 149], [122, 188], [188, 196], [196, 122],\n [206, 216], [216, 92], [92, 206], [164, 2], [2, 167], [167, 164],\n [242, 141], [141, 241], [241, 242], [0, 164], [164, 37], [37, 0],\n [11, 72], [72, 12], [12, 11], [12, 38], [38, 13], [13, 12],\n [70, 63], [63, 71], [71, 70], [31, 226], [226, 111], [111, 31],\n [36, 101], [101, 205], [205, 36], [203, 206], [206, 165], [165, 203],\n [126, 209], [209, 217], [217, 126], [98, 165], [165, 97], [97, 98],\n [237, 220], [220, 218], [218, 237], [237, 239], [239, 241], [241, 237],\n [210, 214], [214, 169], [169, 210], [140, 171], [171, 32], [32, 140],\n [241, 125], [125, 237], [237, 241], [179, 86], [86, 178], [178, 179],\n [180, 85], [85, 179], [179, 180], [181, 84], [84, 180], [180, 181],\n [182, 83], [83, 181], [181, 182], [194, 201], [201, 182], [182, 194],\n [177, 137], [137, 132], [132, 177], [184, 76], [76, 183], [183, 184],\n [185, 61], [61, 184], [184, 185], [186, 57], [57, 185], [185, 186],\n [216, 212], [212, 186], [186, 216], [192, 214], [214, 187], [187, 192],\n [139, 34], [34, 156], [156, 139], [218, 79], [79, 237], [237, 218],\n [147, 123], [123, 177], [177, 147], [45, 44], [44, 4], [4, 45],\n [208, 201], [201, 32], [32, 208], [98, 64], [64, 129], [129, 98],\n [192, 213], [213, 138], [138, 192], [235, 59], [59, 219], [219, 235],\n [141, 242], [242, 97], [97, 141], [97, 2], [2, 141], [141, 97],\n [240, 75], [75, 235], [235, 240], [229, 24], [24, 228], [228, 229],\n [31, 25], [25, 226], [226, 31], [230, 23], [23, 229], [229, 230],\n [231, 22], [22, 230], [230, 231], [232, 26], [26, 231], [231, 232],\n [233, 112], [112, 232], [232, 233], [244, 189], [189, 243], [243, 244],\n [189, 221], [221, 190], [190, 189], [222, 28], [28, 221], [221, 222],\n [223, 27], [27, 222], [222, 223], [224, 29], [29, 223], [223, 224],\n [225, 30], [30, 224], [224, 225], [113, 247], [247, 225], [225, 113],\n [99, 60], [60, 240], [240, 99], [213, 147], [147, 215], [215, 213],\n [60, 20], [20, 166], [166, 60], [192, 187], [187, 213], [213, 192],\n [243, 112], [112, 244], [244, 243], [244, 233], [233, 245], [245, 244],\n [245, 128], [128, 188], [188, 245], [188, 114], [114, 174], [174, 188],\n [134, 131], [131, 220], [220, 134], [174, 217], [217, 236], [236, 174],\n [236, 198], [198, 134], [134, 236], [215, 177], [177, 58], [58, 215],\n [156, 143], [143, 124], [124, 156], [25, 110], [110, 7], [7, 25],\n [31, 228], [228, 25], [25, 31], [264, 356], [356, 368], [368, 264],\n [0, 11], [11, 267], [267, 0], [451, 452], [452, 349], [349, 451],\n [267, 302], [302, 269], [269, 267], [350, 357], [357, 277], [277, 350],\n [350, 452], [452, 357], [357, 350], [299, 333], [333, 297], [297, 299],\n [396, 175], [175, 377], [377, 396], [280, 347], [347, 330], [330, 280],\n [269, 303], [303, 270], [270, 269], [151, 9], [9, 337], [337, 151],\n [344, 278], [278, 360], [360, 344], [424, 418], [418, 431], [431, 424],\n [270, 304], [304, 409], [409, 270], [272, 310], [310, 407], [407, 272],\n [322, 270], [270, 410], [410, 322], [449, 450], [450, 347], [347, 449],\n [432, 422], [422, 434], [434, 432], [18, 313], [313, 17], [17, 18],\n [291, 306], [306, 375], [375, 291], [259, 387], [387, 260], [260, 259],\n [424, 335], [335, 418], [418, 424], [434, 364], [364, 416], [416, 434],\n [391, 423], [423, 327], [327, 391], [301, 251], [251, 298], [298, 301],\n [275, 281], [281, 4], [4, 275], [254, 373], [373, 253], [253, 254],\n [375, 307], [307, 321], [321, 375], [280, 425], [425, 411], [411, 280],\n [200, 421], [421, 18], [18, 200], [335, 321], [321, 406], [406, 335],\n [321, 320], [320, 405], [405, 321], [314, 315], [315, 17], [17, 314],\n [423, 426], [426, 266], [266, 423], [396, 377], [377, 369], [369, 396],\n [270, 322], [322, 269], [269, 270], [413, 417], [417, 464], [464, 413],\n [385, 386], [386, 258], [258, 385], [248, 456], [456, 419], [419, 248],\n [298, 284], [284, 333], [333, 298], [168, 417], [417, 8], [8, 168],\n [448, 346], [346, 261], [261, 448], [417, 413], [413, 285], [285, 417],\n [326, 327], [327, 328], [328, 326], [277, 355], [355, 329], [329, 277],\n [309, 392], [392, 438], [438, 309], [381, 382], [382, 256], [256, 381],\n [279, 429], [429, 360], [360, 279], [365, 364], [364, 379], [379, 365],\n [355, 277], [277, 437], [437, 355], [282, 443], [443, 283], [283, 282],\n [281, 275], [275, 363], [363, 281], [395, 431], [431, 369], [369, 395],\n [299, 297], [297, 337], [337, 299], [335, 273], [273, 321], [321, 335],\n [348, 450], [450, 349], [349, 348], [359, 446], [446, 467], [467, 359],\n [283, 293], [293, 282], [282, 283], [250, 458], [458, 462], [462, 250],\n [300, 276], [276, 383], [383, 300], [292, 308], [308, 325], [325, 292],\n [283, 276], [276, 293], [293, 283], [264, 372], [372, 447], [447, 264],\n [346, 352], [352, 340], [340, 346], [354, 274], [274, 19], [19, 354],\n [363, 456], [456, 281], [281, 363], [426, 436], [436, 425], [425, 426],\n [380, 381], [381, 252], [252, 380], [267, 269], [269, 393], [393, 267],\n [421, 200], [200, 428], [428, 421], [371, 266], [266, 329], [329, 371],\n [432, 287], [287, 422], [422, 432], [290, 250], [250, 328], [328, 290],\n [385, 258], [258, 384], [384, 385], [446, 265], [265, 342], [342, 446],\n [386, 387], [387, 257], [257, 386], [422, 424], [424, 430], [430, 422],\n [445, 342], [342, 276], [276, 445], [422, 273], [273, 424], [424, 422],\n [306, 292], [292, 307], [307, 306], [352, 366], [366, 345], [345, 352],\n [268, 271], [271, 302], [302, 268], [358, 423], [423, 371], [371, 358],\n [327, 294], [294, 460], [460, 327], [331, 279], [279, 294], [294, 331],\n [303, 271], [271, 304], [304, 303], [436, 432], [432, 427], [427, 436],\n [304, 272], [272, 408], [408, 304], [395, 394], [394, 431], [431, 395],\n [378, 395], [395, 400], [400, 378], [296, 334], [334, 299], [299, 296],\n [6, 351], [351, 168], [168, 6], [376, 352], [352, 411], [411, 376],\n [307, 325], [325, 320], [320, 307], [285, 295], [295, 336], [336, 285],\n [320, 319], [319, 404], [404, 320], [329, 330], [330, 349], [349, 329],\n [334, 293], [293, 333], [333, 334], [366, 323], [323, 447], [447, 366],\n [316, 15], [15, 315], [315, 316], [331, 358], [358, 279], [279, 331],\n [317, 14], [14, 316], [316, 317], [8, 285], [285, 9], [9, 8],\n [277, 329], [329, 350], [350, 277], [253, 374], [374, 252], [252, 253],\n [319, 318], [318, 403], [403, 319], [351, 6], [6, 419], [419, 351],\n [324, 318], [318, 325], [325, 324], [397, 367], [367, 365], [365, 397],\n [288, 435], [435, 397], [397, 288], [278, 344], [344, 439], [439, 278],\n [310, 272], [272, 311], [311, 310], [248, 195], [195, 281], [281, 248],\n [375, 273], [273, 291], [291, 375], [175, 396], [396, 199], [199, 175],\n [312, 311], [311, 268], [268, 312], [276, 283], [283, 445], [445, 276],\n [390, 373], [373, 339], [339, 390], [295, 282], [282, 296], [296, 295],\n [448, 449], [449, 346], [346, 448], [356, 264], [264, 454], [454, 356],\n [337, 336], [336, 299], [299, 337], [337, 338], [338, 151], [151, 337],\n [294, 278], [278, 455], [455, 294], [308, 292], [292, 415], [415, 308],\n [429, 358], [358, 355], [355, 429], [265, 340], [340, 372], [372, 265],\n [352, 346], [346, 280], [280, 352], [295, 442], [442, 282], [282, 295],\n [354, 19], [19, 370], [370, 354], [285, 441], [441, 295], [295, 285],\n [195, 248], [248, 197], [197, 195], [457, 440], [440, 274], [274, 457],\n [301, 300], [300, 368], [368, 301], [417, 351], [351, 465], [465, 417],\n [251, 301], [301, 389], [389, 251], [394, 395], [395, 379], [379, 394],\n [399, 412], [412, 419], [419, 399], [410, 436], [436, 322], [322, 410],\n [326, 2], [2, 393], [393, 326], [354, 370], [370, 461], [461, 354],\n [393, 164], [164, 267], [267, 393], [268, 302], [302, 12], [12, 268],\n [312, 268], [268, 13], [13, 312], [298, 293], [293, 301], [301, 298],\n [265, 446], [446, 340], [340, 265], [280, 330], [330, 425], [425, 280],\n [322, 426], [426, 391], [391, 322], [420, 429], [429, 437], [437, 420],\n [393, 391], [391, 326], [326, 393], [344, 440], [440, 438], [438, 344],\n [458, 459], [459, 461], [461, 458], [364, 434], [434, 394], [394, 364],\n [428, 396], [396, 262], [262, 428], [274, 354], [354, 457], [457, 274],\n [317, 316], [316, 402], [402, 317], [316, 315], [315, 403], [403, 316],\n [315, 314], [314, 404], [404, 315], [314, 313], [313, 405], [405, 314],\n [313, 421], [421, 406], [406, 313], [323, 366], [366, 361], [361, 323],\n [292, 306], [306, 407], [407, 292], [306, 291], [291, 408], [408, 306],\n [291, 287], [287, 409], [409, 291], [287, 432], [432, 410], [410, 287],\n [427, 434], [434, 411], [411, 427], [372, 264], [264, 383], [383, 372],\n [459, 309], [309, 457], [457, 459], [366, 352], [352, 401], [401, 366],\n [1, 274], [274, 4], [4, 1], [418, 421], [421, 262], [262, 418],\n [331, 294], [294, 358], [358, 331], [435, 433], [433, 367], [367, 435],\n [392, 289], [289, 439], [439, 392], [328, 462], [462, 326], [326, 328],\n [94, 2], [2, 370], [370, 94], [289, 305], [305, 455], [455, 289],\n [339, 254], [254, 448], [448, 339], [359, 255], [255, 446], [446, 359],\n [254, 253], [253, 449], [449, 254], [253, 252], [252, 450], [450, 253],\n [252, 256], [256, 451], [451, 252], [256, 341], [341, 452], [452, 256],\n [414, 413], [413, 463], [463, 414], [286, 441], [441, 414], [414, 286],\n [286, 258], [258, 441], [441, 286], [258, 257], [257, 442], [442, 258],\n [257, 259], [259, 443], [443, 257], [259, 260], [260, 444], [444, 259],\n [260, 467], [467, 445], [445, 260], [309, 459], [459, 250], [250, 309],\n [305, 289], [289, 290], [290, 305], [305, 290], [290, 460], [460, 305],\n [401, 376], [376, 435], [435, 401], [309, 250], [250, 392], [392, 309],\n [376, 411], [411, 433], [433, 376], [453, 341], [341, 464], [464, 453],\n [357, 453], [453, 465], [465, 357], [343, 357], [357, 412], [412, 343],\n [437, 343], [343, 399], [399, 437], [344, 360], [360, 440], [440, 344],\n [420, 437], [437, 456], [456, 420], [360, 420], [420, 363], [363, 360],\n [361, 401], [401, 288], [288, 361], [265, 372], [372, 353], [353, 265],\n [390, 339], [339, 249], [249, 390], [339, 448], [448, 255], [255, 339],\n];\n", "// @tensorflow/tfjs-models/face-landmark-detection/src/constants.ts\n// https://github.com/google/mediapipe/mediapipe/python/solutions/face_mesh_connections.py\n\ntype PairArray = [number, number][];\n\nconst LIPS_CONNECTIONS: PairArray = [\n [61, 146], [146, 91], [91, 181], [181, 84], [84, 17], [17, 314], [314, 405], [405, 321], [321, 375], [375, 291], [61, 185], [185, 40], [40, 39], [39, 37], [37, 0], [0, 267], [267, 269], [269, 270], [270, 409], [409, 291],\n [78, 95], [95, 88], [88, 178], [178, 87], [87, 14], [14, 317], [317, 402], [402, 318], [318, 324], [324, 308], [78, 191], [191, 80], [80, 81], [81, 82], [82, 13], [13, 312], [312, 311], [311, 310], [310, 415], [415, 308],\n];\n\nconst LEFT_EYE_CONNECTIONS: PairArray = [[263, 249], [249, 390], [390, 373], [373, 374], [374, 380], [380, 381], [381, 382], [382, 362], [263, 466], [466, 388], [388, 387], [387, 386], [386, 385], [385, 384], [384, 398], [398, 362]];\n\nconst LEFT_EYEBROW_CONNECTIONS: PairArray = [[276, 283], [283, 282], [282, 295], [295, 285], [300, 293], [293, 334], [334, 296], [296, 336]];\n\nconst LEFT_IRIS_CONNECTIONS: PairArray = [[474, 475], [475, 476], [476, 477], [477, 474]];\n\nconst RIGHT_EYE_CONNECTIONS: PairArray = [[33, 7], [7, 163], [163, 144], [144, 145], [145, 153], [153, 154], [154, 155], [155, 133], [33, 246], [246, 161], [161, 160], [160, 159], [159, 158], [158, 157], [157, 173], [173, 133]];\n\nconst RIGHT_EYEBROW_CONNECTIONS: PairArray = [[46, 53], [53, 52], [52, 65], [65, 55], [70, 63], [63, 105], [105, 66], [66, 107]];\n\nconst RIGHT_IRIS_CONNECTIONS: PairArray = [[469, 470], [470, 471], [471, 472], [472, 469]];\n\nconst FACE_OVAL_CONNECTIONS: PairArray = [\n [10, 338], [338, 297], [297, 332], [332, 284], [284, 251], [251, 389], [389, 356], [356, 454], [454, 323], [323, 361], [361, 288], [288, 397], [397, 365], [365, 379], [379, 378], [378, 400], [400, 377], [377, 152],\n [152, 148], [148, 176], [176, 149], [149, 150], [150, 136], [136, 172], [172, 58], [58, 132], [132, 93], [93, 234], [234, 127], [127, 162], [162, 21], [21, 54], [54, 103], [103, 67], [67, 109], [109, 10],\n];\n\nexport const MEDIAPIPE_FACE_MESH_CONNECTED_KEYPOINTS_PAIRS: PairArray = [\n [127, 34], [34, 139], [139, 127], [11, 0], [0, 37], [37, 11], [232, 231], [231, 120], [120, 232], [72, 37], [37, 39], [39, 72], [128, 121], [121, 47], [47, 128], [232, 121], [121, 128], [128, 232],\n [104, 69], [69, 67], [67, 104], [175, 171], [171, 148], [148, 175], [118, 50], [50, 101], [101, 118], [73, 39], [39, 40], [40, 73], [9, 151], [151, 108], [108, 9], [48, 115], [115, 131], [131, 48],\n [194, 204], [204, 211], [211, 194], [74, 40], [40, 185], [185, 74], [80, 42], [42, 183], [183, 80], [40, 92], [92, 186], [186, 40], [230, 229], [229, 118], [118, 230], [202, 212], [212, 214], [214, 202],\n [83, 18], [18, 17], [17, 83], [76, 61], [61, 146], [146, 76], [160, 29], [29, 30], [30, 160], [56, 157], [157, 173], [173, 56], [106, 204], [204, 194], [194, 106], [135, 214], [214, 192], [192, 135],\n [203, 165], [165, 98], [98, 203], [21, 71], [71, 68], [68, 21], [51, 45], [45, 4], [4, 51], [144, 24], [24, 23], [23, 144], [77, 146], [146, 91], [91, 77], [205, 50], [50, 187], [187, 205],\n [201, 200], [200, 18], [18, 201], [91, 106], [106, 182], [182, 91], [90, 91], [91, 181], [181, 90], [85, 84], [84, 17], [17, 85], [206, 203], [203, 36], [36, 206], [148, 171], [171, 140], [140, 148],\n [92, 40], [40, 39], [39, 92], [193, 189], [189, 244], [244, 193], [159, 158], [158, 28], [28, 159], [247, 246], [246, 161], [161, 247], [236, 3], [3, 196], [196, 236], [54, 68], [68, 104], [104, 54],\n [193, 168], [168, 8], [8, 193], [117, 228], [228, 31], [31, 117], [189, 193], [193, 55], [55, 189], [98, 97], [97, 99], [99, 98], [126, 47], [47, 100], [100, 126], [166, 79], [79, 218], [218, 166],\n [155, 154], [154, 26], [26, 155], [209, 49], [49, 131], [131, 209], [135, 136], [136, 150], [150, 135], [47, 126], [126, 217], [217, 47], [223, 52], [52, 53], [53, 223], [45, 51], [51, 134], [134, 45],\n [211, 170], [170, 140], [140, 211], [67, 69], [69, 108], [108, 67], [43, 106], [106, 91], [91, 43], [230, 119], [119, 120], [120, 230], [226, 130], [130, 247], [247, 226], [63, 53], [53, 52], [52, 63],\n [238, 20], [20, 242], [242, 238], [46, 70], [70, 156], [156, 46], [78, 62], [62, 96], [96, 78], [46, 53], [53, 63], [63, 46], [143, 34], [34, 227], [227, 143], [123, 117], [117, 111], [111, 123],\n [44, 125], [125, 19], [19, 44], [236, 134], [134, 51], [51, 236], [216, 206], [206, 205], [205, 216], [154, 153], [153, 22], [22, 154], [39, 37], [37, 167], [167, 39], [200, 201], [201, 208], [208, 200],\n [36, 142], [142, 100], [100, 36], [57, 212], [212, 202], [202, 57], [20, 60], [60, 99], [99, 20], [28, 158], [158, 157], [157, 28], [35, 226], [226, 113], [113, 35], [160, 159], [159, 27], [27, 160],\n [204, 202], [202, 210], [210, 204], [113, 225], [225, 46], [46, 113], [43, 202], [202, 204], [204, 43], [62, 76], [76, 77], [77, 62], [137, 123], [123, 116], [116, 137], [41, 38], [38, 72], [72, 41],\n [203, 129], [129, 142], [142, 203], [64, 98], [98, 240], [240, 64], [49, 102], [102, 64], [64, 49], [41, 73], [73, 74], [74, 41], [212, 216], [216, 207], [207, 212], [42, 74], [74, 184], [184, 42],\n [169, 170], [170, 211], [211, 169], [170, 149], [149, 176], [176, 170], [105, 66], [66, 69], [69, 105], [122, 6], [6, 168], [168, 122], [123, 147], [147, 187], [187, 123], [96, 77], [77, 90], [90, 96],\n [65, 55], [55, 107], [107, 65], [89, 90], [90, 180], [180, 89], [101, 100], [100, 120], [120, 101], [63, 105], [105, 104], [104, 63], [93, 137], [137, 227], [227, 93], [15, 86], [86, 85], [85, 15],\n [129, 102], [102, 49], [49, 129], [14, 87], [87, 86], [86, 14], [55, 8], [8, 9], [9, 55], [100, 47], [47, 121], [121, 100], [145, 23], [23, 22], [22, 145], [88, 89], [89, 179], [179, 88],\n [6, 122], [122, 196], [196, 6], [88, 95], [95, 96], [96, 88], [138, 172], [172, 136], [136, 138], [215, 58], [58, 172], [172, 215], [115, 48], [48, 219], [219, 115], [42, 80], [80, 81], [81, 42],\n [195, 3], [3, 51], [51, 195], [43, 146], [146, 61], [61, 43], [171, 175], [175, 199], [199, 171], [81, 82], [82, 38], [38, 81], [53, 46], [46, 225], [225, 53], [144, 163], [163, 110], [110, 144],\n [52, 65], [65, 66], [66, 52], [229, 228], [228, 117], [117, 229], [34, 127], [127, 234], [234, 34], [107, 108], [108, 69], [69, 107], [109, 108], [108, 151], [151, 109], [48, 64], [64, 235], [235, 48],\n [62, 78], [78, 191], [191, 62], [129, 209], [209, 126], [126, 129], [111, 35], [35, 143], [143, 111], [117, 123], [123, 50], [50, 117], [222, 65], [65, 52], [52, 222], [19, 125], [125, 141], [141, 19],\n [221, 55], [55, 65], [65, 221], [3, 195], [195, 197], [197, 3], [25, 7], [7, 33], [33, 25], [220, 237], [237, 44], [44, 220], [70, 71], [71, 139], [139, 70], [122, 193], [193, 245], [245, 122],\n [247, 130], [130, 33], [33, 247], [71, 21], [21, 162], [162, 71], [170, 169], [169, 150], [150, 170], [188, 174], [174, 196], [196, 188], [216, 186], [186, 92], [92, 216], [2, 97], [97, 167], [167, 2],\n [141, 125], [125, 241], [241, 141], [164, 167], [167, 37], [37, 164], [72, 38], [38, 12], [12, 72], [38, 82], [82, 13], [13, 38], [63, 68], [68, 71], [71, 63], [226, 35], [35, 111], [111, 226],\n [101, 50], [50, 205], [205, 101], [206, 92], [92, 165], [165, 206], [209, 198], [198, 217], [217, 209], [165, 167], [167, 97], [97, 165], [220, 115], [115, 218], [218, 220], [133, 112], [112, 243], [243, 133],\n [239, 238], [238, 241], [241, 239], [214, 135], [135, 169], [169, 214], [190, 173], [173, 133], [133, 190], [171, 208], [208, 32], [32, 171], [125, 44], [44, 237], [237, 125], [86, 87], [87, 178], [178, 86],\n [85, 86], [86, 179], [179, 85], [84, 85], [85, 180], [180, 84], [83, 84], [84, 181], [181, 83], [201, 83], [83, 182], [182, 201], [137, 93], [93, 132], [132, 137], [76, 62], [62, 183], [183, 76],\n [61, 76], [76, 184], [184, 61], [57, 61], [61, 185], [185, 57], [212, 57], [57, 186], [186, 212], [214, 207], [207, 187], [187, 214], [34, 143], [143, 156], [156, 34], [79, 239], [239, 237], [237, 79],\n [123, 137], [137, 177], [177, 123], [44, 1], [1, 4], [4, 44], [201, 194], [194, 32], [32, 201], [64, 102], [102, 129], [129, 64], [213, 215], [215, 138], [138, 213], [59, 166], [166, 219], [219, 59],\n [242, 99], [99, 97], [97, 242], [2, 94], [94, 141], [141, 2], [75, 59], [59, 235], [235, 75], [24, 110], [110, 228], [228, 24], [25, 130], [130, 226], [226, 25], [23, 24], [24, 229], [229, 23],\n [22, 23], [23, 230], [230, 22], [26, 22], [22, 231], [231, 26], [112, 26], [26, 232], [232, 112], [189, 190], [190, 243], [243, 189], [221, 56], [56, 190], [190, 221], [28, 56], [56, 221], [221, 28],\n [27, 28], [28, 222], [222, 27], [29, 27], [27, 223], [223, 29], [30, 29], [29, 224], [224, 30], [247, 30], [30, 225], [225, 247], [238, 79], [79, 20], [20, 238], [166, 59], [59, 75], [75, 166],\n [60, 75], [75, 240], [240, 60], [147, 177], [177, 215], [215, 147], [20, 79], [79, 166], [166, 20], [187, 147], [147, 213], [213, 187], [112, 233], [233, 244], [244, 112], [233, 128], [128, 245], [245, 233],\n [128, 114], [114, 188], [188, 128], [114, 217], [217, 174], [174, 114], [131, 115], [115, 220], [220, 131], [217, 198], [198, 236], [236, 217], [198, 131], [131, 134], [134, 198], [177, 132], [132, 58], [58, 177],\n [143, 35], [35, 124], [124, 143], [110, 163], [163, 7], [7, 110], [228, 110], [110, 25], [25, 228], [356, 389], [389, 368], [368, 356], [11, 302], [302, 267], [267, 11], [452, 350], [350, 349], [349, 452],\n [302, 303], [303, 269], [269, 302], [357, 343], [343, 277], [277, 357], [452, 453], [453, 357], [357, 452], [333, 332], [332, 297], [297, 333], [175, 152], [152, 377], [377, 175], [347, 348], [348, 330], [330, 347],\n [303, 304], [304, 270], [270, 303], [9, 336], [336, 337], [337, 9], [278, 279], [279, 360], [360, 278], [418, 262], [262, 431], [431, 418], [304, 408], [408, 409], [409, 304], [310, 415], [415, 407], [407, 310],\n [270, 409], [409, 410], [410, 270], [450, 348], [348, 347], [347, 450], [422, 430], [430, 434], [434, 422], [313, 314], [314, 17], [17, 313], [306, 307], [307, 375], [375, 306], [387, 388], [388, 260], [260, 387],\n [286, 414], [414, 398], [398, 286], [335, 406], [406, 418], [418, 335], [364, 367], [367, 416], [416, 364], [423, 358], [358, 327], [327, 423], [251, 284], [284, 298], [298, 251], [281, 5], [5, 4], [4, 281],\n [373, 374], [374, 253], [253, 373], [307, 320], [320, 321], [321, 307], [425, 427], [427, 411], [411, 425], [421, 313], [313, 18], [18, 421], [321, 405], [405, 406], [406, 321], [320, 404], [404, 405], [405, 320],\n [315, 16], [16, 17], [17, 315], [426, 425], [425, 266], [266, 426], [377, 400], [400, 369], [369, 377], [322, 391], [391, 269], [269, 322], [417, 465], [465, 464], [464, 417], [386, 257], [257, 258], [258, 386],\n [466, 260], [260, 388], [388, 466], [456, 399], [399, 419], [419, 456], [284, 332], [332, 333], [333, 284], [417, 285], [285, 8], [8, 417], [346, 340], [340, 261], [261, 346], [413, 441], [441, 285], [285, 413],\n [327, 460], [460, 328], [328, 327], [355, 371], [371, 329], [329, 355], [392, 439], [439, 438], [438, 392], [382, 341], [341, 256], [256, 382], [429, 420], [420, 360], [360, 429], [364, 394], [394, 379], [379, 364],\n [277, 343], [343, 437], [437, 277], [443, 444], [444, 283], [283, 443], [275, 440], [440, 363], [363, 275], [431, 262], [262, 369], [369, 431], [297, 338], [338, 337], [337, 297], [273, 375], [375, 321], [321, 273],\n [450, 451], [451, 349], [349, 450], [446, 342], [342, 467], [467, 446], [293, 334], [334, 282], [282, 293], [458, 461], [461, 462], [462, 458], [276, 353], [353, 383], [383, 276], [308, 324], [324, 325], [325, 308],\n [276, 300], [300, 293], [293, 276], [372, 345], [345, 447], [447, 372], [352, 345], [345, 340], [340, 352], [274, 1], [1, 19], [19, 274], [456, 248], [248, 281], [281, 456], [436, 427], [427, 425], [425, 436],\n [381, 256], [256, 252], [252, 381], [269, 391], [391, 393], [393, 269], [200, 199], [199, 428], [428, 200], [266, 330], [330, 329], [329, 266], [287, 273], [273, 422], [422, 287], [250, 462], [462, 328], [328, 250],\n [258, 286], [286, 384], [384, 258], [265, 353], [353, 342], [342, 265], [387, 259], [259, 257], [257, 387], [424, 431], [431, 430], [430, 424], [342, 353], [353, 276], [276, 342], [273, 335], [335, 424], [424, 273],\n [292, 325], [325, 307], [307, 292], [366, 447], [447, 345], [345, 366], [271, 303], [303, 302], [302, 271], [423, 266], [266, 371], [371, 423], [294, 455], [455, 460], [460, 294], [279, 278], [278, 294], [294, 279],\n [271, 272], [272, 304], [304, 271], [432, 434], [434, 427], [427, 432], [272, 407], [407, 408], [408, 272], [394, 430], [430, 431], [431, 394], [395, 369], [369, 400], [400, 395], [334, 333], [333, 299], [299, 334],\n [351, 417], [417, 168], [168, 351], [352, 280], [280, 411], [411, 352], [325, 319], [319, 320], [320, 325], [295, 296], [296, 336], [336, 295], [319, 403], [403, 404], [404, 319], [330, 348], [348, 349], [349, 330],\n [293, 298], [298, 333], [333, 293], [323, 454], [454, 447], [447, 323], [15, 16], [16, 315], [315, 15], [358, 429], [429, 279], [279, 358], [14, 15], [15, 316], [316, 14], [285, 336], [336, 9], [9, 285],\n [329, 349], [349, 350], [350, 329], [374, 380], [380, 252], [252, 374], [318, 402], [402, 403], [403, 318], [6, 197], [197, 419], [419, 6], [318, 319], [319, 325], [325, 318], [367, 364], [364, 365], [365, 367],\n [435, 367], [367, 397], [397, 435], [344, 438], [438, 439], [439, 344], [272, 271], [271, 311], [311, 272], [195, 5], [5, 281], [281, 195], [273, 287], [287, 291], [291, 273], [396, 428], [428, 199], [199, 396],\n [311, 271], [271, 268], [268, 311], [283, 444], [444, 445], [445, 283], [373, 254], [254, 339], [339, 373], [282, 334], [334, 296], [296, 282], [449, 347], [347, 346], [346, 449], [264, 447], [447, 454], [454, 264],\n [336, 296], [296, 299], [299, 336], [338, 10], [10, 151], [151, 338], [278, 439], [439, 455], [455, 278], [292, 407], [407, 415], [415, 292], [358, 371], [371, 355], [355, 358], [340, 345], [345, 372], [372, 340],\n [346, 347], [347, 280], [280, 346], [442, 443], [443, 282], [282, 442], [19, 94], [94, 370], [370, 19], [441, 442], [442, 295], [295, 441], [248, 419], [419, 197], [197, 248], [263, 255], [255, 359], [359, 263],\n [440, 275], [275, 274], [274, 440], [300, 383], [383, 368], [368, 300], [351, 412], [412, 465], [465, 351], [263, 467], [467, 466], [466, 263], [301, 368], [368, 389], [389, 301], [395, 378], [378, 379], [379, 395],\n [412, 351], [351, 419], [419, 412], [436, 426], [426, 322], [322, 436], [2, 164], [164, 393], [393, 2], [370, 462], [462, 461], [461, 370], [164, 0], [0, 267], [267, 164], [302, 11], [11, 12], [12, 302],\n [268, 12], [12, 13], [13, 268], [293, 300], [300, 301], [301, 293], [446, 261], [261, 340], [340, 446], [330, 266], [266, 425], [425, 330], [426, 423], [423, 391], [391, 426], [429, 355], [355, 437], [437, 429],\n [391, 327], [327, 326], [326, 391], [440, 457], [457, 438], [438, 440], [341, 382], [382, 362], [362, 341], [459, 457], [457, 461], [461, 459], [434, 430], [430, 394], [394, 434], [414, 463], [463, 362], [362, 414],\n [396, 369], [369, 262], [262, 396], [354, 461], [461, 457], [457, 354], [316, 403], [403, 402], [402, 316], [315, 404], [404, 403], [403, 315], [314, 405], [405, 404], [404, 314], [313, 406], [406, 405], [405, 313],\n [421, 418], [418, 406], [406, 421], [366, 401], [401, 361], [361, 366], [306, 408], [408, 407], [407, 306], [291, 409], [409, 408], [408, 291], [287, 410], [410, 409], [409, 287], [432, 436], [436, 410], [410, 432],\n [434, 416], [416, 411], [411, 434], [264, 368], [368, 383], [383, 264], [309, 438], [438, 457], [457, 309], [352, 376], [376, 401], [401, 352], [274, 275], [275, 4], [4, 274], [421, 428], [428, 262], [262, 421],\n [294, 327], [327, 358], [358, 294], [433, 416], [416, 367], [367, 433], [289, 455], [455, 439], [439, 289], [462, 370], [370, 326], [326, 462], [2, 326], [326, 370], [370, 2], [305, 460], [460, 455], [455, 305],\n [254, 449], [449, 448], [448, 254], [255, 261], [261, 446], [446, 255], [253, 450], [450, 449], [449, 253], [252, 451], [451, 450], [450, 252], [256, 452], [452, 451], [451, 256], [341, 453], [453, 452], [452, 341],\n [413, 464], [464, 463], [463, 413], [441, 413], [413, 414], [414, 441], [258, 442], [442, 441], [441, 258], [257, 443], [443, 442], [442, 257], [259, 444], [444, 443], [443, 259], [260, 445], [445, 444], [444, 260],\n [467, 342], [342, 445], [445, 467], [459, 458], [458, 250], [250, 459], [289, 392], [392, 290], [290, 289], [290, 328], [328, 460], [460, 290], [376, 433], [433, 435], [435, 376], [250, 290], [290, 392], [392, 250],\n [411, 416], [416, 433], [433, 411], [341, 463], [463, 464], [464, 341], [453, 464], [464, 465], [465, 453], [357, 465], [465, 412], [412, 357], [343, 412], [412, 399], [399, 343], [360, 363], [363, 440], [440, 360],\n [437, 399], [399, 456], [456, 437], [420, 456], [456, 363], [363, 420], [401, 435], [435, 288], [288, 401], [372, 383], [383, 353], [353, 372], [339, 255], [255, 249], [249, 339], [448, 261], [261, 255], [255, 448],\n [133, 243], [243, 190], [190, 133], [133, 155], [155, 112], [112, 133], [33, 246], [246, 247], [247, 33], [33, 130], [130, 25], [25, 33], [398, 384], [384, 286], [286, 398], [362, 398], [398, 414], [414, 362],\n [362, 463], [463, 341], [341, 362], [263, 359], [359, 467], [467, 263], [263, 249], [249, 255], [255, 263], [466, 467], [467, 260], [260, 466], [75, 60], [60, 166], [166, 75], [238, 239], [239, 79], [79, 238],\n [162, 127], [127, 139], [139, 162], [72, 11], [11, 37], [37, 72], [121, 232], [232, 120], [120, 121], [73, 72], [72, 39], [39, 73], [114, 128], [128, 47], [47, 114], [233, 232], [232, 128], [128, 233],\n [103, 104], [104, 67], [67, 103], [152, 175], [175, 148], [148, 152], [119, 118], [118, 101], [101, 119], [74, 73], [73, 40], [40, 74], [107, 9], [9, 108], [108, 107], [49, 48], [48, 131], [131, 49],\n [32, 194], [194, 211], [211, 32], [184, 74], [74, 185], [185, 184], [191, 80], [80, 183], [183, 191], [185, 40], [40, 186], [186, 185], [119, 230], [230, 118], [118, 119], [210, 202], [202, 214], [214, 210],\n [84, 83], [83, 17], [17, 84], [77, 76], [76, 146], [146, 77], [161, 160], [160, 30], [30, 161], [190, 56], [56, 173], [173, 190], [182, 106], [106, 194], [194, 182], [138, 135], [135, 192], [192, 138],\n [129, 203], [203, 98], [98, 129], [54, 21], [21, 68], [68, 54], [5, 51], [51, 4], [4, 5], [145, 144], [144, 23], [23, 145], [90, 77], [77, 91], [91, 90], [207, 205], [205, 187], [187, 207],\n [83, 201], [201, 18], [18, 83], [181, 91], [91, 182], [182, 181], [180, 90], [90, 181], [181, 180], [16, 85], [85, 17], [17, 16], [205, 206], [206, 36], [36, 205], [176, 148], [148, 140], [140, 176],\n [165, 92], [92, 39], [39, 165], [245, 193], [193, 244], [244, 245], [27, 159], [159, 28], [28, 27], [30, 247], [247, 161], [161, 30], [174, 236], [236, 196], [196, 174], [103, 54], [54, 104], [104, 103],\n [55, 193], [193, 8], [8, 55], [111, 117], [117, 31], [31, 111], [221, 189], [189, 55], [55, 221], [240, 98], [98, 99], [99, 240], [142, 126], [126, 100], [100, 142], [219, 166], [166, 218], [218, 219],\n [112, 155], [155, 26], [26, 112], [198, 209], [209, 131], [131, 198], [169, 135], [135, 150], [150, 169], [114, 47], [47, 217], [217, 114], [224, 223], [223, 53], [53, 224], [220, 45], [45, 134], [134, 220],\n [32, 211], [211, 140], [140, 32], [109, 67], [67, 108], [108, 109], [146, 43], [43, 91], [91, 146], [231, 230], [230, 120], [120, 231], [113, 226], [226, 247], [247, 113], [105, 63], [63, 52], [52, 105],\n [241, 238], [238, 242], [242, 241], [124, 46], [46, 156], [156, 124], [95, 78], [78, 96], [96, 95], [70, 46], [46, 63], [63, 70], [116, 143], [143, 227], [227, 116], [116, 123], [123, 111], [111, 116],\n [1, 44], [44, 19], [19, 1], [3, 236], [236, 51], [51, 3], [207, 216], [216, 205], [205, 207], [26, 154], [154, 22], [22, 26], [165, 39], [39, 167], [167, 165], [199, 200], [200, 208], [208, 199],\n [101, 36], [36, 100], [100, 101], [43, 57], [57, 202], [202, 43], [242, 20], [20, 99], [99, 242], [56, 28], [28, 157], [157, 56], [124, 35], [35, 113], [113, 124], [29, 160], [160, 27], [27, 29],\n [211, 204], [204, 210], [210, 211], [124, 113], [113, 46], [46, 124], [106, 43], [43, 204], [204, 106], [96, 62], [62, 77], [77, 96], [227, 137], [137, 116], [116, 227], [73, 41], [41, 72], [72, 73],\n [36, 203], [203, 142], [142, 36], [235, 64], [64, 240], [240, 235], [48, 49], [49, 64], [64, 48], [42, 41], [41, 74], [74, 42], [214, 212], [212, 207], [207, 214], [183, 42], [42, 184], [184, 183],\n [210, 169], [169, 211], [211, 210], [140, 170], [170, 176], [176, 140], [104, 105], [105, 69], [69, 104], [193, 122], [122, 168], [168, 193], [50, 123], [123, 187], [187, 50], [89, 96], [96, 90], [90, 89],\n [66, 65], [65, 107], [107, 66], [179, 89], [89, 180], [180, 179], [119, 101], [101, 120], [120, 119], [68, 63], [63, 104], [104, 68], [234, 93], [93, 227], [227, 234], [16, 15], [15, 85], [85, 16],\n [209, 129], [129, 49], [49, 209], [15, 14], [14, 86], [86, 15], [107, 55], [55, 9], [9, 107], [120, 100], [100, 121], [121, 120], [153, 145], [145, 22], [22, 153], [178, 88], [88, 179], [179, 178],\n [197, 6], [6, 196], [196, 197], [89, 88], [88, 96], [96, 89], [135, 138], [138, 136], [136, 135], [138, 215], [215, 172], [172, 138], [218, 115], [115, 219], [219, 218], [41, 42], [42, 81], [81, 41],\n [5, 195], [195, 51], [51, 5], [57, 43], [43, 61], [61, 57], [208, 171], [171, 199], [199, 208], [41, 81], [81, 38], [38, 41], [224, 53], [53, 225], [225, 224], [24, 144], [144, 110], [110, 24],\n [105, 52], [52, 66], [66, 105], [118, 229], [229, 117], [117, 118], [227, 34], [34, 234], [234, 227], [66, 107], [107, 69], [69, 66], [10, 109], [109, 151], [151, 10], [219, 48], [48, 235], [235, 219],\n [183, 62], [62, 191], [191, 183], [142, 129], [129, 126], [126, 142], [116, 111], [111, 143], [143, 116], [118, 117], [117, 50], [50, 118], [223, 222], [222, 52], [52, 223], [94, 19], [19, 141], [141, 94],\n [222, 221], [221, 65], [65, 222], [196, 3], [3, 197], [197, 196], [45, 220], [220, 44], [44, 45], [156, 70], [70, 139], [139, 156], [188, 122], [122, 245], [245, 188], [139, 71], [71, 162], [162, 139],\n [149, 170], [170, 150], [150, 149], [122, 188], [188, 196], [196, 122], [206, 216], [216, 92], [92, 206], [164, 2], [2, 167], [167, 164], [242, 141], [141, 241], [241, 242], [0, 164], [164, 37], [37, 0],\n [11, 72], [72, 12], [12, 11], [12, 38], [38, 13], [13, 12], [70, 63], [63, 71], [71, 70], [31, 226], [226, 111], [111, 31], [36, 101], [101, 205], [205, 36], [203, 206], [206, 165], [165, 203],\n [126, 209], [209, 217], [217, 126], [98, 165], [165, 97], [97, 98], [237, 220], [220, 218], [218, 237], [237, 239], [239, 241], [241, 237], [210, 214], [214, 169], [169, 210], [140, 171], [171, 32], [32, 140],\n [241, 125], [125, 237], [237, 241], [179, 86], [86, 178], [178, 179], [180, 85], [85, 179], [179, 180], [181, 84], [84, 180], [180, 181], [182, 83], [83, 181], [181, 182], [194, 201], [201, 182], [182, 194],\n [177, 137], [137, 132], [132, 177], [184, 76], [76, 183], [183, 184], [185, 61], [61, 184], [184, 185], [186, 57], [57, 185], [185, 186], [216, 212], [212, 186], [186, 216], [192, 214], [214, 187], [187, 192],\n [139, 34], [34, 156], [156, 139], [218, 79], [79, 237], [237, 218], [147, 123], [123, 177], [177, 147], [45, 44], [44, 4], [4, 45], [208, 201], [201, 32], [32, 208], [98, 64], [64, 129], [129, 98],\n [192, 213], [213, 138], [138, 192], [235, 59], [59, 219], [219, 235], [141, 242], [242, 97], [97, 141], [97, 2], [2, 141], [141, 97], [240, 75], [75, 235], [235, 240], [229, 24], [24, 228], [228, 229],\n [31, 25], [25, 226], [226, 31], [230, 23], [23, 229], [229, 230], [231, 22], [22, 230], [230, 231], [232, 26], [26, 231], [231, 232], [233, 112], [112, 232], [232, 233], [244, 189], [189, 243], [243, 244],\n [189, 221], [221, 190], [190, 189], [222, 28], [28, 221], [221, 222], [223, 27], [27, 222], [222, 223], [224, 29], [29, 223], [223, 224], [225, 30], [30, 224], [224, 225], [113, 247], [247, 225], [225, 113],\n [99, 60], [60, 240], [240, 99], [213, 147], [147, 215], [215, 213], [60, 20], [20, 166], [166, 60], [192, 187], [187, 213], [213, 192], [243, 112], [112, 244], [244, 243], [244, 233], [233, 245], [245, 244],\n [245, 128], [128, 188], [188, 245], [188, 114], [114, 174], [174, 188], [134, 131], [131, 220], [220, 134], [174, 217], [217, 236], [236, 174], [236, 198], [198, 134], [134, 236], [215, 177], [177, 58], [58, 215],\n [156, 143], [143, 124], [124, 156], [25, 110], [110, 7], [7, 25], [31, 228], [228, 25], [25, 31], [264, 356], [356, 368], [368, 264], [0, 11], [11, 267], [267, 0], [451, 452], [452, 349], [349, 451],\n [267, 302], [302, 269], [269, 267], [350, 357], [357, 277], [277, 350], [350, 452], [452, 357], [357, 350], [299, 333], [333, 297], [297, 299], [396, 175], [175, 377], [377, 396], [280, 347], [347, 330], [330, 280],\n [269, 303], [303, 270], [270, 269], [151, 9], [9, 337], [337, 151], [344, 278], [278, 360], [360, 344], [424, 418], [418, 431], [431, 424], [270, 304], [304, 409], [409, 270], [272, 310], [310, 407], [407, 272],\n [322, 270], [270, 410], [410, 322], [449, 450], [450, 347], [347, 449], [432, 422], [422, 434], [434, 432], [18, 313], [313, 17], [17, 18], [291, 306], [306, 375], [375, 291], [259, 387], [387, 260], [260, 259],\n [424, 335], [335, 418], [418, 424], [434, 364], [364, 416], [416, 434], [391, 423], [423, 327], [327, 391], [301, 251], [251, 298], [298, 301], [275, 281], [281, 4], [4, 275], [254, 373], [373, 253], [253, 254],\n [375, 307], [307, 321], [321, 375], [280, 425], [425, 411], [411, 280], [200, 421], [421, 18], [18, 200], [335, 321], [321, 406], [406, 335], [321, 320], [320, 405], [405, 321], [314, 315], [315, 17], [17, 314],\n [423, 426], [426, 266], [266, 423], [396, 377], [377, 369], [369, 396], [270, 322], [322, 269], [269, 270], [413, 417], [417, 464], [464, 413], [385, 386], [386, 258], [258, 385], [248, 456], [456, 419], [419, 248],\n [298, 284], [284, 333], [333, 298], [168, 417], [417, 8], [8, 168], [448, 346], [346, 261], [261, 448], [417, 413], [413, 285], [285, 417], [326, 327], [327, 328], [328, 326], [277, 355], [355, 329], [329, 277],\n [309, 392], [392, 438], [438, 309], [381, 382], [382, 256], [256, 381], [279, 429], [429, 360], [360, 279], [365, 364], [364, 379], [379, 365], [355, 277], [277, 437], [437, 355], [282, 443], [443, 283], [283, 282],\n [281, 275], [275, 363], [363, 281], [395, 431], [431, 369], [369, 395], [299, 297], [297, 337], [337, 299], [335, 273], [273, 321], [321, 335], [348, 450], [450, 349], [349, 348], [359, 446], [446, 467], [467, 359],\n [283, 293], [293, 282], [282, 283], [250, 458], [458, 462], [462, 250], [300, 276], [276, 383], [383, 300], [292, 308], [308, 325], [325, 292], [283, 276], [276, 293], [293, 283], [264, 372], [372, 447], [447, 264],\n [346, 352], [352, 340], [340, 346], [354, 274], [274, 19], [19, 354], [363, 456], [456, 281], [281, 363], [426, 436], [436, 425], [425, 426], [380, 381], [381, 252], [252, 380], [267, 269], [269, 393], [393, 267],\n [421, 200], [200, 428], [428, 421], [371, 266], [266, 329], [329, 371], [432, 287], [287, 422], [422, 432], [290, 250], [250, 328], [328, 290], [385, 258], [258, 384], [384, 385], [446, 265], [265, 342], [342, 446],\n [386, 387], [387, 257], [257, 386], [422, 424], [424, 430], [430, 422], [445, 342], [342, 276], [276, 445], [422, 273], [273, 424], [424, 422], [306, 292], [292, 307], [307, 306], [352, 366], [366, 345], [345, 352],\n [268, 271], [271, 302], [302, 268], [358, 423], [423, 371], [371, 358], [327, 294], [294, 460], [460, 327], [331, 279], [279, 294], [294, 331], [303, 271], [271, 304], [304, 303], [436, 432], [432, 427], [427, 436],\n [304, 272], [272, 408], [408, 304], [395, 394], [394, 431], [431, 395], [378, 395], [395, 400], [400, 378], [296, 334], [334, 299], [299, 296], [6, 351], [351, 168], [168, 6], [376, 352], [352, 411], [411, 376],\n [307, 325], [325, 320], [320, 307], [285, 295], [295, 336], [336, 285], [320, 319], [319, 404], [404, 320], [329, 330], [330, 349], [349, 329], [334, 293], [293, 333], [333, 334], [366, 323], [323, 447], [447, 366],\n [316, 15], [15, 315], [315, 316], [331, 358], [358, 279], [279, 331], [317, 14], [14, 316], [316, 317], [8, 285], [285, 9], [9, 8], [277, 329], [329, 350], [350, 277], [253, 374], [374, 252], [252, 253],\n [319, 318], [318, 403], [403, 319], [351, 6], [6, 419], [419, 351], [324, 318], [318, 325], [325, 324], [397, 367], [367, 365], [365, 397], [288, 435], [435, 397], [397, 288], [278, 344], [344, 439], [439, 278],\n [310, 272], [272, 311], [311, 310], [248, 195], [195, 281], [281, 248], [375, 273], [273, 291], [291, 375], [175, 396], [396, 199], [199, 175], [312, 311], [311, 268], [268, 312], [276, 283], [283, 445], [445, 276],\n [390, 373], [373, 339], [339, 390], [295, 282], [282, 296], [296, 295], [448, 449], [449, 346], [346, 448], [356, 264], [264, 454], [454, 356], [337, 336], [336, 299], [299, 337], [337, 338], [338, 151], [151, 337],\n [294, 278], [278, 455], [455, 294], [308, 292], [292, 415], [415, 308], [429, 358], [358, 355], [355, 429], [265, 340], [340, 372], [372, 265], [352, 346], [346, 280], [280, 352], [295, 442], [442, 282], [282, 295],\n [354, 19], [19, 370], [370, 354], [285, 441], [441, 295], [295, 285], [195, 248], [248, 197], [197, 195], [457, 440], [440, 274], [274, 457], [301, 300], [300, 368], [368, 301], [417, 351], [351, 465], [465, 417],\n [251, 301], [301, 389], [389, 251], [394, 395], [395, 379], [379, 394], [399, 412], [412, 419], [419, 399], [410, 436], [436, 322], [322, 410], [326, 2], [2, 393], [393, 326], [354, 370], [370, 461], [461, 354],\n [393, 164], [164, 267], [267, 393], [268, 302], [302, 12], [12, 268], [312, 268], [268, 13], [13, 312], [298, 293], [293, 301], [301, 298], [265, 446], [446, 340], [340, 265], [280, 330], [330, 425], [425, 280],\n [322, 426], [426, 391], [391, 322], [420, 429], [429, 437], [437, 420], [393, 391], [391, 326], [326, 393], [344, 440], [440, 438], [438, 344], [458, 459], [459, 461], [461, 458], [364, 434], [434, 394], [394, 364],\n [428, 396], [396, 262], [262, 428], [274, 354], [354, 457], [457, 274], [317, 316], [316, 402], [402, 317], [316, 315], [315, 403], [403, 316], [315, 314], [314, 404], [404, 315], [314, 313], [313, 405], [405, 314],\n [313, 421], [421, 406], [406, 313], [323, 366], [366, 361], [361, 323], [292, 306], [306, 407], [407, 292], [306, 291], [291, 408], [408, 306], [291, 287], [287, 409], [409, 291], [287, 432], [432, 410], [410, 287],\n [427, 434], [434, 411], [411, 427], [372, 264], [264, 383], [383, 372], [459, 309], [309, 457], [457, 459], [366, 352], [352, 401], [401, 366], [1, 274], [274, 4], [4, 1], [418, 421], [421, 262], [262, 418],\n [331, 294], [294, 358], [358, 331], [435, 433], [433, 367], [367, 435], [392, 289], [289, 439], [439, 392], [328, 462], [462, 326], [326, 328], [94, 2], [2, 370], [370, 94], [289, 305], [305, 455], [455, 289],\n [339, 254], [254, 448], [448, 339], [359, 255], [255, 446], [446, 359], [254, 253], [253, 449], [449, 254], [253, 252], [252, 450], [450, 253], [252, 256], [256, 451], [451, 252], [256, 341], [341, 452], [452, 256],\n [414, 413], [413, 463], [463, 414], [286, 441], [441, 414], [414, 286], [286, 258], [258, 441], [441, 286], [258, 257], [257, 442], [442, 258], [257, 259], [259, 443], [443, 257], [259, 260], [260, 444], [444, 259],\n [260, 467], [467, 445], [445, 260], [309, 459], [459, 250], [250, 309], [305, 289], [289, 290], [290, 305], [305, 290], [290, 460], [460, 305], [401, 376], [376, 435], [435, 401], [309, 250], [250, 392], [392, 309],\n [376, 411], [411, 433], [433, 376], [453, 341], [341, 464], [464, 453], [357, 453], [453, 465], [465, 357], [343, 357], [357, 412], [412, 343], [437, 343], [343, 399], [399, 437], [344, 360], [360, 440], [440, 344],\n [420, 437], [437, 456], [456, 420], [360, 420], [420, 363], [363, 360], [361, 401], [401, 288], [288, 361], [265, 372], [372, 353], [353, 265], [390, 339], [339, 249], [249, 390], [339, 448], [448, 255], [255, 339],\n];\n\nfunction connectionsToIndices(connections: PairArray) {\n const indices = connections.map((connection) => connection[0]);\n indices.push(connections[connections.length - 1][1]);\n return indices;\n}\n\nexport const MEDIAPIPE_FACE_MESH_KEYPOINTS_BY_CONTOUR = {\n lips: connectionsToIndices(LIPS_CONNECTIONS),\n leftEye: connectionsToIndices(LEFT_EYE_CONNECTIONS),\n leftEyebrow: connectionsToIndices(LEFT_EYEBROW_CONNECTIONS),\n leftIris: connectionsToIndices(LEFT_IRIS_CONNECTIONS),\n rightEye: connectionsToIndices(RIGHT_EYE_CONNECTIONS),\n rightEyebrow: connectionsToIndices(RIGHT_EYEBROW_CONNECTIONS),\n rightIris: connectionsToIndices(RIGHT_IRIS_CONNECTIONS),\n faceOval: connectionsToIndices(FACE_OVAL_CONNECTIONS),\n};\n\nconst indexLabelPairs: [number, string][] = Object.entries(MEDIAPIPE_FACE_MESH_KEYPOINTS_BY_CONTOUR)\n .map(([label, indices]) => indices.map((index) => [index, label] as [number, string]))\n .flat();\n\nexport const MEDIAPIPE_FACE_MESH_KEYPOINTS = new Map(indexLabelPairs);\n\ntype AssignAverage = number[];\nexport interface LandmarksRefinementConfig {\n indexesMapping: number[]; // Maps indexes of the given set of landmarks to indexes of the resulting set of landmarks. Should be non empty and contain the same amount of indexes as landmarks in the corresponding input\n zRefinement: 'none'|'copy'|AssignAverage; // Z refinement instructions.\n}\n\nexport const LANDMARKS_REFINEMENT_LIPS_CONFIG = [\n 61, 146, 91, 181, 84, 17, 314, 405, 321, 375, 291, // Lower outer.\n 185, 40, 39, 37, 0, 267, 269, 270, 409, // Upper outer(excluding corners).\n 78, 95, 88, 178, 87, 14, 317, 402, 318, 324, 308, // Lower inner.\n 191, 80, 81, 82, 13, 312, 311, 310, 415, // Upper inner(excluding corners).\n 76, 77, 90, 180, 85, 16, 315, 404, 320, 307, 306, // Lower semi - outer.\n 184, 74, 73, 72, 11, 302, 303, 304, 408, // Upper semi - outer(excluding corners).\n 62, 96, 89, 179, 86, 15, 316, 403, 319, 325, 292, // Lower semi - inner.\n 183, 42, 41, 38, 12, 268, 271, 272, 407, // Upper semi - inner(excluding corners).\n];\n\nexport const LANDMARKS_REFINEMENT_LEFT_EYE_CONFIG = [\n 33, 7, 163, 144, 145, 153, 154, 155, 133, // Lower contour.\n 246, 161, 160, 159, 158, 157, 173, // upper contour (excluding corners).\n 130, 25, 110, 24, 23, 22, 26, 112, 243, // Halo x2 lower contour.\n 247, 30, 29, 27, 28, 56, 190, // Halo x2 upper contour (excluding corners).\n 226, 31, 228, 229, 230, 231, 232, 233, 244, // Halo x3 lower contour.\n 113, 225, 224, 223, 222, 221, 189, // Halo x3 upper contour (excluding corners).\n 35, 124, 46, 53, 52, 65, // Halo x4 upper contour (no lower because of mesh structure) or eyebrow inner contour.\n 143, 111, 117, 118, 119, 120, 121, 128, 245, // Halo x5 lower contour.\n 156, 70, 63, 105, 66, 107, 55, 193, // Halo x5 upper contour (excluding corners) or eyebrow outer contour.\n];\n\nexport const LANDMARKS_REFINEMENT_RIGHT_EYE_CONFIG = [\n 263, 249, 390, 373, 374, 380, 381, 382, 362, // Lower contour.\n 466, 388, 387, 386, 385, 384, 398, // Upper contour (excluding corners).\n 359, 255, 339, 254, 253, 252, 256, 341, 463, // Halo x2 lower contour.\n 467, 260, 259, 257, 258, 286, 414, // Halo x2 upper contour (excluding corners).\n 446, 261, 448, 449, 450, 451, 452, 453, 464, // Halo x3 lower contour.\n 342, 445, 444, 443, 442, 441, 413, // Halo x3 upper contour (excluding corners).\n 265, 353, 276, 283, 282, 295, // Halo x4 upper contour (no lower because of mesh structure) or/ eyebrow inner contour.\n 372, 340, 346, 347, 348, 349, 350, 357, 465, // Halo x5 lower contour.\n 383, 300, 293, 334, 296, 336, 285, 417, // Halo x5 upper contour (excluding corners) or eyebrow outer contour.\n];\n\nexport const LANDMARKS_REFINEMENT_LEFT_IRIS_CONFIG = [\n 468, // Center.\n 469, // Iris right edge.\n 470, // Iris top edge.\n 471, // Iris left edge.\n 472, // Iris bottom edge.\n];\n/*\nzRefinement: [\n 33, 7, 163, 144, 145, 153, 154, 155, 133, // Lower contour.\n 246, 161, 160, 159, 158, 157, 173, // Upper contour (excluding corners).\n];\n*/\n\nexport const LANDMARKS_REFINEMENT_RIGHT_IRIS_CONFIG = [\n 473, // Center.\n 474, // Iris right edge.\n 475, // Iris top edge.\n 476, // Iris left edge.\n 477, // Iris bottom edge.\n];\n/*\nzRefinement: [\n 263, 249, 390, 373, 374, 380, 381, 382, 362, // Lower contour.\n 466, 388, 387, 386, 385, 384, 398, // Upper contour (excluding corners).\n];\n*/\n", "import { TRI468 as triangulation } from '../face/facemeshcoords';\nimport { mergeDeep } from '../util/util';\nimport { getCanvasContext, rad2deg, rect, point, lines, arrow, labels, replace } from './primitives';\nimport { options } from './options';\nimport * as facemeshConstants from '../face/constants';\nimport type { FaceResult } from '../result';\nimport type { AnyCanvas, DrawOptions } from '../exports';\n\nlet localOptions: DrawOptions;\n\nfunction drawLabels(f: FaceResult, ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D) {\n if (!localOptions.drawLabels || (localOptions.faceLabels?.length === 0)) return;\n let l = localOptions.faceLabels.slice();\n if (f.score) l = replace(l, '[score]', 100 * f.score);\n if (f.gender) l = replace(l, '[gender]', f.gender);\n if (f.genderScore) l = replace(l, '[genderScore]', 100 * f.genderScore);\n if (f.age) l = replace(l, '[age]', f.age);\n if (f.distance) l = replace(l, '[distance]', 100 * f.distance);\n if (f.real) l = replace(l, '[real]', 100 * f.real);\n if (f.live) l = replace(l, '[live]', 100 * f.live);\n if (f.emotion && f.emotion.length > 0) {\n const emotion = f.emotion.map((a) => `${Math.trunc(100 * a.score)}% ${a.emotion}`);\n if (emotion.length > 3) emotion.length = 3;\n l = replace(l, '[emotions]', emotion.join(' '));\n }\n if (f.rotation?.angle?.roll) l = replace(l, '[roll]', rad2deg(f.rotation.angle.roll));\n if (f.rotation?.angle?.yaw) l = replace(l, '[yaw]', rad2deg(f.rotation.angle.yaw));\n if (f.rotation?.angle?.pitch) l = replace(l, '[pitch]', rad2deg(f.rotation.angle.pitch));\n if (f.rotation?.gaze?.bearing) l = replace(l, '[gaze]', rad2deg(f.rotation.gaze.bearing));\n labels(ctx, l, f.box[0], f.box[1], localOptions);\n}\n\nfunction drawIrisElipse(f: FaceResult, ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D) {\n // iris: array[center, left, top, right, bottom]\n if (f.annotations?.leftEyeIris && f.annotations?.leftEyeIris[0]) {\n ctx.strokeStyle = localOptions.useDepth ? 'rgba(255, 200, 255, 0.3)' : localOptions.color;\n ctx.beginPath();\n const sizeX = Math.abs(f.annotations.leftEyeIris[3][0] - f.annotations.leftEyeIris[1][0]) / 2;\n const sizeY = Math.abs(f.annotations.leftEyeIris[4][1] - f.annotations.leftEyeIris[2][1]) / 2;\n ctx.ellipse(f.annotations.leftEyeIris[0][0], f.annotations.leftEyeIris[0][1], sizeX, sizeY, 0, 0, 2 * Math.PI);\n ctx.stroke();\n if (localOptions.fillPolygons) {\n ctx.fillStyle = localOptions.useDepth ? 'rgba(255, 255, 200, 0.3)' : localOptions.color;\n ctx.fill();\n }\n }\n if (f.annotations?.rightEyeIris && f.annotations?.rightEyeIris[0]) {\n ctx.strokeStyle = localOptions.useDepth ? 'rgba(255, 200, 255, 0.3)' : localOptions.color;\n ctx.beginPath();\n const sizeX = Math.abs(f.annotations.rightEyeIris[3][0] - f.annotations.rightEyeIris[1][0]) / 2;\n const sizeY = Math.abs(f.annotations.rightEyeIris[4][1] - f.annotations.rightEyeIris[2][1]) / 2;\n ctx.ellipse(f.annotations.rightEyeIris[0][0], f.annotations.rightEyeIris[0][1], sizeX, sizeY, 0, 0, 2 * Math.PI);\n ctx.stroke();\n if (localOptions.fillPolygons) {\n ctx.fillStyle = localOptions.useDepth ? 'rgba(255, 255, 200, 0.3)' : localOptions.color;\n ctx.fill();\n }\n }\n}\n\nfunction drawGazeSpheres(f: FaceResult, ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D) {\n if (localOptions.drawGaze && f.rotation?.angle && typeof Path2D !== 'undefined') {\n ctx.strokeStyle = 'pink';\n const valX = (f.box[0] + f.box[2] / 2) - (f.box[3] * rad2deg(f.rotation.angle.yaw) / 90);\n const valY = (f.box[1] + f.box[3] / 2) + (f.box[2] * rad2deg(f.rotation.angle.pitch) / 90);\n const pathV = new Path2D(`\n M ${f.box[0] + f.box[2] / 2} ${f.box[1]}\n C\n ${valX} ${f.box[1]},\n ${valX} ${f.box[1] + f.box[3]},\n ${f.box[0] + f.box[2] / 2} ${f.box[1] + f.box[3]}\n `);\n const pathH = new Path2D(`\n M ${f.box[0]} ${f.box[1] + f.box[3] / 2}\n C \n ${f.box[0]} ${valY},\n ${f.box[0] + f.box[2]} ${valY},\n ${f.box[0] + f.box[2]} ${f.box[1] + f.box[3] / 2}\n `);\n ctx.stroke(pathH);\n ctx.stroke(pathV);\n }\n}\n\nfunction drawGazeArrows(f: FaceResult, ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D) {\n if (localOptions.drawGaze && f.rotation?.gaze.strength && f.rotation.gaze.bearing && f.annotations.leftEyeIris && f.annotations.rightEyeIris && f.annotations.leftEyeIris[0] && f.annotations.rightEyeIris[0]) {\n ctx.strokeStyle = 'pink';\n ctx.fillStyle = 'pink';\n const leftGaze = [\n f.annotations.leftEyeIris[0][0] + (Math.sin(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[3]),\n f.annotations.leftEyeIris[0][1] + (Math.cos(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[2]),\n ];\n arrow(ctx, [f.annotations.leftEyeIris[0][0], f.annotations.leftEyeIris[0][1]], [leftGaze[0], leftGaze[1]], 4);\n const rightGaze = [\n f.annotations.rightEyeIris[0][0] + (Math.sin(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[3]),\n f.annotations.rightEyeIris[0][1] + (Math.cos(f.rotation.gaze.bearing) * f.rotation.gaze.strength * f.box[2]),\n ];\n arrow(ctx, [f.annotations.rightEyeIris[0][0], f.annotations.rightEyeIris[0][1]], [rightGaze[0], rightGaze[1]], 4);\n }\n}\n\nfunction drawFacePolygons(f: FaceResult, ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D) {\n if (localOptions.drawPolygons && f.mesh.length >= 468) {\n ctx.lineWidth = 1;\n for (let i = 0; i < triangulation.length / 3; i++) {\n const points = [triangulation[i * 3 + 0], triangulation[i * 3 + 1], triangulation[i * 3 + 2]].map((index) => f.mesh[index]);\n lines(ctx, points, localOptions);\n }\n drawIrisElipse(f, ctx);\n }\n /*\n if (localOptions.drawPolygons && f.contours.length > 1) {\n ctx.lineWidth = 5;\n lines(ctx, f.contours, opt);\n }\n ctx.lineWidth = 1;\n */\n}\n\nfunction drawFacePoints(f: FaceResult, ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D) {\n if (localOptions.drawPoints && f.mesh.length >= 468) {\n for (let i = 0; i < f.mesh.length; i++) {\n point(ctx, f.mesh[i][0], f.mesh[i][1], f.mesh[i][2], localOptions);\n if (localOptions.drawAttention) {\n if (facemeshConstants.LANDMARKS_REFINEMENT_LIPS_CONFIG.includes(i)) point(ctx, f.mesh[i][0], f.mesh[i][1], (f.mesh[i][2] as number) + 127, localOptions);\n if (facemeshConstants.LANDMARKS_REFINEMENT_LEFT_EYE_CONFIG.includes(i)) point(ctx, f.mesh[i][0], f.mesh[i][1], (f.mesh[i][2] as number) - 127, localOptions);\n if (facemeshConstants.LANDMARKS_REFINEMENT_RIGHT_EYE_CONFIG.includes(i)) point(ctx, f.mesh[i][0], f.mesh[i][1], (f.mesh[i][2] as number) - 127, localOptions);\n }\n }\n }\n}\n\nfunction drawFaceBoxes(f: FaceResult, ctx) {\n if (localOptions.drawBoxes) {\n rect(ctx, f.box[0], f.box[1], f.box[2], f.box[3], localOptions);\n }\n}\n\n/** draw detected faces */\nexport function face(inCanvas: AnyCanvas, result: FaceResult[], drawOptions?: Partial) {\n localOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n const ctx = getCanvasContext(inCanvas) as CanvasRenderingContext2D;\n if (!ctx) return;\n ctx.font = localOptions.font;\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n for (const f of result) {\n drawFaceBoxes(f, ctx);\n drawLabels(f, ctx);\n if (f.mesh && f.mesh.length > 0) {\n drawFacePoints(f, ctx);\n drawFacePolygons(f, ctx);\n drawGazeSpheres(f, ctx);\n drawGazeArrows(f, ctx);\n }\n }\n}\n", "import { mergeDeep } from '../util/util';\nimport { getCanvasContext, rect, point, curves, colorDepth, replace, labels } from './primitives';\nimport { options } from './options';\nimport type { BodyResult } from '../result';\nimport type { AnyCanvas, DrawOptions } from '../exports';\n\n/** draw detected bodies */\nexport function body(inCanvas: AnyCanvas, result: BodyResult[], drawOptions?: Partial) {\n const localOptions: DrawOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n const ctx = getCanvasContext(inCanvas) as CanvasRenderingContext2D;\n if (!ctx) return;\n ctx.lineJoin = 'round';\n for (let i = 0; i < result.length; i++) {\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n ctx.lineWidth = localOptions.lineWidth;\n ctx.font = localOptions.font;\n if (localOptions.drawBoxes && result[i].box && result[i].box.length === 4) {\n rect(ctx, result[i].box[0], result[i].box[1], result[i].box[2], result[i].box[3], localOptions);\n if (localOptions.drawLabels && (localOptions.bodyLabels?.length > 0)) {\n let l = localOptions.bodyLabels.slice();\n l = replace(l, '[score]', 100 * result[i].score);\n labels(ctx, l, result[i].box[0], result[i].box[1], localOptions);\n }\n }\n if (localOptions.drawPoints && result[i].keypoints) {\n for (let pt = 0; pt < result[i].keypoints.length; pt++) {\n if (!result[i].keypoints[pt].score || (result[i].keypoints[pt].score === 0)) continue;\n ctx.fillStyle = colorDepth(result[i].keypoints[pt].position[2], localOptions);\n point(ctx, result[i].keypoints[pt].position[0], result[i].keypoints[pt].position[1], 0, localOptions);\n }\n }\n if (localOptions.drawLabels && (localOptions.bodyPartLabels?.length > 0) && result[i].keypoints) {\n ctx.font = localOptions.font;\n for (const pt of result[i].keypoints) {\n if (!pt.score || (pt.score === 0)) continue;\n let l = localOptions.bodyPartLabels.slice();\n l = replace(l, '[label]', pt.part);\n l = replace(l, '[score]', 100 * pt.score);\n labels(ctx, l, pt.position[0], pt.position[1], localOptions);\n }\n }\n if (localOptions.drawPolygons && result[i].keypoints && result[i].annotations) {\n for (const part of Object.values(result[i].annotations)) {\n for (const connected of part) curves(ctx, connected, localOptions);\n }\n }\n }\n}\n", "import { mergeDeep } from '../util/util';\nimport { getCanvasContext, rect, point, colorDepth, replace, labels } from './primitives';\nimport { options } from './options';\nimport type { HandResult } from '../result';\nimport type { AnyCanvas, DrawOptions, Point } from '../exports';\n\n/** draw detected hands */\nexport function hand(inCanvas: AnyCanvas, result: HandResult[], drawOptions?: Partial) {\n const localOptions: DrawOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n const ctx = getCanvasContext(inCanvas) as CanvasRenderingContext2D;\n if (!ctx) return;\n ctx.lineJoin = 'round';\n ctx.font = localOptions.font;\n for (const h of result) {\n if (localOptions.drawBoxes) {\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n rect(ctx, h.box[0], h.box[1], h.box[2], h.box[3], localOptions);\n if (localOptions.drawLabels && (localOptions.handLabels?.length > 0)) {\n let l = localOptions.handLabels.slice();\n l = replace(l, '[label]', h.label);\n l = replace(l, '[score]', 100 * h.score);\n labels(ctx, l, h.box[0], h.box[1], localOptions);\n }\n ctx.stroke();\n }\n if (localOptions.drawPoints) {\n if (h.keypoints && h.keypoints.length > 0) {\n for (const pt of h.keypoints) {\n ctx.fillStyle = colorDepth(pt[2], localOptions);\n point(ctx, pt[0], pt[1], 0, localOptions);\n }\n }\n }\n if (localOptions.drawLabels && h.annotations && (localOptions.fingerLabels?.length > 0)) {\n for (const [part, pt] of Object.entries(h.annotations)) {\n let l = localOptions.fingerLabels.slice();\n l = replace(l, '[label]', part);\n labels(ctx, l, pt[pt.length - 1][0], pt[pt.length - 1][1], localOptions);\n }\n }\n if (localOptions.drawPolygons && h.annotations) {\n const addHandLine = (part: Point[]) => {\n if (!part || part.length === 0 || !part[0]) return;\n for (let i = 0; i < part.length; i++) {\n ctx.beginPath();\n const z = part[i][2] || 0;\n ctx.strokeStyle = colorDepth(i * z, localOptions);\n ctx.moveTo(part[i > 0 ? i - 1 : 0][0], part[i > 0 ? i - 1 : 0][1]);\n ctx.lineTo(part[i][0], part[i][1]);\n ctx.stroke();\n }\n };\n ctx.lineWidth = localOptions.lineWidth;\n addHandLine(h.annotations.index);\n addHandLine(h.annotations.middle);\n addHandLine(h.annotations.ring);\n addHandLine(h.annotations.pinky);\n addHandLine(h.annotations.thumb);\n // addPart(h.annotations.palm);\n }\n }\n}\n", "import { mergeDeep } from '../util/util';\nimport { getCanvasContext, rect, replace, labels } from './primitives';\nimport { options } from './options';\nimport type { ObjectResult } from '../result';\nimport type { AnyCanvas, DrawOptions } from '../exports';\n\n/** draw detected objects */\nexport function object(inCanvas: AnyCanvas, result: ObjectResult[], drawOptions?: Partial) {\n const localOptions: DrawOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n const ctx = getCanvasContext(inCanvas) as CanvasRenderingContext2D;\n if (!ctx) return;\n ctx.lineJoin = 'round';\n ctx.font = localOptions.font;\n for (const h of result) {\n if (localOptions.drawBoxes) {\n ctx.strokeStyle = localOptions.color;\n ctx.fillStyle = localOptions.color;\n rect(ctx, h.box[0], h.box[1], h.box[2], h.box[3], localOptions);\n if (localOptions.drawLabels && (localOptions.objectLabels?.length > 0)) {\n let l = localOptions.objectLabels.slice();\n l = replace(l, '[label]', h.label);\n l = replace(l, '[score]', 100 * h.score);\n labels(ctx, l, h.box[0], h.box[1], localOptions);\n }\n ctx.stroke();\n }\n }\n}\n", "import { mergeDeep } from '../util/util';\nimport { getCanvasContext, replace, labels } from './primitives';\nimport { options } from './options';\nimport type { GestureResult } from '../result';\nimport type { AnyCanvas, DrawOptions } from '../exports';\n\n/** draw detected gestures */\nexport function gesture(inCanvas: AnyCanvas, result: GestureResult[], drawOptions?: Partial) {\n const localOptions: DrawOptions = mergeDeep(options, drawOptions);\n if (!result || !inCanvas) return;\n if (localOptions.drawGestures && (localOptions.gestureLabels?.length > 0)) {\n const ctx = getCanvasContext(inCanvas) as CanvasRenderingContext2D;\n if (!ctx) return;\n ctx.font = localOptions.font;\n ctx.fillStyle = localOptions.color;\n let i = 1;\n for (let j = 0; j < result.length; j++) {\n const [where, what] = Object.entries(result[j]);\n if ((what.length > 1) && ((what[1] as string).length > 0)) {\n const who = where[1] as number > 0 ? `#${where[1]}` : '';\n let l = localOptions.gestureLabels.slice();\n l = replace(l, '[where]', where[0]);\n l = replace(l, '[who]', who);\n l = replace(l, '[what]', what[1]);\n labels(ctx, l, 8, 2 + (i * localOptions.lineHeight), localOptions);\n i += 1;\n }\n }\n }\n}\n", "export const defaultLabels = {\n face: `face\n confidence: [score]%\n [gender] [genderScore]%\n age: [age] years\n distance: [distance]cm\n real: [real]%\n live: [live]%\n [emotions]\n roll: [roll]\u00B0 yaw:[yaw]\u00B0 pitch:[pitch]\u00B0\n gaze: [gaze]\u00B0`,\n body: 'body [score]%',\n bodyPart: '[label] [score]%',\n object: '[label] [score]%',\n hand: '[label] [score]%',\n finger: '[label]',\n gesture: '[where] [who]: [what]',\n};\n", "/* eslint-disable no-multi-spaces */\n\nexport const kpt: string[] = [\n 'nose', // 0\n 'leftEyeInside', // 1\n 'leftEye', // 2\n 'leftEyeOutside', // 3\n 'rightEyeInside', // 4\n 'rightEye', // 5\n 'rightEyeOutside', // 6\n 'leftEar', // 7\n 'rightEar', // 8\n 'leftMouth', // 9\n 'rightMouth', // 10\n 'leftShoulder', // 11\n 'rightShoulder', // 12\n 'leftElbow', // 13\n 'rightElbow', // 14\n 'leftWrist', // 15\n 'rightWrist', // 16\n 'leftPinky', // 17\n 'rightPinky', // 18\n 'leftIndex', // 19\n 'rightIndex', // 20\n 'leftThumb', // 21\n 'rightThumb', // 22\n 'leftHip', // 23\n 'rightHip', // 24\n 'leftKnee', // 25\n 'rightKnee', // 26\n 'leftAnkle', // 27\n 'rightAnkle', // 28\n 'leftHeel', // 29\n 'rightHeel', // 30\n 'leftFoot', // 31\n 'rightFoot', // 32\n 'bodyCenter', // 33\n 'bodyTop', // 34\n 'leftPalm', // 35 // z-coord not ok\n 'leftHand', // 36 // similar to wrist but z-coord not ok\n 'rightPalm', // 37 // z-coord not ok\n 'rightHand', // 38 // similar to wrist but z-coord not ok\n];\n\nexport const connected: Record = {\n shoulders: ['leftShoulder', 'rightShoulder'],\n hips: ['rightHip', 'leftHip'],\n mouth: ['leftMouth', 'rightMouth'],\n leftLegUpper: ['leftHip', 'leftKnee'],\n leftLegLower: ['leftKnee', 'leftAnkle'],\n leftFoot: ['leftAnkle', 'leftHeel', 'leftFoot'],\n leftTorso: ['leftShoulder', 'leftHip'],\n leftArmUpper: ['leftShoulder', 'leftElbow'],\n leftArmLower: ['leftElbow', 'leftWrist'],\n leftHand: ['leftWrist', 'leftPalm'],\n leftHandPinky: ['leftPalm', 'leftPinky'],\n leftHandIndex: ['leftPalm', 'leftIndex'],\n leftHandThumb: ['leftPalm', 'leftThumb'],\n leftEyeOutline: ['leftEyeInside', 'leftEyeOutside'],\n rightLegUpper: ['rightHip', 'rightKnee'],\n rightLegLower: ['rightKnee', 'rightAnkle'],\n rightFoot: ['rightAnkle', 'rightHeel', 'rightFoot'],\n rightTorso: ['rightShoulder', 'rightHip'],\n rightArmUpper: ['rightShoulder', 'rightElbow'],\n rightArmLower: ['rightElbow', 'rightWrist'],\n rightHand: ['rightWrist', 'rightPalm'],\n rightHandPinky: ['rightPalm', 'rightPinky'],\n rightHandIndex: ['rightPalm', 'rightIndex'],\n rightHandThumb: ['rightPalm', 'rightThumb'],\n rightEyeOutline: ['rightEyeInside', 'rightEyeOutside'],\n};\n", "import * as tf from 'dist/tfjs.esm.js';\nimport { log } from '../util/util';\nimport { env } from '../util/env';\nimport { loadModel } from '../tfjs/load';\nimport type { Box } from '../result';\nimport type { Config } from '../config';\nimport type { GraphModel, Tensor, Tensor1D, Tensor2D } from '../tfjs/types';\n\nexport interface DetectedBox { box: Box, boxRaw: Box, score: number }\n\nlet model: GraphModel | null;\nlet inputSize = 224;\nlet anchorTensor: { x, y };\nconst numLayers = 5;\nconst strides = [8, 16, 32, 32, 32];\n\nexport function createAnchors() {\n const anchors: { x: number, y: number }[] = [];\n let layerId = 0;\n while (layerId < numLayers) {\n let anchorCount = 0;\n let lastSameStrideLayer = layerId;\n while (lastSameStrideLayer < strides.length && strides[lastSameStrideLayer] === strides[layerId]) {\n anchorCount += 2;\n lastSameStrideLayer++;\n }\n const stride = strides[layerId];\n const featureMapHeight = Math.ceil(inputSize / stride);\n const featureMapWidth = Math.ceil(inputSize / stride);\n for (let y = 0; y < featureMapHeight; ++y) {\n for (let x = 0; x < featureMapWidth; ++x) {\n for (let anchorId = 0; anchorId < anchorCount; ++anchorId) {\n anchors.push({ x: (x + 0.5) / featureMapWidth, y: (y + 0.5) / featureMapHeight });\n }\n }\n }\n layerId = lastSameStrideLayer;\n }\n anchorTensor = { x: tf.tensor1d(anchors.map((a) => a.x)), y: tf.tensor1d(anchors.map((a) => a.y)) };\n}\n\nexport async function loadDetector(config: Config): Promise {\n if (env.initial) model = null;\n if (!model && config.body['detector'] && config.body['detector'].modelPath || '') {\n model = await loadModel(config.body['detector'].modelPath);\n const inputs = model?.['executor'] ? Object.values(model.modelSignature['inputs']) : undefined;\n inputSize = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;\n } else if (config.debug && model) log('cached model:', model['modelUrl']);\n createAnchors();\n return model as GraphModel;\n}\n\nconst cropFactor = [5.0, 5.0];\nexport function decodeBoxes(boxesTensor, anchor) {\n return tf.tidy(() => {\n const split = tf.split(boxesTensor, 12, 1); // first 4 are box data [x,y,w,h] and 4 are keypoints data [x,y] for total of 12\n let xCenter = tf.squeeze(split[0]);\n let yCenter = tf.squeeze(split[1]);\n let width = tf.squeeze(split[2]);\n let height = tf.squeeze(split[3]);\n xCenter = tf.add(tf.div(xCenter, inputSize), anchor.x);\n yCenter = tf.add(tf.div(yCenter, inputSize), anchor.y);\n width = tf.mul(tf.div(width, inputSize), cropFactor[0]);\n height = tf.mul(tf.div(height, inputSize), cropFactor[1]);\n const xMin = tf.sub(xCenter, tf.div(width, 2));\n const yMin = tf.sub(yCenter, tf.div(height, 2));\n const xMax = tf.add(xMin, width);\n const yMax = tf.add(yMin, height);\n const boxes = tf.stack([xMin, yMin, xMax, yMax], 1);\n return boxes;\n });\n}\n\nasync function decodeResults(boxesTensor: Tensor, logitsTensor: Tensor, config: Config, outputSize: [number, number]): Promise {\n const detectedBoxes: DetectedBox[] = [];\n const t: Record = {};\n t.boxes = decodeBoxes(boxesTensor, anchorTensor);\n t.scores = tf.sigmoid(logitsTensor);\n t.nms = await tf.image.nonMaxSuppressionAsync(t.boxes as Tensor2D, t.scores as Tensor1D, 1, config.body['detector']?.minConfidence || 0.1, config.body['detector']?.iouThreshold || 0.1);\n const nms = await t.nms.data();\n const scores = await t.scores.data();\n const boxes = await t.boxes.array();\n for (const i of Array.from(nms)) {\n const score = scores[i];\n const boxRaw: Box = boxes[i];\n const box: Box = [Math.round(boxRaw[0] * outputSize[0]), Math.round(boxRaw[1] * outputSize[1]), Math.round(boxRaw[2] * outputSize[0]), Math.round(boxRaw[3] * outputSize[1])];\n const detectedBox: DetectedBox = { score, boxRaw, box };\n detectedBoxes.push(detectedBox);\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return detectedBoxes;\n}\n\nexport async function detectBoxes(input: Tensor, config: Config, outputSize: [number, number]) {\n const t: Record = {};\n t.res = model?.execute(input, ['Identity']) as Tensor; //\n t.logitsRaw = tf.slice(t.res, [0, 0, 0], [1, -1, 1]);\n t.boxesRaw = tf.slice(t.res, [0, 0, 1], [1, -1, -1]);\n t.logits = tf.squeeze(t.logitsRaw);\n t.boxes = tf.squeeze(t.boxesRaw);\n const boxes = await decodeResults(t.boxes, t.logits, config, outputSize);\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return boxes;\n}\n", "import type { Point, Box } from '../result';\n\nexport function calc(keypoints: Point[], outputSize: [number, number] = [1, 1]) {\n const coords = [keypoints.map((pt) => pt[0]), keypoints.map((pt) => pt[1])]; // all x/y coords\n const min = [Math.min(...coords[0]), Math.min(...coords[1])];\n const max = [Math.max(...coords[0]), Math.max(...coords[1])];\n const box: Box = [min[0], min[1], max[0] - min[0], max[1] - min[1]];\n const boxRaw: Box = [box[0] / outputSize[0], box[1] / outputSize[1], box[2] / outputSize[0], box[3] / outputSize[1]];\n return { box, boxRaw };\n}\n\nexport function square(keypoints: Point[], outputSize: [number, number] = [1, 1]) {\n const coords = [keypoints.map((pt) => pt[0]), keypoints.map((pt) => pt[1])]; // all x/y coords\n const min = [Math.min(...coords[0]), Math.min(...coords[1])];\n const max = [Math.max(...coords[0]), Math.max(...coords[1])];\n const center = [(min[0] + max[0]) / 2, (min[1] + max[1]) / 2]; // find center x and y coord of all fingers\n const dist = Math.max(center[0] - min[0], center[1] - min[1], -center[0] + max[0], -center[1] + max[1]); // largest distance from center in any direction\n const box: Box = [Math.trunc(center[0] - dist), Math.trunc(center[1] - dist), Math.trunc(2 * dist), Math.trunc(2 * dist)];\n const boxRaw: Box = [box[0] / outputSize[0], box[1] / outputSize[1], box[2] / outputSize[0], box[3] / outputSize[1]];\n return { box, boxRaw };\n}\n\nexport function scale(box: Box, scaleFact: number) {\n const dist = [box[2] * scaleFact, box[3] * scaleFact];\n const newBox: Box = [\n box[0] - (dist[0] - box[2]) / 2,\n box[1] - (dist[1] - box[3]) / 2,\n dist[0],\n dist[1],\n ];\n return newBox;\n}\n\nexport function crop(box: Box) { // [y1, x1, y2, x2] clamped to 0..1\n const yxBox: Box = [Math.max(0, box[1]), Math.max(0, box[0]), Math.min(1, box[3] + box[1]), Math.min(1, box[2] + box[0])];\n return yxBox;\n}\n", "/**\n * BlazePose model implementation\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { loadModel } from '../tfjs/load';\nimport { constants } from '../tfjs/constants';\nimport { log, now } from '../util/util';\nimport type { BodyKeypoint, BodyResult, BodyLandmark, Box, Point, BodyAnnotation } from '../result';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport * as coords from './blazeposecoords';\nimport { loadDetector, detectBoxes, DetectedBox } from './blazeposedetector';\nimport * as box from '../util/box';\nimport { env } from '../util/env';\n\n// const models: [GraphModel | null, GraphModel | null] = [null, null];\nlet model: GraphModel | null;\nlet inputSize = 256;\nlet skipped = Number.MAX_SAFE_INTEGER;\nconst outputNodes: { detector: string[], landmarks: string[] } = {\n landmarks: ['ld_3d', 'activation_segmentation', 'activation_heatmap', 'world_3d', 'output_poseflag'],\n detector: [],\n};\n\nconst cache: BodyResult[] = [];\nlet padding: [number, number][] = [[0, 0], [0, 0], [0, 0], [0, 0]];\nlet lastTime = 0;\n\nconst sigmoid = (x) => (1 - (1 / (1 + Math.exp(x))));\n\nexport const loadDetect = (config: Config): Promise => loadDetector(config);\n\nexport async function loadPose(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) {\n model = await loadModel(config.body.modelPath);\n const inputs = model?.['executor'] ? Object.values(model.modelSignature['inputs']) : undefined;\n inputSize = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;\n } else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nfunction prepareImage(input: Tensor4D, size: number, cropBox?: Box): Tensor {\n const t: Record = {};\n if (!input?.shape?.[1] || !input?.shape?.[2]) return input;\n let final: Tensor;\n if (cropBox) {\n t.cropped = tf.image.cropAndResize(input, [cropBox], [0], [input.shape[1], input.shape[2]]); // if we have cached box use it to crop input\n }\n if (input.shape[1] !== input.shape[2]) { // only pad if width different than height\n const height: [number, number] = [\n input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0,\n input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0,\n ];\n const width: [number, number] = [\n input.shape[1] > input.shape[2] ? Math.trunc((input.shape[1] - input.shape[2]) / 2) : 0,\n input.shape[1] > input.shape[2] ? Math.trunc((input.shape[1] - input.shape[2]) / 2) : 0,\n ];\n padding = [\n [0, 0], // dont touch batch\n height, // height before&after\n width, // width before&after\n [0, 0], // dont touch rbg\n ];\n t.pad = tf.pad(t.cropped || input, padding); // use cropped box if it exists\n t.resize = tf.image.resizeBilinear(t.pad as Tensor4D, [size, size]);\n final = tf.div(t.resize, constants.tf255);\n } else if (input.shape[1] !== size) { // if input needs resizing\n t.resize = tf.image.resizeBilinear(t.cropped as Tensor4D || input, [size, size]);\n final = tf.div(t.resize, constants.tf255);\n } else { // if input is already in a correct resolution just normalize it\n final = tf.div(t.cropped || input, constants.tf255);\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return final;\n}\n\nfunction rescaleKeypoints(keypoints: BodyKeypoint[], outputSize: [number, number], cropBox?: Box): BodyKeypoint[] {\n for (const kpt of keypoints) { // first rescale due to padding\n kpt.position = [\n Math.trunc(kpt.position[0] * (outputSize[0] + padding[2][0] + padding[2][1]) / outputSize[0] - padding[2][0]),\n Math.trunc(kpt.position[1] * (outputSize[1] + padding[1][0] + padding[1][1]) / outputSize[1] - padding[1][0]),\n kpt.position[2] as number,\n ];\n kpt.positionRaw = [kpt.position[0] / outputSize[0], kpt.position[1] / outputSize[1], 2 * (kpt.position[2] as number) / (outputSize[0] + outputSize[1])];\n }\n if (cropBox) { // second rescale due to cropping\n const width = cropBox[2] - cropBox[0];\n const height = cropBox[3] - cropBox[1];\n for (const kpt of keypoints) {\n kpt.positionRaw = [\n kpt.positionRaw[0] / height + cropBox[1], // correct offset due to crop\n kpt.positionRaw[1] / width + cropBox[0], // correct offset due to crop\n kpt.positionRaw[2] as number,\n ];\n kpt.position = [\n Math.trunc(kpt.positionRaw[0] * outputSize[0]),\n Math.trunc(kpt.positionRaw[1] * outputSize[1]),\n kpt.positionRaw[2] as number,\n ];\n }\n }\n return keypoints;\n}\n\nfunction fixKeypoints(keypoints: BodyKeypoint[]) {\n // palm z-coord is incorrect around near-zero so we approximate it\n const leftPalm = keypoints.find((k) => k.part === 'leftPalm') as BodyKeypoint;\n const leftWrist = keypoints.find((k) => k.part === 'leftWrist') as BodyKeypoint;\n const leftIndex = keypoints.find((k) => k.part === 'leftIndex') as BodyKeypoint;\n leftPalm.position[2] = ((leftWrist.position[2] || 0) + (leftIndex.position[2] || 0)) / 2;\n const rightPalm = keypoints.find((k) => k.part === 'rightPalm') as BodyKeypoint;\n const rightWrist = keypoints.find((k) => k.part === 'rightWrist') as BodyKeypoint;\n const rightIndex = keypoints.find((k) => k.part === 'rightIndex') as BodyKeypoint;\n rightPalm.position[2] = ((rightWrist.position[2] || 0) + (rightIndex.position[2] || 0)) / 2;\n}\n\nasync function detectLandmarks(input: Tensor, config: Config, outputSize: [number, number]): Promise {\n /**\n * t.ld: 39 keypoints [x,y,z,score,presence] normalized to input size\n * t.segmentation:\n * t.heatmap:\n * t.world: 39 keypoints [x,y,z] normalized to -1..1\n * t.poseflag: body score\n */\n if (!model?.['executor']) return null;\n const t: Record = {};\n [t.ld/* 1,195(39*5) */, t.segmentation/* 1,256,256,1 */, t.heatmap/* 1,64,64,39 */, t.world/* 1,117(39*3) */, t.poseflag/* 1,1 */] = model?.execute(input, outputNodes.landmarks) as Tensor[]; // run model\n const poseScore = (await t.poseflag.data())[0];\n const points = await t.ld.data();\n const distances = await t.world.data();\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor])); // dont need tensors after this\n const keypointsRelative: BodyKeypoint[] = [];\n const depth = 5; // each points has x,y,z,visibility,presence\n for (let i = 0; i < points.length / depth; i++) {\n const score = sigmoid(points[depth * i + 3]);\n const presence = sigmoid(points[depth * i + 4]);\n const adjScore = Math.trunc(100 * score * presence * poseScore) / 100;\n const positionRaw: Point = [points[depth * i + 0] / inputSize, points[depth * i + 1] / inputSize, points[depth * i + 2] + 0];\n const position: Point = [Math.trunc(outputSize[0] * positionRaw[0]), Math.trunc(outputSize[1] * positionRaw[1]), positionRaw[2] as number];\n const distance: Point = [distances[depth * i + 0], distances[depth * i + 1], distances[depth * i + 2] + 0];\n keypointsRelative.push({ part: coords.kpt[i] as BodyLandmark, positionRaw, position, distance, score: adjScore });\n }\n if (poseScore < (config.body.minConfidence || 0)) return null;\n fixKeypoints(keypointsRelative);\n const keypoints: BodyKeypoint[] = rescaleKeypoints(keypointsRelative, outputSize); // keypoints were relative to input image which is padded\n const kpts = keypoints.map((k) => k.position);\n const boxes = box.calc(kpts, [outputSize[0], outputSize[1]]); // now find boxes based on rescaled keypoints\n const annotations: Record = {} as Record;\n for (const [name, indexes] of Object.entries(coords.connected)) {\n const pt: Point[][] = [];\n for (let i = 0; i < indexes.length - 1; i++) {\n const pt0 = keypoints.find((kpt) => kpt.part === indexes[i]);\n const pt1 = keypoints.find((kpt) => kpt.part === indexes[i + 1]);\n if (pt0 && pt1) pt.push([pt0.position, pt1.position]);\n }\n annotations[name] = pt;\n }\n const body = { id: 0, score: Math.trunc(100 * poseScore) / 100, box: boxes.box, boxRaw: boxes.boxRaw, keypoints, annotations };\n return body;\n}\n\nexport async function predict(input: Tensor4D, config: Config): Promise {\n const outputSize: [number, number] = [input.shape[2] || 0, input.shape[1] || 0];\n const skipTime = (config.body.skipTime || 0) > (now() - lastTime);\n const skipFrame = skipped < (config.body.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame && cache !== null) {\n skipped++;\n } else {\n let boxes: DetectedBox[] = [];\n if (config.body?.['detector']?.['enabled']) {\n const preparedImage = prepareImage(input, 224);\n boxes = await detectBoxes(preparedImage, config, outputSize);\n tf.dispose(preparedImage);\n } else {\n boxes = [{ box: [0, 0, 0, 0] as Box, boxRaw: [0, 0, 1, 1], score: 0 }]; // running without detector\n }\n for (let i = 0; i < boxes.length; i++) {\n const preparedBox = prepareImage(input, 256, boxes[i]?.boxRaw); // padded and resized\n cache.length = 0;\n const bodyResult = await detectLandmarks(preparedBox, config, outputSize);\n tf.dispose(preparedBox);\n if (!bodyResult) continue;\n bodyResult.id = i;\n // bodyResult.score = 0; // TBD\n cache.push(bodyResult);\n }\n /*\n cropBox = [0, 0, 1, 1]; // reset crop coordinates\n if (cache?.boxRaw && config.skipAllowed) {\n const cx = (2.0 * cache.boxRaw[0] + cache.boxRaw[2]) / 2;\n const cy = (2.0 * cache.boxRaw[1] + cache.boxRaw[3]) / 2;\n let size = cache.boxRaw[2] > cache.boxRaw[3] ? cache.boxRaw[2] : cache.boxRaw[3];\n size = (size * 1.0) / 2; // enlarge and half it\n if (cx > 0.1 && cx < 0.9 && cy > 0.1 && cy < 0.9 && size > 0.1) { // only update if box is sane\n const y = 0; // cy - size;\n const x = cx - size;\n cropBox = [y, x, y + 1, x + 1]; // [y0,x0,y1,x1] used for cropping but width/height are not yet implemented so we only reposition image to center of body\n }\n }\n */\n lastTime = now();\n skipped = 0;\n }\n return cache;\n}\n", "/**\n * CoCo Labels used by object detection implementations\n */\nexport const labels = [\n { class: 1, label: 'person' },\n { class: 2, label: 'bicycle' },\n { class: 3, label: 'car' },\n { class: 4, label: 'motorcycle' },\n { class: 5, label: 'airplane' },\n { class: 6, label: 'bus' },\n { class: 7, label: 'train' },\n { class: 8, label: 'truck' },\n { class: 9, label: 'boat' },\n { class: 10, label: 'traffic light' },\n { class: 11, label: 'fire hydrant' },\n { class: 12, label: 'stop sign' },\n { class: 13, label: 'parking meter' },\n { class: 14, label: 'bench' },\n { class: 15, label: 'bird' },\n { class: 16, label: 'cat' },\n { class: 17, label: 'dog' },\n { class: 18, label: 'horse' },\n { class: 19, label: 'sheep' },\n { class: 20, label: 'cow' },\n { class: 21, label: 'elephant' },\n { class: 22, label: 'bear' },\n { class: 23, label: 'zebra' },\n { class: 24, label: 'giraffe' },\n { class: 25, label: 'backpack' },\n { class: 26, label: 'umbrella' },\n { class: 27, label: 'handbag' },\n { class: 28, label: 'tie' },\n { class: 29, label: 'suitcase' },\n { class: 30, label: 'frisbee' },\n { class: 31, label: 'skis' },\n { class: 32, label: 'snowboard' },\n { class: 33, label: 'sports ball' },\n { class: 34, label: 'kite' },\n { class: 35, label: 'baseball bat' },\n { class: 36, label: 'baseball glove' },\n { class: 37, label: 'skateboard' },\n { class: 38, label: 'surfboard' },\n { class: 39, label: 'tennis racket' },\n { class: 40, label: 'bottle' },\n { class: 41, label: 'wine glass' },\n { class: 42, label: 'cup' },\n { class: 43, label: 'fork' },\n { class: 44, label: 'knife' },\n { class: 45, label: 'spoon' },\n { class: 46, label: 'bowl' },\n { class: 47, label: 'banana' },\n { class: 48, label: 'apple' },\n { class: 49, label: 'sandwich' },\n { class: 50, label: 'orange' },\n { class: 51, label: 'broccoli' },\n { class: 52, label: 'carrot' },\n { class: 53, label: 'hot dog' },\n { class: 54, label: 'pizza' },\n { class: 55, label: 'donut' },\n { class: 56, label: 'cake' },\n { class: 57, label: 'chair' },\n { class: 58, label: 'couch' },\n { class: 59, label: 'potted plant' },\n { class: 60, label: 'bed' },\n { class: 61, label: 'dining table' },\n { class: 62, label: 'toilet' },\n { class: 63, label: 'tv' },\n { class: 64, label: 'laptop' },\n { class: 65, label: 'mouse' },\n { class: 66, label: 'remote' },\n { class: 67, label: 'keyboard' },\n { class: 68, label: 'cell phone' },\n { class: 69, label: 'microwave' },\n { class: 70, label: 'oven' },\n { class: 71, label: 'toaster' },\n { class: 72, label: 'sink' },\n { class: 73, label: 'refrigerator' },\n { class: 74, label: 'book' },\n { class: 75, label: 'clock' },\n { class: 76, label: 'vase' },\n { class: 77, label: 'scissors' },\n { class: 78, label: 'teddy bear' },\n { class: 79, label: 'hair drier' },\n { class: 80, label: 'toothbrush' },\n];\n", "/**\n * CenterNet object detection model implementation\n *\n * Based on: [**MB3-CenterNet**](https://github.com/610265158/mobilenetv3_centernet)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport { labels } from './labels';\nimport type { ObjectResult, ObjectType, Box } from '../result';\nimport type { GraphModel, Tensor, Tensor1D, Tensor2D, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nlet model: GraphModel | null;\nlet inputSize = 0;\nlet last: ObjectResult[] = [];\nlet lastTime = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) {\n // fakeOps(['floormod'], config);\n model = await loadModel(config.object.modelPath);\n const inputs = model?.['executor'] ? Object.values(model.modelSignature['inputs']) : undefined;\n inputSize = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;\n } else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nasync function process(res: Tensor | null, outputShape: [number, number], config: Config) {\n if (!res) return [];\n const t: Record = {};\n const results: ObjectResult[] = [];\n const detections = await res.array() as number[][][];\n t.squeeze = tf.squeeze(res);\n const arr = tf.split(t.squeeze, 6, 1); // x1, y1, x2, y2, score, class\n t.stack = tf.stack([arr[1], arr[0], arr[3], arr[2]], 1); // reorder dims as tf.nms expects y, x\n t.boxes = tf.squeeze(t.stack);\n t.scores = tf.squeeze(arr[4]);\n t.classes = tf.squeeze(arr[5]);\n tf.dispose([res, ...arr]);\n t.nms = await tf.image.nonMaxSuppressionAsync(t.boxes as Tensor2D, t.scores as Tensor1D, config.object.maxDetected || 0, config.object.iouThreshold, (config.object.minConfidence || 0));\n const nms = await t.nms.data();\n let i = 0;\n for (const id of Array.from(nms)) {\n const score = Math.trunc(100 * detections[0][id][4]) / 100;\n const classVal = detections[0][id][5];\n if (Number.isNaN(classVal)) continue;\n const label = labels[classVal].label as ObjectType;\n const [x, y] = [\n detections[0][id][0] / inputSize,\n detections[0][id][1] / inputSize,\n ];\n const boxRaw: Box = [\n x,\n y,\n detections[0][id][2] / inputSize - x,\n detections[0][id][3] / inputSize - y,\n ];\n const box: Box = [\n Math.trunc(boxRaw[0] * outputShape[0]),\n Math.trunc(boxRaw[1] * outputShape[1]),\n Math.trunc(boxRaw[2] * outputShape[0]),\n Math.trunc(boxRaw[3] * outputShape[1]),\n ];\n results.push({ id: i++, score, class: classVal, label, box, boxRaw });\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return results;\n}\n\nexport async function predict(input: Tensor4D, config: Config): Promise {\n if (!model?.['executor']) return [];\n const skipTime = (config.object.skipTime || 0) > (now() - lastTime);\n const skipFrame = skipped < (config.object.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame && (last.length > 0)) {\n skipped++;\n return last;\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const outputSize = [input.shape[2] || 0, input.shape[1] || 0] as [number, number];\n const resize = tf.image.resizeBilinear(input, [inputSize, inputSize]);\n const objectT = config.object.enabled ? model?.execute(resize, ['tower_0/detections']) as Tensor : null;\n lastTime = now();\n tf.dispose(resize);\n\n const obj = await process(objectT, outputSize, config);\n last = obj;\n\n resolve(obj);\n });\n}\n", "export const kpt: string[] = [\n 'head',\n 'neck',\n 'rightShoulder',\n 'rightElbow',\n 'rightWrist',\n 'chest',\n 'leftShoulder',\n 'leftElbow',\n 'leftWrist',\n 'bodyCenter',\n 'rightHip',\n 'rightKnee',\n 'rightAnkle',\n 'leftHip',\n 'leftKnee',\n 'leftAnkle',\n];\n\nexport const connected: Record = {\n leftLeg: ['leftHip', 'leftKnee', 'leftAnkle'],\n rightLeg: ['rightHip', 'rightKnee', 'rightAnkle'],\n torso: ['leftShoulder', 'rightShoulder', 'rightHip', 'leftHip', 'leftShoulder'],\n leftArm: ['leftShoulder', 'leftElbow', 'leftWrist'],\n rightArm: ['rightShoulder', 'rightElbow', 'rightWrist'],\n head: [],\n};\n", "/**\n * EfficientPose model implementation\n *\n * Based on: [**EfficientPose**](https://github.com/daniegr/EfficientPose)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport * as coords from './efficientposecoords';\nimport { constants } from '../tfjs/constants';\nimport type { BodyResult, Point, BodyLandmark, BodyAnnotation } from '../result';\nimport type { GraphModel, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nlet model: GraphModel | null;\nlet lastTime = 0;\nconst cache: BodyResult = { id: 0, keypoints: [], box: [0, 0, 0, 0], boxRaw: [0, 0, 0, 0], score: 0, annotations: {} as Record };\n\n// const keypoints: Array = [];\n// let box: Box = [0, 0, 0, 0];\n// let boxRaw: Box = [0, 0, 0, 0];\n// let score = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.body.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\n// performs argmax and max functions on a 2d tensor\nasync function max2d(inputs, minScore): Promise<[number, number, number]> {\n const [width, height] = inputs.shape;\n const reshaped = tf.reshape(inputs, [height * width]); // combine all data\n const max = tf.max(reshaped, 0);\n const newScore: number = (await max.data())[0]; // get highest score\n if (newScore > minScore) { // skip coordinate calculation is score is too low\n const coordinates = tf.argMax(reshaped, 0);\n const mod = tf.mod(coordinates, width);\n const x = (await mod.data())[0];\n const div = tf.div(coordinates, width);\n const y: number = (await div.data())[0];\n tf.dispose([reshaped, max, coordinates, mod, div]);\n return [x, y, newScore];\n }\n tf.dispose([reshaped, max]);\n return [0, 0, newScore];\n}\n\nexport async function predict(image: Tensor4D, config: Config): Promise {\n if (!model?.['executor'] || !model?.inputs[0].shape) return [];\n const skipTime = (config.body.skipTime || 0) > (now() - lastTime);\n const skipFrame = skipped < (config.body.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame && Object.keys(cache.keypoints).length > 0) {\n skipped++;\n return [cache];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const tensor = tf.tidy(() => {\n const resize = tf.image.resizeBilinear(image, [model?.inputs[0].shape?.[2] || 0, model?.inputs[0].shape?.[1] || 0], false);\n const enhance = tf.mul(resize, constants.tf2);\n const norm = tf.sub(enhance, constants.tf1);\n return norm;\n });\n let resT;\n if (config.body.enabled) resT = model?.execute(tensor);\n lastTime = now();\n tf.dispose(tensor);\n\n if (resT) {\n cache.keypoints.length = 0;\n const squeeze = tf.squeeze(resT);\n tf.dispose(resT);\n // body parts are basically just a stack of 2d tensors\n const stack = tf.unstack(squeeze, 2);\n tf.dispose(squeeze);\n\n // process each unstacked tensor as a separate body part\n for (let id = 0; id < stack.length; id++) {\n // actual processing to get coordinates and score\n const [x, y, partScore] = await max2d(stack[id], config.body.minConfidence);\n if (partScore > (config.body.minConfidence || 0)) {\n cache.keypoints.push({\n score: Math.round(100 * partScore) / 100,\n part: coords.kpt[id] as BodyLandmark,\n positionRaw: [ // normalized to 0..1\n // @ts-ignore model is not undefined here\n x / model.inputs[0].shape[2], y / model.inputs[0].shape[1],\n ],\n position: [ // normalized to input image size\n // @ts-ignore model is not undefined here\n Math.round(image.shape[2] * x / model.inputs[0].shape[2]), Math.round(image.shape[1] * y / model.inputs[0].shape[1]),\n ],\n });\n }\n }\n stack.forEach((s) => tf.dispose(s));\n }\n cache.score = cache.keypoints.reduce((prev, curr) => (curr.score > prev ? curr.score : prev), 0);\n const x = cache.keypoints.map((a) => a.position[0]);\n const y = cache.keypoints.map((a) => a.position[1]);\n cache.box = [\n Math.min(...x),\n Math.min(...y),\n Math.max(...x) - Math.min(...x),\n Math.max(...y) - Math.min(...y),\n ];\n const xRaw = cache.keypoints.map((a) => a.positionRaw[0]);\n const yRaw = cache.keypoints.map((a) => a.positionRaw[1]);\n cache.boxRaw = [\n Math.min(...xRaw),\n Math.min(...yRaw),\n Math.max(...xRaw) - Math.min(...xRaw),\n Math.max(...yRaw) - Math.min(...yRaw),\n ];\n for (const [name, indexes] of Object.entries(coords.connected)) {\n const pt: Point[][] = [];\n for (let i = 0; i < indexes.length - 1; i++) {\n const pt0 = cache.keypoints.find((kpt) => kpt.part === indexes[i]);\n const pt1 = cache.keypoints.find((kpt) => kpt.part === indexes[i + 1]);\n if (pt0 && pt1 && pt0.score > (config.body.minConfidence || 0) && pt1.score > (config.body.minConfidence || 0)) pt.push([pt0.position, pt1.position]);\n }\n cache.annotations[name] = pt;\n }\n resolve([cache]);\n });\n}\n", "/**\n * BlazeFace, FaceMesh & Iris model implementation\n * See `facemesh.ts` for entry point\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport * as coords from './facemeshcoords';\nimport { constants } from '../tfjs/constants';\nimport type { Box, Point } from '../result';\nimport { env } from '../util/env';\n\nexport const createBox = (startEndTensor) => ({ startPoint: tf.slice(startEndTensor, [0, 0], [-1, 2]), endPoint: tf.slice(startEndTensor, [0, 2], [-1, 2]) });\n\nexport const disposeBox = (t) => tf.dispose([t.startPoint, t.endPoint]);\n\nexport const getBoxSize = (box): [number, number] => [Math.abs(box.endPoint[0] - box.startPoint[0]), Math.abs(box.endPoint[1] - box.startPoint[1])];\n\nexport const getBoxCenter = (box): [number, number, number] => [box.startPoint[0] + (box.endPoint[0] - box.startPoint[0]) / 2, box.startPoint[1] + (box.endPoint[1] - box.startPoint[1]) / 2, 1];\n\nexport const clampBox = (box, input): Box => (box ? [\n Math.trunc(Math.max(0, box.startPoint[0])),\n Math.trunc(Math.max(0, box.startPoint[1])),\n Math.trunc(Math.min((input.shape[2] || 0), box.endPoint[0]) - Math.max(0, box.startPoint[0])),\n Math.trunc(Math.min((input.shape[1] || 0), box.endPoint[1]) - Math.max(0, box.startPoint[1])),\n] : [0, 0, 0, 0]);\n\nexport const getRawBox = (box, input): Box => (box ? [\n box.startPoint[0] / (input.shape[2] || 0),\n box.startPoint[1] / (input.shape[1] || 0),\n (box.endPoint[0] - box.startPoint[0]) / (input.shape[2] || 0),\n (box.endPoint[1] - box.startPoint[1]) / (input.shape[1] || 0),\n] : [0, 0, 0, 0]);\n\nexport const scaleBoxCoordinates = (box, factor) => {\n const startPoint: Point = [box.startPoint[0] * factor[0], box.startPoint[1] * factor[1]];\n const endPoint: Point = [box.endPoint[0] * factor[0], box.endPoint[1] * factor[1]];\n return { startPoint, endPoint, landmarks: box.landmarks, confidence: box.confidence };\n};\n\nexport const cutAndResize = (box, image, cropSize) => {\n const h = image.shape[1];\n const w = image.shape[2];\n const cutBox = [box.startPoint[1] / h, box.startPoint[0] / w, box.endPoint[1] / h, box.endPoint[0] / w];\n const crop = tf.image.cropAndResize(image, [cutBox], [0], cropSize);\n const norm = tf.div(crop, constants.tf255);\n tf.dispose(crop);\n return norm;\n};\n\nexport const enlargeBox = (box, factor) => {\n const center = getBoxCenter(box);\n const size = getBoxSize(box);\n const halfSize: [number, number] = [factor * size[0] / 2, factor * size[1] / 2];\n return { startPoint: [center[0] - halfSize[0], center[1] - halfSize[1]] as Point, endPoint: [center[0] + halfSize[0], center[1] + halfSize[1]] as Point, landmarks: box.landmarks, confidence: box.confidence };\n};\n\nexport const squarifyBox = (box) => {\n const centers = getBoxCenter(box);\n const size = getBoxSize(box);\n const halfSize = Math.max(...size) / 2;\n return { startPoint: [Math.round(centers[0] - halfSize), Math.round(centers[1] - halfSize)] as Point, endPoint: [Math.round(centers[0] + halfSize), Math.round(centers[1] + halfSize)] as Point, landmarks: box.landmarks, confidence: box.confidence };\n};\n\nexport const calculateLandmarksBoundingBox = (landmarks) => {\n const x = landmarks.map((d) => d[0]);\n const y = landmarks.map((d) => d[1]);\n return { startPoint: [Math.min(...x), Math.min(...y)] as Point, endPoint: [Math.max(...x), Math.max(...y)] as Point, landmarks };\n};\n\nexport const fixedRotationMatrix = [[1, 0, 0], [0, 1, 0], [0, 0, 1]];\n\nexport const normalizeRadians = (angle: number) => angle - 2 * Math.PI * Math.floor((angle + Math.PI) / (2 * Math.PI));\n\nexport const computeRotation = (point1, point2) => normalizeRadians(Math.PI / 2 - Math.atan2(-(point2[1] - point1[1]), point2[0] - point1[0]));\n\nexport const radToDegrees = (rad) => rad * 180 / Math.PI;\n\nexport const buildTranslationMatrix = (x, y) => [[1, 0, x], [0, 1, y], [0, 0, 1]];\n\nexport const dot = (v1: number[], v2: number[]) => {\n let product = 0;\n for (let i = 0; i < v1.length; i++) product += v1[i] * v2[i];\n return product;\n};\n\nexport const getColumnFrom2DArr = (arr, columnIndex) => {\n const column: number[] = [];\n for (let i = 0; i < arr.length; i++) column.push(arr[i][columnIndex]);\n return column;\n};\n\nexport const multiplyTransformMatrices = (mat1, mat2) => {\n const product: number[][] = [];\n const size = mat1.length;\n for (let row = 0; row < size; row++) {\n product.push([]);\n for (let col = 0; col < size; col++) product[row].push(dot(mat1[row], getColumnFrom2DArr(mat2, col)));\n }\n return product;\n};\n\nexport const buildRotationMatrix = (rotation, center) => {\n const cosA = Math.cos(rotation);\n const sinA = Math.sin(rotation);\n const rotationMatrix = [[cosA, -sinA, 0], [sinA, cosA, 0], [0, 0, 1]];\n const translationMatrix = buildTranslationMatrix(center[0], center[1]);\n const translationTimesRotation = multiplyTransformMatrices(translationMatrix, rotationMatrix);\n const negativeTranslationMatrix = buildTranslationMatrix(-center[0], -center[1]);\n return multiplyTransformMatrices(translationTimesRotation, negativeTranslationMatrix);\n};\n\nexport const invertTransformMatrix = (matrix) => {\n const rotationComponent = [[matrix[0][0], matrix[1][0]], [matrix[0][1], matrix[1][1]]];\n const translationComponent = [matrix[0][2], matrix[1][2]];\n const invertedTranslation = [-dot(rotationComponent[0], translationComponent), -dot(rotationComponent[1], translationComponent)];\n return [rotationComponent[0].concat(invertedTranslation[0]), rotationComponent[1].concat(invertedTranslation[1]), [0, 0, 1]];\n};\n\nexport const rotatePoint = (homogeneousCoordinate, rotationMatrix) => [dot(homogeneousCoordinate, rotationMatrix[0]), dot(homogeneousCoordinate, rotationMatrix[1])];\n\nexport const xyDistanceBetweenPoints = (a, b) => Math.sqrt(((a[0] - b[0]) ** 2) + ((a[1] - b[1]) ** 2));\n\nexport function generateAnchors(inputSize: number) {\n const spec = inputSize === 192\n ? { strides: [4], anchors: [1] } // facemesh-detector\n : { strides: [inputSize / 16, inputSize / 8], anchors: [2, 6] }; // blazeface\n const anchors: [number, number][] = [];\n for (let i = 0; i < spec.strides.length; i++) {\n const stride = spec.strides[i];\n const gridRows = Math.floor((inputSize + stride - 1) / stride);\n const gridCols = Math.floor((inputSize + stride - 1) / stride);\n const anchorsNum = spec.anchors[i];\n for (let gridY = 0; gridY < gridRows; gridY++) {\n const anchorY = stride * (gridY + 0.5);\n for (let gridX = 0; gridX < gridCols; gridX++) {\n const anchorX = stride * (gridX + 0.5);\n for (let n = 0; n < anchorsNum; n++) anchors.push([anchorX, anchorY]);\n }\n }\n }\n return anchors;\n}\n\nexport function transformRawCoords(coordsRaw, box, angle, rotationMatrix, inputSize) {\n const boxSize = getBoxSize(box);\n const coordsScaled = coordsRaw.map((coord) => ([ // scaled around zero-point\n (boxSize[0] / inputSize) * (coord[0] - (inputSize / 2)),\n (boxSize[1] / inputSize) * (coord[1] - (inputSize / 2)),\n (coord[2] || 0),\n ]));\n const largeAngle = angle && (angle !== 0) && (Math.abs(angle) > 0.2);\n const coordsRotationMatrix = largeAngle ? buildRotationMatrix(angle, [0, 0]) : fixedRotationMatrix;\n const coordsRotated = largeAngle ? coordsScaled.map((coord) => ([...rotatePoint(coord, coordsRotationMatrix), coord[2]])) : coordsScaled;\n const inverseRotationMatrix = largeAngle ? invertTransformMatrix(rotationMatrix) : fixedRotationMatrix;\n const boxCenter = getBoxCenter(box);\n const offsets = [dot(boxCenter, inverseRotationMatrix[0]), dot(boxCenter, inverseRotationMatrix[1])];\n return coordsRotated.map((coord) => ([\n Math.trunc(coord[0] + offsets[0]),\n Math.trunc(coord[1] + offsets[1]),\n Math.trunc(coord[2] || 0),\n ]));\n}\n\nexport function correctFaceRotation(rotate, box, input, inputSize) {\n const symmetryLine = (box.landmarks.length >= coords.meshLandmarks.count)\n ? coords.meshLandmarks.symmetryLine\n : coords.blazeFaceLandmarks.symmetryLine;\n let angle = 0; // default\n let rotationMatrix = fixedRotationMatrix; // default\n let face; // default\n\n if (rotate && env.kernels.includes('rotatewithoffset')) {\n angle = computeRotation(box.landmarks[symmetryLine[0]], box.landmarks[symmetryLine[1]]);\n const largeAngle = angle && (angle !== 0) && (Math.abs(angle) > 0.2);\n if (largeAngle) { // perform rotation only if angle is sufficiently high\n const center: Point = getBoxCenter(box);\n const centerRaw: Point = [center[0] / input.shape[2], center[1] / input.shape[1]];\n const rotated = tf.image.rotateWithOffset(input, angle, 0, [centerRaw[0], centerRaw[1]]);\n rotationMatrix = buildRotationMatrix(-angle, center);\n face = cutAndResize(box, rotated, [inputSize, inputSize]);\n tf.dispose(rotated);\n } else {\n face = cutAndResize(box, input, [inputSize, inputSize]);\n }\n } else {\n face = cutAndResize(box, input, [inputSize, inputSize]);\n }\n return [angle, rotationMatrix, face];\n}\n\nexport const findFaceCenter = (mesh) => {\n const x = mesh.map((m) => m[0]);\n const y = mesh.map((m) => m[1]);\n // weighted center\n /*\n const sum = (arr: number[]) => arr.reduce((prev, curr) => prev + curr, 0);\n return [sum(x) / mesh.length, sum(y) / mesh.length];\n */\n // absolute center\n return [Math.min(...x) + (Math.max(...x) - Math.min(...x)) / 2, Math.min(...y) + (Math.max(...y) - Math.min(...y)) / 2];\n};\n\nexport const calculateFaceBox = (mesh, previousBox) => {\n const center = findFaceCenter(mesh);\n const boxSize = getBoxSize(previousBox);\n const calculatedBox = {\n startPoint: [center[0] - boxSize[0] / 2, center[1] - boxSize[1] / 2] as Point,\n endPoint: [center[0] + boxSize[0] / 2, center[1] + boxSize[1] / 2] as Point,\n };\n return calculatedBox;\n};\n", "/**\n * BlazeFace, FaceMesh & Iris model implementation\n * See `facemesh.ts` for entry point\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log } from '../util/util';\nimport * as util from './facemeshutil';\nimport { loadModel } from '../tfjs/load';\nimport { constants } from '../tfjs/constants';\nimport type { Config } from '../config';\nimport type { Tensor, GraphModel, Tensor1D, Tensor2D, Tensor4D } from '../tfjs/types';\nimport { env } from '../util/env';\nimport type { Point } from '../result';\n\nconst keypointsCount = 6;\nconst faceBoxScaleFactor = 1.4;\nlet model: GraphModel | null;\nlet anchors: Tensor | null = null;\nlet inputSize = 0;\nlet inputSizeT: Tensor | null = null;\n\ninterface DetectBox { startPoint: Point, endPoint: Point, landmarks: Point[], confidence: number }\n\nexport const size = () => inputSize;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face.detector?.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n inputSize = (model['executor'] && model.inputs[0].shape) ? model.inputs[0].shape[2] : 256;\n inputSizeT = tf.scalar(inputSize, 'int32') as Tensor;\n anchors = tf.tensor2d(util.generateAnchors(inputSize)) as Tensor;\n return model;\n}\n\nfunction decodeBoxes(boxOutputs: Tensor) {\n if (!anchors || !inputSizeT) return tf.zeros([0, 0]);\n const t: Record = {};\n t.boxStarts = tf.slice(boxOutputs, [0, 1], [-1, 2]);\n t.centers = tf.add(t.boxStarts, anchors);\n t.boxSizes = tf.slice(boxOutputs, [0, 3], [-1, 2]);\n t.boxSizesNormalized = tf.div(t.boxSizes, inputSizeT);\n t.centersNormalized = tf.div(t.centers, inputSizeT);\n t.halfBoxSize = tf.div(t.boxSizesNormalized, constants.tf2);\n t.starts = tf.sub(t.centersNormalized, t.halfBoxSize);\n t.ends = tf.add(t.centersNormalized, t.halfBoxSize);\n t.startNormalized = tf.mul(t.starts, inputSizeT);\n t.endNormalized = tf.mul(t.ends, inputSizeT);\n const boxes = tf.concat2d([t.startNormalized as Tensor2D, t.endNormalized as Tensor2D], 1);\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return boxes;\n}\n\nexport async function getBoxes(inputImage: Tensor4D, config: Config) {\n // sanity check on input\n if ((!inputImage) || (inputImage['isDisposedInternal']) || (inputImage.shape.length !== 4) || (inputImage.shape[1] < 1) || (inputImage.shape[2] < 1)) return [];\n const t: Record = {};\n t.resized = tf.image.resizeBilinear(inputImage, [inputSize, inputSize]);\n t.div = tf.div(t.resized, constants.tf127);\n t.normalized = tf.sub(t.div, constants.tf05);\n const res = model?.execute(t.normalized) as Tensor[];\n if (Array.isArray(res) && res.length > 2) { // pinto converted model?\n const sorted = res.sort((a, b) => a.size - b.size);\n t.concat384 = tf.concat([sorted[0], sorted[2]], 2); // dim: 384, 1 + 16\n t.concat512 = tf.concat([sorted[1], sorted[3]], 2); // dim: 512, 1 + 16\n t.concat = tf.concat([t.concat512, t.concat384], 1);\n t.batch = tf.squeeze(t.concat, [0]);\n } else if (Array.isArray(res)) { // new facemesh-detection tfhub model\n t.batch = tf.squeeze(res[0]);\n } else { // original blazeface tfhub model\n t.batch = tf.squeeze(res);\n }\n tf.dispose(res);\n t.boxes = decodeBoxes(t.batch);\n t.logits = tf.slice(t.batch, [0, 0], [-1, 1]);\n t.sigmoid = tf.sigmoid(t.logits);\n t.scores = tf.squeeze(t.sigmoid);\n t.nms = await tf.image.nonMaxSuppressionAsync(t.boxes as Tensor2D, t.scores as Tensor1D, (config.face.detector?.maxDetected || 0), (config.face.detector?.iouThreshold || 0), (config.face.detector?.minConfidence || 0));\n const nms = await t.nms.array() as number[];\n const boxes: DetectBox[] = [];\n const scores = await t.scores.data();\n for (let i = 0; i < nms.length; i++) {\n const confidence = scores[nms[i]];\n if (confidence > (config.face.detector?.minConfidence || 0)) {\n const b: Record = {};\n b.bbox = tf.slice(t.boxes, [nms[i], 0], [1, -1]);\n b.slice = tf.slice(t.batch, [nms[i], keypointsCount - 1], [1, -1]);\n b.squeeze = tf.squeeze(b.slice);\n b.landmarks = tf.reshape(b.squeeze, [keypointsCount, -1]);\n const points = await b.bbox.data();\n const rawBox = {\n startPoint: [points[0], points[1]] as Point,\n endPoint: [points[2], points[3]] as Point,\n landmarks: (await b.landmarks.array()) as Point[],\n confidence,\n };\n const scaledBox = util.scaleBoxCoordinates(rawBox, [(inputImage.shape[2] || 0) / inputSize, (inputImage.shape[1] || 0) / inputSize]);\n const enlargedBox = util.enlargeBox(scaledBox, config.face['scale'] || faceBoxScaleFactor);\n const squaredBox = util.squarifyBox(enlargedBox);\n boxes.push(squaredBox);\n Object.keys(b).forEach((tensor) => tf.dispose(b[tensor]));\n }\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return boxes;\n}\n", "import * as tf from 'dist/tfjs.esm.js';\nimport * as coords from './facemeshcoords';\nimport * as util from './facemeshutil';\nimport type { Tensor, GraphModel } from '../tfjs/types';\nimport { env } from '../util/env';\nimport { log } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport type { Config } from '../config';\nimport type { Point } from '../result';\n\nlet model: GraphModel | null;\nlet inputSize = 0;\n\nconst irisEnlarge = 2.3;\n\nconst leftOutline = coords.meshAnnotations.leftEyeLower0;\nconst rightOutline = coords.meshAnnotations.rightEyeLower0;\n\nconst eyeLandmarks = {\n leftBounds: [leftOutline[0], leftOutline[leftOutline.length - 1]],\n rightBounds: [rightOutline[0], rightOutline[rightOutline.length - 1]],\n};\n\nconst irisLandmarks = {\n upperCenter: 3,\n lowerCenter: 4,\n index: 71,\n numCoordinates: 76,\n};\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face.iris?.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n inputSize = (model?.['executor'] && model.inputs?.[0].shape) ? model.inputs[0].shape[2] : 0;\n if (inputSize === -1) inputSize = 64;\n return model;\n}\n\n// Replace the raw coordinates returned by facemesh with refined iris model coordinates and update the z coordinate to be an average of the original and the new.\nexport function replaceIrisCoords(rawCoords, newCoords, prefix, keys) {\n for (let i = 0; i < coords.irisIndices.length; i++) {\n const { key, indices } = coords.irisIndices[i];\n const originalIndices = coords.meshAnnotations[`${prefix}${key}`];\n if (!keys || keys.includes(key)) {\n for (let j = 0; j < indices.length; j++) {\n const index = indices[j];\n rawCoords[originalIndices[j]] = [\n newCoords[index][0],\n newCoords[index][1],\n (newCoords[index][2] + rawCoords[originalIndices[j]][2]) / 2,\n ];\n }\n }\n }\n}\n\nexport const getLeftToRightEyeDepthDifference = (rawCoords) => {\n const leftEyeZ = rawCoords[eyeLandmarks.leftBounds[0]][2];\n const rightEyeZ = rawCoords[eyeLandmarks.rightBounds[0]][2];\n return leftEyeZ - rightEyeZ;\n};\n\n// Returns a box describing a cropped region around the eye fit for passing to the iris model.\nexport const getEyeBox = (rawCoords, face, eyeInnerCornerIndex, eyeOuterCornerIndex, meshSize, flip = false) => {\n const box = util.squarifyBox(util.enlargeBox(util.calculateLandmarksBoundingBox([rawCoords[eyeInnerCornerIndex], rawCoords[eyeOuterCornerIndex]]), irisEnlarge));\n const boxSize = util.getBoxSize(box);\n let crop = tf.image.cropAndResize(face, [[\n box.startPoint[1] / meshSize,\n box.startPoint[0] / meshSize, box.endPoint[1] / meshSize,\n box.endPoint[0] / meshSize,\n ]], [0], [inputSize, inputSize]);\n if (flip && env.kernels.includes('flipleftright')) {\n const flipped = tf.image.flipLeftRight(crop); // flipLeftRight is not defined for tfjs-node\n tf.dispose(crop);\n crop = flipped;\n }\n return { box, boxSize, crop };\n};\n\n// Given a cropped image of an eye, returns the coordinates of the contours surrounding the eye and the iris.\nexport const getEyeCoords = (eyeData, eyeBox, eyeBoxSize, flip = false) => {\n const eyeRawCoords: Point[] = [];\n for (let i = 0; i < irisLandmarks.numCoordinates; i++) {\n const x = eyeData[i * 3];\n const y = eyeData[i * 3 + 1];\n const z = eyeData[i * 3 + 2];\n eyeRawCoords.push([\n (flip ? (1 - (x / inputSize)) : (x / inputSize)) * eyeBoxSize[0] + eyeBox.startPoint[0],\n (y / inputSize) * eyeBoxSize[1] + eyeBox.startPoint[1], z,\n ]);\n }\n return { rawCoords: eyeRawCoords, iris: eyeRawCoords.slice(irisLandmarks.index) };\n};\n\n// The z-coordinates returned for the iris are unreliable, so we take the z values from the surrounding keypoints.\nexport const getAdjustedIrisCoords = (rawCoords, irisCoords, direction) => {\n const upperCenterZ = rawCoords[coords.meshAnnotations[`${direction}EyeUpper0`][irisLandmarks.upperCenter]][2];\n const lowerCenterZ = rawCoords[coords.meshAnnotations[`${direction}EyeLower0`][irisLandmarks.lowerCenter]][2];\n const averageZ = (upperCenterZ + lowerCenterZ) / 2;\n // Iris indices: 0: center | 1: right | 2: above | 3: left | 4: below\n return irisCoords.map((coord, i) => {\n let z = averageZ;\n if (i === 2) {\n z = upperCenterZ;\n } else if (i === 4) {\n z = lowerCenterZ;\n }\n return [coord[0], coord[1], z];\n });\n};\n\nexport async function augmentIris(rawCoords, face, meshSize) {\n if (!model?.['executor']) return rawCoords;\n const { box: leftEyeBox, boxSize: leftEyeBoxSize, crop: leftEyeCrop } = getEyeBox(rawCoords, face, eyeLandmarks.leftBounds[0], eyeLandmarks.leftBounds[1], meshSize, true);\n const { box: rightEyeBox, boxSize: rightEyeBoxSize, crop: rightEyeCrop } = getEyeBox(rawCoords, face, eyeLandmarks.rightBounds[0], eyeLandmarks.rightBounds[1], meshSize, true);\n const combined = tf.concat([leftEyeCrop, rightEyeCrop]);\n tf.dispose(leftEyeCrop);\n tf.dispose(rightEyeCrop);\n const eyePredictions = model.execute(combined) as Tensor;\n tf.dispose(combined);\n const eyePredictionsData = await eyePredictions.data();\n tf.dispose(eyePredictions);\n const leftEyeData = eyePredictionsData.slice(0, irisLandmarks.numCoordinates * 3);\n const { rawCoords: leftEyeRawCoords, iris: leftIrisRawCoords } = getEyeCoords(leftEyeData, leftEyeBox, leftEyeBoxSize, true);\n const rightEyeData = eyePredictionsData.slice(irisLandmarks.numCoordinates * 3);\n const { rawCoords: rightEyeRawCoords, iris: rightIrisRawCoords } = getEyeCoords(rightEyeData, rightEyeBox, rightEyeBoxSize, false);\n const leftToRightEyeDepthDifference = getLeftToRightEyeDepthDifference(rawCoords);\n if (Math.abs(leftToRightEyeDepthDifference) < 30) { // User is looking straight ahead.\n replaceIrisCoords(rawCoords, leftEyeRawCoords, 'left', null);\n replaceIrisCoords(rawCoords, rightEyeRawCoords, 'right', null);\n // If the user is looking to the left or to the right, the iris coordinates tend to diverge too much from the mesh coordinates for them to be merged so we only update a single contour line above and below the eye.\n } else if (leftToRightEyeDepthDifference < 1) { // User is looking towards the right.\n replaceIrisCoords(rawCoords, leftEyeRawCoords, 'left', ['EyeUpper0', 'EyeLower0']);\n } else { // User is looking towards the left.\n replaceIrisCoords(rawCoords, rightEyeRawCoords, 'right', ['EyeUpper0', 'EyeLower0']);\n }\n const adjustedLeftIrisCoords = getAdjustedIrisCoords(rawCoords, leftIrisRawCoords, 'left');\n const adjustedRightIrisCoords = getAdjustedIrisCoords(rawCoords, rightIrisRawCoords, 'right');\n const newCoords = rawCoords.concat(adjustedLeftIrisCoords).concat(adjustedRightIrisCoords);\n return newCoords;\n}\n", "import * as constants from './constants';\nimport type { Tensor } from '../tfjs/types';\n\nexport async function augment(rawCoords, results: Tensor[]) {\n const t: Record = { // all attention models produce 2d results so it needs to be later augmented with correct z-coords\n // mesh: results[0], // already have it in rawCoords // output_mesh_identity\n // flag: results[1], // already processed in parent // conv_faceflag\n lips: await results.filter((r) => r.size === 160)?.[0]?.data() as Float32Array, // 80 x 2d = 160 // output_lips\n irisL: await results.filter((r) => r.size === 10)?.[0]?.data() as Float32Array, // 5 x 2d = 10 // output_right_iris\n eyeL: await results.filter((r) => r.size === 142)?.[0]?.data() as Float32Array, // 71 x 2d = 142 // output_right_eye\n irisR: await results.filter((r) => r.size === 10)?.[1]?.data() as Float32Array, // 5 x 2d = 10 // output_left_iris\n eyeR: await results.filter((r) => r.size === 142)?.[1]?.data() as Float32Array, // 71 x 2d = 142// output_left_eye\n };\n for (const val of Object.values(t)) {\n if (!val) return rawCoords; // could not find tensor\n }\n\n // augment iris: adds additional 5 keypoints per eye\n const irisLDepth = constants.LANDMARKS_REFINEMENT_LEFT_EYE_CONFIG.reduce((prev, curr) => prev += rawCoords[curr][2], 0) / constants.LANDMARKS_REFINEMENT_LEFT_EYE_CONFIG.length; // get average z-coord for iris\n for (let i = 0; i < t.irisL.length / 2; i++) rawCoords.push([t.irisL[2 * i + 0], t.irisL[2 * i + 1], irisLDepth]);\n const irisRDepth = constants.LANDMARKS_REFINEMENT_RIGHT_EYE_CONFIG.reduce((prev, curr) => prev += rawCoords[curr][2], 0) / constants.LANDMARKS_REFINEMENT_RIGHT_EYE_CONFIG.length; // get average z-coord for iris\n for (let i = 0; i < t.irisR.length / 2; i++) rawCoords.push([t.irisR[2 * i + 0], t.irisR[2 * i + 1], irisRDepth]);\n\n // augment eyes: replaces eye keypoints based on heuristic mapping\n for (let i = 0; i < t.eyeL.length / 2; i++) rawCoords[constants.LANDMARKS_REFINEMENT_LEFT_EYE_CONFIG[i]] = [t.eyeL[2 * i + 0], t.eyeL[2 * i + 1], rawCoords[constants.LANDMARKS_REFINEMENT_LEFT_EYE_CONFIG[i]][2]];\n for (let i = 0; i < t.eyeR.length / 2; i++) rawCoords[constants.LANDMARKS_REFINEMENT_RIGHT_EYE_CONFIG[i]] = [t.eyeR[2 * i + 0], t.eyeR[2 * i + 1], rawCoords[constants.LANDMARKS_REFINEMENT_RIGHT_EYE_CONFIG[i]][2]];\n\n // augment lips: replaces eye keypoints based on heuristic mapping\n for (let i = 0; i < t.lips.length / 2; i++) rawCoords[constants.LANDMARKS_REFINEMENT_LIPS_CONFIG[i]] = [t.lips[2 * i + 0], t.lips[2 * i + 1], rawCoords[constants.LANDMARKS_REFINEMENT_LIPS_CONFIG[i]][2]];\n\n return rawCoords;\n}\n", "/**\n * BlazeFace, FaceMesh & Iris model implementation\n *\n * Based on:\n * - [**MediaPipe BlazeFace**](https://drive.google.com/file/d/1f39lSzU5Oq-j_OXgS67KfN5wNsoeAZ4V/view)\n * - Facial Spacial Geometry: [**MediaPipe FaceMesh**](https://drive.google.com/file/d/1VFC_wIpw4O7xBOiTgUldl79d9LA-LsnA/view)\n * - Eye Iris Details: [**MediaPipe Iris**](https://drive.google.com/file/d/1bsWbokp9AklH2ANjCfmjqEzzxO1CNbMu/view)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport * as blazeface from './blazeface';\nimport * as util from './facemeshutil';\nimport * as coords from './facemeshcoords';\nimport * as iris from './iris';\nimport * as attention from './attention';\nimport { histogramEqualization } from '../image/enhance';\nimport { env } from '../util/env';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport type { FaceResult, FaceLandmark, Point } from '../result';\nimport type { Config } from '../config';\n\ninterface DetectBox { startPoint: Point, endPoint: Point, landmarks: Point[], confidence: number }\n\nconst cache = {\n boxes: [] as DetectBox[],\n skipped: Number.MAX_SAFE_INTEGER,\n timestamp: 0,\n};\n\nlet model: GraphModel | null = null;\nlet inputSize = 0;\n\nexport async function predict(input: Tensor4D, config: Config): Promise {\n if (!model?.['executor']) return [];\n // reset cached boxes\n const skipTime = (config.face.detector?.skipTime || 0) > (now() - cache.timestamp);\n const skipFrame = cache.skipped < (config.face.detector?.skipFrames || 0);\n if (!config.skipAllowed || !skipTime || !skipFrame || cache.boxes.length === 0) {\n cache.boxes = await blazeface.getBoxes(input, config); // get results from blazeface detector\n cache.timestamp = now();\n cache.skipped = 0;\n } else {\n cache.skipped++;\n }\n const faces: FaceResult[] = [];\n const newCache: DetectBox[] = [];\n let id = 0;\n const size = inputSize;\n for (let i = 0; i < cache.boxes.length; i++) {\n const box = cache.boxes[i];\n let angle = 0;\n let rotationMatrix;\n const face: FaceResult = { // init face result\n id: id++,\n mesh: [],\n meshRaw: [],\n box: [0, 0, 0, 0],\n boxRaw: [0, 0, 0, 0],\n score: 0,\n boxScore: 0,\n faceScore: 0,\n // contoursRaw: [],\n // contours: [],\n annotations: {} as Record,\n };\n\n // optional rotation correction based on detector data only if mesh is disabled otherwise perform it later when we have more accurate mesh data. if no rotation correction this function performs crop\n [angle, rotationMatrix, face.tensor] = util.correctFaceRotation(config.face.detector?.rotation, box, input, config.face.mesh?.enabled ? inputSize : blazeface.size());\n if (config.filter.equalization) {\n const equilized = face.tensor ? await histogramEqualization(face.tensor) : undefined;\n tf.dispose(face.tensor);\n if (equilized) face.tensor = equilized;\n }\n face.boxScore = Math.round(100 * box.confidence) / 100;\n if (!config.face.mesh?.enabled) { // mesh not enabled, return resuts from detector only\n face.box = util.clampBox(box, input);\n face.boxRaw = util.getRawBox(box, input);\n face.score = face.boxScore;\n face.mesh = box.landmarks.map((pt) => [\n ((box.startPoint[0] + box.endPoint[0])) / 2 + ((box.endPoint[0] + box.startPoint[0]) * pt[0] / blazeface.size()),\n ((box.startPoint[1] + box.endPoint[1])) / 2 + ((box.endPoint[1] + box.startPoint[1]) * pt[1] / blazeface.size()),\n ]);\n face.meshRaw = face.mesh.map((pt) => [pt[0] / (input.shape[2] || 0), pt[1] / (input.shape[1] || 0), (pt[2] || 0) / size]);\n for (const key of Object.keys(coords.blazeFaceLandmarks)) {\n face.annotations[key] = [face.mesh[coords.blazeFaceLandmarks[key] as number]]; // add annotations\n }\n } else if (!model) { // mesh enabled, but not loaded\n if (config.debug) log('face mesh detection requested, but model is not loaded');\n } else { // mesh enabled\n if (config.face.attention?.enabled && !env.kernels.includes('atan2')) {\n config.face.attention.enabled = false;\n tf.dispose(face.tensor);\n return faces;\n }\n const results = model.execute(face.tensor as Tensor) as Tensor[];\n const confidenceT = results.find((t) => t.shape[t.shape.length - 1] === 1) as Tensor;\n const faceConfidence = await confidenceT.data();\n face.faceScore = Math.round(100 * faceConfidence[0]) / 100;\n if (face.faceScore < (config.face.detector?.minConfidence || 1)) { // low confidence in detected mesh\n box.confidence = face.faceScore; // reset confidence of cached box\n if (config.face.mesh.keepInvalid) {\n face.box = util.clampBox(box, input);\n face.boxRaw = util.getRawBox(box, input);\n face.score = face.boxScore;\n face.mesh = box.landmarks.map((pt) => [\n ((box.startPoint[0] + box.endPoint[0])) / 2 + ((box.endPoint[0] + box.startPoint[0]) * pt[0] / blazeface.size()),\n ((box.startPoint[1] + box.endPoint[1])) / 2 + ((box.endPoint[1] + box.startPoint[1]) * pt[1] / blazeface.size()),\n ]);\n face.meshRaw = face.mesh.map((pt) => [pt[0] / (input.shape[2] || 1), pt[1] / (input.shape[1] || 1), (pt[2] || 0) / size]);\n for (const key of Object.keys(coords.blazeFaceLandmarks)) {\n face.annotations[key] = [face.mesh[coords.blazeFaceLandmarks[key] as number]]; // add annotations\n }\n }\n } else {\n const meshT = results.find((t) => t.shape[t.shape.length - 1] === 1404) as Tensor;\n const coordsReshaped = tf.reshape(meshT, [-1, 3]);\n let rawCoords = await coordsReshaped.array();\n tf.dispose(coordsReshaped);\n if (config.face.attention?.enabled) {\n rawCoords = await attention.augment(rawCoords, results); // augment iris results using attention model results\n } else if (config.face.iris?.enabled) {\n rawCoords = await iris.augmentIris(rawCoords, face.tensor, inputSize); // run iris model and augment results\n }\n face.mesh = util.transformRawCoords(rawCoords, box, angle, rotationMatrix, inputSize); // get processed mesh\n face.meshRaw = face.mesh.map((pt) => [pt[0] / (input.shape[2] || 0), pt[1] / (input.shape[1] || 0), (pt[2] || 0) / size]);\n for (const key of Object.keys(coords.meshAnnotations)) face.annotations[key] = coords.meshAnnotations[key].map((index) => face.mesh[index]); // add annotations\n face.score = face.faceScore;\n const calculatedBox = { ...util.calculateFaceBox(face.mesh, box), confidence: box.confidence, landmarks: box.landmarks };\n face.box = util.clampBox(calculatedBox, input);\n face.boxRaw = util.getRawBox(calculatedBox, input);\n /*\n const contoursT = results.find((t) => t.shape[t.shape.length - 1] === 266) as Tensor;\n const contoursData = contoursT && await contoursT.data(); // 133 x 2d points\n face.contoursRaw = [];\n for (let j = 0; j < contoursData.length / 2; j++) face.contoursRaw.push([contoursData[2 * j + 0] / inputSize, contoursData[2 * j + 1] / inputSize]);\n face.contours = face.contoursRaw.map((c) => [Math.trunc((input.shape[2] || 1) * c[0]), Math.trunc((input.shape[1] || 1) * c[1])]);\n */\n newCache.push(calculatedBox);\n }\n tf.dispose(results);\n }\n if (face.score > (config.face.detector?.minConfidence || 1)) faces.push(face);\n else tf.dispose(face.tensor);\n }\n cache.boxes = newCache; // reset cache\n return faces;\n}\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (config.face.attention?.enabled && model?.['signature']) {\n if (Object.keys(model?.['signature']?.outputs || {}).length < 6) model = null;\n }\n if (!model) {\n if (config.face.attention?.enabled) model = await loadModel(config.face.attention.modelPath);\n else model = await loadModel(config.face.mesh?.modelPath);\n } else if (config.debug) {\n log('cached model:', model['modelUrl']);\n }\n inputSize = (model['executor'] && model?.inputs?.[0].shape) ? model?.inputs?.[0].shape[2] : 256;\n return model;\n}\n\nexport const triangulation = coords.TRI468;\nexport const uvmap = coords.UV468;\n", "/**\n * Emotion model implementation\n *\n * [**Oarriaga**](https://github.com/oarriaga/face_classification)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport type { Emotion } from '../result';\nimport { log, now } from '../util/util';\nimport type { Config } from '../config';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport { loadModel } from '../tfjs/load';\nimport { env } from '../util/env';\nimport { constants } from '../tfjs/constants';\n\nconst annotations = ['angry', 'disgust', 'fear', 'happy', 'sad', 'surprise', 'neutral'];\nlet model: GraphModel | null;\nconst last: { score: number, emotion: Emotion }[][] = [];\nlet lastCount = 0;\nlet lastTime = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face.emotion?.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(image: Tensor4D, config: Config, idx: number, count: number): Promise<{ score: number, emotion: Emotion }[]> {\n if (!model) return [];\n const skipFrame = skipped < (config.face.emotion?.skipFrames || 0);\n const skipTime = (config.face.emotion?.skipTime || 0) > (now() - lastTime);\n if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && last[idx] && (last[idx].length > 0)) {\n skipped++;\n return last[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const obj: { score: number, emotion: Emotion }[] = [];\n if (config.face.emotion?.enabled) {\n const t: Record = {};\n const inputSize = model?.inputs[0].shape ? model.inputs[0].shape[2] : 0;\n t.resize = tf.image.resizeBilinear(image, [inputSize, inputSize], false);\n // const box = [[0.15, 0.15, 0.85, 0.85]]; // empyrical values for top, left, bottom, right\n // const resize = tf.image.cropAndResize(image, box, [0], [inputSize, inputSize]);\n // [t.red, t.green, t.blue] = tf.split(t.resize, 3, 3);\n // weighted rgb to grayscale: https://www.mathworks.com/help/matlab/ref/rgb2gray.html\n // t.redNorm = tf.mul(t.red, rgb[0]);\n // t.greenNorm = tf.mul(t.green, rgb[1]);\n // t.blueNorm = tf.mul(t.blue, rgb[2]);\n // t.grayscale = tf.addN([t.redNorm, t.greenNorm, t.blueNorm]);\n t.channels = tf.mul(t.resize, constants.rgb);\n t.grayscale = tf.sum(t.channels, 3, true);\n t.grayscaleSub = tf.sub(t.grayscale, constants.tf05);\n t.grayscaleMul = tf.mul(t.grayscaleSub, constants.tf2);\n t.emotion = model?.execute(t.grayscaleMul) as Tensor; // result is already in range 0..1, no need for additional activation\n lastTime = now();\n const data = await t.emotion.data();\n for (let i = 0; i < data.length; i++) {\n if (data[i] > (config.face.emotion.minConfidence || 0)) obj.push({ score: Math.min(0.99, Math.trunc(100 * data[i]) / 100), emotion: annotations[i] as Emotion });\n }\n obj.sort((a, b) => b.score - a.score);\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n }\n last[idx] = obj;\n lastCount = count;\n resolve(obj);\n });\n}\n", "/**\n * FaceRes model implementation\n *\n * Returns Age, Gender, Descriptor\n * Implements Face similarity function\n *\n * Based on: [**HSE-FaceRes**](https://github.com/HSE-asavchenko/HSE_FaceRec_tf)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { env } from '../util/env';\nimport { loadModel } from '../tfjs/load';\nimport { constants } from '../tfjs/constants';\nimport type { Tensor, GraphModel, Tensor4D, Tensor1D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport type { Gender, Race } from '../result';\n\nexport interface FaceRes { age: number, gender: Gender, genderScore: number, descriptor: number[], race?: { score: number, race: Race }[] }\n\nlet model: GraphModel | null;\nconst last: FaceRes[] = [];\n\nlet lastTime = 0;\nlet lastCount = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face.description?.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport function enhance(input): Tensor {\n const tensor = (input.image || input.tensor || input) as Tensor4D; // input received from detector is already normalized to 0..1, input is also assumed to be straightened\n if (!model?.inputs[0].shape) return tensor; // model has no shape so no point continuing\n const crop: Tensor = tf.image.resizeBilinear(tensor, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n const norm: Tensor = tf.mul(crop, constants.tf255);\n tf.dispose(crop);\n return norm;\n /*\n // do a tight crop of image and resize it to fit the model\n const box = [[0.05, 0.15, 0.85, 0.85]]; // empyrical values for top, left, bottom, right\n const crop = (tensor.shape.length === 3)\n ? tf.image.cropAndResize(tf.expandDims(tensor, 0), box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]) // add batch dimension if missing\n : tf.image.cropAndResize(tensor, box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n */\n /*\n // convert to black&white to avoid colorization impact\n const rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when converting to grayscale: https://www.mathworks.com/help/matlab/ref/rgb2gray.html\n const [red, green, blue] = tf.split(crop, 3, 3);\n const redNorm = tf.mul(red, rgb[0]);\n const greenNorm = tf.mul(green, rgb[1]);\n const blueNorm = tf.mul(blue, rgb[2]);\n const grayscale = tf.addN([redNorm, greenNorm, blueNorm]);\n const merge = tf.stack([grayscale, grayscale, grayscale], 3).squeeze(4);\n */\n}\n\nexport async function predict(image: Tensor4D, config: Config, idx: number, count: number): Promise {\n const obj: FaceRes = {\n age: 0 as number,\n gender: 'unknown' as Gender,\n genderScore: 0 as number,\n descriptor: [] as number[],\n };\n if (!model?.['executor']) return obj;\n const skipFrame = skipped < (config.face.description?.skipFrames || 0);\n const skipTime = (config.face.description?.skipTime || 0) > (now() - lastTime);\n if (config.skipAllowed && skipFrame && skipTime && (lastCount === count) && (last?.[idx]?.age > 0) && (last?.[idx]?.genderScore > 0)) {\n skipped++;\n return last[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n if (config.face.description?.enabled) {\n const enhanced = enhance(image);\n const resT = model?.execute(enhanced) as Tensor[];\n lastTime = now();\n tf.dispose(enhanced);\n const genderT = resT.find((t) => t.shape[1] === 1) as Tensor;\n const gender = await genderT.data();\n const confidence = Math.trunc(200 * Math.abs((gender[0] - 0.5))) / 100;\n if (confidence > (config.face.description.minConfidence || 0)) {\n obj.gender = gender[0] <= 0.5 ? 'female' : 'male';\n obj.genderScore = Math.min(0.99, confidence);\n }\n const argmax = tf.argMax(resT.find((t) => t.shape[1] === 100) as Tensor1D, 1);\n const ageIdx: number = (await argmax.data())[0];\n tf.dispose(argmax);\n const ageT = resT.find((t) => t.shape[1] === 100) as Tensor;\n const all = await ageT.data();\n obj.age = Math.round(all[ageIdx - 1] > all[ageIdx + 1] ? 10 * ageIdx - 100 * all[ageIdx - 1] : 10 * ageIdx + 100 * all[ageIdx + 1]) / 10;\n\n if (Number.isNaN(gender[0]) || Number.isNaN(all[0])) log('faceres error:', { model, result: resT });\n\n const desc = resT.find((t) => t.shape[1] === 1024);\n // const reshape = desc.reshape([128, 8]); // reshape large 1024-element descriptor to 128 x 8\n // const reduce = reshape.logSumExp(1); // reduce 2nd dimension by calculating logSumExp on it which leaves us with 128-element descriptor\n const descriptor = desc ? await desc.data() : [] as number[];\n obj.descriptor = Array.from(descriptor);\n resT.forEach((t) => tf.dispose(t));\n }\n last[idx] = obj;\n lastCount = count;\n resolve(obj);\n });\n}\n", "import type { Tensor } from '../tfjs/types';\nimport type { FaceResult } from '../result';\n// import * as tf from 'dist/tfjs.esm.js';\nimport { meshAnnotations } from './facemeshcoords';\n\nconst expandFact = 0.1;\nconst alpha = 0.5;\n\n// point inclusion in polygon based on https://wrf.ecse.rpi.edu/Research/Short_Notes/pnpoly.html\nfunction insidePoly(x: number, y: number, polygon: { x: number, y: number }[]): boolean {\n let inside = false;\n let j = polygon.length - 1;\n for (let i = 0; i < polygon.length; j = i++) {\n if (((polygon[i].y > y) !== (polygon[j].y > y)) && (x < (polygon[j].x - polygon[i].x) * (y - polygon[i].y) / (polygon[j].y - polygon[i].y) + polygon[i].x)) inside = !inside;\n }\n return inside;\n}\n\nexport async function mask(face: FaceResult): Promise {\n if (!face.tensor) return face.tensor;\n if (!face.mesh || face.mesh.length < 100) return face.tensor;\n const width = face.tensor.shape[2] || 0;\n const height = face.tensor.shape[1] || 0;\n const buffer = await face.tensor.buffer();\n let silhouette: { x: number, y: number }[] = [];\n for (const pt of meshAnnotations.silhouette) silhouette.push({ x: (face.mesh[pt][0] - face.box[0]) / face.box[2], y: (face.mesh[pt][1] - face.box[1]) / face.box[3] }); // add all silhouette points scaled to local box\n if (expandFact && expandFact > 0) silhouette = silhouette.map((pt) => ({ x: pt.x > 0.5 ? pt.x + expandFact : pt.x - expandFact, y: pt.y > 0.5 ? pt.y + expandFact : pt.y - expandFact })); // expand silhouette\n for (let x = 0; x < width; x++) {\n for (let y = 0; y < height; y++) {\n const inside = insidePoly(x / width, y / width, silhouette);\n if (!inside) {\n buffer.set(alpha * buffer.get(0, y, x, 0), 0, y, x, 0);\n buffer.set(alpha * buffer.get(0, y, x, 1), 0, y, x, 1);\n buffer.set(alpha * buffer.get(0, y, x, 2), 0, y, x, 2);\n }\n }\n }\n const output = buffer.toTensor();\n // tf.dispose(buffer);\n return output;\n}\n", "/**\n * Anti-spoofing model implementation\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport type { Config } from '../config';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport { loadModel } from '../tfjs/load';\nimport { env } from '../util/env';\n\nlet model: GraphModel | null;\nconst cached: number[] = [];\nlet skipped = Number.MAX_SAFE_INTEGER;\nlet lastCount = 0;\nlet lastTime = 0;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face.antispoof?.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(image: Tensor4D, config: Config, idx: number, count: number): Promise {\n if (!model?.['executor']) return 0;\n const skipTime = (config.face.antispoof?.skipTime || 0) > (now() - lastTime);\n const skipFrame = skipped < (config.face.antispoof?.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && cached[idx]) {\n skipped++;\n return cached[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const resize = tf.image.resizeBilinear(image, [model?.inputs[0].shape ? model.inputs[0].shape[2] : 0, model?.inputs[0].shape ? model.inputs[0].shape[1] : 0], false);\n const res = model?.execute(resize) as Tensor;\n const num = (await res.data())[0];\n cached[idx] = Math.round(100 * num) / 100;\n lastCount = count;\n lastTime = now();\n tf.dispose([resize, res]);\n resolve(cached[idx]);\n });\n}\n", "/**\n * Anti-spoofing model implementation\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport type { Config } from '../config';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport { env } from '../util/env';\n\nlet model: GraphModel | null;\nconst cached: number[] = [];\nlet skipped = Number.MAX_SAFE_INTEGER;\nlet lastCount = 0;\nlet lastTime = 0;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face.liveness?.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(image: Tensor4D, config: Config, idx: number, count: number): Promise {\n if (!model?.['executor']) return 0;\n const skipTime = (config.face.liveness?.skipTime || 0) > (now() - lastTime);\n const skipFrame = skipped < (config.face.liveness?.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && cached[idx]) {\n skipped++;\n return cached[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n const resize = tf.image.resizeBilinear(image, [model?.inputs[0].shape ? model.inputs[0].shape[2] : 0, model?.inputs[0].shape ? model.inputs[0].shape[1] : 0], false);\n const res = model?.execute(resize) as Tensor;\n const num = (await res.data())[0];\n cached[idx] = Math.round(100 * num) / 100;\n lastCount = count;\n lastTime = now();\n tf.dispose([resize, res]);\n resolve(cached[idx]);\n });\n}\n", "/**\n * GEAR [gender/emotion/age/race] model implementation\n *\n * Based on: [**GEAR Predictor**](https://github.com/Udolf15/GEAR-Predictor)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport type { Gender, Race } from '../result';\nimport type { Config } from '../config';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport { env } from '../util/env';\n\nexport interface GearType { age: number, gender: Gender, genderScore: number, race: { score: number, race: Race }[] }\nlet model: GraphModel | null;\nconst last: GearType[] = [];\nconst raceNames = ['white', 'black', 'asian', 'indian', 'other'];\nconst ageWeights = [15, 23, 28, 35.5, 45.5, 55.5, 65];\nlet lastCount = 0;\nlet lastTime = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config: Config) {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face.gear?.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(image: Tensor4D, config: Config, idx: number, count: number): Promise {\n if (!model) return { age: 0, gender: 'unknown', genderScore: 0, race: [] };\n const skipFrame = skipped < (config.face.gear?.skipFrames || 0);\n const skipTime = (config.face.gear?.skipTime || 0) > (now() - lastTime);\n if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && last[idx]) {\n skipped++;\n return last[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n if (!model?.inputs[0].shape) return;\n const t: Record = {};\n // t.resize = tf.image.resizeBilinear(image, [model?.inputs[0].shape[2], model?.inputs[0].shape[1]], false);\n const box = [[0.0, 0.10, 0.90, 0.90]]; // empyrical values for top, left, bottom, right\n t.resize = tf.image.cropAndResize(image, box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n const obj: GearType = { age: 0, gender: 'unknown', genderScore: 0, race: [] };\n if (config.face.gear?.enabled) [t.age, t.gender, t.race] = model.execute(t.resize, ['age_output', 'gender_output', 'race_output']) as Tensor[];\n const gender = await t.gender.data();\n obj.gender = gender[0] > gender[1] ? 'male' : 'female';\n obj.genderScore = Math.round(100 * (gender[0] > gender[1] ? gender[0] : gender[1])) / 100;\n const race = await t.race.data();\n for (let i = 0; i < race.length; i++) {\n if (race[i] > (config.face.gear?.minConfidence || 0.2)) obj.race.push({ score: Math.round(100 * race[i]) / 100, race: raceNames[i] as Race });\n }\n obj.race.sort((a, b) => b.score - a.score);\n // {0: 'Below20', 1: '21-25', 2: '26-30', 3: '31-40',4: '41-50', 5: '51-60', 6: 'Above60'}\n const ageDistribution = Array.from(await t.age.data());\n const ageSorted = ageDistribution.map((a, i) => [ageWeights[i], a]).sort((a, b) => b[1] - a[1]);\n let age = ageSorted[0][0]; // pick best starting point\n for (let i = 1; i < ageSorted.length; i++) age += ageSorted[i][1] * (ageSorted[i][0] - age); // adjust with each other choice by weight\n obj.age = Math.round(10 * age) / 10;\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n last[idx] = obj;\n lastCount = count;\n lastTime = now();\n resolve(obj);\n });\n}\n", "/**\n * Age model implementation\n *\n * Based on: [**SSR-Net**](https://github.com/shamangary/SSR-Net)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport { env } from '../util/env';\nimport { constants } from '../tfjs/constants';\nimport type { Config } from '../config';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\n\nlet model: GraphModel | null;\nconst last: { age: number }[] = [];\nlet lastCount = 0;\nlet lastTime = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config: Config) {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face['ssrnet'].modelPathAge);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(image: Tensor4D, config: Config, idx: number, count: number): Promise<{ age: number }> {\n if (!model) return { age: 0 };\n const skipFrame = skipped < (config.face['ssrnet']?.skipFrames || 0);\n const skipTime = (config.face['ssrnet']?.skipTime || 0) > (now() - lastTime);\n if (config.skipAllowed && skipFrame && skipTime && (lastCount === count) && last[idx]?.age && (last[idx]?.age > 0)) {\n skipped++;\n return last[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n if (!model?.inputs || !model.inputs[0] || !model.inputs[0].shape) return;\n const t: Record = {};\n t.resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n t.enhance = tf.mul(t.resize, constants.tf255);\n const obj = { age: 0 };\n if (config.face['ssrnet']?.enabled) t.age = model.execute(t.enhance) as Tensor;\n if (t.age) {\n const data = await t.age.data();\n obj.age = Math.trunc(10 * data[0]) / 10;\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n last[idx] = obj;\n lastCount = count;\n lastTime = now();\n resolve(obj);\n });\n}\n", "/**\n * Gender model implementation\n *\n * Based on: [**SSR-Net**](https://github.com/shamangary/SSR-Net)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport { constants } from '../tfjs/constants';\nimport type { Gender } from '../result';\nimport type { Config } from '../config';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport { env } from '../util/env';\n\nlet model: GraphModel | null;\nconst last: { gender: Gender, genderScore: number }[] = [];\nlet lastCount = 0;\nlet lastTime = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\n// tuning values\nconst rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when converting to grayscale\n\nexport async function load(config: Config) {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face['ssrnet']?.modelPathGender);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(image: Tensor4D, config: Config, idx, count): Promise<{ gender: Gender, genderScore: number }> {\n if (!model) return { gender: 'unknown', genderScore: 0 };\n const skipFrame = skipped < (config.face['ssrnet']?.skipFrames || 0);\n const skipTime = (config.face['ssrnet']?.skipTime || 0) > (now() - lastTime);\n if (config.skipAllowed && skipFrame && skipTime && (lastCount === count) && last[idx]?.gender && (last[idx]?.genderScore > 0)) {\n skipped++;\n return last[idx];\n }\n skipped = 0;\n return new Promise(async (resolve) => {\n if (!model?.inputs[0].shape) return;\n const t: Record = {};\n t.resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n t.enhance = tf.tidy(() => {\n const [red, green, blue] = tf.split(t.resize, 3, 3);\n const redNorm = tf.mul(red, rgb[0]);\n const greenNorm = tf.mul(green, rgb[1]);\n const blueNorm = tf.mul(blue, rgb[2]);\n const grayscale = tf.addN([redNorm, greenNorm, blueNorm]);\n const normalize = tf.mul(tf.sub(grayscale, constants.tf05), 2); // range grayscale:-1..1\n return normalize;\n });\n const obj: { gender: Gender, genderScore: number } = { gender: 'unknown', genderScore: 0 };\n if (config.face['ssrnet']?.enabled) t.gender = model.execute(t.enhance) as Tensor;\n const data = await t.gender.data();\n obj.gender = data[0] > data[1] ? 'female' : 'male'; // returns two values 0..1, bigger one is prediction\n obj.genderScore = data[0] > data[1] ? (Math.trunc(100 * data[0]) / 100) : (Math.trunc(100 * data[1]) / 100);\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n last[idx] = obj;\n lastCount = count;\n lastTime = now();\n resolve(obj);\n });\n}\n", "/**\n * MobileFaceNet model implementation\n *\n * Based on: [**BecauseofAI MobileFace**](https://github.com/becauseofAI/MobileFace)\n *\n * Obsolete and replaced by `faceres` that performs age/gender/descriptor analysis\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport type { Tensor, Tensor4D, GraphModel } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nlet model: GraphModel | null;\nconst last: number[][] = [];\nlet lastCount = 0;\nlet lastTime = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face['mobilefacenet']?.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\n/*\n// convert to black&white to avoid colorization impact\nconst rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when converting to grayscale: https://www.mathworks.com/help/matlab/ref/rgb2gray.html\nconst [red, green, blue] = tf.split(crop, 3, 3);\nconst redNorm = tf.mul(red, rgb[0]);\nconst greenNorm = tf.mul(green, rgb[1]);\nconst blueNorm = tf.mul(blue, rgb[2]);\nconst grayscale = tf.addN([redNorm, greenNorm, blueNorm]);\nconst merge = tf.stack([grayscale, grayscale, grayscale], 3).squeeze(4);\n\n// optional increase image contrast\n// or do it per-channel so mean is done on each channel\n// or do it based on histogram\nconst mean = merge.mean();\nconst factor = 5;\nconst contrast = merge.sub(mean).mul(factor).add(mean);\n*/\n\nexport async function predict(input: Tensor4D, config: Config, idx, count): Promise {\n if (!model?.['executor']) return [];\n const skipFrame = skipped < (config.face['mobilefacenet']?.skipFrames || 0);\n const skipTime = (config.face['mobilefacenet']?.skipTime || 0) > (now() - lastTime);\n if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && last[idx]) {\n skipped++;\n return last[idx];\n }\n return new Promise(async (resolve) => {\n let data: number[] = [];\n if (config.face['mobilefacenet']?.enabled && model?.inputs[0].shape) {\n const t: Record = {};\n t.crop = tf.image.resizeBilinear(input, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false); // just resize to fit the embedding model\n // do a tight crop of image and resize it to fit the model\n // const box = [[0.05, 0.15, 0.85, 0.85]]; // empyrical values for top, left, bottom, right\n // t.crop = tf.image.cropAndResize(input, box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n t.data = model.execute(t.crop) as Tensor;\n /*\n // optional normalize outputs with l2 normalization\n const scaled = tf.tidy(() => {\n const l2 = res.norm('euclidean');\n const scale = res.div(l2);\n return scale;\n });\n\n // optional reduce feature vector complexity\n const reshape = tf.reshape(res, [128, 2]); // split 256 vectors into 128 x 2\n const reduce = reshape.logSumExp(1); // reduce 2nd dimension by calculating logSumExp on it\n */\n const output = await t.data.data();\n data = Array.from(output); // convert typed array to simple array\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n }\n last[idx] = data;\n lastCount = count;\n lastTime = now();\n resolve(data);\n });\n}\n", "/**\n * InsightFace model implementation\n *\n * Based on: [**DeepInsight InsightFace**](https://github.com/deepinsight/insightface)\n *\n * Alternative face embedding detection\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport type { Tensor, Tensor4D, GraphModel } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nlet model: GraphModel | null;\nconst last: number[][] = [];\nlet lastCount = 0;\nlet lastTime = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) model = await loadModel(config.face['insightface'].modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(input: Tensor4D, config: Config, idx, count): Promise {\n if (!model?.['executor']) return [];\n const skipFrame = skipped < (config.face['insightface']?.skipFrames || 0);\n const skipTime = (config.face['insightface']?.skipTime || 0) > (now() - lastTime);\n if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && last[idx]) {\n skipped++;\n return last[idx];\n }\n return new Promise(async (resolve) => {\n let data: number[] = [];\n if (config.face['insightface']?.enabled && model?.inputs[0].shape) {\n const t: Record = {};\n t.crop = tf.image.resizeBilinear(input, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false); // just resize to fit the embedding model\n // do a tight crop of image and resize it to fit the model\n // const box = [[0.05, 0.15, 0.85, 0.85]]; // empyrical values for top, left, bottom, right\n // t.crop = tf.image.cropAndResize(input, box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n t.data = model.execute(t.crop) as Tensor;\n const output = await t.data.data();\n data = Array.from(output); // convert typed array to simple array\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n }\n last[idx] = data;\n lastCount = count;\n lastTime = now();\n resolve(data);\n });\n}\n", "import type { Point, FaceResult } from '../result';\n\ntype Vector = [number, number, number];\n\nconst calculateGaze = (face: FaceResult): { bearing: number, strength: number } => {\n const radians = (pt1: Point, pt2: Point) => Math.atan2(pt1[1] - pt2[1], pt1[0] - pt2[0]); // function to calculate angle between any two points\n if (!face.annotations.rightEyeIris || !face.annotations.leftEyeIris) return { bearing: 0, strength: 0 };\n\n const offsetIris = [0, -0.1]; // iris center may not align with average of eye extremes\n const eyeRatio = 1; // factor to normalize changes x vs y\n\n const left = (face.mesh[33][2] || 0) > (face.mesh[263][2] || 0); // pick left or right eye depending which one is closer bazed on outsize point z axis\n const irisCenter = left ? face.mesh[473] : face.mesh[468];\n const eyeCenter = left // eye center is average of extreme points on x axis for both x and y, ignoring y extreme points as eyelids naturally open/close more when gazing up/down so relative point is less precise\n ? [(face.mesh[133][0] + face.mesh[33][0]) / 2, (face.mesh[133][1] + face.mesh[33][1]) / 2]\n : [(face.mesh[263][0] + face.mesh[362][0]) / 2, (face.mesh[263][1] + face.mesh[362][1]) / 2];\n const eyeSize = left // eye size is difference between extreme points for both x and y, used to normalize & squarify eye dimensions\n ? [face.mesh[133][0] - face.mesh[33][0], face.mesh[23][1] - face.mesh[27][1]]\n : [face.mesh[263][0] - face.mesh[362][0], face.mesh[253][1] - face.mesh[257][1]];\n const eyeDiff: Point = [ // x distance between extreme point and center point normalized with eye size\n (eyeCenter[0] - irisCenter[0]) / eyeSize[0] - offsetIris[0],\n eyeRatio * (irisCenter[1] - eyeCenter[1]) / eyeSize[1] - offsetIris[1],\n ];\n let strength = Math.sqrt((eyeDiff[0] * eyeDiff[0]) + (eyeDiff[1] * eyeDiff[1])); // vector length is a diagonal between two differences\n strength = Math.min(strength, face.boxRaw[2] / 2, face.boxRaw[3] / 2); // limit strength to half of box size to avoid clipping due to low precision\n const bearing = (radians([0, 0], eyeDiff) + (Math.PI / 2)) % Math.PI; // using eyeDiff instead eyeCenter/irisCenter combo due to manual adjustments and rotate clockwise 90degrees\n return { bearing, strength };\n};\n\nexport const calculateFaceAngle = (face: FaceResult, imageSize: [number, number]): {\n angle: { pitch: number, yaw: number, roll: number },\n matrix: [number, number, number, number, number, number, number, number, number],\n gaze: { bearing: number, strength: number },\n} => {\n // const degrees = (theta) => Math.abs(((theta * 180) / Math.PI) % 360);\n const normalize = (v: Vector): Vector => { // normalize vector\n const length = Math.sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]);\n v[0] /= length;\n v[1] /= length;\n v[2] /= length;\n return v;\n };\n const subVectors = (a: Vector, b: Vector): Vector => { // vector subtraction (a - b)\n const x = a[0] - b[0];\n const y = a[1] - b[1];\n const z = a[2] - b[2];\n return [x, y, z];\n };\n const crossVectors = (a: Vector, b: Vector): Vector => { // vector cross product (a x b)\n const x = a[1] * b[2] - a[2] * b[1];\n const y = a[2] * b[0] - a[0] * b[2];\n const z = a[0] * b[1] - a[1] * b[0];\n return [x, y, z];\n };\n // 3x3 rotation matrix to Euler angles based on https://www.geometrictools.com/Documentation/EulerAngles.pdf\n const rotationMatrixToEulerAngle = (r: number[]): { pitch: number, yaw: number, roll: number } => {\n const [r00, _r01, _r02, r10, r11, r12, r20, r21, r22] = r; // eslint-disable-line @typescript-eslint/no-unused-vars\n let thetaX: number;\n let thetaY: number;\n let thetaZ: number;\n if (r10 < 1) { // YZX calculation\n if (r10 > -1) {\n thetaZ = Math.asin(r10);\n thetaY = Math.atan2(-r20, r00);\n thetaX = Math.atan2(-r12, r11);\n } else {\n thetaZ = -Math.PI / 2;\n thetaY = -Math.atan2(r21, r22);\n thetaX = 0;\n }\n } else {\n thetaZ = Math.PI / 2;\n thetaY = Math.atan2(r21, r22);\n thetaX = 0;\n }\n if (Number.isNaN(thetaX)) thetaX = 0;\n if (Number.isNaN(thetaY)) thetaY = 0;\n if (Number.isNaN(thetaZ)) thetaZ = 0;\n return { pitch: 2 * -thetaX, yaw: 2 * -thetaY, roll: 2 * -thetaZ };\n };\n\n /*\n const meshToEulerAngle = (mesh) => { // simple Euler angle calculation based existing 3D mesh\n const radians = (a1, a2, b1, b2) => Math.atan2(b2 - a2, b1 - a1);\n return { // values are in radians in range of -pi/2 to pi/2 which is -90 to +90 degrees, value of 0 means center\n pitch: radians(mesh[10][1], mesh[10][2], mesh[152][1], mesh[152][2]), // looking at y,z of top and bottom points of the face // pitch is face move up/down\n yaw: radians(mesh[33][0], mesh[33][2], mesh[263][0], mesh[263][2]), // looking at x,z of outside corners of leftEye and rightEye // yaw is face turn left/right\n roll: radians(mesh[33][0], mesh[33][1], mesh[263][0], mesh[263][1]), // looking at x,y of outside corners of leftEye and rightEye // roll is face lean left/right\n };\n };\n */\n\n // initialize gaze and mesh\n const mesh = face.meshRaw;\n if (!mesh || mesh.length < 300) return { angle: { pitch: 0, yaw: 0, roll: 0 }, matrix: [1, 0, 0, 0, 1, 0, 0, 0, 1], gaze: { bearing: 0, strength: 0 } };\n\n const size = Math.max(face.boxRaw[2] * imageSize[0], face.boxRaw[3] * imageSize[1]) / 1.5;\n // top, bottom, left, right\n const pts: Point[] = [mesh[10], mesh[152], mesh[234], mesh[454]].map((pt) => [pt[0] * imageSize[0] / size, pt[1] * imageSize[1] / size, pt[2]] as Point); // make the xyz coordinates proportional, independent of the image/box size\n\n const yAxis = normalize(subVectors(pts[1] as Vector, pts[0] as Vector));\n let xAxis = normalize(subVectors(pts[3] as Vector, pts[2] as Vector));\n const zAxis = normalize(crossVectors(xAxis, yAxis));\n // adjust xAxis to make sure that all axes are perpendicular to each other\n xAxis = crossVectors(yAxis, zAxis);\n\n // Rotation Matrix from Axis Vectors - http://renderdan.blogspot.com/2006/05/rotation-matrix-from-axis-vectors.html\n // 3x3 rotation matrix is flatten to array in row-major order. Note that the rotation represented by this matrix is inverted.\n const matrix: [number, number, number, number, number, number, number, number, number] = [\n xAxis[0], xAxis[1], xAxis[2],\n yAxis[0], yAxis[1], yAxis[2],\n zAxis[0], zAxis[1], zAxis[2],\n ];\n const angle = rotationMatrixToEulerAngle(matrix);\n // const angle = meshToEulerAngle(mesh);\n\n // we have iris keypoints so we can calculate gaze direction\n const gaze = mesh.length === 478 ? calculateGaze(face) : { bearing: 0, strength: 0 };\n\n return { angle, matrix, gaze };\n};\n", "import type { FaceResult } from '../result';\n\nexport function calculateCameraDistance(face: FaceResult, width: number): number {\n // iris points are [center, left, top, right, bottom]\n // average size of human iris is 11.7mm - fairly constant for all ages/genders/races\n const f = face?.annotations;\n if (!f) return 0;\n // get size of left and right iris in pixels, pick larger one as its likely to be more accurate and normalize to 0..1 range instead of pixels\n const irisSize = Math.max(Math.abs(f.leftEyeIris[3][0] - f.leftEyeIris[1][0]), Math.abs(f.rightEyeIris[3][0] - f.rightEyeIris[1][0])) / width;\n // distance of eye from camera in meters\n const cameraDistance = Math.round(1.17 / irisSize) / 100;\n return cameraDistance;\n}\n\nexport function calculateEyesDistance(face: FaceResult, width: number): number {\n // average distance between eyes is 65mm - fairly constant for typical adult male, but varies otherwise\n const f = face?.annotations;\n if (!f) return 0;\n // get size of left and right iris in pixels, pick larger one as its likely to be more accurate and normalize to 0..1 range instead of pixels\n const irisSize = Math.max(Math.abs(f.leftEyeIris[3][0] - f.leftEyeIris[1][0]), Math.abs(f.rightEyeIris[3][0] - f.rightEyeIris[1][0])) / width;\n // pixel x and y distance of centers of left and right iris, you can use edges instead\n const irisDistanceXY = [f.leftEyeIris[0][0] - f.rightEyeIris[0][0], f.leftEyeIris[0][1] - f.rightEyeIris[0][1]];\n // absolute distance bewtween eyes in 0..1 range to account for head pitch (we can ignore yaw)\n const irisDistance = Math.sqrt((irisDistanceXY[0] * irisDistanceXY[0]) + (irisDistanceXY[1] * irisDistanceXY[1])) / width;\n // distance between eyes in meters\n const eyesDistance = Math.round(1.17 * irisDistance / irisSize) / 100;\n return eyesDistance;\n}\n", "/**\n * Face algorithm implementation\n * Uses FaceMesh, Emotion and FaceRes models to create a unified pipeline\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { env } from '../util/env';\nimport * as facemesh from './facemesh';\nimport * as emotion from '../gear/emotion';\nimport * as faceres from './faceres';\nimport * as mask from './mask';\nimport * as antispoof from './antispoof';\nimport * as liveness from './liveness';\nimport * as gear from '../gear/gear';\nimport * as ssrnetAge from '../gear/ssrnet-age';\nimport * as ssrnetGender from '../gear/ssrnet-gender';\nimport * as mobilefacenet from './mobilefacenet';\nimport * as insightface from './insightface';\nimport type { FaceResult, Emotion, Gender, Race } from '../result';\nimport type { Tensor4D } from '../tfjs/types';\nimport type { Human } from '../human';\nimport { calculateFaceAngle } from './angles';\nimport { calculateCameraDistance } from './anthropometry';\n\ninterface DescRes { age: number, gender: Gender, genderScore: number, descriptor: number[], race?: { score: number, race: Race }[] }\n\nexport const detectFace = async (instance: Human /* instance of human */, input: Tensor4D): Promise => {\n // run facemesh, includes blazeface and iris\n let timeStamp: number = now();\n let ageRes: { age: number } | Promise<{ age: number }> | null;\n let gearRes: gear.GearType | Promise | null;\n let genderRes: { gender: string, genderScore: number } | Promise<{ gender: string, genderScore: number }> | null;\n let emotionRes: { score: number, emotion: Emotion }[] | Promise<{ score: number, emotion: Emotion }[]>;\n let mobilefacenetRes: number[] | Promise | null;\n let insightfaceRes: number[] | Promise | null;\n let antispoofRes: number | Promise | null;\n let livenessRes: number | Promise | null;\n let descRes: DescRes | Promise | null;\n\n const faceRes: FaceResult[] = [];\n instance.state = 'run:face';\n\n const faces: FaceResult[] = await facemesh.predict(input, instance.config);\n instance.performance.face = env.perfadd ? (instance.performance.face || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n if (!input.shape || input.shape.length !== 4) return [];\n if (!faces) return [];\n // for (const face of faces) {\n for (let i = 0; i < faces.length; i++) {\n instance.analyze('Get Face');\n\n // is something went wrong, skip the face\n // @ts-ignore possibly undefied\n if (!faces[i].tensor || faces[i].tensor.isDisposedInternal) {\n log('Face object is disposed:', faces[i].tensor);\n continue;\n }\n\n // optional face mask\n if (instance.config.face.detector?.mask) {\n const masked = await mask.mask(faces[i]);\n tf.dispose(faces[i].tensor);\n if (masked) faces[i].tensor = masked;\n }\n\n // calculate face angles\n const rotation = faces[i].mesh && (faces[i].mesh.length > 200) ? calculateFaceAngle(faces[i], [input.shape[2], input.shape[1]]) : null;\n\n // run emotion, inherits face from blazeface\n instance.analyze('Start Emotion:');\n if (instance.config.async) {\n emotionRes = instance.config.face.emotion?.enabled ? emotion.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : [];\n } else {\n instance.state = 'run:emotion';\n timeStamp = now();\n emotionRes = instance.config.face.emotion?.enabled ? await emotion.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : [];\n instance.performance.emotion = env.perfadd ? (instance.performance.emotion || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n }\n instance.analyze('End Emotion:');\n\n // run antispoof, inherits face from blazeface\n instance.analyze('Start AntiSpoof:');\n if (instance.config.async) {\n antispoofRes = instance.config.face.antispoof?.enabled ? antispoof.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : 0;\n } else {\n instance.state = 'run:antispoof';\n timeStamp = now();\n antispoofRes = instance.config.face.antispoof?.enabled ? await antispoof.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : 0;\n instance.performance.antispoof = env.perfadd ? (instance.performance.antispoof || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n }\n instance.analyze('End AntiSpoof:');\n\n // run liveness, inherits face from blazeface\n instance.analyze('Start Liveness:');\n if (instance.config.async) {\n livenessRes = instance.config.face.liveness?.enabled ? liveness.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : 0;\n } else {\n instance.state = 'run:liveness';\n timeStamp = now();\n livenessRes = instance.config.face.liveness?.enabled ? await liveness.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : 0;\n instance.performance.liveness = env.perfadd ? (instance.performance.antispoof || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n }\n instance.analyze('End Liveness:');\n\n // run gear, inherits face from blazeface\n instance.analyze('Start GEAR:');\n if (instance.config.async) {\n gearRes = instance.config.face.gear?.enabled ? gear.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n } else {\n instance.state = 'run:gear';\n timeStamp = now();\n gearRes = instance.config.face.gear?.enabled ? await gear.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n instance.performance.gear = Math.trunc(now() - timeStamp);\n }\n instance.analyze('End GEAR:');\n\n // run gear, inherits face from blazeface\n instance.analyze('Start SSRNet:');\n if (instance.config.async) {\n ageRes = instance.config.face['ssrnet']?.enabled ? ssrnetAge.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n genderRes = instance.config.face['ssrnet']?.enabled ? ssrnetGender.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n } else {\n instance.state = 'run:ssrnet';\n timeStamp = now();\n ageRes = instance.config.face['ssrnet']?.enabled ? await ssrnetAge.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n genderRes = instance.config.face['ssrnet']?.enabled ? await ssrnetGender.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n instance.performance.ssrnet = Math.trunc(now() - timeStamp);\n }\n instance.analyze('End SSRNet:');\n\n // run mobilefacenet alternative, inherits face from blazeface\n instance.analyze('Start MobileFaceNet:');\n if (instance.config.async) {\n mobilefacenetRes = instance.config.face['mobilefacenet']?.enabled ? mobilefacenet.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n } else {\n instance.state = 'run:mobilefacenet';\n timeStamp = now();\n mobilefacenetRes = instance.config.face['mobilefacenet']?.enabled ? await mobilefacenet.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n instance.performance.mobilefacenet = Math.trunc(now() - timeStamp);\n }\n instance.analyze('End MobileFaceNet:');\n\n // run insightface alternative, inherits face from blazeface\n instance.analyze('Start InsightFace:');\n if (instance.config.async) {\n insightfaceRes = instance.config.face['insightface']?.enabled ? insightface.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n } else {\n instance.state = 'run:mobilefacenet';\n timeStamp = now();\n insightfaceRes = instance.config.face['insightface']?.enabled ? await insightface.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length) : null;\n instance.performance.mobilefacenet = Math.trunc(now() - timeStamp);\n }\n instance.analyze('End InsightFace:');\n\n // run faceres, inherits face from blazeface\n instance.analyze('Start Description:');\n if (instance.config.async) {\n descRes = faceres.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length);\n } else {\n instance.state = 'run:description';\n timeStamp = now();\n descRes = await faceres.predict(faces[i].tensor as Tensor4D || tf.tensor([]), instance.config, i, faces.length);\n instance.performance.description = env.perfadd ? (instance.performance.description || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n }\n instance.analyze('End Description:');\n\n // if async wait for results\n if (instance.config.async) {\n [ageRes, genderRes, emotionRes, mobilefacenetRes, insightfaceRes, descRes, gearRes, antispoofRes, livenessRes] = await Promise.all([ageRes, genderRes, emotionRes, mobilefacenetRes, insightfaceRes, descRes, gearRes, antispoofRes, livenessRes]);\n }\n instance.analyze('Finish Face:');\n\n if (instance.config.face['ssrnet']?.enabled && ageRes && genderRes) { // override age/gender if ssrnet model is used\n descRes = {\n ...(descRes as DescRes),\n age: (ageRes as { age: number}).age,\n gender: (genderRes as { gender: Gender, genderScore: number }).gender,\n genderScore: (genderRes as { gender: Gender, genderScore: number }).genderScore,\n };\n }\n if (instance.config.face.gear?.enabled && gearRes) { // override age/gender/race if gear model is used\n descRes = {\n ...(descRes as DescRes),\n age: (gearRes as gear.GearType).age,\n gender: (gearRes as gear.GearType).gender,\n genderScore: (gearRes as gear.GearType).genderScore,\n race: (gearRes as gear.GearType).race,\n };\n }\n if (instance.config.face['mobilefacenet']?.enabled && mobilefacenetRes) { // override descriptor if mobilefacenet model is used\n (descRes as DescRes).descriptor = mobilefacenetRes as number[];\n }\n\n if (instance.config.face['insightface']?.enabled && insightfaceRes) { // override descriptor if insightface model is used\n (descRes as DescRes).descriptor = insightfaceRes as number[];\n }\n\n const irisSize = instance.config.face.iris?.enabled ? calculateCameraDistance(faces[i], input.shape[2]) : 0;\n\n // optionally return tensor\n const tensor = instance.config.face.detector?.return ? tf.squeeze(faces[i].tensor as Tensor4D) : null;\n // dispose original face tensor\n tf.dispose(faces[i].tensor);\n // delete temp face image\n if (faces[i].tensor) delete faces[i].tensor;\n // combine results\n const res: FaceResult = {\n ...faces[i],\n id: i,\n };\n if ((descRes as DescRes).age) res.age = (descRes as DescRes).age;\n if ((descRes as DescRes).gender) res.gender = (descRes as DescRes).gender;\n if ((descRes as DescRes).genderScore) res.genderScore = (descRes as DescRes).genderScore;\n if ((descRes as DescRes).descriptor) res.embedding = (descRes as DescRes).descriptor;\n if ((descRes as DescRes).race) res.race = (descRes as DescRes).race as { score: number, race: Race }[];\n if (emotionRes) res.emotion = emotionRes as { score: number, emotion: Emotion }[];\n if (antispoofRes) res.real = antispoofRes as number;\n if (livenessRes) res.live = livenessRes as number;\n if (irisSize > 0) res.distance = irisSize;\n if (rotation) res.rotation = rotation;\n if (tensor) res.tensor = tensor;\n faceRes.push(res);\n instance.analyze('End Face');\n }\n instance.analyze('End FaceMesh:');\n if (instance.config.async) {\n if (instance.performance.face) delete instance.performance.face;\n if (instance.performance.age) delete instance.performance.age;\n if (instance.performance.gender) delete instance.performance.gender;\n if (instance.performance.emotion) delete instance.performance.emotion;\n }\n return faceRes;\n};\n", "/**\n * FingerPose algorithm implementation\n * See `fingerpose.ts` for entry point\n */\n\nexport const Finger = {\n thumb: 0,\n index: 1,\n middle: 2,\n ring: 3,\n pinky: 4,\n all: [0, 1, 2, 3, 4], // just for convenience\n nameMapping: { 0: 'thumb', 1: 'index', 2: 'middle', 3: 'ring', 4: 'pinky' },\n // Describes mapping of joints based on the 21 points returned by handpose.\n // [0] Palm\n // [1-4] Thumb\n // [5-8] Index\n // [9-12] Middle\n // [13-16] Ring\n // [17-20] Pinky\n pointsMapping: {\n 0: [[0, 1], [1, 2], [2, 3], [3, 4]],\n 1: [[0, 5], [5, 6], [6, 7], [7, 8]],\n 2: [[0, 9], [9, 10], [10, 11], [11, 12]],\n 3: [[0, 13], [13, 14], [14, 15], [15, 16]],\n 4: [[0, 17], [17, 18], [18, 19], [19, 20]],\n },\n getName: (value) => Finger.nameMapping[value],\n getPoints: (value) => Finger.pointsMapping[value],\n};\n\nexport const FingerCurl = {\n none: 0,\n half: 1,\n full: 2,\n nameMapping: { 0: 'none', 1: 'half', 2: 'full' },\n getName: (value) => FingerCurl.nameMapping[value],\n};\n\nexport const FingerDirection = {\n verticalUp: 0,\n verticalDown: 1,\n horizontalLeft: 2,\n horizontalRight: 3,\n diagonalUpRight: 4,\n diagonalUpLeft: 5,\n diagonalDownRight: 6,\n diagonalDownLeft: 7,\n nameMapping: { 0: 'verticalUp', 1: 'verticalDown', 2: 'horizontalLeft', 3: 'horizontalRight', 4: 'diagonalUpRight', 5: 'diagonalUpLeft', 6: 'diagonalDownRight', 7: 'diagonalDownLeft' },\n getName: (value) => FingerDirection.nameMapping[value],\n};\n\nexport class FingerGesture {\n name;\n curls;\n directions;\n weights;\n weightsRelative;\n\n constructor(name) {\n // name (should be unique)\n this.name = name;\n this.curls = {};\n this.directions = {};\n this.weights = [1.0, 1.0, 1.0, 1.0, 1.0];\n this.weightsRelative = [1.0, 1.0, 1.0, 1.0, 1.0];\n }\n\n curl(finger, curl, confidence) {\n if (typeof this.curls[finger] === 'undefined') this.curls[finger] = [];\n this.curls[finger].push([curl, confidence]);\n }\n\n direction(finger, position, confidence) {\n if (!this.directions[finger]) this.directions[finger] = [];\n this.directions[finger].push([position, confidence]);\n }\n\n weight(finger, weight) {\n this.weights[finger] = weight;\n // recalculate relative weights\n const total = this.weights.reduce((a, b) => a + b, 0);\n this.weightsRelative = this.weights.map((el) => el * 5 / total);\n }\n\n matchAgainst(detectedCurls, detectedDirections) {\n let confidence = 0.0;\n // look at the detected curl of each finger and compare with\n // the expected curl of this finger inside current gesture\n for (const fingerIdx in detectedCurls) {\n const detectedCurl = detectedCurls[fingerIdx];\n const expectedCurls = this.curls[fingerIdx];\n if (typeof expectedCurls === 'undefined') {\n // no curl description available for this finger\n // add default confidence of \"1\"\n confidence += this.weightsRelative[fingerIdx];\n continue;\n }\n // compare to each possible curl of this specific finger\n for (const [expectedCurl, score] of expectedCurls) {\n if (detectedCurl === expectedCurl) {\n confidence += score * this.weightsRelative[fingerIdx];\n break;\n }\n }\n }\n // same for detected direction of each finger\n for (const fingerIdx in detectedDirections) {\n const detectedDirection = detectedDirections[fingerIdx];\n const expectedDirections = this.directions[fingerIdx];\n if (typeof expectedDirections === 'undefined') {\n // no direction description available for this finger\n // add default confidence of \"1\"\n confidence += this.weightsRelative[fingerIdx];\n continue;\n }\n // compare to each possible direction of this specific finger\n for (const [expectedDirection, score] of expectedDirections) {\n if (detectedDirection === expectedDirection) {\n confidence += score * this.weightsRelative[fingerIdx];\n break;\n }\n }\n }\n return confidence / 10;\n }\n}\n", "/**\n * FingerPose algorithm implementation\n * See `fingerpose.ts` for entry point\n */\n\nimport { Finger, FingerCurl, FingerDirection, FingerGesture } from './fingerdef';\n\nexport const { thumb, index, middle, ring, pinky } = Finger;\nexport const { none, half, full } = FingerCurl;\nexport const { verticalUp, verticalDown, horizontalLeft, horizontalRight, diagonalUpRight, diagonalUpLeft, diagonalDownRight, diagonalDownLeft } = FingerDirection;\n\n// describe thumbs up gesture \uD83D\uDC4D\nconst ThumbsUp = new FingerGesture('thumbs up');\nThumbsUp.curl(thumb, none, 1.0);\nThumbsUp.direction(thumb, verticalUp, 1.0);\nThumbsUp.direction(thumb, diagonalUpLeft, 0.25);\nThumbsUp.direction(thumb, diagonalUpRight, 0.25);\nfor (const finger of [Finger.index, Finger.middle, Finger.ring, Finger.pinky]) {\n ThumbsUp.curl(finger, full, 1.0);\n ThumbsUp.direction(finger, horizontalLeft, 1.0);\n ThumbsUp.direction(finger, horizontalRight, 1.0);\n}\n\n// describe Victory gesture \u270C\uFE0F\nconst Victory = new FingerGesture('victory');\nVictory.curl(thumb, half, 0.5);\nVictory.curl(thumb, none, 0.5);\nVictory.direction(thumb, verticalUp, 1.0);\nVictory.direction(thumb, diagonalUpLeft, 1.0);\nVictory.curl(index, none, 1.0);\nVictory.direction(index, verticalUp, 0.75);\nVictory.direction(index, diagonalUpLeft, 1.0);\nVictory.curl(middle, none, 1.0);\nVictory.direction(middle, verticalUp, 1.0);\nVictory.direction(middle, diagonalUpLeft, 0.75);\nVictory.curl(ring, full, 1.0);\nVictory.direction(ring, verticalUp, 0.2);\nVictory.direction(ring, diagonalUpLeft, 1.0);\nVictory.direction(ring, horizontalLeft, 0.2);\nVictory.curl(pinky, full, 1.0);\nVictory.direction(pinky, verticalUp, 0.2);\nVictory.direction(pinky, diagonalUpLeft, 1.0);\nVictory.direction(pinky, horizontalLeft, 0.2);\nVictory.weight(index, 2);\nVictory.weight(middle, 2);\n\n// describe Point gesture \u270C\uFE0F\nconst Point = new FingerGesture('point');\nPoint.curl(thumb, full, 1.0);\nPoint.curl(index, none, 0.5);\nPoint.curl(middle, full, 0.5);\nPoint.curl(ring, full, 0.5);\nPoint.curl(pinky, full, 0.5);\nPoint.weight(index, 2);\nPoint.weight(middle, 2);\n\n// describe Point gesture \u270C\uFE0F\nconst MiddleFinger = new FingerGesture('middle finger');\nMiddleFinger.curl(thumb, none, 1.0);\nMiddleFinger.curl(index, full, 0.5);\nMiddleFinger.curl(middle, full, 0.5);\nMiddleFinger.curl(ring, full, 0.5);\nMiddleFinger.curl(pinky, full, 0.5);\nMiddleFinger.weight(index, 2);\nMiddleFinger.weight(middle, 2);\n\n// describe Open Palm gesture \u270C\uFE0F\nconst OpenPalm = new FingerGesture('open palm');\nOpenPalm.curl(thumb, none, 0.75);\nOpenPalm.curl(index, none, 0.75);\nOpenPalm.curl(middle, none, 0.75);\nOpenPalm.curl(ring, none, 0.75);\nOpenPalm.curl(pinky, none, 0.75);\n\nexport default [ThumbsUp, Victory, Point, MiddleFinger, OpenPalm];\n", "/**\n * FingerPose algorithm implementation constants\n *\n * Based on: [**FingerPose***](https://github.com/andypotato/fingerpose)\n */\n\n/* eslint-disable camelcase */\n\nimport { Finger, FingerCurl, FingerDirection } from './fingerdef';\nimport Gestures from '../hand/fingergesture';\n\nconst minConfidence = 0.7;\nconst options = {\n // curl estimation\n HALF_CURL_START_LIMIT: 60.0,\n NO_CURL_START_LIMIT: 130.0,\n // direction estimation\n DISTANCE_VOTE_POWER: 1.1,\n SINGLE_ANGLE_VOTE_POWER: 0.9,\n TOTAL_ANGLE_VOTE_POWER: 1.6,\n};\n\nfunction calculateSlope(point1x, point1y, point2x, point2y) {\n const value = (point1y - point2y) / (point1x - point2x);\n let slope = Math.atan(value) * 180 / Math.PI;\n if (slope <= 0) slope = -slope;\n else if (slope > 0) slope = 180 - slope;\n return slope;\n}\n\n// point1, point2 are 2d or 3d point arrays (xy[z])\n// returns either a single scalar (2d) or array of two slopes (3d)\nfunction getSlopes(point1, point2) {\n if (!point1 || !point2) return [0, 0];\n const slopeXY = calculateSlope(point1[0], point1[1], point2[0], point2[1]);\n if (point1.length === 2) return slopeXY;\n const slopeYZ = calculateSlope(point1[1], point1[2], point2[1], point2[2]);\n return [slopeXY, slopeYZ];\n}\n\nfunction angleOrientationAt(angle, weightageAt = 1.0) {\n let isVertical = 0;\n let isDiagonal = 0;\n let isHorizontal = 0;\n if (angle >= 75.0 && angle <= 105.0) isVertical = 1 * weightageAt;\n else if (angle >= 25.0 && angle <= 155.0) isDiagonal = 1 * weightageAt;\n else isHorizontal = 1 * weightageAt;\n return [isVertical, isDiagonal, isHorizontal];\n}\n\nfunction estimateFingerCurl(startPoint, midPoint, endPoint) {\n const start_mid_x_dist = startPoint[0] - midPoint[0];\n const start_end_x_dist = startPoint[0] - endPoint[0];\n const mid_end_x_dist = midPoint[0] - endPoint[0];\n const start_mid_y_dist = startPoint[1] - midPoint[1];\n const start_end_y_dist = startPoint[1] - endPoint[1];\n const mid_end_y_dist = midPoint[1] - endPoint[1];\n const start_mid_z_dist = startPoint[2] - midPoint[2];\n const start_end_z_dist = startPoint[2] - endPoint[2];\n const mid_end_z_dist = midPoint[2] - endPoint[2];\n const start_mid_dist = Math.sqrt(start_mid_x_dist * start_mid_x_dist + start_mid_y_dist * start_mid_y_dist + start_mid_z_dist * start_mid_z_dist);\n const start_end_dist = Math.sqrt(start_end_x_dist * start_end_x_dist + start_end_y_dist * start_end_y_dist + start_end_z_dist * start_end_z_dist);\n const mid_end_dist = Math.sqrt(mid_end_x_dist * mid_end_x_dist + mid_end_y_dist * mid_end_y_dist + mid_end_z_dist * mid_end_z_dist);\n let cos_in = (mid_end_dist * mid_end_dist + start_mid_dist * start_mid_dist - start_end_dist * start_end_dist) / (2 * mid_end_dist * start_mid_dist);\n if (cos_in > 1.0) cos_in = 1.0;\n else if (cos_in < -1.0) cos_in = -1.0;\n let angleOfCurve = Math.acos(cos_in);\n angleOfCurve = (57.2958 * angleOfCurve) % 180;\n let fingerCurl;\n if (angleOfCurve > options.NO_CURL_START_LIMIT) fingerCurl = FingerCurl.none;\n else if (angleOfCurve > options.HALF_CURL_START_LIMIT) fingerCurl = FingerCurl.half;\n else fingerCurl = FingerCurl.full;\n return fingerCurl;\n}\n\nfunction estimateHorizontalDirection(start_end_x_dist, start_mid_x_dist, mid_end_x_dist, max_dist_x) {\n let estimatedDirection;\n if (max_dist_x === Math.abs(start_end_x_dist)) {\n if (start_end_x_dist > 0) estimatedDirection = FingerDirection.horizontalLeft;\n else estimatedDirection = FingerDirection.horizontalRight;\n } else if (max_dist_x === Math.abs(start_mid_x_dist)) {\n if (start_mid_x_dist > 0) estimatedDirection = FingerDirection.horizontalLeft;\n else estimatedDirection = FingerDirection.horizontalRight;\n } else {\n if (mid_end_x_dist > 0) estimatedDirection = FingerDirection.horizontalLeft;\n else estimatedDirection = FingerDirection.horizontalRight;\n }\n return estimatedDirection;\n}\n\nfunction estimateVerticalDirection(start_end_y_dist, start_mid_y_dist, mid_end_y_dist, max_dist_y) {\n let estimatedDirection;\n if (max_dist_y === Math.abs(start_end_y_dist)) {\n if (start_end_y_dist < 0) estimatedDirection = FingerDirection.verticalDown;\n else estimatedDirection = FingerDirection.verticalUp;\n } else if (max_dist_y === Math.abs(start_mid_y_dist)) {\n if (start_mid_y_dist < 0) estimatedDirection = FingerDirection.verticalDown;\n else estimatedDirection = FingerDirection.verticalUp;\n } else {\n if (mid_end_y_dist < 0) estimatedDirection = FingerDirection.verticalDown;\n else estimatedDirection = FingerDirection.verticalUp;\n }\n return estimatedDirection;\n}\n\nfunction estimateDiagonalDirection(start_end_y_dist, start_mid_y_dist, mid_end_y_dist, max_dist_y, start_end_x_dist, start_mid_x_dist, mid_end_x_dist, max_dist_x) {\n let estimatedDirection;\n const reqd_vertical_direction = estimateVerticalDirection(start_end_y_dist, start_mid_y_dist, mid_end_y_dist, max_dist_y);\n const reqd_horizontal_direction = estimateHorizontalDirection(start_end_x_dist, start_mid_x_dist, mid_end_x_dist, max_dist_x);\n if (reqd_vertical_direction === FingerDirection.verticalUp) {\n if (reqd_horizontal_direction === FingerDirection.horizontalLeft) estimatedDirection = FingerDirection.diagonalUpLeft;\n else estimatedDirection = FingerDirection.diagonalUpRight;\n } else {\n if (reqd_horizontal_direction === FingerDirection.horizontalLeft) estimatedDirection = FingerDirection.diagonalDownLeft;\n else estimatedDirection = FingerDirection.diagonalDownRight;\n }\n return estimatedDirection;\n}\n\nfunction calculateFingerDirection(startPoint, midPoint, endPoint, fingerSlopes) {\n const start_mid_x_dist = startPoint[0] - midPoint[0];\n const start_end_x_dist = startPoint[0] - endPoint[0];\n const mid_end_x_dist = midPoint[0] - endPoint[0];\n const start_mid_y_dist = startPoint[1] - midPoint[1];\n const start_end_y_dist = startPoint[1] - endPoint[1];\n const mid_end_y_dist = midPoint[1] - endPoint[1];\n const max_dist_x = Math.max(Math.abs(start_mid_x_dist), Math.abs(start_end_x_dist), Math.abs(mid_end_x_dist));\n const max_dist_y = Math.max(Math.abs(start_mid_y_dist), Math.abs(start_end_y_dist), Math.abs(mid_end_y_dist));\n let voteVertical = 0.0;\n let voteDiagonal = 0.0;\n let voteHorizontal = 0.0;\n const start_end_x_y_dist_ratio = max_dist_y / (max_dist_x + 0.00001);\n if (start_end_x_y_dist_ratio > 1.5) voteVertical += options.DISTANCE_VOTE_POWER;\n else if (start_end_x_y_dist_ratio > 0.66) voteDiagonal += options.DISTANCE_VOTE_POWER;\n else voteHorizontal += options.DISTANCE_VOTE_POWER;\n const start_mid_dist = Math.sqrt(start_mid_x_dist * start_mid_x_dist + start_mid_y_dist * start_mid_y_dist);\n const start_end_dist = Math.sqrt(start_end_x_dist * start_end_x_dist + start_end_y_dist * start_end_y_dist);\n const mid_end_dist = Math.sqrt(mid_end_x_dist * mid_end_x_dist + mid_end_y_dist * mid_end_y_dist);\n const max_dist = Math.max(start_mid_dist, start_end_dist, mid_end_dist);\n let calc_start_point_x = startPoint[0];\n let calc_start_point_y = startPoint[1];\n let calc_end_point_x = endPoint[0];\n let calc_end_point_y = endPoint[1];\n if (max_dist === start_mid_dist) {\n calc_end_point_x = endPoint[0];\n calc_end_point_y = endPoint[1];\n } else if (max_dist === mid_end_dist) {\n calc_start_point_x = midPoint[0];\n calc_start_point_y = midPoint[1];\n }\n const calcStartPoint = [calc_start_point_x, calc_start_point_y];\n const calcEndPoint = [calc_end_point_x, calc_end_point_y];\n const totalAngle = getSlopes(calcStartPoint, calcEndPoint);\n const votes = angleOrientationAt(totalAngle, options.TOTAL_ANGLE_VOTE_POWER);\n voteVertical += votes[0];\n voteDiagonal += votes[1];\n voteHorizontal += votes[2];\n for (const fingerSlope of fingerSlopes) {\n const fingerVotes = angleOrientationAt(fingerSlope, options.SINGLE_ANGLE_VOTE_POWER);\n voteVertical += fingerVotes[0];\n voteDiagonal += fingerVotes[1];\n voteHorizontal += fingerVotes[2];\n }\n // in case of tie, highest preference goes to Vertical,\n // followed by horizontal and then diagonal\n let estimatedDirection;\n if (voteVertical === Math.max(voteVertical, voteDiagonal, voteHorizontal)) {\n estimatedDirection = estimateVerticalDirection(start_end_y_dist, start_mid_y_dist, mid_end_y_dist, max_dist_y);\n } else if (voteHorizontal === Math.max(voteDiagonal, voteHorizontal)) {\n estimatedDirection = estimateHorizontalDirection(start_end_x_dist, start_mid_x_dist, mid_end_x_dist, max_dist_x);\n } else {\n estimatedDirection = estimateDiagonalDirection(start_end_y_dist, start_mid_y_dist, mid_end_y_dist, max_dist_y, start_end_x_dist, start_mid_x_dist, mid_end_x_dist, max_dist_x);\n }\n return estimatedDirection;\n}\n\nfunction estimate(landmarks) {\n // step 1: calculate slopes\n const slopesXY: number[][] = [];\n const slopesYZ: number[][] = [];\n const fingerCurls: number[] = [];\n const fingerDirections: number[] = [];\n if (!landmarks) return { curls: fingerCurls, directions: fingerDirections };\n\n // step 1: calculate slopes\n for (const finger of Finger.all) {\n const points = Finger.getPoints(finger);\n const slopeAtXY: number[] = [];\n const slopeAtYZ: number[] = [];\n for (const point of points) {\n const point1 = landmarks[point[0]];\n const point2 = landmarks[point[1]];\n // calculate single slope\n const slopes = getSlopes(point1, point2);\n const slopeXY = slopes[0];\n const slopeYZ = slopes[1];\n slopeAtXY.push(slopeXY);\n slopeAtYZ.push(slopeYZ);\n }\n slopesXY.push(slopeAtXY);\n slopesYZ.push(slopeAtYZ);\n }\n\n // step 2: calculate orientations\n for (const finger of Finger.all) {\n // start finger predictions from palm - except for thumb\n const pointIndexAt = (finger === Finger.thumb) ? 1 : 0;\n const fingerPointsAt = Finger.getPoints(finger);\n const startPoint = landmarks[fingerPointsAt[pointIndexAt][0]];\n const midPoint = landmarks[fingerPointsAt[pointIndexAt + 1][1]];\n const endPoint = landmarks[fingerPointsAt[3][1]];\n // check if finger is curled\n const fingerCurled = estimateFingerCurl(startPoint, midPoint, endPoint);\n const fingerPosition = calculateFingerDirection(startPoint, midPoint, endPoint, slopesXY[finger].slice(pointIndexAt));\n fingerCurls[finger] = fingerCurled;\n fingerDirections[finger] = fingerPosition;\n }\n return { curls: fingerCurls, directions: fingerDirections };\n}\n\nexport function analyze(keypoints) { // get estimations of curl / direction for each finger\n if (!keypoints || keypoints.length === 0) return null;\n const estimatorRes = estimate(keypoints);\n const landmarks = {};\n for (const fingerIdx of Finger.all) {\n landmarks[Finger.getName(fingerIdx)] = {\n curl: FingerCurl.getName(estimatorRes.curls[fingerIdx]),\n direction: FingerDirection.getName(estimatorRes.directions[fingerIdx]),\n };\n }\n return landmarks;\n}\n\nexport function match(keypoints) { // compare gesture description to each known gesture\n const poses: { name: string, confidence: number }[] = [];\n if (!keypoints || keypoints.length === 0) return poses;\n const estimatorRes = estimate(keypoints);\n for (const gesture of Gestures) {\n const confidence = gesture.matchAgainst(estimatorRes.curls, estimatorRes.directions);\n if (confidence >= minConfidence) poses.push({ name: gesture.name, confidence });\n }\n return poses;\n}\n", "/**\n * Gesture detection algorithm\n */\n\nimport type { GestureResult, BodyResult, FaceResult, HandResult, Point } from '../result';\nimport * as fingerPose from '../hand/fingerpose';\n\n/** face gesture type */\nexport type FaceGesture =\n `facing ${'left' | 'center' | 'right'}`\n | `blink ${'left' | 'right'} eye`\n | `mouth ${number}% open`\n | `head ${'up' | 'down'}`;\n\n/** iris gesture type */\nexport type IrisGesture =\n 'facing center'\n | `looking ${'left' | 'right' | 'up' | 'down'}`\n | 'looking center';\n\n/** body gesture type */\nexport type BodyGesture =\n `leaning ${'left' | 'right'}`\n | `raise ${'left' | 'right'} hand`\n | 'i give up';\n\n/** hand gesture type */\nexport type HandGesture =\n `${'thumb' | 'index' | 'middle' | 'ring' | 'pinky'} forward`\n | `${'thumb' | 'index' | 'middle' | 'ring' | 'pinky'} up`\n | 'victory'\n | 'thumbs up';\n\nexport const body = (res: BodyResult[]): GestureResult[] => {\n if (!res) return [];\n const gestures: { body: number, gesture: BodyGesture }[] = [];\n for (let i = 0; i < res.length; i++) {\n // raising hands\n const leftWrist = res[i].keypoints.find((a) => (a.part === 'leftWrist'));\n const rightWrist = res[i].keypoints.find((a) => (a.part === 'rightWrist'));\n const nose = res[i].keypoints.find((a) => (a.part === 'nose'));\n if (nose && leftWrist && rightWrist && (leftWrist.position[1] < nose.position[1]) && (rightWrist.position[1] < nose.position[1])) gestures.push({ body: i, gesture: 'i give up' });\n else if (nose && leftWrist && (leftWrist.position[1] < nose.position[1])) gestures.push({ body: i, gesture: 'raise left hand' });\n else if (nose && rightWrist && (rightWrist.position[1] < nose.position[1])) gestures.push({ body: i, gesture: 'raise right hand' });\n\n // leaning\n const leftShoulder = res[i].keypoints.find((a) => (a.part === 'leftShoulder'));\n const rightShoulder = res[i].keypoints.find((a) => (a.part === 'rightShoulder'));\n if (leftShoulder && rightShoulder && Math.abs(leftShoulder.positionRaw[1] - rightShoulder.positionRaw[1]) > 0.1) {\n gestures.push({ body: i, gesture: `leaning ${(leftShoulder.position[1] > rightShoulder.position[1]) ? 'left' : 'right'}` });\n }\n }\n return gestures;\n};\n\nexport const face = (res: FaceResult[]): GestureResult[] => {\n if (!res) return [];\n const gestures: { face: number, gesture: FaceGesture }[] = [];\n for (let i = 0; i < res.length; i++) {\n if (res[i].mesh && res[i].mesh.length > 450) {\n const zDiff = (res[i].mesh[33][2] || 0) - (res[i].mesh[263][2] || 0);\n const xDiff = res[i].mesh[33][0] - res[i].mesh[263][0];\n if (Math.abs(zDiff / xDiff) <= 0.15) gestures.push({ face: i, gesture: 'facing center' });\n else gestures.push({ face: i, gesture: `facing ${zDiff < 0 ? 'left' : 'right'}` });\n const openLeft = Math.abs(res[i].mesh[374][1] - res[i].mesh[386][1]) / Math.abs(res[i].mesh[443][1] - res[i].mesh[450][1]); // center of eye inner lid y coord div center of wider eye border y coord\n if (openLeft < 0.2) gestures.push({ face: i, gesture: 'blink left eye' });\n const openRight = Math.abs(res[i].mesh[145][1] - res[i].mesh[159][1]) / Math.abs(res[i].mesh[223][1] - res[i].mesh[230][1]); // center of eye inner lid y coord div center of wider eye border y coord\n if (openRight < 0.2) gestures.push({ face: i, gesture: 'blink right eye' });\n const mouthOpen = Math.min(100, 500 * Math.abs(res[i].mesh[13][1] - res[i].mesh[14][1]) / Math.abs(res[i].mesh[10][1] - res[i].mesh[152][1]));\n if (mouthOpen > 10) gestures.push({ face: i, gesture: `mouth ${Math.trunc(mouthOpen)}% open` });\n const chinDepth = res[i].mesh[152][2] || 0;\n if (Math.abs(chinDepth) > 10) gestures.push({ face: i, gesture: `head ${chinDepth < 0 ? 'up' : 'down'}` });\n }\n }\n return gestures;\n};\n\nexport const iris = (res: FaceResult[]): GestureResult[] => {\n if (!res) return [];\n const gestures: { iris: number, gesture: IrisGesture }[] = [];\n for (let i = 0; i < res.length; i++) {\n if (!res[i].annotations?.leftEyeIris?.[0] || !res[i].annotations?.rightEyeIris?.[0]) continue;\n const sizeXLeft = res[i].annotations.leftEyeIris[3][0] - res[i].annotations.leftEyeIris[1][0];\n const sizeYLeft = res[i].annotations.leftEyeIris[4][1] - res[i].annotations.leftEyeIris[2][1];\n const areaLeft = Math.abs(sizeXLeft * sizeYLeft);\n\n const sizeXRight = res[i].annotations.rightEyeIris[3][0] - res[i].annotations.rightEyeIris[1][0];\n const sizeYRight = res[i].annotations.rightEyeIris[4][1] - res[i].annotations.rightEyeIris[2][1];\n const areaRight = Math.abs(sizeXRight * sizeYRight);\n\n let center = false;\n const difference = Math.abs(areaLeft - areaRight) / Math.max(areaLeft, areaRight);\n if (difference < 0.25) {\n center = true;\n gestures.push({ iris: i, gesture: 'facing center' });\n }\n\n const leftIrisCenterX = Math.abs(res[i].mesh[263][0] - res[i].annotations.leftEyeIris[0][0]) / res[i].box[2];\n const rightIrisCenterX = Math.abs(res[i].mesh[33][0] - res[i].annotations.rightEyeIris[0][0]) / res[i].box[2];\n if (leftIrisCenterX > 0.06 || rightIrisCenterX > 0.06) center = false;\n if (leftIrisCenterX > rightIrisCenterX) { // check eye with bigger offset\n if (leftIrisCenterX > 0.05) gestures.push({ iris: i, gesture: 'looking right' });\n } else {\n if (rightIrisCenterX > 0.05) gestures.push({ iris: i, gesture: 'looking left' });\n }\n\n const rightIrisCenterY = Math.abs(res[i].mesh[145][1] - res[i].annotations.rightEyeIris[0][1]) / res[i].box[3];\n const leftIrisCenterY = Math.abs(res[i].mesh[374][1] - res[i].annotations.leftEyeIris[0][1]) / res[i].box[3];\n if (leftIrisCenterY < 0.01 || rightIrisCenterY < 0.01 || leftIrisCenterY > 0.022 || rightIrisCenterY > 0.022) center = false;\n if (leftIrisCenterY < 0.01 || rightIrisCenterY < 0.01) gestures.push({ iris: i, gesture: 'looking down' });\n if (leftIrisCenterY > 0.022 || rightIrisCenterY > 0.022) gestures.push({ iris: i, gesture: 'looking up' });\n\n // still center;\n if (center) gestures.push({ iris: i, gesture: 'looking center' });\n }\n return gestures;\n};\n\nexport const hand = (res: HandResult[]): GestureResult[] => {\n if (!res) return [];\n const gestures: { hand: number, gesture: HandGesture }[] = [];\n for (let i = 0; i < res.length; i++) {\n const fingers: { name: string, position: Point }[] = [];\n if (res[i].annotations) {\n for (const [finger, pos] of Object.entries(res[i].annotations)) {\n if (finger !== 'palmBase' && Array.isArray(pos) && pos[0]) fingers.push({ name: finger.toLowerCase(), position: pos[0] }); // get tip of each finger\n }\n }\n if (fingers && fingers.length > 0) {\n const closest = fingers.reduce((best, a) => ((best.position[2] || 0) < (a.position[2] || 0) ? best : a));\n gestures.push({ hand: i, gesture: `${closest.name} forward` as HandGesture });\n const highest = fingers.reduce((best, a) => (best.position[1] < a.position[1] ? best : a));\n gestures.push({ hand: i, gesture: `${highest.name} up` as HandGesture });\n }\n if (res[i].keypoints) {\n const poses = fingerPose.match(res[i].keypoints);\n for (const pose of poses) gestures.push({ hand: i, gesture: pose.name as HandGesture });\n }\n }\n return gestures;\n};\n", "import * as tf from 'dist/tfjs.esm.js';\nimport type { Point } from '../result';\n\nexport function getBoxSize(box) {\n return [\n Math.abs(box.endPoint[0] - box.startPoint[0]),\n Math.abs(box.endPoint[1] - box.startPoint[1]),\n ];\n}\n\nexport function getBoxCenter(box) {\n return [\n box.startPoint[0] + (box.endPoint[0] - box.startPoint[0]) / 2,\n box.startPoint[1] + (box.endPoint[1] - box.startPoint[1]) / 2,\n ];\n}\n\nexport function cutBoxFromImageAndResize(box, image, cropSize) {\n const h = image.shape[1];\n const w = image.shape[2];\n const boxes = [[\n box.startPoint[1] / h,\n box.startPoint[0] / w,\n box.endPoint[1] / h,\n box.endPoint[0] / w,\n ]];\n return tf.image.cropAndResize(image, boxes, [0], cropSize);\n}\n\nexport function scaleBoxCoordinates(box, factor) {\n const startPoint = [box.startPoint[0] * factor[0], box.startPoint[1] * factor[1]] as Point;\n const endPoint = [box.endPoint[0] * factor[0], box.endPoint[1] * factor[1]] as Point;\n const palmLandmarks = box.palmLandmarks.map((coord) => {\n const scaledCoord = [coord[0] * factor[0], coord[1] * factor[1]];\n return scaledCoord;\n });\n return { startPoint, endPoint, palmLandmarks, confidence: box.confidence };\n}\n\nexport function enlargeBox(box, factor = 1.5) {\n const center = getBoxCenter(box);\n const size = getBoxSize(box);\n const newHalfSize = [factor * size[0] / 2, factor * size[1] / 2];\n const startPoint = [center[0] - newHalfSize[0], center[1] - newHalfSize[1]] as Point;\n const endPoint = [center[0] + newHalfSize[0], center[1] + newHalfSize[1]] as Point;\n return { startPoint, endPoint, palmLandmarks: box.palmLandmarks };\n}\n\nexport function squarifyBox(box) {\n const centers = getBoxCenter(box);\n const size = getBoxSize(box);\n const maxEdge = Math.max(...size);\n const halfSize = maxEdge / 2;\n const startPoint = [centers[0] - halfSize, centers[1] - halfSize] as Point;\n const endPoint = [centers[0] + halfSize, centers[1] + halfSize] as Point;\n return { startPoint, endPoint, palmLandmarks: box.palmLandmarks };\n}\n\nexport function shiftBox(box, shiftFactor) {\n const boxSize = [\n box.endPoint[0] - box.startPoint[0],\n box.endPoint[1] - box.startPoint[1],\n ];\n const shiftVector = [boxSize[0] * shiftFactor[0], boxSize[1] * shiftFactor[1]];\n const startPoint = [box.startPoint[0] + shiftVector[0], box.startPoint[1] + shiftVector[1]] as Point;\n const endPoint = [box.endPoint[0] + shiftVector[0], box.endPoint[1] + shiftVector[1]] as Point;\n return { startPoint, endPoint, palmLandmarks: box.palmLandmarks };\n}\n\nexport function normalizeRadians(angle) {\n return angle - 2 * Math.PI * Math.floor((angle + Math.PI) / (2 * Math.PI));\n}\n\nexport function computeRotation(point1, point2) {\n const radians = Math.PI / 2 - Math.atan2(-(point2[1] - point1[1]), point2[0] - point1[0]);\n return normalizeRadians(radians);\n}\n\nexport const buildTranslationMatrix = (x, y) => [[1, 0, x], [0, 1, y], [0, 0, 1]];\n\nexport function dot(v1, v2) {\n let product = 0;\n for (let i = 0; i < v1.length; i++) {\n product += v1[i] * v2[i];\n }\n return product;\n}\n\nexport function getColumnFrom2DArr(arr, columnIndex) {\n const column: number[] = [];\n for (let i = 0; i < arr.length; i++) {\n column.push(arr[i][columnIndex]);\n }\n return column;\n}\n\nexport function multiplyTransformMatrices(mat1, mat2) {\n const product: number[][] = [];\n const size = mat1.length;\n for (let row = 0; row < size; row++) {\n product.push([]);\n for (let col = 0; col < size; col++) {\n product[row].push(dot(mat1[row], getColumnFrom2DArr(mat2, col)));\n }\n }\n return product;\n}\n\nexport function buildRotationMatrix(rotation, center) {\n const cosA = Math.cos(rotation);\n const sinA = Math.sin(rotation);\n const rotationMatrix = [[cosA, -sinA, 0], [sinA, cosA, 0], [0, 0, 1]];\n const translationMatrix = buildTranslationMatrix(center[0], center[1]);\n const translationTimesRotation = multiplyTransformMatrices(translationMatrix, rotationMatrix);\n const negativeTranslationMatrix = buildTranslationMatrix(-center[0], -center[1]);\n return multiplyTransformMatrices(translationTimesRotation, negativeTranslationMatrix);\n}\n\nexport function invertTransformMatrix(matrix) {\n const rotationComponent = [[matrix[0][0], matrix[1][0]], [matrix[0][1], matrix[1][1]]];\n const translationComponent = [matrix[0][2], matrix[1][2]];\n const invertedTranslation = [\n -dot(rotationComponent[0], translationComponent),\n -dot(rotationComponent[1], translationComponent),\n ];\n return [\n rotationComponent[0].concat(invertedTranslation[0]),\n rotationComponent[1].concat(invertedTranslation[1]),\n [0, 0, 1],\n ];\n}\n\nexport function rotatePoint(homogeneousCoordinate, rotationMatrix) {\n return [\n dot(homogeneousCoordinate, rotationMatrix[0]),\n dot(homogeneousCoordinate, rotationMatrix[1]),\n ];\n}\n", "/**\n * HandPose model implementation constants\n * See `handpose.ts` for entry point\n */\n\nexport const anchors = [\n { x: 0.015625, y: 0.015625 },\n { x: 0.015625, y: 0.015625 },\n { x: 0.046875, y: 0.015625 },\n { x: 0.046875, y: 0.015625 },\n { x: 0.078125, y: 0.015625 },\n { x: 0.078125, y: 0.015625 },\n { x: 0.109375, y: 0.015625 },\n { x: 0.109375, y: 0.015625 },\n { x: 0.140625, y: 0.015625 },\n { x: 0.140625, y: 0.015625 },\n { x: 0.171875, y: 0.015625 },\n { x: 0.171875, y: 0.015625 },\n { x: 0.203125, y: 0.015625 },\n { x: 0.203125, y: 0.015625 },\n { x: 0.234375, y: 0.015625 },\n { x: 0.234375, y: 0.015625 },\n { x: 0.265625, y: 0.015625 },\n { x: 0.265625, y: 0.015625 },\n { x: 0.296875, y: 0.015625 },\n { x: 0.296875, y: 0.015625 },\n { x: 0.328125, y: 0.015625 },\n { x: 0.328125, y: 0.015625 },\n { x: 0.359375, y: 0.015625 },\n { x: 0.359375, y: 0.015625 },\n { x: 0.390625, y: 0.015625 },\n { x: 0.390625, y: 0.015625 },\n { x: 0.421875, y: 0.015625 },\n { x: 0.421875, y: 0.015625 },\n { x: 0.453125, y: 0.015625 },\n { x: 0.453125, y: 0.015625 },\n { x: 0.484375, y: 0.015625 },\n { x: 0.484375, y: 0.015625 },\n { x: 0.515625, y: 0.015625 },\n { x: 0.515625, y: 0.015625 },\n { x: 0.546875, y: 0.015625 },\n { x: 0.546875, y: 0.015625 },\n { x: 0.578125, y: 0.015625 },\n { x: 0.578125, y: 0.015625 },\n { x: 0.609375, y: 0.015625 },\n { x: 0.609375, y: 0.015625 },\n { x: 0.640625, y: 0.015625 },\n { x: 0.640625, y: 0.015625 },\n { x: 0.671875, y: 0.015625 },\n { x: 0.671875, y: 0.015625 },\n { x: 0.703125, y: 0.015625 },\n { x: 0.703125, y: 0.015625 },\n { x: 0.734375, y: 0.015625 },\n { x: 0.734375, y: 0.015625 },\n { x: 0.765625, y: 0.015625 },\n { x: 0.765625, y: 0.015625 },\n { x: 0.796875, y: 0.015625 },\n { x: 0.796875, y: 0.015625 },\n { x: 0.828125, y: 0.015625 },\n { x: 0.828125, y: 0.015625 },\n { x: 0.859375, y: 0.015625 },\n { x: 0.859375, y: 0.015625 },\n { x: 0.890625, y: 0.015625 },\n { x: 0.890625, y: 0.015625 },\n { x: 0.921875, y: 0.015625 },\n { x: 0.921875, y: 0.015625 },\n { x: 0.953125, y: 0.015625 },\n { x: 0.953125, y: 0.015625 },\n { x: 0.984375, y: 0.015625 },\n { x: 0.984375, y: 0.015625 },\n { x: 0.015625, y: 0.046875 },\n { x: 0.015625, y: 0.046875 },\n { x: 0.046875, y: 0.046875 },\n { x: 0.046875, y: 0.046875 },\n { x: 0.078125, y: 0.046875 },\n { x: 0.078125, y: 0.046875 },\n { x: 0.109375, y: 0.046875 },\n { x: 0.109375, y: 0.046875 },\n { x: 0.140625, y: 0.046875 },\n { x: 0.140625, y: 0.046875 },\n { x: 0.171875, y: 0.046875 },\n { x: 0.171875, y: 0.046875 },\n { x: 0.203125, y: 0.046875 },\n { x: 0.203125, y: 0.046875 },\n { x: 0.234375, y: 0.046875 },\n { x: 0.234375, y: 0.046875 },\n { x: 0.265625, y: 0.046875 },\n { x: 0.265625, y: 0.046875 },\n { x: 0.296875, y: 0.046875 },\n { x: 0.296875, y: 0.046875 },\n { x: 0.328125, y: 0.046875 },\n { x: 0.328125, y: 0.046875 },\n { x: 0.359375, y: 0.046875 },\n { x: 0.359375, y: 0.046875 },\n { x: 0.390625, y: 0.046875 },\n { x: 0.390625, y: 0.046875 },\n { x: 0.421875, y: 0.046875 },\n { x: 0.421875, y: 0.046875 },\n { x: 0.453125, y: 0.046875 },\n { x: 0.453125, y: 0.046875 },\n { x: 0.484375, y: 0.046875 },\n { x: 0.484375, y: 0.046875 },\n { x: 0.515625, y: 0.046875 },\n { x: 0.515625, y: 0.046875 },\n { x: 0.546875, y: 0.046875 },\n { x: 0.546875, y: 0.046875 },\n { x: 0.578125, y: 0.046875 },\n { x: 0.578125, y: 0.046875 },\n { x: 0.609375, y: 0.046875 },\n { x: 0.609375, y: 0.046875 },\n { x: 0.640625, y: 0.046875 },\n { x: 0.640625, y: 0.046875 },\n { x: 0.671875, y: 0.046875 },\n { x: 0.671875, y: 0.046875 },\n { x: 0.703125, y: 0.046875 },\n { x: 0.703125, y: 0.046875 },\n { x: 0.734375, y: 0.046875 },\n { x: 0.734375, y: 0.046875 },\n { x: 0.765625, y: 0.046875 },\n { x: 0.765625, y: 0.046875 },\n { x: 0.796875, y: 0.046875 },\n { x: 0.796875, y: 0.046875 },\n { x: 0.828125, y: 0.046875 },\n { x: 0.828125, y: 0.046875 },\n { x: 0.859375, y: 0.046875 },\n { x: 0.859375, y: 0.046875 },\n { x: 0.890625, y: 0.046875 },\n { x: 0.890625, y: 0.046875 },\n { x: 0.921875, y: 0.046875 },\n { x: 0.921875, y: 0.046875 },\n { x: 0.953125, y: 0.046875 },\n { x: 0.953125, y: 0.046875 },\n { x: 0.984375, y: 0.046875 },\n { x: 0.984375, y: 0.046875 },\n { x: 0.015625, y: 0.078125 },\n { x: 0.015625, y: 0.078125 },\n { x: 0.046875, y: 0.078125 },\n { x: 0.046875, y: 0.078125 },\n { x: 0.078125, y: 0.078125 },\n { x: 0.078125, y: 0.078125 },\n { x: 0.109375, y: 0.078125 },\n { x: 0.109375, y: 0.078125 },\n { x: 0.140625, y: 0.078125 },\n { x: 0.140625, y: 0.078125 },\n { x: 0.171875, y: 0.078125 },\n { x: 0.171875, y: 0.078125 },\n { x: 0.203125, y: 0.078125 },\n { x: 0.203125, y: 0.078125 },\n { x: 0.234375, y: 0.078125 },\n { x: 0.234375, y: 0.078125 },\n { x: 0.265625, y: 0.078125 },\n { x: 0.265625, y: 0.078125 },\n { x: 0.296875, y: 0.078125 },\n { x: 0.296875, y: 0.078125 },\n { x: 0.328125, y: 0.078125 },\n { x: 0.328125, y: 0.078125 },\n { x: 0.359375, y: 0.078125 },\n { x: 0.359375, y: 0.078125 },\n { x: 0.390625, y: 0.078125 },\n { x: 0.390625, y: 0.078125 },\n { x: 0.421875, y: 0.078125 },\n { x: 0.421875, y: 0.078125 },\n { x: 0.453125, y: 0.078125 },\n { x: 0.453125, y: 0.078125 },\n { x: 0.484375, y: 0.078125 },\n { x: 0.484375, y: 0.078125 },\n { x: 0.515625, y: 0.078125 },\n { x: 0.515625, y: 0.078125 },\n { x: 0.546875, y: 0.078125 },\n { x: 0.546875, y: 0.078125 },\n { x: 0.578125, y: 0.078125 },\n { x: 0.578125, y: 0.078125 },\n { x: 0.609375, y: 0.078125 },\n { x: 0.609375, y: 0.078125 },\n { x: 0.640625, y: 0.078125 },\n { x: 0.640625, y: 0.078125 },\n { x: 0.671875, y: 0.078125 },\n { x: 0.671875, y: 0.078125 },\n { x: 0.703125, y: 0.078125 },\n { x: 0.703125, y: 0.078125 },\n { x: 0.734375, y: 0.078125 },\n { x: 0.734375, y: 0.078125 },\n { x: 0.765625, y: 0.078125 },\n { x: 0.765625, y: 0.078125 },\n { x: 0.796875, y: 0.078125 },\n { x: 0.796875, y: 0.078125 },\n { x: 0.828125, y: 0.078125 },\n { x: 0.828125, y: 0.078125 },\n { x: 0.859375, y: 0.078125 },\n { x: 0.859375, y: 0.078125 },\n { x: 0.890625, y: 0.078125 },\n { x: 0.890625, y: 0.078125 },\n { x: 0.921875, y: 0.078125 },\n { x: 0.921875, y: 0.078125 },\n { x: 0.953125, y: 0.078125 },\n { x: 0.953125, y: 0.078125 },\n { x: 0.984375, y: 0.078125 },\n { x: 0.984375, y: 0.078125 },\n { x: 0.015625, y: 0.109375 },\n { x: 0.015625, y: 0.109375 },\n { x: 0.046875, y: 0.109375 },\n { x: 0.046875, y: 0.109375 },\n { x: 0.078125, y: 0.109375 },\n { x: 0.078125, y: 0.109375 },\n { x: 0.109375, y: 0.109375 },\n { x: 0.109375, y: 0.109375 },\n { x: 0.140625, y: 0.109375 },\n { x: 0.140625, y: 0.109375 },\n { x: 0.171875, y: 0.109375 },\n { x: 0.171875, y: 0.109375 },\n { x: 0.203125, y: 0.109375 },\n { x: 0.203125, y: 0.109375 },\n { x: 0.234375, y: 0.109375 },\n { x: 0.234375, y: 0.109375 },\n { x: 0.265625, y: 0.109375 },\n { x: 0.265625, y: 0.109375 },\n { x: 0.296875, y: 0.109375 },\n { x: 0.296875, y: 0.109375 },\n { x: 0.328125, y: 0.109375 },\n { x: 0.328125, y: 0.109375 },\n { x: 0.359375, y: 0.109375 },\n { x: 0.359375, y: 0.109375 },\n { x: 0.390625, y: 0.109375 },\n { x: 0.390625, y: 0.109375 },\n { x: 0.421875, y: 0.109375 },\n { x: 0.421875, y: 0.109375 },\n { x: 0.453125, y: 0.109375 },\n { x: 0.453125, y: 0.109375 },\n { x: 0.484375, y: 0.109375 },\n { x: 0.484375, y: 0.109375 },\n { x: 0.515625, y: 0.109375 },\n { x: 0.515625, y: 0.109375 },\n { x: 0.546875, y: 0.109375 },\n { x: 0.546875, y: 0.109375 },\n { x: 0.578125, y: 0.109375 },\n { x: 0.578125, y: 0.109375 },\n { x: 0.609375, y: 0.109375 },\n { x: 0.609375, y: 0.109375 },\n { x: 0.640625, y: 0.109375 },\n { x: 0.640625, y: 0.109375 },\n { x: 0.671875, y: 0.109375 },\n { x: 0.671875, y: 0.109375 },\n { x: 0.703125, y: 0.109375 },\n { x: 0.703125, y: 0.109375 },\n { x: 0.734375, y: 0.109375 },\n { x: 0.734375, y: 0.109375 },\n { x: 0.765625, y: 0.109375 },\n { x: 0.765625, y: 0.109375 },\n { x: 0.796875, y: 0.109375 },\n { x: 0.796875, y: 0.109375 },\n { x: 0.828125, y: 0.109375 },\n { x: 0.828125, y: 0.109375 },\n { x: 0.859375, y: 0.109375 },\n { x: 0.859375, y: 0.109375 },\n { x: 0.890625, y: 0.109375 },\n { x: 0.890625, y: 0.109375 },\n { x: 0.921875, y: 0.109375 },\n { x: 0.921875, y: 0.109375 },\n { x: 0.953125, y: 0.109375 },\n { x: 0.953125, y: 0.109375 },\n { x: 0.984375, y: 0.109375 },\n { x: 0.984375, y: 0.109375 },\n { x: 0.015625, y: 0.140625 },\n { x: 0.015625, y: 0.140625 },\n { x: 0.046875, y: 0.140625 },\n { x: 0.046875, y: 0.140625 },\n { x: 0.078125, y: 0.140625 },\n { x: 0.078125, y: 0.140625 },\n { x: 0.109375, y: 0.140625 },\n { x: 0.109375, y: 0.140625 },\n { x: 0.140625, y: 0.140625 },\n { x: 0.140625, y: 0.140625 },\n { x: 0.171875, y: 0.140625 },\n { x: 0.171875, y: 0.140625 },\n { x: 0.203125, y: 0.140625 },\n { x: 0.203125, y: 0.140625 },\n { x: 0.234375, y: 0.140625 },\n { x: 0.234375, y: 0.140625 },\n { x: 0.265625, y: 0.140625 },\n { x: 0.265625, y: 0.140625 },\n { x: 0.296875, y: 0.140625 },\n { x: 0.296875, y: 0.140625 },\n { x: 0.328125, y: 0.140625 },\n { x: 0.328125, y: 0.140625 },\n { x: 0.359375, y: 0.140625 },\n { x: 0.359375, y: 0.140625 },\n { x: 0.390625, y: 0.140625 },\n { x: 0.390625, y: 0.140625 },\n { x: 0.421875, y: 0.140625 },\n { x: 0.421875, y: 0.140625 },\n { x: 0.453125, y: 0.140625 },\n { x: 0.453125, y: 0.140625 },\n { x: 0.484375, y: 0.140625 },\n { x: 0.484375, y: 0.140625 },\n { x: 0.515625, y: 0.140625 },\n { x: 0.515625, y: 0.140625 },\n { x: 0.546875, y: 0.140625 },\n { x: 0.546875, y: 0.140625 },\n { x: 0.578125, y: 0.140625 },\n { x: 0.578125, y: 0.140625 },\n { x: 0.609375, y: 0.140625 },\n { x: 0.609375, y: 0.140625 },\n { x: 0.640625, y: 0.140625 },\n { x: 0.640625, y: 0.140625 },\n { x: 0.671875, y: 0.140625 },\n { x: 0.671875, y: 0.140625 },\n { x: 0.703125, y: 0.140625 },\n { x: 0.703125, y: 0.140625 },\n { x: 0.734375, y: 0.140625 },\n { x: 0.734375, y: 0.140625 },\n { x: 0.765625, y: 0.140625 },\n { x: 0.765625, y: 0.140625 },\n { x: 0.796875, y: 0.140625 },\n { x: 0.796875, y: 0.140625 },\n { x: 0.828125, y: 0.140625 },\n { x: 0.828125, y: 0.140625 },\n { x: 0.859375, y: 0.140625 },\n { x: 0.859375, y: 0.140625 },\n { x: 0.890625, y: 0.140625 },\n { x: 0.890625, y: 0.140625 },\n { x: 0.921875, y: 0.140625 },\n { x: 0.921875, y: 0.140625 },\n { x: 0.953125, y: 0.140625 },\n { x: 0.953125, y: 0.140625 },\n { x: 0.984375, y: 0.140625 },\n { x: 0.984375, y: 0.140625 },\n { x: 0.015625, y: 0.171875 },\n { x: 0.015625, y: 0.171875 },\n { x: 0.046875, y: 0.171875 },\n { x: 0.046875, y: 0.171875 },\n { x: 0.078125, y: 0.171875 },\n { x: 0.078125, y: 0.171875 },\n { x: 0.109375, y: 0.171875 },\n { x: 0.109375, y: 0.171875 },\n { x: 0.140625, y: 0.171875 },\n { x: 0.140625, y: 0.171875 },\n { x: 0.171875, y: 0.171875 },\n { x: 0.171875, y: 0.171875 },\n { x: 0.203125, y: 0.171875 },\n { x: 0.203125, y: 0.171875 },\n { x: 0.234375, y: 0.171875 },\n { x: 0.234375, y: 0.171875 },\n { x: 0.265625, y: 0.171875 },\n { x: 0.265625, y: 0.171875 },\n { x: 0.296875, y: 0.171875 },\n { x: 0.296875, y: 0.171875 },\n { x: 0.328125, y: 0.171875 },\n { x: 0.328125, y: 0.171875 },\n { x: 0.359375, y: 0.171875 },\n { x: 0.359375, y: 0.171875 },\n { x: 0.390625, y: 0.171875 },\n { x: 0.390625, y: 0.171875 },\n { x: 0.421875, y: 0.171875 },\n { x: 0.421875, y: 0.171875 },\n { x: 0.453125, y: 0.171875 },\n { x: 0.453125, y: 0.171875 },\n { x: 0.484375, y: 0.171875 },\n { x: 0.484375, y: 0.171875 },\n { x: 0.515625, y: 0.171875 },\n { x: 0.515625, y: 0.171875 },\n { x: 0.546875, y: 0.171875 },\n { x: 0.546875, y: 0.171875 },\n { x: 0.578125, y: 0.171875 },\n { x: 0.578125, y: 0.171875 },\n { x: 0.609375, y: 0.171875 },\n { x: 0.609375, y: 0.171875 },\n { x: 0.640625, y: 0.171875 },\n { x: 0.640625, y: 0.171875 },\n { x: 0.671875, y: 0.171875 },\n { x: 0.671875, y: 0.171875 },\n { x: 0.703125, y: 0.171875 },\n { x: 0.703125, y: 0.171875 },\n { x: 0.734375, y: 0.171875 },\n { x: 0.734375, y: 0.171875 },\n { x: 0.765625, y: 0.171875 },\n { x: 0.765625, y: 0.171875 },\n { x: 0.796875, y: 0.171875 },\n { x: 0.796875, y: 0.171875 },\n { x: 0.828125, y: 0.171875 },\n { x: 0.828125, y: 0.171875 },\n { x: 0.859375, y: 0.171875 },\n { x: 0.859375, y: 0.171875 },\n { x: 0.890625, y: 0.171875 },\n { x: 0.890625, y: 0.171875 },\n { x: 0.921875, y: 0.171875 },\n { x: 0.921875, y: 0.171875 },\n { x: 0.953125, y: 0.171875 },\n { x: 0.953125, y: 0.171875 },\n { x: 0.984375, y: 0.171875 },\n { x: 0.984375, y: 0.171875 },\n { x: 0.015625, y: 0.203125 },\n { x: 0.015625, y: 0.203125 },\n { x: 0.046875, y: 0.203125 },\n { x: 0.046875, y: 0.203125 },\n { x: 0.078125, y: 0.203125 },\n { x: 0.078125, y: 0.203125 },\n { x: 0.109375, y: 0.203125 },\n { x: 0.109375, y: 0.203125 },\n { x: 0.140625, y: 0.203125 },\n { x: 0.140625, y: 0.203125 },\n { x: 0.171875, y: 0.203125 },\n { x: 0.171875, y: 0.203125 },\n { x: 0.203125, y: 0.203125 },\n { x: 0.203125, y: 0.203125 },\n { x: 0.234375, y: 0.203125 },\n { x: 0.234375, y: 0.203125 },\n { x: 0.265625, y: 0.203125 },\n { x: 0.265625, y: 0.203125 },\n { x: 0.296875, y: 0.203125 },\n { x: 0.296875, y: 0.203125 },\n { x: 0.328125, y: 0.203125 },\n { x: 0.328125, y: 0.203125 },\n { x: 0.359375, y: 0.203125 },\n { x: 0.359375, y: 0.203125 },\n { x: 0.390625, y: 0.203125 },\n { x: 0.390625, y: 0.203125 },\n { x: 0.421875, y: 0.203125 },\n { x: 0.421875, y: 0.203125 },\n { x: 0.453125, y: 0.203125 },\n { x: 0.453125, y: 0.203125 },\n { x: 0.484375, y: 0.203125 },\n { x: 0.484375, y: 0.203125 },\n { x: 0.515625, y: 0.203125 },\n { x: 0.515625, y: 0.203125 },\n { x: 0.546875, y: 0.203125 },\n { x: 0.546875, y: 0.203125 },\n { x: 0.578125, y: 0.203125 },\n { x: 0.578125, y: 0.203125 },\n { x: 0.609375, y: 0.203125 },\n { x: 0.609375, y: 0.203125 },\n { x: 0.640625, y: 0.203125 },\n { x: 0.640625, y: 0.203125 },\n { x: 0.671875, y: 0.203125 },\n { x: 0.671875, y: 0.203125 },\n { x: 0.703125, y: 0.203125 },\n { x: 0.703125, y: 0.203125 },\n { x: 0.734375, y: 0.203125 },\n { x: 0.734375, y: 0.203125 },\n { x: 0.765625, y: 0.203125 },\n { x: 0.765625, y: 0.203125 },\n { x: 0.796875, y: 0.203125 },\n { x: 0.796875, y: 0.203125 },\n { x: 0.828125, y: 0.203125 },\n { x: 0.828125, y: 0.203125 },\n { x: 0.859375, y: 0.203125 },\n { x: 0.859375, y: 0.203125 },\n { x: 0.890625, y: 0.203125 },\n { x: 0.890625, y: 0.203125 },\n { x: 0.921875, y: 0.203125 },\n { x: 0.921875, y: 0.203125 },\n { x: 0.953125, y: 0.203125 },\n { x: 0.953125, y: 0.203125 },\n { x: 0.984375, y: 0.203125 },\n { x: 0.984375, y: 0.203125 },\n { x: 0.015625, y: 0.234375 },\n { x: 0.015625, y: 0.234375 },\n { x: 0.046875, y: 0.234375 },\n { x: 0.046875, y: 0.234375 },\n { x: 0.078125, y: 0.234375 },\n { x: 0.078125, y: 0.234375 },\n { x: 0.109375, y: 0.234375 },\n { x: 0.109375, y: 0.234375 },\n { x: 0.140625, y: 0.234375 },\n { x: 0.140625, y: 0.234375 },\n { x: 0.171875, y: 0.234375 },\n { x: 0.171875, y: 0.234375 },\n { x: 0.203125, y: 0.234375 },\n { x: 0.203125, y: 0.234375 },\n { x: 0.234375, y: 0.234375 },\n { x: 0.234375, y: 0.234375 },\n { x: 0.265625, y: 0.234375 },\n { x: 0.265625, y: 0.234375 },\n { x: 0.296875, y: 0.234375 },\n { x: 0.296875, y: 0.234375 },\n { x: 0.328125, y: 0.234375 },\n { x: 0.328125, y: 0.234375 },\n { x: 0.359375, y: 0.234375 },\n { x: 0.359375, y: 0.234375 },\n { x: 0.390625, y: 0.234375 },\n { x: 0.390625, y: 0.234375 },\n { x: 0.421875, y: 0.234375 },\n { x: 0.421875, y: 0.234375 },\n { x: 0.453125, y: 0.234375 },\n { x: 0.453125, y: 0.234375 },\n { x: 0.484375, y: 0.234375 },\n { x: 0.484375, y: 0.234375 },\n { x: 0.515625, y: 0.234375 },\n { x: 0.515625, y: 0.234375 },\n { x: 0.546875, y: 0.234375 },\n { x: 0.546875, y: 0.234375 },\n { x: 0.578125, y: 0.234375 },\n { x: 0.578125, y: 0.234375 },\n { x: 0.609375, y: 0.234375 },\n { x: 0.609375, y: 0.234375 },\n { x: 0.640625, y: 0.234375 },\n { x: 0.640625, y: 0.234375 },\n { x: 0.671875, y: 0.234375 },\n { x: 0.671875, y: 0.234375 },\n { x: 0.703125, y: 0.234375 },\n { x: 0.703125, y: 0.234375 },\n { x: 0.734375, y: 0.234375 },\n { x: 0.734375, y: 0.234375 },\n { x: 0.765625, y: 0.234375 },\n { x: 0.765625, y: 0.234375 },\n { x: 0.796875, y: 0.234375 },\n { x: 0.796875, y: 0.234375 },\n { x: 0.828125, y: 0.234375 },\n { x: 0.828125, y: 0.234375 },\n { x: 0.859375, y: 0.234375 },\n { x: 0.859375, y: 0.234375 },\n { x: 0.890625, y: 0.234375 },\n { x: 0.890625, y: 0.234375 },\n { x: 0.921875, y: 0.234375 },\n { x: 0.921875, y: 0.234375 },\n { x: 0.953125, y: 0.234375 },\n { x: 0.953125, y: 0.234375 },\n { x: 0.984375, y: 0.234375 },\n { x: 0.984375, y: 0.234375 },\n { x: 0.015625, y: 0.265625 },\n { x: 0.015625, y: 0.265625 },\n { x: 0.046875, y: 0.265625 },\n { x: 0.046875, y: 0.265625 },\n { x: 0.078125, y: 0.265625 },\n { x: 0.078125, y: 0.265625 },\n { x: 0.109375, y: 0.265625 },\n { x: 0.109375, y: 0.265625 },\n { x: 0.140625, y: 0.265625 },\n { x: 0.140625, y: 0.265625 },\n { x: 0.171875, y: 0.265625 },\n { x: 0.171875, y: 0.265625 },\n { x: 0.203125, y: 0.265625 },\n { x: 0.203125, y: 0.265625 },\n { x: 0.234375, y: 0.265625 },\n { x: 0.234375, y: 0.265625 },\n { x: 0.265625, y: 0.265625 },\n { x: 0.265625, y: 0.265625 },\n { x: 0.296875, y: 0.265625 },\n { x: 0.296875, y: 0.265625 },\n { x: 0.328125, y: 0.265625 },\n { x: 0.328125, y: 0.265625 },\n { x: 0.359375, y: 0.265625 },\n { x: 0.359375, y: 0.265625 },\n { x: 0.390625, y: 0.265625 },\n { x: 0.390625, y: 0.265625 },\n { x: 0.421875, y: 0.265625 },\n { x: 0.421875, y: 0.265625 },\n { x: 0.453125, y: 0.265625 },\n { x: 0.453125, y: 0.265625 },\n { x: 0.484375, y: 0.265625 },\n { x: 0.484375, y: 0.265625 },\n { x: 0.515625, y: 0.265625 },\n { x: 0.515625, y: 0.265625 },\n { x: 0.546875, y: 0.265625 },\n { x: 0.546875, y: 0.265625 },\n { x: 0.578125, y: 0.265625 },\n { x: 0.578125, y: 0.265625 },\n { x: 0.609375, y: 0.265625 },\n { x: 0.609375, y: 0.265625 },\n { x: 0.640625, y: 0.265625 },\n { x: 0.640625, y: 0.265625 },\n { x: 0.671875, y: 0.265625 },\n { x: 0.671875, y: 0.265625 },\n { x: 0.703125, y: 0.265625 },\n { x: 0.703125, y: 0.265625 },\n { x: 0.734375, y: 0.265625 },\n { x: 0.734375, y: 0.265625 },\n { x: 0.765625, y: 0.265625 },\n { x: 0.765625, y: 0.265625 },\n { x: 0.796875, y: 0.265625 },\n { x: 0.796875, y: 0.265625 },\n { x: 0.828125, y: 0.265625 },\n { x: 0.828125, y: 0.265625 },\n { x: 0.859375, y: 0.265625 },\n { x: 0.859375, y: 0.265625 },\n { x: 0.890625, y: 0.265625 },\n { x: 0.890625, y: 0.265625 },\n { x: 0.921875, y: 0.265625 },\n { x: 0.921875, y: 0.265625 },\n { x: 0.953125, y: 0.265625 },\n { x: 0.953125, y: 0.265625 },\n { x: 0.984375, y: 0.265625 },\n { x: 0.984375, y: 0.265625 },\n { x: 0.015625, y: 0.296875 },\n { x: 0.015625, y: 0.296875 },\n { x: 0.046875, y: 0.296875 },\n { x: 0.046875, y: 0.296875 },\n { x: 0.078125, y: 0.296875 },\n { x: 0.078125, y: 0.296875 },\n { x: 0.109375, y: 0.296875 },\n { x: 0.109375, y: 0.296875 },\n { x: 0.140625, y: 0.296875 },\n { x: 0.140625, y: 0.296875 },\n { x: 0.171875, y: 0.296875 },\n { x: 0.171875, y: 0.296875 },\n { x: 0.203125, y: 0.296875 },\n { x: 0.203125, y: 0.296875 },\n { x: 0.234375, y: 0.296875 },\n { x: 0.234375, y: 0.296875 },\n { x: 0.265625, y: 0.296875 },\n { x: 0.265625, y: 0.296875 },\n { x: 0.296875, y: 0.296875 },\n { x: 0.296875, y: 0.296875 },\n { x: 0.328125, y: 0.296875 },\n { x: 0.328125, y: 0.296875 },\n { x: 0.359375, y: 0.296875 },\n { x: 0.359375, y: 0.296875 },\n { x: 0.390625, y: 0.296875 },\n { x: 0.390625, y: 0.296875 },\n { x: 0.421875, y: 0.296875 },\n { x: 0.421875, y: 0.296875 },\n { x: 0.453125, y: 0.296875 },\n { x: 0.453125, y: 0.296875 },\n { x: 0.484375, y: 0.296875 },\n { x: 0.484375, y: 0.296875 },\n { x: 0.515625, y: 0.296875 },\n { x: 0.515625, y: 0.296875 },\n { x: 0.546875, y: 0.296875 },\n { x: 0.546875, y: 0.296875 },\n { x: 0.578125, y: 0.296875 },\n { x: 0.578125, y: 0.296875 },\n { x: 0.609375, y: 0.296875 },\n { x: 0.609375, y: 0.296875 },\n { x: 0.640625, y: 0.296875 },\n { x: 0.640625, y: 0.296875 },\n { x: 0.671875, y: 0.296875 },\n { x: 0.671875, y: 0.296875 },\n { x: 0.703125, y: 0.296875 },\n { x: 0.703125, y: 0.296875 },\n { x: 0.734375, y: 0.296875 },\n { x: 0.734375, y: 0.296875 },\n { x: 0.765625, y: 0.296875 },\n { x: 0.765625, y: 0.296875 },\n { x: 0.796875, y: 0.296875 },\n { x: 0.796875, y: 0.296875 },\n { x: 0.828125, y: 0.296875 },\n { x: 0.828125, y: 0.296875 },\n { x: 0.859375, y: 0.296875 },\n { x: 0.859375, y: 0.296875 },\n { x: 0.890625, y: 0.296875 },\n { x: 0.890625, y: 0.296875 },\n { x: 0.921875, y: 0.296875 },\n { x: 0.921875, y: 0.296875 },\n { x: 0.953125, y: 0.296875 },\n { x: 0.953125, y: 0.296875 },\n { x: 0.984375, y: 0.296875 },\n { x: 0.984375, y: 0.296875 },\n { x: 0.015625, y: 0.328125 },\n { x: 0.015625, y: 0.328125 },\n { x: 0.046875, y: 0.328125 },\n { x: 0.046875, y: 0.328125 },\n { x: 0.078125, y: 0.328125 },\n { x: 0.078125, y: 0.328125 },\n { x: 0.109375, y: 0.328125 },\n { x: 0.109375, y: 0.328125 },\n { x: 0.140625, y: 0.328125 },\n { x: 0.140625, y: 0.328125 },\n { x: 0.171875, y: 0.328125 },\n { x: 0.171875, y: 0.328125 },\n { x: 0.203125, y: 0.328125 },\n { x: 0.203125, y: 0.328125 },\n { x: 0.234375, y: 0.328125 },\n { x: 0.234375, y: 0.328125 },\n { x: 0.265625, y: 0.328125 },\n { x: 0.265625, y: 0.328125 },\n { x: 0.296875, y: 0.328125 },\n { x: 0.296875, y: 0.328125 },\n { x: 0.328125, y: 0.328125 },\n { x: 0.328125, y: 0.328125 },\n { x: 0.359375, y: 0.328125 },\n { x: 0.359375, y: 0.328125 },\n { x: 0.390625, y: 0.328125 },\n { x: 0.390625, y: 0.328125 },\n { x: 0.421875, y: 0.328125 },\n { x: 0.421875, y: 0.328125 },\n { x: 0.453125, y: 0.328125 },\n { x: 0.453125, y: 0.328125 },\n { x: 0.484375, y: 0.328125 },\n { x: 0.484375, y: 0.328125 },\n { x: 0.515625, y: 0.328125 },\n { x: 0.515625, y: 0.328125 },\n { x: 0.546875, y: 0.328125 },\n { x: 0.546875, y: 0.328125 },\n { x: 0.578125, y: 0.328125 },\n { x: 0.578125, y: 0.328125 },\n { x: 0.609375, y: 0.328125 },\n { x: 0.609375, y: 0.328125 },\n { x: 0.640625, y: 0.328125 },\n { x: 0.640625, y: 0.328125 },\n { x: 0.671875, y: 0.328125 },\n { x: 0.671875, y: 0.328125 },\n { x: 0.703125, y: 0.328125 },\n { x: 0.703125, y: 0.328125 },\n { x: 0.734375, y: 0.328125 },\n { x: 0.734375, y: 0.328125 },\n { x: 0.765625, y: 0.328125 },\n { x: 0.765625, y: 0.328125 },\n { x: 0.796875, y: 0.328125 },\n { x: 0.796875, y: 0.328125 },\n { x: 0.828125, y: 0.328125 },\n { x: 0.828125, y: 0.328125 },\n { x: 0.859375, y: 0.328125 },\n { x: 0.859375, y: 0.328125 },\n { x: 0.890625, y: 0.328125 },\n { x: 0.890625, y: 0.328125 },\n { x: 0.921875, y: 0.328125 },\n { x: 0.921875, y: 0.328125 },\n { x: 0.953125, y: 0.328125 },\n { x: 0.953125, y: 0.328125 },\n { x: 0.984375, y: 0.328125 },\n { x: 0.984375, y: 0.328125 },\n { x: 0.015625, y: 0.359375 },\n { x: 0.015625, y: 0.359375 },\n { x: 0.046875, y: 0.359375 },\n { x: 0.046875, y: 0.359375 },\n { x: 0.078125, y: 0.359375 },\n { x: 0.078125, y: 0.359375 },\n { x: 0.109375, y: 0.359375 },\n { x: 0.109375, y: 0.359375 },\n { x: 0.140625, y: 0.359375 },\n { x: 0.140625, y: 0.359375 },\n { x: 0.171875, y: 0.359375 },\n { x: 0.171875, y: 0.359375 },\n { x: 0.203125, y: 0.359375 },\n { x: 0.203125, y: 0.359375 },\n { x: 0.234375, y: 0.359375 },\n { x: 0.234375, y: 0.359375 },\n { x: 0.265625, y: 0.359375 },\n { x: 0.265625, y: 0.359375 },\n { x: 0.296875, y: 0.359375 },\n { x: 0.296875, y: 0.359375 },\n { x: 0.328125, y: 0.359375 },\n { x: 0.328125, y: 0.359375 },\n { x: 0.359375, y: 0.359375 },\n { x: 0.359375, y: 0.359375 },\n { x: 0.390625, y: 0.359375 },\n { x: 0.390625, y: 0.359375 },\n { x: 0.421875, y: 0.359375 },\n { x: 0.421875, y: 0.359375 },\n { x: 0.453125, y: 0.359375 },\n { x: 0.453125, y: 0.359375 },\n { x: 0.484375, y: 0.359375 },\n { x: 0.484375, y: 0.359375 },\n { x: 0.515625, y: 0.359375 },\n { x: 0.515625, y: 0.359375 },\n { x: 0.546875, y: 0.359375 },\n { x: 0.546875, y: 0.359375 },\n { x: 0.578125, y: 0.359375 },\n { x: 0.578125, y: 0.359375 },\n { x: 0.609375, y: 0.359375 },\n { x: 0.609375, y: 0.359375 },\n { x: 0.640625, y: 0.359375 },\n { x: 0.640625, y: 0.359375 },\n { x: 0.671875, y: 0.359375 },\n { x: 0.671875, y: 0.359375 },\n { x: 0.703125, y: 0.359375 },\n { x: 0.703125, y: 0.359375 },\n { x: 0.734375, y: 0.359375 },\n { x: 0.734375, y: 0.359375 },\n { x: 0.765625, y: 0.359375 },\n { x: 0.765625, y: 0.359375 },\n { x: 0.796875, y: 0.359375 },\n { x: 0.796875, y: 0.359375 },\n { x: 0.828125, y: 0.359375 },\n { x: 0.828125, y: 0.359375 },\n { x: 0.859375, y: 0.359375 },\n { x: 0.859375, y: 0.359375 },\n { x: 0.890625, y: 0.359375 },\n { x: 0.890625, y: 0.359375 },\n { x: 0.921875, y: 0.359375 },\n { x: 0.921875, y: 0.359375 },\n { x: 0.953125, y: 0.359375 },\n { x: 0.953125, y: 0.359375 },\n { x: 0.984375, y: 0.359375 },\n { x: 0.984375, y: 0.359375 },\n { x: 0.015625, y: 0.390625 },\n { x: 0.015625, y: 0.390625 },\n { x: 0.046875, y: 0.390625 },\n { x: 0.046875, y: 0.390625 },\n { x: 0.078125, y: 0.390625 },\n { x: 0.078125, y: 0.390625 },\n { x: 0.109375, y: 0.390625 },\n { x: 0.109375, y: 0.390625 },\n { x: 0.140625, y: 0.390625 },\n { x: 0.140625, y: 0.390625 },\n { x: 0.171875, y: 0.390625 },\n { x: 0.171875, y: 0.390625 },\n { x: 0.203125, y: 0.390625 },\n { x: 0.203125, y: 0.390625 },\n { x: 0.234375, y: 0.390625 },\n { x: 0.234375, y: 0.390625 },\n { x: 0.265625, y: 0.390625 },\n { x: 0.265625, y: 0.390625 },\n { x: 0.296875, y: 0.390625 },\n { x: 0.296875, y: 0.390625 },\n { x: 0.328125, y: 0.390625 },\n { x: 0.328125, y: 0.390625 },\n { x: 0.359375, y: 0.390625 },\n { x: 0.359375, y: 0.390625 },\n { x: 0.390625, y: 0.390625 },\n { x: 0.390625, y: 0.390625 },\n { x: 0.421875, y: 0.390625 },\n { x: 0.421875, y: 0.390625 },\n { x: 0.453125, y: 0.390625 },\n { x: 0.453125, y: 0.390625 },\n { x: 0.484375, y: 0.390625 },\n { x: 0.484375, y: 0.390625 },\n { x: 0.515625, y: 0.390625 },\n { x: 0.515625, y: 0.390625 },\n { x: 0.546875, y: 0.390625 },\n { x: 0.546875, y: 0.390625 },\n { x: 0.578125, y: 0.390625 },\n { x: 0.578125, y: 0.390625 },\n { x: 0.609375, y: 0.390625 },\n { x: 0.609375, y: 0.390625 },\n { x: 0.640625, y: 0.390625 },\n { x: 0.640625, y: 0.390625 },\n { x: 0.671875, y: 0.390625 },\n { x: 0.671875, y: 0.390625 },\n { x: 0.703125, y: 0.390625 },\n { x: 0.703125, y: 0.390625 },\n { x: 0.734375, y: 0.390625 },\n { x: 0.734375, y: 0.390625 },\n { x: 0.765625, y: 0.390625 },\n { x: 0.765625, y: 0.390625 },\n { x: 0.796875, y: 0.390625 },\n { x: 0.796875, y: 0.390625 },\n { x: 0.828125, y: 0.390625 },\n { x: 0.828125, y: 0.390625 },\n { x: 0.859375, y: 0.390625 },\n { x: 0.859375, y: 0.390625 },\n { x: 0.890625, y: 0.390625 },\n { x: 0.890625, y: 0.390625 },\n { x: 0.921875, y: 0.390625 },\n { x: 0.921875, y: 0.390625 },\n { x: 0.953125, y: 0.390625 },\n { x: 0.953125, y: 0.390625 },\n { x: 0.984375, y: 0.390625 },\n { x: 0.984375, y: 0.390625 },\n { x: 0.015625, y: 0.421875 },\n { x: 0.015625, y: 0.421875 },\n { x: 0.046875, y: 0.421875 },\n { x: 0.046875, y: 0.421875 },\n { x: 0.078125, y: 0.421875 },\n { x: 0.078125, y: 0.421875 },\n { x: 0.109375, y: 0.421875 },\n { x: 0.109375, y: 0.421875 },\n { x: 0.140625, y: 0.421875 },\n { x: 0.140625, y: 0.421875 },\n { x: 0.171875, y: 0.421875 },\n { x: 0.171875, y: 0.421875 },\n { x: 0.203125, y: 0.421875 },\n { x: 0.203125, y: 0.421875 },\n { x: 0.234375, y: 0.421875 },\n { x: 0.234375, y: 0.421875 },\n { x: 0.265625, y: 0.421875 },\n { x: 0.265625, y: 0.421875 },\n { x: 0.296875, y: 0.421875 },\n { x: 0.296875, y: 0.421875 },\n { x: 0.328125, y: 0.421875 },\n { x: 0.328125, y: 0.421875 },\n { x: 0.359375, y: 0.421875 },\n { x: 0.359375, y: 0.421875 },\n { x: 0.390625, y: 0.421875 },\n { x: 0.390625, y: 0.421875 },\n { x: 0.421875, y: 0.421875 },\n { x: 0.421875, y: 0.421875 },\n { x: 0.453125, y: 0.421875 },\n { x: 0.453125, y: 0.421875 },\n { x: 0.484375, y: 0.421875 },\n { x: 0.484375, y: 0.421875 },\n { x: 0.515625, y: 0.421875 },\n { x: 0.515625, y: 0.421875 },\n { x: 0.546875, y: 0.421875 },\n { x: 0.546875, y: 0.421875 },\n { x: 0.578125, y: 0.421875 },\n { x: 0.578125, y: 0.421875 },\n { x: 0.609375, y: 0.421875 },\n { x: 0.609375, y: 0.421875 },\n { x: 0.640625, y: 0.421875 },\n { x: 0.640625, y: 0.421875 },\n { x: 0.671875, y: 0.421875 },\n { x: 0.671875, y: 0.421875 },\n { x: 0.703125, y: 0.421875 },\n { x: 0.703125, y: 0.421875 },\n { x: 0.734375, y: 0.421875 },\n { x: 0.734375, y: 0.421875 },\n { x: 0.765625, y: 0.421875 },\n { x: 0.765625, y: 0.421875 },\n { x: 0.796875, y: 0.421875 },\n { x: 0.796875, y: 0.421875 },\n { x: 0.828125, y: 0.421875 },\n { x: 0.828125, y: 0.421875 },\n { x: 0.859375, y: 0.421875 },\n { x: 0.859375, y: 0.421875 },\n { x: 0.890625, y: 0.421875 },\n { x: 0.890625, y: 0.421875 },\n { x: 0.921875, y: 0.421875 },\n { x: 0.921875, y: 0.421875 },\n { x: 0.953125, y: 0.421875 },\n { x: 0.953125, y: 0.421875 },\n { x: 0.984375, y: 0.421875 },\n { x: 0.984375, y: 0.421875 },\n { x: 0.015625, y: 0.453125 },\n { x: 0.015625, y: 0.453125 },\n { x: 0.046875, y: 0.453125 },\n { x: 0.046875, y: 0.453125 },\n { x: 0.078125, y: 0.453125 },\n { x: 0.078125, y: 0.453125 },\n { x: 0.109375, y: 0.453125 },\n { x: 0.109375, y: 0.453125 },\n { x: 0.140625, y: 0.453125 },\n { x: 0.140625, y: 0.453125 },\n { x: 0.171875, y: 0.453125 },\n { x: 0.171875, y: 0.453125 },\n { x: 0.203125, y: 0.453125 },\n { x: 0.203125, y: 0.453125 },\n { x: 0.234375, y: 0.453125 },\n { x: 0.234375, y: 0.453125 },\n { x: 0.265625, y: 0.453125 },\n { x: 0.265625, y: 0.453125 },\n { x: 0.296875, y: 0.453125 },\n { x: 0.296875, y: 0.453125 },\n { x: 0.328125, y: 0.453125 },\n { x: 0.328125, y: 0.453125 },\n { x: 0.359375, y: 0.453125 },\n { x: 0.359375, y: 0.453125 },\n { x: 0.390625, y: 0.453125 },\n { x: 0.390625, y: 0.453125 },\n { x: 0.421875, y: 0.453125 },\n { x: 0.421875, y: 0.453125 },\n { x: 0.453125, y: 0.453125 },\n { x: 0.453125, y: 0.453125 },\n { x: 0.484375, y: 0.453125 },\n { x: 0.484375, y: 0.453125 },\n { x: 0.515625, y: 0.453125 },\n { x: 0.515625, y: 0.453125 },\n { x: 0.546875, y: 0.453125 },\n { x: 0.546875, y: 0.453125 },\n { x: 0.578125, y: 0.453125 },\n { x: 0.578125, y: 0.453125 },\n { x: 0.609375, y: 0.453125 },\n { x: 0.609375, y: 0.453125 },\n { x: 0.640625, y: 0.453125 },\n { x: 0.640625, y: 0.453125 },\n { x: 0.671875, y: 0.453125 },\n { x: 0.671875, y: 0.453125 },\n { x: 0.703125, y: 0.453125 },\n { x: 0.703125, y: 0.453125 },\n { x: 0.734375, y: 0.453125 },\n { x: 0.734375, y: 0.453125 },\n { x: 0.765625, y: 0.453125 },\n { x: 0.765625, y: 0.453125 },\n { x: 0.796875, y: 0.453125 },\n { x: 0.796875, y: 0.453125 },\n { x: 0.828125, y: 0.453125 },\n { x: 0.828125, y: 0.453125 },\n { x: 0.859375, y: 0.453125 },\n { x: 0.859375, y: 0.453125 },\n { x: 0.890625, y: 0.453125 },\n { x: 0.890625, y: 0.453125 },\n { x: 0.921875, y: 0.453125 },\n { x: 0.921875, y: 0.453125 },\n { x: 0.953125, y: 0.453125 },\n { x: 0.953125, y: 0.453125 },\n { x: 0.984375, y: 0.453125 },\n { x: 0.984375, y: 0.453125 },\n { x: 0.015625, y: 0.484375 },\n { x: 0.015625, y: 0.484375 },\n { x: 0.046875, y: 0.484375 },\n { x: 0.046875, y: 0.484375 },\n { x: 0.078125, y: 0.484375 },\n { x: 0.078125, y: 0.484375 },\n { x: 0.109375, y: 0.484375 },\n { x: 0.109375, y: 0.484375 },\n { x: 0.140625, y: 0.484375 },\n { x: 0.140625, y: 0.484375 },\n { x: 0.171875, y: 0.484375 },\n { x: 0.171875, y: 0.484375 },\n { x: 0.203125, y: 0.484375 },\n { x: 0.203125, y: 0.484375 },\n { x: 0.234375, y: 0.484375 },\n { x: 0.234375, y: 0.484375 },\n { x: 0.265625, y: 0.484375 },\n { x: 0.265625, y: 0.484375 },\n { x: 0.296875, y: 0.484375 },\n { x: 0.296875, y: 0.484375 },\n { x: 0.328125, y: 0.484375 },\n { x: 0.328125, y: 0.484375 },\n { x: 0.359375, y: 0.484375 },\n { x: 0.359375, y: 0.484375 },\n { x: 0.390625, y: 0.484375 },\n { x: 0.390625, y: 0.484375 },\n { x: 0.421875, y: 0.484375 },\n { x: 0.421875, y: 0.484375 },\n { x: 0.453125, y: 0.484375 },\n { x: 0.453125, y: 0.484375 },\n { x: 0.484375, y: 0.484375 },\n { x: 0.484375, y: 0.484375 },\n { x: 0.515625, y: 0.484375 },\n { x: 0.515625, y: 0.484375 },\n { x: 0.546875, y: 0.484375 },\n { x: 0.546875, y: 0.484375 },\n { x: 0.578125, y: 0.484375 },\n { x: 0.578125, y: 0.484375 },\n { x: 0.609375, y: 0.484375 },\n { x: 0.609375, y: 0.484375 },\n { x: 0.640625, y: 0.484375 },\n { x: 0.640625, y: 0.484375 },\n { x: 0.671875, y: 0.484375 },\n { x: 0.671875, y: 0.484375 },\n { x: 0.703125, y: 0.484375 },\n { x: 0.703125, y: 0.484375 },\n { x: 0.734375, y: 0.484375 },\n { x: 0.734375, y: 0.484375 },\n { x: 0.765625, y: 0.484375 },\n { x: 0.765625, y: 0.484375 },\n { x: 0.796875, y: 0.484375 },\n { x: 0.796875, y: 0.484375 },\n { x: 0.828125, y: 0.484375 },\n { x: 0.828125, y: 0.484375 },\n { x: 0.859375, y: 0.484375 },\n { x: 0.859375, y: 0.484375 },\n { x: 0.890625, y: 0.484375 },\n { x: 0.890625, y: 0.484375 },\n { x: 0.921875, y: 0.484375 },\n { x: 0.921875, y: 0.484375 },\n { x: 0.953125, y: 0.484375 },\n { x: 0.953125, y: 0.484375 },\n { x: 0.984375, y: 0.484375 },\n { x: 0.984375, y: 0.484375 },\n { x: 0.015625, y: 0.515625 },\n { x: 0.015625, y: 0.515625 },\n { x: 0.046875, y: 0.515625 },\n { x: 0.046875, y: 0.515625 },\n { x: 0.078125, y: 0.515625 },\n { x: 0.078125, y: 0.515625 },\n { x: 0.109375, y: 0.515625 },\n { x: 0.109375, y: 0.515625 },\n { x: 0.140625, y: 0.515625 },\n { x: 0.140625, y: 0.515625 },\n { x: 0.171875, y: 0.515625 },\n { x: 0.171875, y: 0.515625 },\n { x: 0.203125, y: 0.515625 },\n { x: 0.203125, y: 0.515625 },\n { x: 0.234375, y: 0.515625 },\n { x: 0.234375, y: 0.515625 },\n { x: 0.265625, y: 0.515625 },\n { x: 0.265625, y: 0.515625 },\n { x: 0.296875, y: 0.515625 },\n { x: 0.296875, y: 0.515625 },\n { x: 0.328125, y: 0.515625 },\n { x: 0.328125, y: 0.515625 },\n { x: 0.359375, y: 0.515625 },\n { x: 0.359375, y: 0.515625 },\n { x: 0.390625, y: 0.515625 },\n { x: 0.390625, y: 0.515625 },\n { x: 0.421875, y: 0.515625 },\n { x: 0.421875, y: 0.515625 },\n { x: 0.453125, y: 0.515625 },\n { x: 0.453125, y: 0.515625 },\n { x: 0.484375, y: 0.515625 },\n { x: 0.484375, y: 0.515625 },\n { x: 0.515625, y: 0.515625 },\n { x: 0.515625, y: 0.515625 },\n { x: 0.546875, y: 0.515625 },\n { x: 0.546875, y: 0.515625 },\n { x: 0.578125, y: 0.515625 },\n { x: 0.578125, y: 0.515625 },\n { x: 0.609375, y: 0.515625 },\n { x: 0.609375, y: 0.515625 },\n { x: 0.640625, y: 0.515625 },\n { x: 0.640625, y: 0.515625 },\n { x: 0.671875, y: 0.515625 },\n { x: 0.671875, y: 0.515625 },\n { x: 0.703125, y: 0.515625 },\n { x: 0.703125, y: 0.515625 },\n { x: 0.734375, y: 0.515625 },\n { x: 0.734375, y: 0.515625 },\n { x: 0.765625, y: 0.515625 },\n { x: 0.765625, y: 0.515625 },\n { x: 0.796875, y: 0.515625 },\n { x: 0.796875, y: 0.515625 },\n { x: 0.828125, y: 0.515625 },\n { x: 0.828125, y: 0.515625 },\n { x: 0.859375, y: 0.515625 },\n { x: 0.859375, y: 0.515625 },\n { x: 0.890625, y: 0.515625 },\n { x: 0.890625, y: 0.515625 },\n { x: 0.921875, y: 0.515625 },\n { x: 0.921875, y: 0.515625 },\n { x: 0.953125, y: 0.515625 },\n { x: 0.953125, y: 0.515625 },\n { x: 0.984375, y: 0.515625 },\n { x: 0.984375, y: 0.515625 },\n { x: 0.015625, y: 0.546875 },\n { x: 0.015625, y: 0.546875 },\n { x: 0.046875, y: 0.546875 },\n { x: 0.046875, y: 0.546875 },\n { x: 0.078125, y: 0.546875 },\n { x: 0.078125, y: 0.546875 },\n { x: 0.109375, y: 0.546875 },\n { x: 0.109375, y: 0.546875 },\n { x: 0.140625, y: 0.546875 },\n { x: 0.140625, y: 0.546875 },\n { x: 0.171875, y: 0.546875 },\n { x: 0.171875, y: 0.546875 },\n { x: 0.203125, y: 0.546875 },\n { x: 0.203125, y: 0.546875 },\n { x: 0.234375, y: 0.546875 },\n { x: 0.234375, y: 0.546875 },\n { x: 0.265625, y: 0.546875 },\n { x: 0.265625, y: 0.546875 },\n { x: 0.296875, y: 0.546875 },\n { x: 0.296875, y: 0.546875 },\n { x: 0.328125, y: 0.546875 },\n { x: 0.328125, y: 0.546875 },\n { x: 0.359375, y: 0.546875 },\n { x: 0.359375, y: 0.546875 },\n { x: 0.390625, y: 0.546875 },\n { x: 0.390625, y: 0.546875 },\n { x: 0.421875, y: 0.546875 },\n { x: 0.421875, y: 0.546875 },\n { x: 0.453125, y: 0.546875 },\n { x: 0.453125, y: 0.546875 },\n { x: 0.484375, y: 0.546875 },\n { x: 0.484375, y: 0.546875 },\n { x: 0.515625, y: 0.546875 },\n { x: 0.515625, y: 0.546875 },\n { x: 0.546875, y: 0.546875 },\n { x: 0.546875, y: 0.546875 },\n { x: 0.578125, y: 0.546875 },\n { x: 0.578125, y: 0.546875 },\n { x: 0.609375, y: 0.546875 },\n { x: 0.609375, y: 0.546875 },\n { x: 0.640625, y: 0.546875 },\n { x: 0.640625, y: 0.546875 },\n { x: 0.671875, y: 0.546875 },\n { x: 0.671875, y: 0.546875 },\n { x: 0.703125, y: 0.546875 },\n { x: 0.703125, y: 0.546875 },\n { x: 0.734375, y: 0.546875 },\n { x: 0.734375, y: 0.546875 },\n { x: 0.765625, y: 0.546875 },\n { x: 0.765625, y: 0.546875 },\n { x: 0.796875, y: 0.546875 },\n { x: 0.796875, y: 0.546875 },\n { x: 0.828125, y: 0.546875 },\n { x: 0.828125, y: 0.546875 },\n { x: 0.859375, y: 0.546875 },\n { x: 0.859375, y: 0.546875 },\n { x: 0.890625, y: 0.546875 },\n { x: 0.890625, y: 0.546875 },\n { x: 0.921875, y: 0.546875 },\n { x: 0.921875, y: 0.546875 },\n { x: 0.953125, y: 0.546875 },\n { x: 0.953125, y: 0.546875 },\n { x: 0.984375, y: 0.546875 },\n { x: 0.984375, y: 0.546875 },\n { x: 0.015625, y: 0.578125 },\n { x: 0.015625, y: 0.578125 },\n { x: 0.046875, y: 0.578125 },\n { x: 0.046875, y: 0.578125 },\n { x: 0.078125, y: 0.578125 },\n { x: 0.078125, y: 0.578125 },\n { x: 0.109375, y: 0.578125 },\n { x: 0.109375, y: 0.578125 },\n { x: 0.140625, y: 0.578125 },\n { x: 0.140625, y: 0.578125 },\n { x: 0.171875, y: 0.578125 },\n { x: 0.171875, y: 0.578125 },\n { x: 0.203125, y: 0.578125 },\n { x: 0.203125, y: 0.578125 },\n { x: 0.234375, y: 0.578125 },\n { x: 0.234375, y: 0.578125 },\n { x: 0.265625, y: 0.578125 },\n { x: 0.265625, y: 0.578125 },\n { x: 0.296875, y: 0.578125 },\n { x: 0.296875, y: 0.578125 },\n { x: 0.328125, y: 0.578125 },\n { x: 0.328125, y: 0.578125 },\n { x: 0.359375, y: 0.578125 },\n { x: 0.359375, y: 0.578125 },\n { x: 0.390625, y: 0.578125 },\n { x: 0.390625, y: 0.578125 },\n { x: 0.421875, y: 0.578125 },\n { x: 0.421875, y: 0.578125 },\n { x: 0.453125, y: 0.578125 },\n { x: 0.453125, y: 0.578125 },\n { x: 0.484375, y: 0.578125 },\n { x: 0.484375, y: 0.578125 },\n { x: 0.515625, y: 0.578125 },\n { x: 0.515625, y: 0.578125 },\n { x: 0.546875, y: 0.578125 },\n { x: 0.546875, y: 0.578125 },\n { x: 0.578125, y: 0.578125 },\n { x: 0.578125, y: 0.578125 },\n { x: 0.609375, y: 0.578125 },\n { x: 0.609375, y: 0.578125 },\n { x: 0.640625, y: 0.578125 },\n { x: 0.640625, y: 0.578125 },\n { x: 0.671875, y: 0.578125 },\n { x: 0.671875, y: 0.578125 },\n { x: 0.703125, y: 0.578125 },\n { x: 0.703125, y: 0.578125 },\n { x: 0.734375, y: 0.578125 },\n { x: 0.734375, y: 0.578125 },\n { x: 0.765625, y: 0.578125 },\n { x: 0.765625, y: 0.578125 },\n { x: 0.796875, y: 0.578125 },\n { x: 0.796875, y: 0.578125 },\n { x: 0.828125, y: 0.578125 },\n { x: 0.828125, y: 0.578125 },\n { x: 0.859375, y: 0.578125 },\n { x: 0.859375, y: 0.578125 },\n { x: 0.890625, y: 0.578125 },\n { x: 0.890625, y: 0.578125 },\n { x: 0.921875, y: 0.578125 },\n { x: 0.921875, y: 0.578125 },\n { x: 0.953125, y: 0.578125 },\n { x: 0.953125, y: 0.578125 },\n { x: 0.984375, y: 0.578125 },\n { x: 0.984375, y: 0.578125 },\n { x: 0.015625, y: 0.609375 },\n { x: 0.015625, y: 0.609375 },\n { x: 0.046875, y: 0.609375 },\n { x: 0.046875, y: 0.609375 },\n { x: 0.078125, y: 0.609375 },\n { x: 0.078125, y: 0.609375 },\n { x: 0.109375, y: 0.609375 },\n { x: 0.109375, y: 0.609375 },\n { x: 0.140625, y: 0.609375 },\n { x: 0.140625, y: 0.609375 },\n { x: 0.171875, y: 0.609375 },\n { x: 0.171875, y: 0.609375 },\n { x: 0.203125, y: 0.609375 },\n { x: 0.203125, y: 0.609375 },\n { x: 0.234375, y: 0.609375 },\n { x: 0.234375, y: 0.609375 },\n { x: 0.265625, y: 0.609375 },\n { x: 0.265625, y: 0.609375 },\n { x: 0.296875, y: 0.609375 },\n { x: 0.296875, y: 0.609375 },\n { x: 0.328125, y: 0.609375 },\n { x: 0.328125, y: 0.609375 },\n { x: 0.359375, y: 0.609375 },\n { x: 0.359375, y: 0.609375 },\n { x: 0.390625, y: 0.609375 },\n { x: 0.390625, y: 0.609375 },\n { x: 0.421875, y: 0.609375 },\n { x: 0.421875, y: 0.609375 },\n { x: 0.453125, y: 0.609375 },\n { x: 0.453125, y: 0.609375 },\n { x: 0.484375, y: 0.609375 },\n { x: 0.484375, y: 0.609375 },\n { x: 0.515625, y: 0.609375 },\n { x: 0.515625, y: 0.609375 },\n { x: 0.546875, y: 0.609375 },\n { x: 0.546875, y: 0.609375 },\n { x: 0.578125, y: 0.609375 },\n { x: 0.578125, y: 0.609375 },\n { x: 0.609375, y: 0.609375 },\n { x: 0.609375, y: 0.609375 },\n { x: 0.640625, y: 0.609375 },\n { x: 0.640625, y: 0.609375 },\n { x: 0.671875, y: 0.609375 },\n { x: 0.671875, y: 0.609375 },\n { x: 0.703125, y: 0.609375 },\n { x: 0.703125, y: 0.609375 },\n { x: 0.734375, y: 0.609375 },\n { x: 0.734375, y: 0.609375 },\n { x: 0.765625, y: 0.609375 },\n { x: 0.765625, y: 0.609375 },\n { x: 0.796875, y: 0.609375 },\n { x: 0.796875, y: 0.609375 },\n { x: 0.828125, y: 0.609375 },\n { x: 0.828125, y: 0.609375 },\n { x: 0.859375, y: 0.609375 },\n { x: 0.859375, y: 0.609375 },\n { x: 0.890625, y: 0.609375 },\n { x: 0.890625, y: 0.609375 },\n { x: 0.921875, y: 0.609375 },\n { x: 0.921875, y: 0.609375 },\n { x: 0.953125, y: 0.609375 },\n { x: 0.953125, y: 0.609375 },\n { x: 0.984375, y: 0.609375 },\n { x: 0.984375, y: 0.609375 },\n { x: 0.015625, y: 0.640625 },\n { x: 0.015625, y: 0.640625 },\n { x: 0.046875, y: 0.640625 },\n { x: 0.046875, y: 0.640625 },\n { x: 0.078125, y: 0.640625 },\n { x: 0.078125, y: 0.640625 },\n { x: 0.109375, y: 0.640625 },\n { x: 0.109375, y: 0.640625 },\n { x: 0.140625, y: 0.640625 },\n { x: 0.140625, y: 0.640625 },\n { x: 0.171875, y: 0.640625 },\n { x: 0.171875, y: 0.640625 },\n { x: 0.203125, y: 0.640625 },\n { x: 0.203125, y: 0.640625 },\n { x: 0.234375, y: 0.640625 },\n { x: 0.234375, y: 0.640625 },\n { x: 0.265625, y: 0.640625 },\n { x: 0.265625, y: 0.640625 },\n { x: 0.296875, y: 0.640625 },\n { x: 0.296875, y: 0.640625 },\n { x: 0.328125, y: 0.640625 },\n { x: 0.328125, y: 0.640625 },\n { x: 0.359375, y: 0.640625 },\n { x: 0.359375, y: 0.640625 },\n { x: 0.390625, y: 0.640625 },\n { x: 0.390625, y: 0.640625 },\n { x: 0.421875, y: 0.640625 },\n { x: 0.421875, y: 0.640625 },\n { x: 0.453125, y: 0.640625 },\n { x: 0.453125, y: 0.640625 },\n { x: 0.484375, y: 0.640625 },\n { x: 0.484375, y: 0.640625 },\n { x: 0.515625, y: 0.640625 },\n { x: 0.515625, y: 0.640625 },\n { x: 0.546875, y: 0.640625 },\n { x: 0.546875, y: 0.640625 },\n { x: 0.578125, y: 0.640625 },\n { x: 0.578125, y: 0.640625 },\n { x: 0.609375, y: 0.640625 },\n { x: 0.609375, y: 0.640625 },\n { x: 0.640625, y: 0.640625 },\n { x: 0.640625, y: 0.640625 },\n { x: 0.671875, y: 0.640625 },\n { x: 0.671875, y: 0.640625 },\n { x: 0.703125, y: 0.640625 },\n { x: 0.703125, y: 0.640625 },\n { x: 0.734375, y: 0.640625 },\n { x: 0.734375, y: 0.640625 },\n { x: 0.765625, y: 0.640625 },\n { x: 0.765625, y: 0.640625 },\n { x: 0.796875, y: 0.640625 },\n { x: 0.796875, y: 0.640625 },\n { x: 0.828125, y: 0.640625 },\n { x: 0.828125, y: 0.640625 },\n { x: 0.859375, y: 0.640625 },\n { x: 0.859375, y: 0.640625 },\n { x: 0.890625, y: 0.640625 },\n { x: 0.890625, y: 0.640625 },\n { x: 0.921875, y: 0.640625 },\n { x: 0.921875, y: 0.640625 },\n { x: 0.953125, y: 0.640625 },\n { x: 0.953125, y: 0.640625 },\n { x: 0.984375, y: 0.640625 },\n { x: 0.984375, y: 0.640625 },\n { x: 0.015625, y: 0.671875 },\n { x: 0.015625, y: 0.671875 },\n { x: 0.046875, y: 0.671875 },\n { x: 0.046875, y: 0.671875 },\n { x: 0.078125, y: 0.671875 },\n { x: 0.078125, y: 0.671875 },\n { x: 0.109375, y: 0.671875 },\n { x: 0.109375, y: 0.671875 },\n { x: 0.140625, y: 0.671875 },\n { x: 0.140625, y: 0.671875 },\n { x: 0.171875, y: 0.671875 },\n { x: 0.171875, y: 0.671875 },\n { x: 0.203125, y: 0.671875 },\n { x: 0.203125, y: 0.671875 },\n { x: 0.234375, y: 0.671875 },\n { x: 0.234375, y: 0.671875 },\n { x: 0.265625, y: 0.671875 },\n { x: 0.265625, y: 0.671875 },\n { x: 0.296875, y: 0.671875 },\n { x: 0.296875, y: 0.671875 },\n { x: 0.328125, y: 0.671875 },\n { x: 0.328125, y: 0.671875 },\n { x: 0.359375, y: 0.671875 },\n { x: 0.359375, y: 0.671875 },\n { x: 0.390625, y: 0.671875 },\n { x: 0.390625, y: 0.671875 },\n { x: 0.421875, y: 0.671875 },\n { x: 0.421875, y: 0.671875 },\n { x: 0.453125, y: 0.671875 },\n { x: 0.453125, y: 0.671875 },\n { x: 0.484375, y: 0.671875 },\n { x: 0.484375, y: 0.671875 },\n { x: 0.515625, y: 0.671875 },\n { x: 0.515625, y: 0.671875 },\n { x: 0.546875, y: 0.671875 },\n { x: 0.546875, y: 0.671875 },\n { x: 0.578125, y: 0.671875 },\n { x: 0.578125, y: 0.671875 },\n { x: 0.609375, y: 0.671875 },\n { x: 0.609375, y: 0.671875 },\n { x: 0.640625, y: 0.671875 },\n { x: 0.640625, y: 0.671875 },\n { x: 0.671875, y: 0.671875 },\n { x: 0.671875, y: 0.671875 },\n { x: 0.703125, y: 0.671875 },\n { x: 0.703125, y: 0.671875 },\n { x: 0.734375, y: 0.671875 },\n { x: 0.734375, y: 0.671875 },\n { x: 0.765625, y: 0.671875 },\n { x: 0.765625, y: 0.671875 },\n { x: 0.796875, y: 0.671875 },\n { x: 0.796875, y: 0.671875 },\n { x: 0.828125, y: 0.671875 },\n { x: 0.828125, y: 0.671875 },\n { x: 0.859375, y: 0.671875 },\n { x: 0.859375, y: 0.671875 },\n { x: 0.890625, y: 0.671875 },\n { x: 0.890625, y: 0.671875 },\n { x: 0.921875, y: 0.671875 },\n { x: 0.921875, y: 0.671875 },\n { x: 0.953125, y: 0.671875 },\n { x: 0.953125, y: 0.671875 },\n { x: 0.984375, y: 0.671875 },\n { x: 0.984375, y: 0.671875 },\n { x: 0.015625, y: 0.703125 },\n { x: 0.015625, y: 0.703125 },\n { x: 0.046875, y: 0.703125 },\n { x: 0.046875, y: 0.703125 },\n { x: 0.078125, y: 0.703125 },\n { x: 0.078125, y: 0.703125 },\n { x: 0.109375, y: 0.703125 },\n { x: 0.109375, y: 0.703125 },\n { x: 0.140625, y: 0.703125 },\n { x: 0.140625, y: 0.703125 },\n { x: 0.171875, y: 0.703125 },\n { x: 0.171875, y: 0.703125 },\n { x: 0.203125, y: 0.703125 },\n { x: 0.203125, y: 0.703125 },\n { x: 0.234375, y: 0.703125 },\n { x: 0.234375, y: 0.703125 },\n { x: 0.265625, y: 0.703125 },\n { x: 0.265625, y: 0.703125 },\n { x: 0.296875, y: 0.703125 },\n { x: 0.296875, y: 0.703125 },\n { x: 0.328125, y: 0.703125 },\n { x: 0.328125, y: 0.703125 },\n { x: 0.359375, y: 0.703125 },\n { x: 0.359375, y: 0.703125 },\n { x: 0.390625, y: 0.703125 },\n { x: 0.390625, y: 0.703125 },\n { x: 0.421875, y: 0.703125 },\n { x: 0.421875, y: 0.703125 },\n { x: 0.453125, y: 0.703125 },\n { x: 0.453125, y: 0.703125 },\n { x: 0.484375, y: 0.703125 },\n { x: 0.484375, y: 0.703125 },\n { x: 0.515625, y: 0.703125 },\n { x: 0.515625, y: 0.703125 },\n { x: 0.546875, y: 0.703125 },\n { x: 0.546875, y: 0.703125 },\n { x: 0.578125, y: 0.703125 },\n { x: 0.578125, y: 0.703125 },\n { x: 0.609375, y: 0.703125 },\n { x: 0.609375, y: 0.703125 },\n { x: 0.640625, y: 0.703125 },\n { x: 0.640625, y: 0.703125 },\n { x: 0.671875, y: 0.703125 },\n { x: 0.671875, y: 0.703125 },\n { x: 0.703125, y: 0.703125 },\n { x: 0.703125, y: 0.703125 },\n { x: 0.734375, y: 0.703125 },\n { x: 0.734375, y: 0.703125 },\n { x: 0.765625, y: 0.703125 },\n { x: 0.765625, y: 0.703125 },\n { x: 0.796875, y: 0.703125 },\n { x: 0.796875, y: 0.703125 },\n { x: 0.828125, y: 0.703125 },\n { x: 0.828125, y: 0.703125 },\n { x: 0.859375, y: 0.703125 },\n { x: 0.859375, y: 0.703125 },\n { x: 0.890625, y: 0.703125 },\n { x: 0.890625, y: 0.703125 },\n { x: 0.921875, y: 0.703125 },\n { x: 0.921875, y: 0.703125 },\n { x: 0.953125, y: 0.703125 },\n { x: 0.953125, y: 0.703125 },\n { x: 0.984375, y: 0.703125 },\n { x: 0.984375, y: 0.703125 },\n { x: 0.015625, y: 0.734375 },\n { x: 0.015625, y: 0.734375 },\n { x: 0.046875, y: 0.734375 },\n { x: 0.046875, y: 0.734375 },\n { x: 0.078125, y: 0.734375 },\n { x: 0.078125, y: 0.734375 },\n { x: 0.109375, y: 0.734375 },\n { x: 0.109375, y: 0.734375 },\n { x: 0.140625, y: 0.734375 },\n { x: 0.140625, y: 0.734375 },\n { x: 0.171875, y: 0.734375 },\n { x: 0.171875, y: 0.734375 },\n { x: 0.203125, y: 0.734375 },\n { x: 0.203125, y: 0.734375 },\n { x: 0.234375, y: 0.734375 },\n { x: 0.234375, y: 0.734375 },\n { x: 0.265625, y: 0.734375 },\n { x: 0.265625, y: 0.734375 },\n { x: 0.296875, y: 0.734375 },\n { x: 0.296875, y: 0.734375 },\n { x: 0.328125, y: 0.734375 },\n { x: 0.328125, y: 0.734375 },\n { x: 0.359375, y: 0.734375 },\n { x: 0.359375, y: 0.734375 },\n { x: 0.390625, y: 0.734375 },\n { x: 0.390625, y: 0.734375 },\n { x: 0.421875, y: 0.734375 },\n { x: 0.421875, y: 0.734375 },\n { x: 0.453125, y: 0.734375 },\n { x: 0.453125, y: 0.734375 },\n { x: 0.484375, y: 0.734375 },\n { x: 0.484375, y: 0.734375 },\n { x: 0.515625, y: 0.734375 },\n { x: 0.515625, y: 0.734375 },\n { x: 0.546875, y: 0.734375 },\n { x: 0.546875, y: 0.734375 },\n { x: 0.578125, y: 0.734375 },\n { x: 0.578125, y: 0.734375 },\n { x: 0.609375, y: 0.734375 },\n { x: 0.609375, y: 0.734375 },\n { x: 0.640625, y: 0.734375 },\n { x: 0.640625, y: 0.734375 },\n { x: 0.671875, y: 0.734375 },\n { x: 0.671875, y: 0.734375 },\n { x: 0.703125, y: 0.734375 },\n { x: 0.703125, y: 0.734375 },\n { x: 0.734375, y: 0.734375 },\n { x: 0.734375, y: 0.734375 },\n { x: 0.765625, y: 0.734375 },\n { x: 0.765625, y: 0.734375 },\n { x: 0.796875, y: 0.734375 },\n { x: 0.796875, y: 0.734375 },\n { x: 0.828125, y: 0.734375 },\n { x: 0.828125, y: 0.734375 },\n { x: 0.859375, y: 0.734375 },\n { x: 0.859375, y: 0.734375 },\n { x: 0.890625, y: 0.734375 },\n { x: 0.890625, y: 0.734375 },\n { x: 0.921875, y: 0.734375 },\n { x: 0.921875, y: 0.734375 },\n { x: 0.953125, y: 0.734375 },\n { x: 0.953125, y: 0.734375 },\n { x: 0.984375, y: 0.734375 },\n { x: 0.984375, y: 0.734375 },\n { x: 0.015625, y: 0.765625 },\n { x: 0.015625, y: 0.765625 },\n { x: 0.046875, y: 0.765625 },\n { x: 0.046875, y: 0.765625 },\n { x: 0.078125, y: 0.765625 },\n { x: 0.078125, y: 0.765625 },\n { x: 0.109375, y: 0.765625 },\n { x: 0.109375, y: 0.765625 },\n { x: 0.140625, y: 0.765625 },\n { x: 0.140625, y: 0.765625 },\n { x: 0.171875, y: 0.765625 },\n { x: 0.171875, y: 0.765625 },\n { x: 0.203125, y: 0.765625 },\n { x: 0.203125, y: 0.765625 },\n { x: 0.234375, y: 0.765625 },\n { x: 0.234375, y: 0.765625 },\n { x: 0.265625, y: 0.765625 },\n { x: 0.265625, y: 0.765625 },\n { x: 0.296875, y: 0.765625 },\n { x: 0.296875, y: 0.765625 },\n { x: 0.328125, y: 0.765625 },\n { x: 0.328125, y: 0.765625 },\n { x: 0.359375, y: 0.765625 },\n { x: 0.359375, y: 0.765625 },\n { x: 0.390625, y: 0.765625 },\n { x: 0.390625, y: 0.765625 },\n { x: 0.421875, y: 0.765625 },\n { x: 0.421875, y: 0.765625 },\n { x: 0.453125, y: 0.765625 },\n { x: 0.453125, y: 0.765625 },\n { x: 0.484375, y: 0.765625 },\n { x: 0.484375, y: 0.765625 },\n { x: 0.515625, y: 0.765625 },\n { x: 0.515625, y: 0.765625 },\n { x: 0.546875, y: 0.765625 },\n { x: 0.546875, y: 0.765625 },\n { x: 0.578125, y: 0.765625 },\n { x: 0.578125, y: 0.765625 },\n { x: 0.609375, y: 0.765625 },\n { x: 0.609375, y: 0.765625 },\n { x: 0.640625, y: 0.765625 },\n { x: 0.640625, y: 0.765625 },\n { x: 0.671875, y: 0.765625 },\n { x: 0.671875, y: 0.765625 },\n { x: 0.703125, y: 0.765625 },\n { x: 0.703125, y: 0.765625 },\n { x: 0.734375, y: 0.765625 },\n { x: 0.734375, y: 0.765625 },\n { x: 0.765625, y: 0.765625 },\n { x: 0.765625, y: 0.765625 },\n { x: 0.796875, y: 0.765625 },\n { x: 0.796875, y: 0.765625 },\n { x: 0.828125, y: 0.765625 },\n { x: 0.828125, y: 0.765625 },\n { x: 0.859375, y: 0.765625 },\n { x: 0.859375, y: 0.765625 },\n { x: 0.890625, y: 0.765625 },\n { x: 0.890625, y: 0.765625 },\n { x: 0.921875, y: 0.765625 },\n { x: 0.921875, y: 0.765625 },\n { x: 0.953125, y: 0.765625 },\n { x: 0.953125, y: 0.765625 },\n { x: 0.984375, y: 0.765625 },\n { x: 0.984375, y: 0.765625 },\n { x: 0.015625, y: 0.796875 },\n { x: 0.015625, y: 0.796875 },\n { x: 0.046875, y: 0.796875 },\n { x: 0.046875, y: 0.796875 },\n { x: 0.078125, y: 0.796875 },\n { x: 0.078125, y: 0.796875 },\n { x: 0.109375, y: 0.796875 },\n { x: 0.109375, y: 0.796875 },\n { x: 0.140625, y: 0.796875 },\n { x: 0.140625, y: 0.796875 },\n { x: 0.171875, y: 0.796875 },\n { x: 0.171875, y: 0.796875 },\n { x: 0.203125, y: 0.796875 },\n { x: 0.203125, y: 0.796875 },\n { x: 0.234375, y: 0.796875 },\n { x: 0.234375, y: 0.796875 },\n { x: 0.265625, y: 0.796875 },\n { x: 0.265625, y: 0.796875 },\n { x: 0.296875, y: 0.796875 },\n { x: 0.296875, y: 0.796875 },\n { x: 0.328125, y: 0.796875 },\n { x: 0.328125, y: 0.796875 },\n { x: 0.359375, y: 0.796875 },\n { x: 0.359375, y: 0.796875 },\n { x: 0.390625, y: 0.796875 },\n { x: 0.390625, y: 0.796875 },\n { x: 0.421875, y: 0.796875 },\n { x: 0.421875, y: 0.796875 },\n { x: 0.453125, y: 0.796875 },\n { x: 0.453125, y: 0.796875 },\n { x: 0.484375, y: 0.796875 },\n { x: 0.484375, y: 0.796875 },\n { x: 0.515625, y: 0.796875 },\n { x: 0.515625, y: 0.796875 },\n { x: 0.546875, y: 0.796875 },\n { x: 0.546875, y: 0.796875 },\n { x: 0.578125, y: 0.796875 },\n { x: 0.578125, y: 0.796875 },\n { x: 0.609375, y: 0.796875 },\n { x: 0.609375, y: 0.796875 },\n { x: 0.640625, y: 0.796875 },\n { x: 0.640625, y: 0.796875 },\n { x: 0.671875, y: 0.796875 },\n { x: 0.671875, y: 0.796875 },\n { x: 0.703125, y: 0.796875 },\n { x: 0.703125, y: 0.796875 },\n { x: 0.734375, y: 0.796875 },\n { x: 0.734375, y: 0.796875 },\n { x: 0.765625, y: 0.796875 },\n { x: 0.765625, y: 0.796875 },\n { x: 0.796875, y: 0.796875 },\n { x: 0.796875, y: 0.796875 },\n { x: 0.828125, y: 0.796875 },\n { x: 0.828125, y: 0.796875 },\n { x: 0.859375, y: 0.796875 },\n { x: 0.859375, y: 0.796875 },\n { x: 0.890625, y: 0.796875 },\n { x: 0.890625, y: 0.796875 },\n { x: 0.921875, y: 0.796875 },\n { x: 0.921875, y: 0.796875 },\n { x: 0.953125, y: 0.796875 },\n { x: 0.953125, y: 0.796875 },\n { x: 0.984375, y: 0.796875 },\n { x: 0.984375, y: 0.796875 },\n { x: 0.015625, y: 0.828125 },\n { x: 0.015625, y: 0.828125 },\n { x: 0.046875, y: 0.828125 },\n { x: 0.046875, y: 0.828125 },\n { x: 0.078125, y: 0.828125 },\n { x: 0.078125, y: 0.828125 },\n { x: 0.109375, y: 0.828125 },\n { x: 0.109375, y: 0.828125 },\n { x: 0.140625, y: 0.828125 },\n { x: 0.140625, y: 0.828125 },\n { x: 0.171875, y: 0.828125 },\n { x: 0.171875, y: 0.828125 },\n { x: 0.203125, y: 0.828125 },\n { x: 0.203125, y: 0.828125 },\n { x: 0.234375, y: 0.828125 },\n { x: 0.234375, y: 0.828125 },\n { x: 0.265625, y: 0.828125 },\n { x: 0.265625, y: 0.828125 },\n { x: 0.296875, y: 0.828125 },\n { x: 0.296875, y: 0.828125 },\n { x: 0.328125, y: 0.828125 },\n { x: 0.328125, y: 0.828125 },\n { x: 0.359375, y: 0.828125 },\n { x: 0.359375, y: 0.828125 },\n { x: 0.390625, y: 0.828125 },\n { x: 0.390625, y: 0.828125 },\n { x: 0.421875, y: 0.828125 },\n { x: 0.421875, y: 0.828125 },\n { x: 0.453125, y: 0.828125 },\n { x: 0.453125, y: 0.828125 },\n { x: 0.484375, y: 0.828125 },\n { x: 0.484375, y: 0.828125 },\n { x: 0.515625, y: 0.828125 },\n { x: 0.515625, y: 0.828125 },\n { x: 0.546875, y: 0.828125 },\n { x: 0.546875, y: 0.828125 },\n { x: 0.578125, y: 0.828125 },\n { x: 0.578125, y: 0.828125 },\n { x: 0.609375, y: 0.828125 },\n { x: 0.609375, y: 0.828125 },\n { x: 0.640625, y: 0.828125 },\n { x: 0.640625, y: 0.828125 },\n { x: 0.671875, y: 0.828125 },\n { x: 0.671875, y: 0.828125 },\n { x: 0.703125, y: 0.828125 },\n { x: 0.703125, y: 0.828125 },\n { x: 0.734375, y: 0.828125 },\n { x: 0.734375, y: 0.828125 },\n { x: 0.765625, y: 0.828125 },\n { x: 0.765625, y: 0.828125 },\n { x: 0.796875, y: 0.828125 },\n { x: 0.796875, y: 0.828125 },\n { x: 0.828125, y: 0.828125 },\n { x: 0.828125, y: 0.828125 },\n { x: 0.859375, y: 0.828125 },\n { x: 0.859375, y: 0.828125 },\n { x: 0.890625, y: 0.828125 },\n { x: 0.890625, y: 0.828125 },\n { x: 0.921875, y: 0.828125 },\n { x: 0.921875, y: 0.828125 },\n { x: 0.953125, y: 0.828125 },\n { x: 0.953125, y: 0.828125 },\n { x: 0.984375, y: 0.828125 },\n { x: 0.984375, y: 0.828125 },\n { x: 0.015625, y: 0.859375 },\n { x: 0.015625, y: 0.859375 },\n { x: 0.046875, y: 0.859375 },\n { x: 0.046875, y: 0.859375 },\n { x: 0.078125, y: 0.859375 },\n { x: 0.078125, y: 0.859375 },\n { x: 0.109375, y: 0.859375 },\n { x: 0.109375, y: 0.859375 },\n { x: 0.140625, y: 0.859375 },\n { x: 0.140625, y: 0.859375 },\n { x: 0.171875, y: 0.859375 },\n { x: 0.171875, y: 0.859375 },\n { x: 0.203125, y: 0.859375 },\n { x: 0.203125, y: 0.859375 },\n { x: 0.234375, y: 0.859375 },\n { x: 0.234375, y: 0.859375 },\n { x: 0.265625, y: 0.859375 },\n { x: 0.265625, y: 0.859375 },\n { x: 0.296875, y: 0.859375 },\n { x: 0.296875, y: 0.859375 },\n { x: 0.328125, y: 0.859375 },\n { x: 0.328125, y: 0.859375 },\n { x: 0.359375, y: 0.859375 },\n { x: 0.359375, y: 0.859375 },\n { x: 0.390625, y: 0.859375 },\n { x: 0.390625, y: 0.859375 },\n { x: 0.421875, y: 0.859375 },\n { x: 0.421875, y: 0.859375 },\n { x: 0.453125, y: 0.859375 },\n { x: 0.453125, y: 0.859375 },\n { x: 0.484375, y: 0.859375 },\n { x: 0.484375, y: 0.859375 },\n { x: 0.515625, y: 0.859375 },\n { x: 0.515625, y: 0.859375 },\n { x: 0.546875, y: 0.859375 },\n { x: 0.546875, y: 0.859375 },\n { x: 0.578125, y: 0.859375 },\n { x: 0.578125, y: 0.859375 },\n { x: 0.609375, y: 0.859375 },\n { x: 0.609375, y: 0.859375 },\n { x: 0.640625, y: 0.859375 },\n { x: 0.640625, y: 0.859375 },\n { x: 0.671875, y: 0.859375 },\n { x: 0.671875, y: 0.859375 },\n { x: 0.703125, y: 0.859375 },\n { x: 0.703125, y: 0.859375 },\n { x: 0.734375, y: 0.859375 },\n { x: 0.734375, y: 0.859375 },\n { x: 0.765625, y: 0.859375 },\n { x: 0.765625, y: 0.859375 },\n { x: 0.796875, y: 0.859375 },\n { x: 0.796875, y: 0.859375 },\n { x: 0.828125, y: 0.859375 },\n { x: 0.828125, y: 0.859375 },\n { x: 0.859375, y: 0.859375 },\n { x: 0.859375, y: 0.859375 },\n { x: 0.890625, y: 0.859375 },\n { x: 0.890625, y: 0.859375 },\n { x: 0.921875, y: 0.859375 },\n { x: 0.921875, y: 0.859375 },\n { x: 0.953125, y: 0.859375 },\n { x: 0.953125, y: 0.859375 },\n { x: 0.984375, y: 0.859375 },\n { x: 0.984375, y: 0.859375 },\n { x: 0.015625, y: 0.890625 },\n { x: 0.015625, y: 0.890625 },\n { x: 0.046875, y: 0.890625 },\n { x: 0.046875, y: 0.890625 },\n { x: 0.078125, y: 0.890625 },\n { x: 0.078125, y: 0.890625 },\n { x: 0.109375, y: 0.890625 },\n { x: 0.109375, y: 0.890625 },\n { x: 0.140625, y: 0.890625 },\n { x: 0.140625, y: 0.890625 },\n { x: 0.171875, y: 0.890625 },\n { x: 0.171875, y: 0.890625 },\n { x: 0.203125, y: 0.890625 },\n { x: 0.203125, y: 0.890625 },\n { x: 0.234375, y: 0.890625 },\n { x: 0.234375, y: 0.890625 },\n { x: 0.265625, y: 0.890625 },\n { x: 0.265625, y: 0.890625 },\n { x: 0.296875, y: 0.890625 },\n { x: 0.296875, y: 0.890625 },\n { x: 0.328125, y: 0.890625 },\n { x: 0.328125, y: 0.890625 },\n { x: 0.359375, y: 0.890625 },\n { x: 0.359375, y: 0.890625 },\n { x: 0.390625, y: 0.890625 },\n { x: 0.390625, y: 0.890625 },\n { x: 0.421875, y: 0.890625 },\n { x: 0.421875, y: 0.890625 },\n { x: 0.453125, y: 0.890625 },\n { x: 0.453125, y: 0.890625 },\n { x: 0.484375, y: 0.890625 },\n { x: 0.484375, y: 0.890625 },\n { x: 0.515625, y: 0.890625 },\n { x: 0.515625, y: 0.890625 },\n { x: 0.546875, y: 0.890625 },\n { x: 0.546875, y: 0.890625 },\n { x: 0.578125, y: 0.890625 },\n { x: 0.578125, y: 0.890625 },\n { x: 0.609375, y: 0.890625 },\n { x: 0.609375, y: 0.890625 },\n { x: 0.640625, y: 0.890625 },\n { x: 0.640625, y: 0.890625 },\n { x: 0.671875, y: 0.890625 },\n { x: 0.671875, y: 0.890625 },\n { x: 0.703125, y: 0.890625 },\n { x: 0.703125, y: 0.890625 },\n { x: 0.734375, y: 0.890625 },\n { x: 0.734375, y: 0.890625 },\n { x: 0.765625, y: 0.890625 },\n { x: 0.765625, y: 0.890625 },\n { x: 0.796875, y: 0.890625 },\n { x: 0.796875, y: 0.890625 },\n { x: 0.828125, y: 0.890625 },\n { x: 0.828125, y: 0.890625 },\n { x: 0.859375, y: 0.890625 },\n { x: 0.859375, y: 0.890625 },\n { x: 0.890625, y: 0.890625 },\n { x: 0.890625, y: 0.890625 },\n { x: 0.921875, y: 0.890625 },\n { x: 0.921875, y: 0.890625 },\n { x: 0.953125, y: 0.890625 },\n { x: 0.953125, y: 0.890625 },\n { x: 0.984375, y: 0.890625 },\n { x: 0.984375, y: 0.890625 },\n { x: 0.015625, y: 0.921875 },\n { x: 0.015625, y: 0.921875 },\n { x: 0.046875, y: 0.921875 },\n { x: 0.046875, y: 0.921875 },\n { x: 0.078125, y: 0.921875 },\n { x: 0.078125, y: 0.921875 },\n { x: 0.109375, y: 0.921875 },\n { x: 0.109375, y: 0.921875 },\n { x: 0.140625, y: 0.921875 },\n { x: 0.140625, y: 0.921875 },\n { x: 0.171875, y: 0.921875 },\n { x: 0.171875, y: 0.921875 },\n { x: 0.203125, y: 0.921875 },\n { x: 0.203125, y: 0.921875 },\n { x: 0.234375, y: 0.921875 },\n { x: 0.234375, y: 0.921875 },\n { x: 0.265625, y: 0.921875 },\n { x: 0.265625, y: 0.921875 },\n { x: 0.296875, y: 0.921875 },\n { x: 0.296875, y: 0.921875 },\n { x: 0.328125, y: 0.921875 },\n { x: 0.328125, y: 0.921875 },\n { x: 0.359375, y: 0.921875 },\n { x: 0.359375, y: 0.921875 },\n { x: 0.390625, y: 0.921875 },\n { x: 0.390625, y: 0.921875 },\n { x: 0.421875, y: 0.921875 },\n { x: 0.421875, y: 0.921875 },\n { x: 0.453125, y: 0.921875 },\n { x: 0.453125, y: 0.921875 },\n { x: 0.484375, y: 0.921875 },\n { x: 0.484375, y: 0.921875 },\n { x: 0.515625, y: 0.921875 },\n { x: 0.515625, y: 0.921875 },\n { x: 0.546875, y: 0.921875 },\n { x: 0.546875, y: 0.921875 },\n { x: 0.578125, y: 0.921875 },\n { x: 0.578125, y: 0.921875 },\n { x: 0.609375, y: 0.921875 },\n { x: 0.609375, y: 0.921875 },\n { x: 0.640625, y: 0.921875 },\n { x: 0.640625, y: 0.921875 },\n { x: 0.671875, y: 0.921875 },\n { x: 0.671875, y: 0.921875 },\n { x: 0.703125, y: 0.921875 },\n { x: 0.703125, y: 0.921875 },\n { x: 0.734375, y: 0.921875 },\n { x: 0.734375, y: 0.921875 },\n { x: 0.765625, y: 0.921875 },\n { x: 0.765625, y: 0.921875 },\n { x: 0.796875, y: 0.921875 },\n { x: 0.796875, y: 0.921875 },\n { x: 0.828125, y: 0.921875 },\n { x: 0.828125, y: 0.921875 },\n { x: 0.859375, y: 0.921875 },\n { x: 0.859375, y: 0.921875 },\n { x: 0.890625, y: 0.921875 },\n { x: 0.890625, y: 0.921875 },\n { x: 0.921875, y: 0.921875 },\n { x: 0.921875, y: 0.921875 },\n { x: 0.953125, y: 0.921875 },\n { x: 0.953125, y: 0.921875 },\n { x: 0.984375, y: 0.921875 },\n { x: 0.984375, y: 0.921875 },\n { x: 0.015625, y: 0.953125 },\n { x: 0.015625, y: 0.953125 },\n { x: 0.046875, y: 0.953125 },\n { x: 0.046875, y: 0.953125 },\n { x: 0.078125, y: 0.953125 },\n { x: 0.078125, y: 0.953125 },\n { x: 0.109375, y: 0.953125 },\n { x: 0.109375, y: 0.953125 },\n { x: 0.140625, y: 0.953125 },\n { x: 0.140625, y: 0.953125 },\n { x: 0.171875, y: 0.953125 },\n { x: 0.171875, y: 0.953125 },\n { x: 0.203125, y: 0.953125 },\n { x: 0.203125, y: 0.953125 },\n { x: 0.234375, y: 0.953125 },\n { x: 0.234375, y: 0.953125 },\n { x: 0.265625, y: 0.953125 },\n { x: 0.265625, y: 0.953125 },\n { x: 0.296875, y: 0.953125 },\n { x: 0.296875, y: 0.953125 },\n { x: 0.328125, y: 0.953125 },\n { x: 0.328125, y: 0.953125 },\n { x: 0.359375, y: 0.953125 },\n { x: 0.359375, y: 0.953125 },\n { x: 0.390625, y: 0.953125 },\n { x: 0.390625, y: 0.953125 },\n { x: 0.421875, y: 0.953125 },\n { x: 0.421875, y: 0.953125 },\n { x: 0.453125, y: 0.953125 },\n { x: 0.453125, y: 0.953125 },\n { x: 0.484375, y: 0.953125 },\n { x: 0.484375, y: 0.953125 },\n { x: 0.515625, y: 0.953125 },\n { x: 0.515625, y: 0.953125 },\n { x: 0.546875, y: 0.953125 },\n { x: 0.546875, y: 0.953125 },\n { x: 0.578125, y: 0.953125 },\n { x: 0.578125, y: 0.953125 },\n { x: 0.609375, y: 0.953125 },\n { x: 0.609375, y: 0.953125 },\n { x: 0.640625, y: 0.953125 },\n { x: 0.640625, y: 0.953125 },\n { x: 0.671875, y: 0.953125 },\n { x: 0.671875, y: 0.953125 },\n { x: 0.703125, y: 0.953125 },\n { x: 0.703125, y: 0.953125 },\n { x: 0.734375, y: 0.953125 },\n { x: 0.734375, y: 0.953125 },\n { x: 0.765625, y: 0.953125 },\n { x: 0.765625, y: 0.953125 },\n { x: 0.796875, y: 0.953125 },\n { x: 0.796875, y: 0.953125 },\n { x: 0.828125, y: 0.953125 },\n { x: 0.828125, y: 0.953125 },\n { x: 0.859375, y: 0.953125 },\n { x: 0.859375, y: 0.953125 },\n { x: 0.890625, y: 0.953125 },\n { x: 0.890625, y: 0.953125 },\n { x: 0.921875, y: 0.953125 },\n { x: 0.921875, y: 0.953125 },\n { x: 0.953125, y: 0.953125 },\n { x: 0.953125, y: 0.953125 },\n { x: 0.984375, y: 0.953125 },\n { x: 0.984375, y: 0.953125 },\n { x: 0.015625, y: 0.984375 },\n { x: 0.015625, y: 0.984375 },\n { x: 0.046875, y: 0.984375 },\n { x: 0.046875, y: 0.984375 },\n { x: 0.078125, y: 0.984375 },\n { x: 0.078125, y: 0.984375 },\n { x: 0.109375, y: 0.984375 },\n { x: 0.109375, y: 0.984375 },\n { x: 0.140625, y: 0.984375 },\n { x: 0.140625, y: 0.984375 },\n { x: 0.171875, y: 0.984375 },\n { x: 0.171875, y: 0.984375 },\n { x: 0.203125, y: 0.984375 },\n { x: 0.203125, y: 0.984375 },\n { x: 0.234375, y: 0.984375 },\n { x: 0.234375, y: 0.984375 },\n { x: 0.265625, y: 0.984375 },\n { x: 0.265625, y: 0.984375 },\n { x: 0.296875, y: 0.984375 },\n { x: 0.296875, y: 0.984375 },\n { x: 0.328125, y: 0.984375 },\n { x: 0.328125, y: 0.984375 },\n { x: 0.359375, y: 0.984375 },\n { x: 0.359375, y: 0.984375 },\n { x: 0.390625, y: 0.984375 },\n { x: 0.390625, y: 0.984375 },\n { x: 0.421875, y: 0.984375 },\n { x: 0.421875, y: 0.984375 },\n { x: 0.453125, y: 0.984375 },\n { x: 0.453125, y: 0.984375 },\n { x: 0.484375, y: 0.984375 },\n { x: 0.484375, y: 0.984375 },\n { x: 0.515625, y: 0.984375 },\n { x: 0.515625, y: 0.984375 },\n { x: 0.546875, y: 0.984375 },\n { x: 0.546875, y: 0.984375 },\n { x: 0.578125, y: 0.984375 },\n { x: 0.578125, y: 0.984375 },\n { x: 0.609375, y: 0.984375 },\n { x: 0.609375, y: 0.984375 },\n { x: 0.640625, y: 0.984375 },\n { x: 0.640625, y: 0.984375 },\n { x: 0.671875, y: 0.984375 },\n { x: 0.671875, y: 0.984375 },\n { x: 0.703125, y: 0.984375 },\n { x: 0.703125, y: 0.984375 },\n { x: 0.734375, y: 0.984375 },\n { x: 0.734375, y: 0.984375 },\n { x: 0.765625, y: 0.984375 },\n { x: 0.765625, y: 0.984375 },\n { x: 0.796875, y: 0.984375 },\n { x: 0.796875, y: 0.984375 },\n { x: 0.828125, y: 0.984375 },\n { x: 0.828125, y: 0.984375 },\n { x: 0.859375, y: 0.984375 },\n { x: 0.859375, y: 0.984375 },\n { x: 0.890625, y: 0.984375 },\n { x: 0.890625, y: 0.984375 },\n { x: 0.921875, y: 0.984375 },\n { x: 0.921875, y: 0.984375 },\n { x: 0.953125, y: 0.984375 },\n { x: 0.953125, y: 0.984375 },\n { x: 0.984375, y: 0.984375 },\n { x: 0.984375, y: 0.984375 },\n { x: 0.03125, y: 0.03125 },\n { x: 0.03125, y: 0.03125 },\n { x: 0.09375, y: 0.03125 },\n { x: 0.09375, y: 0.03125 },\n { x: 0.15625, y: 0.03125 },\n { x: 0.15625, y: 0.03125 },\n { x: 0.21875, y: 0.03125 },\n { x: 0.21875, y: 0.03125 },\n { x: 0.28125, y: 0.03125 },\n { x: 0.28125, y: 0.03125 },\n { x: 0.34375, y: 0.03125 },\n { x: 0.34375, y: 0.03125 },\n { x: 0.40625, y: 0.03125 },\n { x: 0.40625, y: 0.03125 },\n { x: 0.46875, y: 0.03125 },\n { x: 0.46875, y: 0.03125 },\n { x: 0.53125, y: 0.03125 },\n { x: 0.53125, y: 0.03125 },\n { x: 0.59375, y: 0.03125 },\n { x: 0.59375, y: 0.03125 },\n { x: 0.65625, y: 0.03125 },\n { x: 0.65625, y: 0.03125 },\n { x: 0.71875, y: 0.03125 },\n { x: 0.71875, y: 0.03125 },\n { x: 0.78125, y: 0.03125 },\n { x: 0.78125, y: 0.03125 },\n { x: 0.84375, y: 0.03125 },\n { x: 0.84375, y: 0.03125 },\n { x: 0.90625, y: 0.03125 },\n { x: 0.90625, y: 0.03125 },\n { x: 0.96875, y: 0.03125 },\n { x: 0.96875, y: 0.03125 },\n { x: 0.03125, y: 0.09375 },\n { x: 0.03125, y: 0.09375 },\n { x: 0.09375, y: 0.09375 },\n { x: 0.09375, y: 0.09375 },\n { x: 0.15625, y: 0.09375 },\n { x: 0.15625, y: 0.09375 },\n { x: 0.21875, y: 0.09375 },\n { x: 0.21875, y: 0.09375 },\n { x: 0.28125, y: 0.09375 },\n { x: 0.28125, y: 0.09375 },\n { x: 0.34375, y: 0.09375 },\n { x: 0.34375, y: 0.09375 },\n { x: 0.40625, y: 0.09375 },\n { x: 0.40625, y: 0.09375 },\n { x: 0.46875, y: 0.09375 },\n { x: 0.46875, y: 0.09375 },\n { x: 0.53125, y: 0.09375 },\n { x: 0.53125, y: 0.09375 },\n { x: 0.59375, y: 0.09375 },\n { x: 0.59375, y: 0.09375 },\n { x: 0.65625, y: 0.09375 },\n { x: 0.65625, y: 0.09375 },\n { x: 0.71875, y: 0.09375 },\n { x: 0.71875, y: 0.09375 },\n { x: 0.78125, y: 0.09375 },\n { x: 0.78125, y: 0.09375 },\n { x: 0.84375, y: 0.09375 },\n { x: 0.84375, y: 0.09375 },\n { x: 0.90625, y: 0.09375 },\n { x: 0.90625, y: 0.09375 },\n { x: 0.96875, y: 0.09375 },\n { x: 0.96875, y: 0.09375 },\n { x: 0.03125, y: 0.15625 },\n { x: 0.03125, y: 0.15625 },\n { x: 0.09375, y: 0.15625 },\n { x: 0.09375, y: 0.15625 },\n { x: 0.15625, y: 0.15625 },\n { x: 0.15625, y: 0.15625 },\n { x: 0.21875, y: 0.15625 },\n { x: 0.21875, y: 0.15625 },\n { x: 0.28125, y: 0.15625 },\n { x: 0.28125, y: 0.15625 },\n { x: 0.34375, y: 0.15625 },\n { x: 0.34375, y: 0.15625 },\n { x: 0.40625, y: 0.15625 },\n { x: 0.40625, y: 0.15625 },\n { x: 0.46875, y: 0.15625 },\n { x: 0.46875, y: 0.15625 },\n { x: 0.53125, y: 0.15625 },\n { x: 0.53125, y: 0.15625 },\n { x: 0.59375, y: 0.15625 },\n { x: 0.59375, y: 0.15625 },\n { x: 0.65625, y: 0.15625 },\n { x: 0.65625, y: 0.15625 },\n { x: 0.71875, y: 0.15625 },\n { x: 0.71875, y: 0.15625 },\n { x: 0.78125, y: 0.15625 },\n { x: 0.78125, y: 0.15625 },\n { x: 0.84375, y: 0.15625 },\n { x: 0.84375, y: 0.15625 },\n { x: 0.90625, y: 0.15625 },\n { x: 0.90625, y: 0.15625 },\n { x: 0.96875, y: 0.15625 },\n { x: 0.96875, y: 0.15625 },\n { x: 0.03125, y: 0.21875 },\n { x: 0.03125, y: 0.21875 },\n { x: 0.09375, y: 0.21875 },\n { x: 0.09375, y: 0.21875 },\n { x: 0.15625, y: 0.21875 },\n { x: 0.15625, y: 0.21875 },\n { x: 0.21875, y: 0.21875 },\n { x: 0.21875, y: 0.21875 },\n { x: 0.28125, y: 0.21875 },\n { x: 0.28125, y: 0.21875 },\n { x: 0.34375, y: 0.21875 },\n { x: 0.34375, y: 0.21875 },\n { x: 0.40625, y: 0.21875 },\n { x: 0.40625, y: 0.21875 },\n { x: 0.46875, y: 0.21875 },\n { x: 0.46875, y: 0.21875 },\n { x: 0.53125, y: 0.21875 },\n { x: 0.53125, y: 0.21875 },\n { x: 0.59375, y: 0.21875 },\n { x: 0.59375, y: 0.21875 },\n { x: 0.65625, y: 0.21875 },\n { x: 0.65625, y: 0.21875 },\n { x: 0.71875, y: 0.21875 },\n { x: 0.71875, y: 0.21875 },\n { x: 0.78125, y: 0.21875 },\n { x: 0.78125, y: 0.21875 },\n { x: 0.84375, y: 0.21875 },\n { x: 0.84375, y: 0.21875 },\n { x: 0.90625, y: 0.21875 },\n { x: 0.90625, y: 0.21875 },\n { x: 0.96875, y: 0.21875 },\n { x: 0.96875, y: 0.21875 },\n { x: 0.03125, y: 0.28125 },\n { x: 0.03125, y: 0.28125 },\n { x: 0.09375, y: 0.28125 },\n { x: 0.09375, y: 0.28125 },\n { x: 0.15625, y: 0.28125 },\n { x: 0.15625, y: 0.28125 },\n { x: 0.21875, y: 0.28125 },\n { x: 0.21875, y: 0.28125 },\n { x: 0.28125, y: 0.28125 },\n { x: 0.28125, y: 0.28125 },\n { x: 0.34375, y: 0.28125 },\n { x: 0.34375, y: 0.28125 },\n { x: 0.40625, y: 0.28125 },\n { x: 0.40625, y: 0.28125 },\n { x: 0.46875, y: 0.28125 },\n { x: 0.46875, y: 0.28125 },\n { x: 0.53125, y: 0.28125 },\n { x: 0.53125, y: 0.28125 },\n { x: 0.59375, y: 0.28125 },\n { x: 0.59375, y: 0.28125 },\n { x: 0.65625, y: 0.28125 },\n { x: 0.65625, y: 0.28125 },\n { x: 0.71875, y: 0.28125 },\n { x: 0.71875, y: 0.28125 },\n { x: 0.78125, y: 0.28125 },\n { x: 0.78125, y: 0.28125 },\n { x: 0.84375, y: 0.28125 },\n { x: 0.84375, y: 0.28125 },\n { x: 0.90625, y: 0.28125 },\n { x: 0.90625, y: 0.28125 },\n { x: 0.96875, y: 0.28125 },\n { x: 0.96875, y: 0.28125 },\n { x: 0.03125, y: 0.34375 },\n { x: 0.03125, y: 0.34375 },\n { x: 0.09375, y: 0.34375 },\n { x: 0.09375, y: 0.34375 },\n { x: 0.15625, y: 0.34375 },\n { x: 0.15625, y: 0.34375 },\n { x: 0.21875, y: 0.34375 },\n { x: 0.21875, y: 0.34375 },\n { x: 0.28125, y: 0.34375 },\n { x: 0.28125, y: 0.34375 },\n { x: 0.34375, y: 0.34375 },\n { x: 0.34375, y: 0.34375 },\n { x: 0.40625, y: 0.34375 },\n { x: 0.40625, y: 0.34375 },\n { x: 0.46875, y: 0.34375 },\n { x: 0.46875, y: 0.34375 },\n { x: 0.53125, y: 0.34375 },\n { x: 0.53125, y: 0.34375 },\n { x: 0.59375, y: 0.34375 },\n { x: 0.59375, y: 0.34375 },\n { x: 0.65625, y: 0.34375 },\n { x: 0.65625, y: 0.34375 },\n { x: 0.71875, y: 0.34375 },\n { x: 0.71875, y: 0.34375 },\n { x: 0.78125, y: 0.34375 },\n { x: 0.78125, y: 0.34375 },\n { x: 0.84375, y: 0.34375 },\n { x: 0.84375, y: 0.34375 },\n { x: 0.90625, y: 0.34375 },\n { x: 0.90625, y: 0.34375 },\n { x: 0.96875, y: 0.34375 },\n { x: 0.96875, y: 0.34375 },\n { x: 0.03125, y: 0.40625 },\n { x: 0.03125, y: 0.40625 },\n { x: 0.09375, y: 0.40625 },\n { x: 0.09375, y: 0.40625 },\n { x: 0.15625, y: 0.40625 },\n { x: 0.15625, y: 0.40625 },\n { x: 0.21875, y: 0.40625 },\n { x: 0.21875, y: 0.40625 },\n { x: 0.28125, y: 0.40625 },\n { x: 0.28125, y: 0.40625 },\n { x: 0.34375, y: 0.40625 },\n { x: 0.34375, y: 0.40625 },\n { x: 0.40625, y: 0.40625 },\n { x: 0.40625, y: 0.40625 },\n { x: 0.46875, y: 0.40625 },\n { x: 0.46875, y: 0.40625 },\n { x: 0.53125, y: 0.40625 },\n { x: 0.53125, y: 0.40625 },\n { x: 0.59375, y: 0.40625 },\n { x: 0.59375, y: 0.40625 },\n { x: 0.65625, y: 0.40625 },\n { x: 0.65625, y: 0.40625 },\n { x: 0.71875, y: 0.40625 },\n { x: 0.71875, y: 0.40625 },\n { x: 0.78125, y: 0.40625 },\n { x: 0.78125, y: 0.40625 },\n { x: 0.84375, y: 0.40625 },\n { x: 0.84375, y: 0.40625 },\n { x: 0.90625, y: 0.40625 },\n { x: 0.90625, y: 0.40625 },\n { x: 0.96875, y: 0.40625 },\n { x: 0.96875, y: 0.40625 },\n { x: 0.03125, y: 0.46875 },\n { x: 0.03125, y: 0.46875 },\n { x: 0.09375, y: 0.46875 },\n { x: 0.09375, y: 0.46875 },\n { x: 0.15625, y: 0.46875 },\n { x: 0.15625, y: 0.46875 },\n { x: 0.21875, y: 0.46875 },\n { x: 0.21875, y: 0.46875 },\n { x: 0.28125, y: 0.46875 },\n { x: 0.28125, y: 0.46875 },\n { x: 0.34375, y: 0.46875 },\n { x: 0.34375, y: 0.46875 },\n { x: 0.40625, y: 0.46875 },\n { x: 0.40625, y: 0.46875 },\n { x: 0.46875, y: 0.46875 },\n { x: 0.46875, y: 0.46875 },\n { x: 0.53125, y: 0.46875 },\n { x: 0.53125, y: 0.46875 },\n { x: 0.59375, y: 0.46875 },\n { x: 0.59375, y: 0.46875 },\n { x: 0.65625, y: 0.46875 },\n { x: 0.65625, y: 0.46875 },\n { x: 0.71875, y: 0.46875 },\n { x: 0.71875, y: 0.46875 },\n { x: 0.78125, y: 0.46875 },\n { x: 0.78125, y: 0.46875 },\n { x: 0.84375, y: 0.46875 },\n { x: 0.84375, y: 0.46875 },\n { x: 0.90625, y: 0.46875 },\n { x: 0.90625, y: 0.46875 },\n { x: 0.96875, y: 0.46875 },\n { x: 0.96875, y: 0.46875 },\n { x: 0.03125, y: 0.53125 },\n { x: 0.03125, y: 0.53125 },\n { x: 0.09375, y: 0.53125 },\n { x: 0.09375, y: 0.53125 },\n { x: 0.15625, y: 0.53125 },\n { x: 0.15625, y: 0.53125 },\n { x: 0.21875, y: 0.53125 },\n { x: 0.21875, y: 0.53125 },\n { x: 0.28125, y: 0.53125 },\n { x: 0.28125, y: 0.53125 },\n { x: 0.34375, y: 0.53125 },\n { x: 0.34375, y: 0.53125 },\n { x: 0.40625, y: 0.53125 },\n { x: 0.40625, y: 0.53125 },\n { x: 0.46875, y: 0.53125 },\n { x: 0.46875, y: 0.53125 },\n { x: 0.53125, y: 0.53125 },\n { x: 0.53125, y: 0.53125 },\n { x: 0.59375, y: 0.53125 },\n { x: 0.59375, y: 0.53125 },\n { x: 0.65625, y: 0.53125 },\n { x: 0.65625, y: 0.53125 },\n { x: 0.71875, y: 0.53125 },\n { x: 0.71875, y: 0.53125 },\n { x: 0.78125, y: 0.53125 },\n { x: 0.78125, y: 0.53125 },\n { x: 0.84375, y: 0.53125 },\n { x: 0.84375, y: 0.53125 },\n { x: 0.90625, y: 0.53125 },\n { x: 0.90625, y: 0.53125 },\n { x: 0.96875, y: 0.53125 },\n { x: 0.96875, y: 0.53125 },\n { x: 0.03125, y: 0.59375 },\n { x: 0.03125, y: 0.59375 },\n { x: 0.09375, y: 0.59375 },\n { x: 0.09375, y: 0.59375 },\n { x: 0.15625, y: 0.59375 },\n { x: 0.15625, y: 0.59375 },\n { x: 0.21875, y: 0.59375 },\n { x: 0.21875, y: 0.59375 },\n { x: 0.28125, y: 0.59375 },\n { x: 0.28125, y: 0.59375 },\n { x: 0.34375, y: 0.59375 },\n { x: 0.34375, y: 0.59375 },\n { x: 0.40625, y: 0.59375 },\n { x: 0.40625, y: 0.59375 },\n { x: 0.46875, y: 0.59375 },\n { x: 0.46875, y: 0.59375 },\n { x: 0.53125, y: 0.59375 },\n { x: 0.53125, y: 0.59375 },\n { x: 0.59375, y: 0.59375 },\n { x: 0.59375, y: 0.59375 },\n { x: 0.65625, y: 0.59375 },\n { x: 0.65625, y: 0.59375 },\n { x: 0.71875, y: 0.59375 },\n { x: 0.71875, y: 0.59375 },\n { x: 0.78125, y: 0.59375 },\n { x: 0.78125, y: 0.59375 },\n { x: 0.84375, y: 0.59375 },\n { x: 0.84375, y: 0.59375 },\n { x: 0.90625, y: 0.59375 },\n { x: 0.90625, y: 0.59375 },\n { x: 0.96875, y: 0.59375 },\n { x: 0.96875, y: 0.59375 },\n { x: 0.03125, y: 0.65625 },\n { x: 0.03125, y: 0.65625 },\n { x: 0.09375, y: 0.65625 },\n { x: 0.09375, y: 0.65625 },\n { x: 0.15625, y: 0.65625 },\n { x: 0.15625, y: 0.65625 },\n { x: 0.21875, y: 0.65625 },\n { x: 0.21875, y: 0.65625 },\n { x: 0.28125, y: 0.65625 },\n { x: 0.28125, y: 0.65625 },\n { x: 0.34375, y: 0.65625 },\n { x: 0.34375, y: 0.65625 },\n { x: 0.40625, y: 0.65625 },\n { x: 0.40625, y: 0.65625 },\n { x: 0.46875, y: 0.65625 },\n { x: 0.46875, y: 0.65625 },\n { x: 0.53125, y: 0.65625 },\n { x: 0.53125, y: 0.65625 },\n { x: 0.59375, y: 0.65625 },\n { x: 0.59375, y: 0.65625 },\n { x: 0.65625, y: 0.65625 },\n { x: 0.65625, y: 0.65625 },\n { x: 0.71875, y: 0.65625 },\n { x: 0.71875, y: 0.65625 },\n { x: 0.78125, y: 0.65625 },\n { x: 0.78125, y: 0.65625 },\n { x: 0.84375, y: 0.65625 },\n { x: 0.84375, y: 0.65625 },\n { x: 0.90625, y: 0.65625 },\n { x: 0.90625, y: 0.65625 },\n { x: 0.96875, y: 0.65625 },\n { x: 0.96875, y: 0.65625 },\n { x: 0.03125, y: 0.71875 },\n { x: 0.03125, y: 0.71875 },\n { x: 0.09375, y: 0.71875 },\n { x: 0.09375, y: 0.71875 },\n { x: 0.15625, y: 0.71875 },\n { x: 0.15625, y: 0.71875 },\n { x: 0.21875, y: 0.71875 },\n { x: 0.21875, y: 0.71875 },\n { x: 0.28125, y: 0.71875 },\n { x: 0.28125, y: 0.71875 },\n { x: 0.34375, y: 0.71875 },\n { x: 0.34375, y: 0.71875 },\n { x: 0.40625, y: 0.71875 },\n { x: 0.40625, y: 0.71875 },\n { x: 0.46875, y: 0.71875 },\n { x: 0.46875, y: 0.71875 },\n { x: 0.53125, y: 0.71875 },\n { x: 0.53125, y: 0.71875 },\n { x: 0.59375, y: 0.71875 },\n { x: 0.59375, y: 0.71875 },\n { x: 0.65625, y: 0.71875 },\n { x: 0.65625, y: 0.71875 },\n { x: 0.71875, y: 0.71875 },\n { x: 0.71875, y: 0.71875 },\n { x: 0.78125, y: 0.71875 },\n { x: 0.78125, y: 0.71875 },\n { x: 0.84375, y: 0.71875 },\n { x: 0.84375, y: 0.71875 },\n { x: 0.90625, y: 0.71875 },\n { x: 0.90625, y: 0.71875 },\n { x: 0.96875, y: 0.71875 },\n { x: 0.96875, y: 0.71875 },\n { x: 0.03125, y: 0.78125 },\n { x: 0.03125, y: 0.78125 },\n { x: 0.09375, y: 0.78125 },\n { x: 0.09375, y: 0.78125 },\n { x: 0.15625, y: 0.78125 },\n { x: 0.15625, y: 0.78125 },\n { x: 0.21875, y: 0.78125 },\n { x: 0.21875, y: 0.78125 },\n { x: 0.28125, y: 0.78125 },\n { x: 0.28125, y: 0.78125 },\n { x: 0.34375, y: 0.78125 },\n { x: 0.34375, y: 0.78125 },\n { x: 0.40625, y: 0.78125 },\n { x: 0.40625, y: 0.78125 },\n { x: 0.46875, y: 0.78125 },\n { x: 0.46875, y: 0.78125 },\n { x: 0.53125, y: 0.78125 },\n { x: 0.53125, y: 0.78125 },\n { x: 0.59375, y: 0.78125 },\n { x: 0.59375, y: 0.78125 },\n { x: 0.65625, y: 0.78125 },\n { x: 0.65625, y: 0.78125 },\n { x: 0.71875, y: 0.78125 },\n { x: 0.71875, y: 0.78125 },\n { x: 0.78125, y: 0.78125 },\n { x: 0.78125, y: 0.78125 },\n { x: 0.84375, y: 0.78125 },\n { x: 0.84375, y: 0.78125 },\n { x: 0.90625, y: 0.78125 },\n { x: 0.90625, y: 0.78125 },\n { x: 0.96875, y: 0.78125 },\n { x: 0.96875, y: 0.78125 },\n { x: 0.03125, y: 0.84375 },\n { x: 0.03125, y: 0.84375 },\n { x: 0.09375, y: 0.84375 },\n { x: 0.09375, y: 0.84375 },\n { x: 0.15625, y: 0.84375 },\n { x: 0.15625, y: 0.84375 },\n { x: 0.21875, y: 0.84375 },\n { x: 0.21875, y: 0.84375 },\n { x: 0.28125, y: 0.84375 },\n { x: 0.28125, y: 0.84375 },\n { x: 0.34375, y: 0.84375 },\n { x: 0.34375, y: 0.84375 },\n { x: 0.40625, y: 0.84375 },\n { x: 0.40625, y: 0.84375 },\n { x: 0.46875, y: 0.84375 },\n { x: 0.46875, y: 0.84375 },\n { x: 0.53125, y: 0.84375 },\n { x: 0.53125, y: 0.84375 },\n { x: 0.59375, y: 0.84375 },\n { x: 0.59375, y: 0.84375 },\n { x: 0.65625, y: 0.84375 },\n { x: 0.65625, y: 0.84375 },\n { x: 0.71875, y: 0.84375 },\n { x: 0.71875, y: 0.84375 },\n { x: 0.78125, y: 0.84375 },\n { x: 0.78125, y: 0.84375 },\n { x: 0.84375, y: 0.84375 },\n { x: 0.84375, y: 0.84375 },\n { x: 0.90625, y: 0.84375 },\n { x: 0.90625, y: 0.84375 },\n { x: 0.96875, y: 0.84375 },\n { x: 0.96875, y: 0.84375 },\n { x: 0.03125, y: 0.90625 },\n { x: 0.03125, y: 0.90625 },\n { x: 0.09375, y: 0.90625 },\n { x: 0.09375, y: 0.90625 },\n { x: 0.15625, y: 0.90625 },\n { x: 0.15625, y: 0.90625 },\n { x: 0.21875, y: 0.90625 },\n { x: 0.21875, y: 0.90625 },\n { x: 0.28125, y: 0.90625 },\n { x: 0.28125, y: 0.90625 },\n { x: 0.34375, y: 0.90625 },\n { x: 0.34375, y: 0.90625 },\n { x: 0.40625, y: 0.90625 },\n { x: 0.40625, y: 0.90625 },\n { x: 0.46875, y: 0.90625 },\n { x: 0.46875, y: 0.90625 },\n { x: 0.53125, y: 0.90625 },\n { x: 0.53125, y: 0.90625 },\n { x: 0.59375, y: 0.90625 },\n { x: 0.59375, y: 0.90625 },\n { x: 0.65625, y: 0.90625 },\n { x: 0.65625, y: 0.90625 },\n { x: 0.71875, y: 0.90625 },\n { x: 0.71875, y: 0.90625 },\n { x: 0.78125, y: 0.90625 },\n { x: 0.78125, y: 0.90625 },\n { x: 0.84375, y: 0.90625 },\n { x: 0.84375, y: 0.90625 },\n { x: 0.90625, y: 0.90625 },\n { x: 0.90625, y: 0.90625 },\n { x: 0.96875, y: 0.90625 },\n { x: 0.96875, y: 0.90625 },\n { x: 0.03125, y: 0.96875 },\n { x: 0.03125, y: 0.96875 },\n { x: 0.09375, y: 0.96875 },\n { x: 0.09375, y: 0.96875 },\n { x: 0.15625, y: 0.96875 },\n { x: 0.15625, y: 0.96875 },\n { x: 0.21875, y: 0.96875 },\n { x: 0.21875, y: 0.96875 },\n { x: 0.28125, y: 0.96875 },\n { x: 0.28125, y: 0.96875 },\n { x: 0.34375, y: 0.96875 },\n { x: 0.34375, y: 0.96875 },\n { x: 0.40625, y: 0.96875 },\n { x: 0.40625, y: 0.96875 },\n { x: 0.46875, y: 0.96875 },\n { x: 0.46875, y: 0.96875 },\n { x: 0.53125, y: 0.96875 },\n { x: 0.53125, y: 0.96875 },\n { x: 0.59375, y: 0.96875 },\n { x: 0.59375, y: 0.96875 },\n { x: 0.65625, y: 0.96875 },\n { x: 0.65625, y: 0.96875 },\n { x: 0.71875, y: 0.96875 },\n { x: 0.71875, y: 0.96875 },\n { x: 0.78125, y: 0.96875 },\n { x: 0.78125, y: 0.96875 },\n { x: 0.84375, y: 0.96875 },\n { x: 0.84375, y: 0.96875 },\n { x: 0.90625, y: 0.96875 },\n { x: 0.90625, y: 0.96875 },\n { x: 0.96875, y: 0.96875 },\n { x: 0.96875, y: 0.96875 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.0625, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.1875, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.3125, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.4375, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.5625, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.6875, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.8125, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.9375, y: 0.0625 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.0625, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.1875, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.3125, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.4375, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.5625, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.6875, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.8125, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.9375, y: 0.1875 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.0625, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.1875, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.3125, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.4375, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.5625, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.6875, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.8125, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.9375, y: 0.3125 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.0625, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.1875, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.3125, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.4375, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.5625, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.6875, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.8125, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.9375, y: 0.4375 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.0625, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.1875, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.3125, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.4375, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.5625, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.6875, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.8125, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.9375, y: 0.5625 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.0625, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.1875, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.3125, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.4375, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.5625, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.6875, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.8125, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.9375, y: 0.6875 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.0625, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.1875, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.3125, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.4375, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.5625, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.6875, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.8125, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.9375, y: 0.8125 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.0625, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.1875, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.3125, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.4375, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.5625, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.6875, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.8125, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n { x: 0.9375, y: 0.9375 },\n];\n", "/**\n * HandPose model implementation\n * See `handpose.ts` for entry point\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport * as util from './handposeutil';\nimport * as anchors from './handposeanchors';\nimport { constants } from '../tfjs/constants';\nimport type { Tensor, Tensor1D, Tensor2D, Tensor4D, GraphModel } from '../tfjs/types';\nimport type { Point } from '../result';\nimport type { Config } from '../config';\n\nexport class HandDetector {\n model: GraphModel;\n anchors: number[][];\n anchorsTensor: Tensor;\n inputSize: number;\n inputSizeTensor: Tensor;\n doubleInputSizeTensor: Tensor;\n\n constructor(model: GraphModel) {\n this.model = model;\n this.anchors = anchors.anchors.map((anchor) => [anchor.x, anchor.y]);\n this.anchorsTensor = tf.tensor2d(this.anchors);\n this.inputSize = this?.model?.inputs?.[0]?.shape?.[2] || 0;\n this.inputSizeTensor = tf.tensor1d([this.inputSize, this.inputSize]);\n this.doubleInputSizeTensor = tf.tensor1d([this.inputSize * 2, this.inputSize * 2]);\n }\n\n normalizeBoxes(boxes) {\n const t: Record = {};\n t.boxOffsets = tf.slice(boxes, [0, 0], [-1, 2]);\n t.boxSizes = tf.slice(boxes, [0, 2], [-1, 2]);\n t.div = tf.div(t.boxOffsets, this.inputSizeTensor);\n t.boxCenterPoints = tf.add(t.div, this.anchorsTensor);\n t.halfBoxSizes = tf.div(t.boxSizes, this.doubleInputSizeTensor);\n t.sub = tf.sub(t.boxCenterPoints, t.halfBoxSizes);\n t.startPoints = tf.mul(t.sub, this.inputSizeTensor);\n t.add = tf.add(t.boxCenterPoints, t.halfBoxSizes);\n t.endPoints = tf.mul(t.add, this.inputSizeTensor);\n const res = tf.concat2d([t.startPoints as Tensor2D, t.endPoints as Tensor2D], 1);\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return res as Tensor;\n }\n\n normalizeLandmarks(rawPalmLandmarks, index: number): Tensor {\n const t: Record = {};\n t.reshape = tf.reshape(rawPalmLandmarks, [-1, 7, 2]);\n t.div = tf.div(t.reshape, this.inputSizeTensor);\n t.landmarks = tf.add(t.div, this.anchors[index] ? this.anchors[index] : 0);\n const res = tf.mul(t.landmarks, this.inputSizeTensor);\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return res;\n }\n\n async predict(input: Tensor4D, config: Config): Promise<{ startPoint: Point; endPoint: Point, palmLandmarks: Point[]; confidence: number }[]> {\n const t: Record = {};\n t.resize = tf.image.resizeBilinear(input, [this.inputSize, this.inputSize]);\n t.div = tf.div(t.resize, constants.tf127);\n t.image = tf.sub(t.div, constants.tf1);\n t.batched = this.model.execute(t.image) as Tensor;\n t.predictions = tf.squeeze(t.batched);\n t.slice = tf.slice(t.predictions, [0, 0], [-1, 1]);\n t.sigmoid = tf.sigmoid(t.slice);\n t.scores = tf.squeeze(t.sigmoid);\n const scores = await t.scores.data();\n t.boxes = tf.slice(t.predictions, [0, 1], [-1, 4]);\n t.norm = this.normalizeBoxes(t.boxes);\n // box detection is flaky so we look for 3x boxes than we need results\n t.nms = await tf.image.nonMaxSuppressionAsync(t.norm as Tensor2D, t.scores as Tensor1D, 3 * (config.hand?.maxDetected || 1), config.hand.iouThreshold, config.hand.minConfidence);\n const nms = await t.nms.array() as number[];\n const hands: { startPoint: Point; endPoint: Point; palmLandmarks: Point[]; confidence: number }[] = [];\n for (const index of nms) {\n const p: Record = {};\n p.box = tf.slice(t.norm, [index, 0], [1, -1]);\n p.slice = tf.slice(t.predictions, [index, 5], [1, 14]);\n p.norm = this.normalizeLandmarks(p.slice, index);\n p.palmLandmarks = tf.reshape(p.norm, [-1, 2]);\n const box = await p.box.data();\n const startPoint = box.slice(0, 2) as unknown as Point;\n const endPoint = box.slice(2, 4) as unknown as Point;\n const palmLandmarks = await p.palmLandmarks.array();\n const hand = { startPoint, endPoint, palmLandmarks, confidence: scores[index] };\n const scaled = util.scaleBoxCoordinates(hand, [(input.shape[2] || 1) / this.inputSize, (input.shape[1] || 0) / this.inputSize]);\n hands.push(scaled);\n Object.keys(p).forEach((tensor) => tf.dispose(p[tensor]));\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return hands;\n }\n}\n", "/**\n * HandPose model implementation\n * See `handpose.ts` for entry point\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport * as util from './handposeutil';\nimport type * as detector from './handposedetector';\nimport { constants } from '../tfjs/constants';\nimport type { Tensor, GraphModel } from '../tfjs/types';\nimport { env } from '../util/env';\nimport { now } from '../util/util';\nimport type { Point } from '../result';\n\nconst palmBoxEnlargeFactor = 5; // default 3\nconst handBoxEnlargeFactor = 1.65; // default 1.65\nconst palmLandmarkIds = [0, 5, 9, 13, 17, 1, 2];\nconst palmLandmarksPalmBase = 0;\nconst palmLandmarksMiddleFingerBase = 2;\nlet lastTime = 0;\n\nexport class HandPipeline {\n handDetector: detector.HandDetector;\n handPoseModel: GraphModel;\n inputSize: number;\n storedBoxes: ({ startPoint: Point; endPoint: Point; palmLandmarks: Point[]; confidence: number } | null)[];\n skipped: number;\n detectedHands: number;\n\n constructor(handDetector, handPoseModel) {\n this.handDetector = handDetector;\n this.handPoseModel = handPoseModel;\n this.inputSize = this.handPoseModel?.inputs?.[0].shape?.[2] || 0;\n this.storedBoxes = [];\n this.skipped = Number.MAX_SAFE_INTEGER;\n this.detectedHands = 0;\n }\n\n calculateLandmarksBoundingBox(landmarks) { // eslint-disable-line class-methods-use-this\n const xs = landmarks.map((d) => d[0]);\n const ys = landmarks.map((d) => d[1]);\n const startPoint = [Math.min(...xs), Math.min(...ys)];\n const endPoint = [Math.max(...xs), Math.max(...ys)];\n return { startPoint, endPoint };\n }\n\n getBoxForPalmLandmarks(palmLandmarks, rotationMatrix) {\n const rotatedPalmLandmarks = palmLandmarks.map((coord) => util.rotatePoint([...coord, 1], rotationMatrix));\n const boxAroundPalm = this.calculateLandmarksBoundingBox(rotatedPalmLandmarks);\n return util.enlargeBox(util.squarifyBox(boxAroundPalm), palmBoxEnlargeFactor);\n }\n\n getBoxForHandLandmarks(landmarks) {\n const boundingBox = this.calculateLandmarksBoundingBox(landmarks);\n const boxAroundHand = util.enlargeBox(util.squarifyBox(boundingBox), handBoxEnlargeFactor);\n boxAroundHand.palmLandmarks = [];\n for (let i = 0; i < palmLandmarkIds.length; i++) {\n boxAroundHand.palmLandmarks.push(landmarks[palmLandmarkIds[i]].slice(0, 2));\n }\n return boxAroundHand;\n }\n\n transformRawCoords(rawCoords, box2, angle, rotationMatrix) {\n const boxSize = util.getBoxSize(box2);\n const scaleFactor = [boxSize[0] / this.inputSize, boxSize[1] / this.inputSize, (boxSize[0] + boxSize[1]) / this.inputSize / 2];\n const coordsScaled = rawCoords.map((coord) => [\n scaleFactor[0] * (coord[0] - this.inputSize / 2),\n scaleFactor[1] * (coord[1] - this.inputSize / 2),\n scaleFactor[2] * coord[2],\n ]);\n const coordsRotationMatrix = util.buildRotationMatrix(angle, [0, 0]);\n const coordsRotated = coordsScaled.map((coord) => {\n const rotated = util.rotatePoint(coord, coordsRotationMatrix);\n return [...rotated, coord[2]];\n });\n const inverseRotationMatrix = util.invertTransformMatrix(rotationMatrix);\n const boxCenter = [...util.getBoxCenter(box2), 1];\n const originalBoxCenter = [\n util.dot(boxCenter, inverseRotationMatrix[0]),\n util.dot(boxCenter, inverseRotationMatrix[1]),\n ];\n return coordsRotated.map((coord) => [\n Math.trunc(coord[0] + originalBoxCenter[0]),\n Math.trunc(coord[1] + originalBoxCenter[1]),\n Math.trunc(coord[2]),\n ]);\n }\n\n async estimateHands(image, config) {\n let useFreshBox = false;\n\n // run new detector every skipFrames\n let boxes;\n const skipTime = (config.hand.skipTime || 0) > (now() - lastTime);\n const skipFrame = this.skipped < (config.hand.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame) {\n boxes = await this.handDetector.predict(image, config);\n this.skipped = 0;\n }\n if (config.skipAllowed) this.skipped++;\n\n // if detector result count doesn't match current working set, use it to reset current working set\n if (boxes && (boxes.length > 0) && ((boxes.length !== this.detectedHands) && (this.detectedHands !== config.hand.maxDetected) || !config.hand.landmarks)) {\n this.detectedHands = 0;\n this.storedBoxes = [...boxes];\n // for (const possible of boxes) this.storedBoxes.push(possible);\n if (this.storedBoxes.length > 0) useFreshBox = true;\n }\n const hands: { landmarks: Point[], confidence: number, boxConfidence: number, fingerConfidence: number, box: { topLeft: Point, bottomRight: Point } }[] = [];\n\n // go through working set of boxes\n for (let i = 0; i < this.storedBoxes.length; i++) {\n const currentBox = this.storedBoxes[i];\n if (!currentBox) continue;\n if (config.hand.landmarks) {\n const angle = config.hand.rotation ? util.computeRotation(currentBox.palmLandmarks[palmLandmarksPalmBase], currentBox.palmLandmarks[palmLandmarksMiddleFingerBase]) : 0;\n const palmCenter = util.getBoxCenter(currentBox);\n const palmCenterNormalized: [number, number] = [palmCenter[0] / image.shape[2], palmCenter[1] / image.shape[1]];\n const rotatedImage = config.hand.rotation && env.kernels.includes('rotatewithoffset') ? tf.image.rotateWithOffset(image, angle, 0, palmCenterNormalized) : image.clone();\n const rotationMatrix = util.buildRotationMatrix(-angle, palmCenter);\n const newBox = useFreshBox ? this.getBoxForPalmLandmarks(currentBox.palmLandmarks, rotationMatrix) : currentBox;\n const croppedInput = util.cutBoxFromImageAndResize(newBox, rotatedImage, [this.inputSize, this.inputSize]);\n const handImage = tf.div(croppedInput, constants.tf255);\n tf.dispose(croppedInput);\n tf.dispose(rotatedImage);\n const [confidenceT, keypoints] = this.handPoseModel.execute(handImage) as Tensor[];\n lastTime = now();\n tf.dispose(handImage);\n const confidence = (await confidenceT.data())[0];\n tf.dispose(confidenceT);\n if (confidence >= config.hand.minConfidence / 4) {\n const keypointsReshaped = tf.reshape(keypoints, [-1, 3]);\n const rawCoords = await keypointsReshaped.array();\n tf.dispose(keypoints);\n tf.dispose(keypointsReshaped);\n const coords = this.transformRawCoords(rawCoords, newBox, angle, rotationMatrix);\n const nextBoundingBox = this.getBoxForHandLandmarks(coords);\n this.storedBoxes[i] = { ...nextBoundingBox, confidence };\n const result = {\n landmarks: coords,\n confidence,\n boxConfidence: currentBox.confidence,\n fingerConfidence: confidence,\n box: { topLeft: nextBoundingBox.startPoint, bottomRight: nextBoundingBox.endPoint },\n };\n hands.push(result);\n } else {\n this.storedBoxes[i] = null;\n }\n tf.dispose(keypoints);\n } else {\n // const enlarged = box.enlargeBox(box.squarifyBox(box.shiftBox(currentBox, HAND_BOX_SHIFT_VECTOR)), handBoxEnlargeFactor);\n const enlarged = util.enlargeBox(util.squarifyBox(currentBox), handBoxEnlargeFactor);\n const result = {\n confidence: currentBox.confidence,\n boxConfidence: currentBox.confidence,\n fingerConfidence: 0,\n box: { topLeft: enlarged.startPoint, bottomRight: enlarged.endPoint },\n landmarks: [],\n };\n hands.push(result);\n }\n }\n this.storedBoxes = this.storedBoxes.filter((a) => a !== null);\n this.detectedHands = hands.length;\n if (hands.length > config.hand.maxDetected) hands.length = config.hand.maxDetected;\n return hands;\n }\n}\n", "/**\n * HandPose model implementation\n *\n * Based on: [**MediaPipe HandPose**](https://drive.google.com/file/d/1sv4sSb9BSNVZhLzxXJ0jBv9DqD-4jnAz/view)\n */\n\nimport { log } from '../util/util';\nimport * as handdetector from './handposedetector';\nimport * as handpipeline from './handposepipeline';\nimport * as fingerPose from './fingerpose';\nimport { loadModel } from '../tfjs/load';\nimport type { HandResult, Box, Point } from '../result';\nimport type { Tensor, GraphModel } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nconst meshAnnotations = {\n thumb: [1, 2, 3, 4],\n index: [5, 6, 7, 8],\n middle: [9, 10, 11, 12],\n ring: [13, 14, 15, 16],\n pinky: [17, 18, 19, 20],\n palm: [0],\n};\n\nlet handDetectorModel: GraphModel | null;\nlet handPoseModel: GraphModel | null;\nlet handPipeline: handpipeline.HandPipeline;\n\nexport async function predict(input: Tensor, config: Config): Promise {\n const predictions = await handPipeline.estimateHands(input, config);\n if (!predictions) return [];\n const hands: HandResult[] = [];\n for (let i = 0; i < predictions.length; i++) {\n const annotations = {};\n if (predictions[i].landmarks) {\n for (const key of Object.keys(meshAnnotations)) {\n annotations[key] = meshAnnotations[key].map((index) => predictions[i].landmarks[index]);\n }\n }\n const keypoints = predictions[i].landmarks as unknown as Point[];\n let box: Box = [Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER, 0, 0]; // maximums so conditionals work\n let boxRaw: Box = [0, 0, 0, 0];\n if (keypoints && keypoints.length > 0) { // if we have landmarks, calculate box based on landmarks\n for (const pt of keypoints) {\n if (pt[0] < box[0]) box[0] = pt[0];\n if (pt[1] < box[1]) box[1] = pt[1];\n if (pt[0] > box[2]) box[2] = pt[0];\n if (pt[1] > box[3]) box[3] = pt[1];\n }\n box[2] -= box[0];\n box[3] -= box[1];\n boxRaw = [box[0] / (input.shape[2] || 0), box[1] / (input.shape[1] || 0), box[2] / (input.shape[2] || 0), box[3] / (input.shape[1] || 0)];\n } else { // otherwise use box from prediction\n box = predictions[i].box ? [\n Math.trunc(Math.max(0, predictions[i].box.topLeft[0])),\n Math.trunc(Math.max(0, predictions[i].box.topLeft[1])),\n Math.trunc(Math.min((input.shape[2] || 0), predictions[i].box.bottomRight[0]) - Math.max(0, predictions[i].box.topLeft[0])),\n Math.trunc(Math.min((input.shape[1] || 0), predictions[i].box.bottomRight[1]) - Math.max(0, predictions[i].box.topLeft[1])),\n ] : [0, 0, 0, 0];\n boxRaw = [\n (predictions[i].box.topLeft[0]) / (input.shape[2] || 0),\n (predictions[i].box.topLeft[1]) / (input.shape[1] || 0),\n (predictions[i].box.bottomRight[0] - predictions[i].box.topLeft[0]) / (input.shape[2] || 0),\n (predictions[i].box.bottomRight[1] - predictions[i].box.topLeft[1]) / (input.shape[1] || 0),\n ];\n }\n const landmarks = fingerPose.analyze(keypoints);\n hands.push({\n id: i,\n score: Math.round(100 * predictions[i].confidence) / 100,\n boxScore: Math.round(100 * predictions[i].boxConfidence) / 100,\n fingerScore: Math.round(100 * predictions[i].fingerConfidence) / 100,\n label: 'hand',\n box,\n boxRaw,\n keypoints,\n annotations: annotations as HandResult['annotations'],\n landmarks: landmarks as HandResult['landmarks'],\n });\n }\n return hands;\n}\n\nexport async function load(config: Config): Promise<[GraphModel | null, GraphModel | null]> {\n if (env.initial) {\n handDetectorModel = null;\n handPoseModel = null;\n }\n if (!handDetectorModel || !handPoseModel) {\n [handDetectorModel, handPoseModel] = await Promise.all([\n config.hand.enabled ? loadModel(config.hand.detector?.modelPath) : null,\n config.hand.landmarks ? loadModel(config.hand.skeleton?.modelPath) : null,\n ]);\n } else {\n if (config.debug) log('cached model:', handDetectorModel['modelUrl']);\n if (config.debug) log('cached model:', handPoseModel['modelUrl']);\n }\n const handDetector = handDetectorModel ? new handdetector.HandDetector(handDetectorModel) : undefined;\n if (handDetector && handPoseModel) handPipeline = new handpipeline.HandPipeline(handDetector, handPoseModel);\n return [handDetectorModel, handPoseModel];\n}\n", "/**\n * HandTrack model implementation\n *\n * Based on:\n * - Hand Detection & Skeleton: [**MediaPipe HandPose**](https://drive.google.com/file/d/1sv4sSb9BSNVZhLzxXJ0jBv9DqD-4jnAz/view)\n * - Hand Tracking: [**HandTracking**](https://github.com/victordibia/handtracking)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport * as box from '../util/box';\nimport { loadModel } from '../tfjs/load';\nimport type { HandResult, HandType, Box, Point } from '../result';\nimport type { GraphModel, Tensor, Tensor1D, Tensor2D, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\nimport * as fingerPose from './fingerpose';\nimport { fakeOps } from '../tfjs/backend';\nimport { constants } from '../tfjs/constants';\n\nconst models: [GraphModel | null, GraphModel | null] = [null, null];\nconst modelOutputNodes = ['StatefulPartitionedCall/Postprocessor/Slice', 'StatefulPartitionedCall/Postprocessor/ExpandDims_1'];\n\nconst inputSize = [[0, 0], [0, 0]];\n\nconst classes = ['hand', 'fist', 'pinch', 'point', 'face', 'tip', 'pinchtip'];\nconst faceIndex = 4;\n\nconst boxExpandFact = 1.6;\nconst maxDetectorResolution = 512;\nconst detectorExpandFact = 1.4;\n\nlet skipped = Number.MAX_SAFE_INTEGER;\nlet lastTime = 0;\nlet outputSize: [number, number] = [0, 0];\n\ninterface HandDetectResult {\n id: number,\n score: number,\n box: Box,\n boxRaw: Box,\n label: HandType,\n}\n\nconst cache: {\n boxes: HandDetectResult[],\n hands: HandResult[];\n} = {\n boxes: [],\n hands: [],\n};\n\nconst fingerMap = {\n /*\n thumb: [0, 1, 2, 3, 4],\n index: [0, 5, 6, 7, 8],\n middle: [0, 9, 10, 11, 12],\n ring: [0, 13, 14, 15, 16],\n pinky: [0, 17, 18, 19, 20],\n palm: [0],\n */\n thumb: [1, 2, 3, 4],\n index: [5, 6, 7, 8],\n middle: [9, 10, 11, 12],\n ring: [13, 14, 15, 16],\n pinky: [17, 18, 19, 20],\n base: [0],\n palm: [0, 17, 13, 9, 5, 1, 0],\n};\n\nexport async function loadDetect(config: Config): Promise {\n // HandTrack Model: Original: TFJS Port: \n if (env.initial) models[0] = null;\n if (!models[0]) {\n // handtrack model has some kernel ops defined in model but those are never referenced and non-existent in tfjs\n // ideally need to prune the model itself\n fakeOps(['tensorlistreserve', 'enter', 'tensorlistfromtensor', 'merge', 'loopcond', 'switch', 'exit', 'tensorliststack', 'nextiteration', 'tensorlistsetitem', 'tensorlistgetitem', 'reciprocal', 'shape', 'split', 'where'], config);\n models[0] = await loadModel(config.hand.detector?.modelPath);\n const inputs = models[0]['executor'] ? Object.values(models[0].modelSignature['inputs']) : undefined;\n inputSize[0][0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;\n inputSize[0][1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;\n } else if (config.debug) log('cached model:', models[0]['modelUrl']);\n return models[0];\n}\n\nexport async function loadSkeleton(config: Config): Promise {\n if (env.initial) models[1] = null;\n if (!models[1]) {\n models[1] = await loadModel(config.hand.skeleton?.modelPath);\n const inputs = models[1]['executor'] ? Object.values(models[1].modelSignature['inputs']) : undefined;\n inputSize[1][0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0;\n inputSize[1][1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0;\n } else if (config.debug) log('cached model:', models[1]['modelUrl']);\n return models[1];\n}\n\nexport async function load(config: Config): Promise<[GraphModel | null, GraphModel | null]> {\n if (!models[0]) await loadDetect(config);\n if (!models[1]) await loadSkeleton(config);\n return models;\n}\n\nasync function detectHands(input: Tensor4D, config: Config): Promise {\n const hands: HandDetectResult[] = [];\n if (!input || !models[0]) return hands;\n const t: Record = {};\n const ratio = (input.shape[2] || 1) / (input.shape[1] || 1);\n const height = Math.min(Math.round((input.shape[1] || 0) / 8) * 8, maxDetectorResolution); // use dynamic input size but cap at 512\n const width = Math.round(height * ratio / 8) * 8;\n t.resize = tf.image.resizeBilinear(input, [height, width]); // todo: resize with padding\n t.cast = tf.cast(t.resize, 'int32');\n [t.rawScores, t.rawBoxes] = await models[0].executeAsync(t.cast, modelOutputNodes) as Tensor[];\n t.boxes = tf.squeeze(t.rawBoxes, [0, 2]);\n t.scores = tf.squeeze(t.rawScores, [0]);\n const classScores: Tensor[] = tf.unstack(t.scores, 1); // unstack scores based on classes\n tf.dispose(classScores[faceIndex]);\n classScores.splice(faceIndex, 1); // remove faces\n t.filtered = tf.stack(classScores, 1); // restack\n tf.dispose(classScores);\n // t.filtered = t.scores;\n t.max = tf.max(t.filtered, 1); // max overall score\n t.argmax = tf.argMax(t.filtered, 1); // class index of max overall score\n let id = 0;\n t.nms = await tf.image.nonMaxSuppressionAsync(t.boxes as Tensor2D, t.max as Tensor1D, (config.hand.maxDetected || 0) + 1, config.hand.iouThreshold || 0, config.hand.minConfidence || 1);\n const nms = await t.nms.data();\n const scores = await t.max.data();\n const classNum = await t.argmax.data();\n for (const nmsIndex of Array.from(nms)) { // generates results for each class\n const boxSlice = tf.slice(t.boxes, nmsIndex, 1);\n const boxYX = await boxSlice.data();\n tf.dispose(boxSlice);\n const boxData: Box = [boxYX[1], boxYX[0], boxYX[3] - boxYX[1], boxYX[2] - boxYX[0]]; // yx box reshaped to standard box\n const boxRaw: Box = box.scale(boxData, detectorExpandFact);\n const boxFull: Box = [Math.trunc(boxData[0] * outputSize[0]), Math.trunc(boxData[1] * outputSize[1]), Math.trunc(boxData[2] * outputSize[0]), Math.trunc(boxData[3] * outputSize[1])];\n const score = scores[nmsIndex];\n const label = classes[classNum[nmsIndex]] as HandType;\n const hand: HandDetectResult = { id: id++, score, box: boxFull, boxRaw, label };\n hands.push(hand);\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n hands.sort((a, b) => b.score - a.score);\n if (hands.length > (config.hand.maxDetected || 1)) hands.length = (config.hand.maxDetected || 1);\n return hands;\n}\n\nasync function detectFingers(input: Tensor4D, h: HandDetectResult, config: Config): Promise {\n const hand: HandResult = { // initial values inherited from hand detect\n id: h.id,\n score: Math.round(100 * h.score) / 100,\n boxScore: Math.round(100 * h.score) / 100,\n fingerScore: 0,\n box: h.box,\n boxRaw: h.boxRaw,\n label: h.label,\n keypoints: [],\n landmarks: {} as HandResult['landmarks'],\n annotations: {} as HandResult['annotations'],\n };\n if (input && models[1] && config.hand.landmarks && h.score > (config.hand.minConfidence || 0)) {\n const t: Record = {};\n const boxCrop = [h.boxRaw[1], h.boxRaw[0], h.boxRaw[3] + h.boxRaw[1], h.boxRaw[2] + h.boxRaw[0]] as Box;\n t.crop = tf.image.cropAndResize(input, [boxCrop], [0], [inputSize[1][0], inputSize[1][1]], 'bilinear');\n t.div = tf.div(t.crop, constants.tf255);\n [t.score, t.keypoints] = models[1].execute(t.div, ['Identity_1', 'Identity']) as Tensor[];\n const rawScore = (await t.score.data())[0];\n const score = (100 - Math.trunc(100 / (1 + Math.exp(rawScore)))) / 100; // reverse sigmoid value\n if (score >= (config.hand.minConfidence || 0)) {\n hand.fingerScore = score;\n t.reshaped = tf.reshape(t.keypoints, [-1, 3]);\n const coordsData: Point[] = await t.reshaped.array() as Point[];\n const coordsRaw: Point[] = coordsData.map((kpt) => [kpt[0] / inputSize[1][1], kpt[1] / inputSize[1][0], (kpt[2] || 0)]);\n const coordsNorm: Point[] = coordsRaw.map((kpt) => [kpt[0] * h.boxRaw[2], kpt[1] * h.boxRaw[3], (kpt[2] || 0)]);\n hand.keypoints = (coordsNorm).map((kpt) => [outputSize[0] * (kpt[0] + h.boxRaw[0]), outputSize[1] * (kpt[1] + h.boxRaw[1]), (kpt[2] || 0)]);\n hand.landmarks = fingerPose.analyze(hand.keypoints) as HandResult['landmarks']; // calculate finger gestures\n for (const key of Object.keys(fingerMap)) { // map keypoints to per-finger annotations\n hand.annotations[key] = fingerMap[key].map((index: number) => (hand.landmarks && hand.keypoints[index] ? hand.keypoints[index] : null));\n }\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n }\n return hand;\n}\n\nexport async function predict(input: Tensor4D, config: Config): Promise {\n if (!models[0]?.['executor'] || !models[1]?.['executor'] || !models[0].inputs[0].shape || !models[1].inputs[0].shape) return []; // something is wrong with the model\n outputSize = [input.shape[2] || 0, input.shape[1] || 0];\n skipped++; // increment skip frames\n const skipTime = (config.hand.skipTime || 0) > (now() - lastTime);\n const skipFrame = skipped < (config.hand.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame) {\n return cache.hands; // return cached results without running anything\n }\n return new Promise(async (resolve) => {\n const skipTimeExtended = 3 * (config.hand.skipTime || 0) > (now() - lastTime);\n const skipFrameExtended = skipped < 3 * (config.hand.skipFrames || 0);\n if (config.skipAllowed && cache.hands.length === config.hand.maxDetected) { // we have all detected hands so we're definitely skipping\n cache.hands = await Promise.all(cache.boxes.map((handBox) => detectFingers(input, handBox, config)));\n } else if (config.skipAllowed && skipTimeExtended && skipFrameExtended && cache.hands.length > 0) { // we have some cached results: maybe not enough but anyhow continue for bit longer\n cache.hands = await Promise.all(cache.boxes.map((handBox) => detectFingers(input, handBox, config)));\n } else { // finally rerun detector\n cache.boxes = await detectHands(input, config);\n lastTime = now();\n cache.hands = await Promise.all(cache.boxes.map((handBox) => detectFingers(input, handBox, config)));\n skipped = 0;\n }\n\n const oldCache = [...cache.boxes];\n cache.boxes.length = 0; // reset cache\n if (config.cacheSensitivity > 0) {\n for (let i = 0; i < cache.hands.length; i++) {\n const boxKpt = box.square(cache.hands[i].keypoints, outputSize);\n if (boxKpt.box[2] / (input.shape[2] || 1) > 0.05 && boxKpt.box[3] / (input.shape[1] || 1) > 0.05 && cache.hands[i].fingerScore && cache.hands[i].fingerScore > (config.hand.minConfidence || 0)) {\n const boxScale = box.scale(boxKpt.box, boxExpandFact);\n const boxScaleRaw = box.scale(boxKpt.boxRaw, boxExpandFact);\n // const boxCrop = box.crop(boxScaleRaw);\n cache.boxes.push({ ...oldCache[i], box: boxScale, boxRaw: boxScaleRaw });\n }\n }\n }\n for (let i = 0; i < cache.hands.length; i++) { // replace detected boxes with calculated boxes in final output\n const bbox = box.calc(cache.hands[i].keypoints, outputSize);\n cache.hands[i].box = bbox.box;\n cache.hands[i].boxRaw = bbox.boxRaw;\n }\n resolve(cache.hands);\n });\n}\n", "/**\n * Type definitions for Human result object\n */\n\nimport type { Tensor } from './tfjs/types';\nimport type { FaceGesture, BodyGesture, HandGesture, IrisGesture } from './gesture/gesture';\nimport type { AnyCanvas } from './exports';\n\n/** generic box as [x, y, width, height] */\nexport type Box = [number, number, number, number];\n/** generic point as [x, y, z?] */\nexport type Point = [number, number, number?];\n\nexport type Emotion = 'angry' | 'disgust' | 'fear' | 'happy' | 'sad' | 'surprise' | 'neutral';\nexport type Gender = 'male' | 'female' | 'unknown';\nexport type Race = 'white' | 'black' | 'asian' | 'indian' | 'other';\nexport type FaceLandmark = 'leftEye' | 'rightEye' | 'nose' | 'mouth' | 'leftEar' | 'rightEar' | 'symmetryLine' | 'silhouette'\n | 'lipsUpperOuter' | 'lipsLowerOuter' | 'lipsUpperInner' | 'lipsLowerInner'\n | 'rightEyeUpper0' | 'rightEyeLower0' | 'rightEyeUpper1' | 'rightEyeLower1' | 'rightEyeUpper2' | 'rightEyeLower2' | 'rightEyeLower3' | 'rightEyebrowUpper' | 'rightEyebrowLower' | 'rightEyeIris'\n | 'leftEyeUpper0' | 'leftEyeLower0' | 'leftEyeUpper1' | 'leftEyeLower1' | 'leftEyeUpper2' | 'leftEyeLower2' | 'leftEyeLower3' | 'leftEyebrowUpper' | 'leftEyebrowLower' | 'leftEyeIris'\n | 'midwayBetweenEyes' | 'noseTip' | 'noseBottom' | 'noseRightCorner' | 'noseLeftCorner' | 'rightCheek' | 'leftCheek';\n\n/** Face results\n * - Combined results of face detector, face mesh, age, gender, emotion, embedding, iris models\n * - Some values may be null if specific model is not enabled\n */\nexport interface FaceResult {\n /** face id */\n id: number\n /** overall face score */\n score: number,\n /** detection score */\n boxScore: number,\n /** mesh score */\n faceScore: number,\n /** detected face box */\n box: Box,\n /** detected face box normalized to 0..1 */\n boxRaw: Box,\n /** detected face mesh */\n mesh: Point[]\n /** detected face mesh normalized to 0..1 */\n meshRaw: Point[],\n /** face contours as array of 2d points normalized to 0..1 */\n // contoursRaw: Array<[number, number]>,\n /** face contours as array of 2d points */\n // contours: Array<[number, number]>,\n /** mesh keypoints combined into annotated results */\n annotations: Record,\n /** detected age */\n age?: number,\n /** detected gender */\n gender?: Gender,\n /** gender detection score */\n genderScore?: number,\n /** detected emotions */\n emotion?: { score: number, emotion: Emotion }[],\n /** detected race */\n race?: { score: number, race: Race }[],\n /** face descriptor */\n embedding?: number[],\n /** face distance from camera */\n distance?: number,\n /** face anti-spoofing result confidence */\n real?: number,\n /** face liveness result confidence */\n live?: number,\n /** face rotation details */\n rotation?: {\n angle: { roll: number, yaw: number, pitch: number },\n matrix: [number, number, number, number, number, number, number, number, number],\n gaze: { bearing: number, strength: number },\n } | null,\n /** detected face as tensor that can be used in further pipelines */\n tensor?: Tensor,\n}\n\nexport type BodyLandmarkPoseNet = 'nose' | 'leftEye' | 'rightEye' | 'leftEar' | 'rightEar' | 'leftShoulder' | 'rightShoulder' | 'leftElbow' | 'rightElbow' | 'leftWrist' | 'rightWrist' | 'leftHip' | 'rightHip' | 'leftKnee' | 'rightKnee' | 'leftAnkle' | 'rightAnkle';\nexport type BodyLandmarkMoveNet = 'nose' | 'leftEye' | 'rightEye' | 'leftEar' | 'rightEar' | 'leftShoulder' | 'rightShoulder' | 'leftElbow' | 'rightElbow' | 'leftWrist' | 'rightWrist' | 'leftHip' | 'rightHip' | 'leftKnee' | 'rightKnee' | 'leftAnkle' | 'rightAnkle';\nexport type BodyLandmarkEfficientNet = 'head' | 'neck' | 'rightShoulder' | 'rightElbow' | 'rightWrist' | 'chest' | 'leftShoulder' | 'leftElbow' | 'leftWrist' | 'bodyCenter' | 'rightHip' | 'rightKnee' | 'rightAnkle' | 'leftHip' | 'leftKnee' | 'leftAnkle';\nexport type BodyLandmarkBlazePose = 'nose' | 'leftEyeInside' | 'leftEye' | 'leftEyeOutside' | 'rightEyeInside' | 'rightEye' | 'rightEyeOutside' | 'leftEar' | 'rightEar' | 'leftMouth' | 'rightMouth' | 'leftShoulder' | 'rightShoulder'\n | 'leftElbow' | 'rightElbow' | 'leftWrist' | 'rightWrist' | 'leftPinky' | 'rightPinky' | 'leftIndex' | 'rightIndex' | 'leftThumb' | 'rightThumb' | 'leftHip' | 'rightHip' | 'leftKnee' | 'rightKnee' | 'leftAnkle' | 'rightAnkle'\n | 'leftHeel' | 'rightHeel' | 'leftFoot' | 'rightFoot' | 'bodyCenter' | 'bodyTop' | 'leftPalm' | 'leftHand' | 'rightPalm' | 'rightHand';\nexport type BodyLandmark = BodyLandmarkPoseNet | BodyLandmarkMoveNet | BodyLandmarkEfficientNet | BodyLandmarkBlazePose;\nexport type BodyAnnotationBlazePose = 'leftLeg' | 'rightLeg' | 'torso' | 'leftArm' | 'rightArm' | 'leftEye' | 'rightEye' | 'mouth';\nexport type BodyAnnotationEfficientPose = 'leftLeg' | 'rightLeg' | 'torso' | 'leftArm' | 'rightArm' | 'head';\nexport type BodyAnnotation = BodyAnnotationBlazePose | BodyAnnotationEfficientPose;\n\n/** Body Result keypoints */\nexport interface BodyKeypoint {\n /** body part name */\n part: BodyLandmark,\n /** body part position */\n position: Point,\n /** body part position normalized to 0..1 */\n positionRaw: Point,\n /** body part position relative to body center in meters */\n distance?: Point,\n /** body part detection score */\n score: number,\n}\n\n/** Body results */\nexport interface BodyResult {\n /** body id */\n id: number,\n /** body detection score */\n score: number,\n /** detected body box */\n box: Box,\n /** detected body box normalized to 0..1 */\n boxRaw: Box,\n /** detected body keypoints */\n keypoints: BodyKeypoint[]\n /** detected body keypoints combined into annotated parts */\n annotations: Record,\n}\n\nexport type HandType = 'hand' | 'fist' | 'pinch' | 'point' | 'face' | 'tip' | 'pinchtip';\nexport type Finger = 'index' | 'middle' | 'pinky' | 'ring' | 'thumb' | 'palm';\nexport type FingerCurl = 'none' | 'half' | 'full';\nexport type FingerDirection = 'verticalUp' | 'verticalDown' | 'horizontalLeft' | 'horizontalRight' | 'diagonalUpRight' | 'diagonalUpLeft' | 'diagonalDownRight' | 'diagonalDownLeft';\n\n/** Hand results */\nexport interface HandResult {\n /** hand id */\n id: number,\n /** hand overal score */\n score: number,\n /** hand detection score */\n boxScore: number,\n /** hand skelton score */\n fingerScore: number,\n /** detected hand box */\n box: Box,\n /** detected hand box normalized to 0..1 */\n boxRaw: Box,\n /** detected hand keypoints */\n keypoints: Point[],\n /** detected hand class */\n label: HandType,\n /** detected hand keypoints combined into annotated parts */\n annotations: Record,\n /** detected hand parts annotated with part gestures */\n landmarks: Record,\n}\n\nexport type ObjectType = 'person' | 'bicycle' | 'car' | 'motorcycle' | 'airplane' | 'bus' | 'train' | 'truck' | 'boat' | 'traffic light' | 'fire hydrant' | 'stop sign' | 'parking meter'\n | 'bench' | 'bird' | 'cat' | 'dog' | 'horse' | 'sheep' | 'cow' | 'elephant' | 'bear' | 'zebra' | 'giraffe' | 'backpack' | 'umbrella' | 'handbag' | 'tie' | 'suitcase' | 'frisbee'\n | 'skis' | 'snowboard' | 'sports ball' | 'kite' | 'baseball bat' | 'baseball glove' | 'skateboard' | 'surfboard' | 'tennis racket' | 'bottle' | 'wine glass' | 'cup' | 'fork'\n | 'knife' | 'spoon' | 'bowl' | 'banana' | 'apple' | 'sandwich' | 'orange' | 'broccoli' | 'carrot' | 'hot dog' | 'pizza' | 'donut' | 'cake' | 'chair' | 'couch' | 'potted plant'\n | 'bed' | 'dining table' | 'toilet' | 'tv' | 'laptop' | 'mouse' | 'remote' | 'keyboard' | 'cell phone' | 'microwave' | 'oven' | 'toaster' | 'sink' | 'refrigerator' | 'book'\n | 'clock' | 'vase' | 'scissors' | 'teddy bear' | 'hair drier' | 'toothbrush';\n\n/** Object results */\nexport interface ObjectResult {\n /** object id */\n id: number,\n /** object detection score */\n score: number,\n /** detected object class id */\n class: number,\n /** detected object class name */\n label: ObjectType,\n /** detected object box */\n box: Box,\n /** detected object box normalized to 0..1 */\n boxRaw: Box,\n}\n\n/** Gesture combined results\n * Each result has:\n * - part: part name and number where gesture was detected: `face`, `iris`, `body`, `hand`\n * - gesture: gesture detected\n */\nexport type GestureResult =\n { 'face': number, gesture: FaceGesture }\n | { 'iris': number, gesture: IrisGesture }\n | { 'body': number, gesture: BodyGesture }\n | { 'hand': number, gesture: HandGesture }\n\n/** Person getter\n* - Triggers combining all individual results into a virtual person object\n*/\nexport interface PersonResult {\n /** person id */\n id: number,\n /** face result that belongs to this person */\n face: FaceResult,\n /** body result that belongs to this person */\n body: BodyResult | null,\n /** left and right hand results that belong to this person */\n hands: { left: HandResult | null, right: HandResult | null },\n /** detected gestures specific to this person */\n gestures: GestureResult[],\n /** box that defines the person */\n box: Box,\n /** box that defines the person normalized to 0..1 */\n boxRaw?: Box,\n}\n\n/**\n * Result interface definition for **Human** library\n *\n * Contains all possible detection results\n */\nexport interface Result {\n /** {@link FaceResult}: detection & analysis results */\n face: FaceResult[],\n /** {@link BodyResult}: detection & analysis results */\n body: BodyResult[],\n /** {@link HandResult}: detection & analysis results */\n hand: HandResult[],\n /** {@link GestureResult}: detection & analysis results */\n gesture: GestureResult[],\n /** {@link ObjectResult}: detection & analysis results */\n object: ObjectResult[]\n /** global performance object with timing values for each operation */\n performance: Record,\n /** optional processed canvas that can be used to draw input on screen */\n canvas?: AnyCanvas | null,\n /** timestamp of detection representing the milliseconds elapsed since the UNIX epoch */\n readonly timestamp: number,\n /** getter property that returns unified persons object */\n persons: PersonResult[],\n /** Last known error message */\n error: string | null;\n /** Resolution width */\n width: number,\n /** Resolution height */\n height: number,\n}\n\nexport const empty = (error: string | null = null): Result => ({ face: [], body: [], hand: [], gesture: [], object: [], persons: [], performance: {}, timestamp: 0, width: 0, height: 0, error });\n", "export const kpt: string[] = [ // used to create part labels\n 'nose',\n 'leftEye',\n 'rightEye',\n 'leftEar',\n 'rightEar',\n 'leftShoulder',\n 'rightShoulder',\n 'leftElbow',\n 'rightElbow',\n 'leftWrist',\n 'rightWrist',\n 'leftHip',\n 'rightHip',\n 'leftKnee',\n 'rightKnee',\n 'leftAnkle',\n 'rightAnkle',\n];\n\nexport const horizontal: string[][] = [ // used to fix left vs right\n ['leftEye', 'rightEye'],\n ['leftEar', 'rightEar'],\n ['leftShoulder', 'rightShoulder'],\n ['leftElbow', 'rightElbow'],\n ['leftWrist', 'rightWrist'],\n ['leftHip', 'rightHip'],\n ['leftKnee', 'rightKnee'],\n ['leftAnkle', 'rightAnkle'],\n];\n\nexport const vertical: string[][] = [ // used to remove unlikely keypoint positions\n ['leftKnee', 'leftShoulder'],\n ['rightKnee', 'rightShoulder'],\n ['leftAnkle', 'leftKnee'],\n ['rightAnkle', 'rightKnee'],\n];\n\nexport const relative: string[][][] = [ // used to match relative body parts\n [['leftHip', 'rightHip'], ['leftShoulder', 'rightShoulder']],\n [['leftElbow', 'rightElbow'], ['leftShoulder', 'rightShoulder']],\n];\n\nexport const connected: Record = { // used to create body outline in annotations\n leftLeg: ['leftHip', 'leftKnee', 'leftAnkle'],\n rightLeg: ['rightHip', 'rightKnee', 'rightAnkle'],\n torso: ['leftShoulder', 'rightShoulder', 'rightHip', 'leftHip', 'leftShoulder'],\n leftArm: ['leftShoulder', 'leftElbow', 'leftWrist'],\n rightArm: ['rightShoulder', 'rightElbow', 'rightWrist'],\n head: [],\n};\n", "/**\n * Results interpolation for smoothening of video detection results inbetween detected frames\n */\n\nimport { Result, FaceResult, BodyResult, HandResult, ObjectResult, PersonResult, Box, Point, BodyLandmark, BodyAnnotation, empty } from '../result';\nimport type { Config } from '../config';\n\nimport * as moveNetCoords from '../body/movenetcoords';\nimport * as blazePoseCoords from '../body/blazeposecoords';\nimport * as efficientPoseCoords from '../body/efficientposecoords';\nimport { now } from './util';\nimport { env } from './env';\n\nconst bufferedResult: Result = empty();\nlet interpolateTime = 0;\n\nexport function calc(newResult: Result, config: Config): Result {\n const t0 = now();\n if (!newResult) return empty();\n // each record is only updated using deep clone when number of detected record changes, otherwise it will converge by itself\n // otherwise bufferedResult is a shallow clone of result plus updated local calculated values\n // thus mixing by-reference and by-value assignments to minimize memory operations\n\n const elapsed = Date.now() - newResult.timestamp;\n\n /* curve fitted: buffer = 8 - ln(delay)\n interpolation formula: current = ((buffer - 1) * previous + live) / buffer\n - at 50ms delay buffer = ~4.1 => 28% towards live data\n - at 250ms delay buffer = ~2.5 => 40% towards live data\n - at 500ms delay buffer = ~1.8 => 55% towards live data\n - at 750ms delay buffer = ~1.4 => 71% towards live data\n - at 1sec delay buffer = 1 which means live data is used\n */\n const bufferedFactor = elapsed < 1000 ? 8 - Math.log(elapsed + 1) : 1;\n\n if (newResult.canvas) bufferedResult.canvas = newResult.canvas;\n if (newResult.error) bufferedResult.error = newResult.error;\n\n // interpolate body results\n if (!bufferedResult.body || (newResult.body.length !== bufferedResult.body.length)) {\n bufferedResult.body = JSON.parse(JSON.stringify(newResult.body)) as BodyResult[]; // deep clone once\n } else {\n for (let i = 0; i < newResult.body.length; i++) {\n const box = newResult.body[i].box // update box\n .map((newBoxCoord, j) => ((bufferedFactor - 1) * bufferedResult.body[i].box[j] + newBoxCoord) / bufferedFactor) as Box;\n const boxRaw = newResult.body[i].boxRaw // update boxRaw\n .map((newBoxCoord, j) => ((bufferedFactor - 1) * bufferedResult.body[i].boxRaw[j] + newBoxCoord) / bufferedFactor) as Box;\n const keypoints = (newResult.body[i].keypoints // update keypoints\n .map((newKpt, j) => ({\n score: newKpt.score,\n part: newKpt.part,\n position: [\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].position[0] || 0) + (newKpt.position[0] || 0)) / bufferedFactor : newKpt.position[0],\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].position[1] || 0) + (newKpt.position[1] || 0)) / bufferedFactor : newKpt.position[1],\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].position[2] || 0) + (newKpt.position[2] || 0)) / bufferedFactor : newKpt.position[2],\n ],\n positionRaw: [\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].positionRaw[0] || 0) + (newKpt.positionRaw[0] || 0)) / bufferedFactor : newKpt.positionRaw[0],\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].positionRaw[1] || 0) + (newKpt.positionRaw[1] || 0)) / bufferedFactor : newKpt.positionRaw[1],\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].positionRaw[2] || 0) + (newKpt.positionRaw[2] || 0)) / bufferedFactor : newKpt.positionRaw[2],\n ],\n distance: [\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].distance?.[0] || 0) + (newKpt.distance?.[0] || 0)) / bufferedFactor : newKpt.distance?.[0],\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].distance?.[1] || 0) + (newKpt.distance?.[1] || 0)) / bufferedFactor : newKpt.distance?.[1],\n bufferedResult.body[i].keypoints[j] ? ((bufferedFactor - 1) * (bufferedResult.body[i].keypoints[j].distance?.[2] || 0) + (newKpt.distance?.[2] || 0)) / bufferedFactor : newKpt.distance?.[2],\n ],\n }))) as { score: number, part: BodyLandmark, position: [number, number, number?], positionRaw: [number, number, number?] }[];\n\n const annotations: Record = {} as Record; // recreate annotations\n let coords = { connected: {} };\n if (config.body.modelPath?.includes('efficientpose')) coords = efficientPoseCoords;\n else if (config.body.modelPath?.includes('blazepose')) coords = blazePoseCoords;\n else if (config.body.modelPath?.includes('movenet')) coords = moveNetCoords;\n for (const [name, indexes] of Object.entries(coords.connected as Record)) {\n const pt: Point[][] = [];\n for (let j = 0; j < indexes.length - 1; j++) {\n const pt0 = keypoints.find((kp) => kp.part === indexes[j]);\n const pt1 = keypoints.find((kp) => kp.part === indexes[j + 1]);\n // if (pt0 && pt1 && pt0.score > (config.body.minConfidence || 0) && pt1.score > (config.body.minConfidence || 0)) pt.push([pt0.position, pt1.position]);\n if (pt0 && pt1) pt.push([pt0.position, pt1.position]);\n }\n annotations[name] = pt;\n }\n bufferedResult.body[i] = { ...newResult.body[i], box, boxRaw, keypoints, annotations }; // shallow clone plus updated values\n }\n }\n\n // interpolate hand results\n if (!bufferedResult.hand || (newResult.hand.length !== bufferedResult.hand.length)) {\n bufferedResult.hand = JSON.parse(JSON.stringify(newResult.hand)); // deep clone once\n } else {\n for (let i = 0; i < newResult.hand.length; i++) {\n const box = (newResult.hand[i].box// update box\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.hand[i].box[j] + b) / bufferedFactor)) as Box;\n const boxRaw = (newResult.hand[i].boxRaw // update boxRaw\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.hand[i].boxRaw[j] + b) / bufferedFactor)) as Box;\n if (bufferedResult.hand[i].keypoints.length !== newResult.hand[i].keypoints.length) bufferedResult.hand[i].keypoints = newResult.hand[i].keypoints; // reset keypoints as previous frame did not have them\n const keypoints = newResult.hand[i].keypoints && newResult.hand[i].keypoints.length > 0 ? newResult.hand[i].keypoints // update landmarks\n .map((landmark, j) => landmark\n .map((coord, k) => (((bufferedFactor - 1) * (bufferedResult.hand[i].keypoints[j][k] || 1) + (coord || 0)) / bufferedFactor)) as Point)\n : [];\n let annotations = {};\n if (Object.keys(bufferedResult.hand[i].annotations).length !== Object.keys(newResult.hand[i].annotations).length) {\n bufferedResult.hand[i].annotations = newResult.hand[i].annotations; // reset annotations as previous frame did not have them\n annotations = bufferedResult.hand[i].annotations;\n } else if (newResult.hand[i].annotations) {\n for (const key of Object.keys(newResult.hand[i].annotations)) { // update annotations\n annotations[key] = newResult.hand[i]?.annotations?.[key]?.[0]\n ? newResult.hand[i].annotations[key]\n .map((val, j: number) => val\n .map((coord: number, k: number) => ((bufferedFactor - 1) * bufferedResult.hand[i].annotations[key][j][k] + coord) / bufferedFactor))\n : null;\n }\n }\n bufferedResult.hand[i] = { ...newResult.hand[i], box, boxRaw, keypoints, annotations: annotations as HandResult['annotations'] }; // shallow clone plus updated values\n }\n }\n\n // interpolate face results\n if (!bufferedResult.face || (newResult.face.length !== bufferedResult.face.length)) {\n bufferedResult.face = JSON.parse(JSON.stringify(newResult.face)) as FaceResult[]; // deep clone once\n } else {\n for (let i = 0; i < newResult.face.length; i++) {\n const box = (newResult.face[i].box // update box\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.face[i].box[j] + b) / bufferedFactor)) as Box;\n const boxRaw = (newResult.face[i].boxRaw // update boxRaw\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.face[i].boxRaw[j] + b) / bufferedFactor)) as Box;\n if (newResult.face[i].rotation) {\n const rotation: {\n matrix: [number, number, number, number, number, number, number, number, number],\n angle: { roll: number, yaw: number, pitch: number },\n gaze: { bearing: number, strength: number }\n } = { matrix: [0, 0, 0, 0, 0, 0, 0, 0, 0], angle: { roll: 0, yaw: 0, pitch: 0 }, gaze: { bearing: 0, strength: 0 } };\n rotation.matrix = newResult.face[i].rotation?.matrix as [number, number, number, number, number, number, number, number, number];\n rotation.angle = {\n roll: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.angle?.roll || 0) + (newResult.face[i].rotation?.angle?.roll || 0)) / bufferedFactor,\n yaw: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.angle?.yaw || 0) + (newResult.face[i].rotation?.angle?.yaw || 0)) / bufferedFactor,\n pitch: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.angle?.pitch || 0) + (newResult.face[i].rotation?.angle?.pitch || 0)) / bufferedFactor,\n };\n rotation.gaze = {\n // not fully correct due projection on circle, also causes wrap-around draw on jump from negative to positive\n bearing: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.gaze.bearing || 0) + (newResult.face[i].rotation?.gaze.bearing || 0)) / bufferedFactor,\n strength: ((bufferedFactor - 1) * (bufferedResult.face[i].rotation?.gaze.strength || 0) + (newResult.face[i].rotation?.gaze.strength || 0)) / bufferedFactor,\n };\n bufferedResult.face[i] = { ...newResult.face[i], rotation, box, boxRaw }; // shallow clone plus updated values\n } else {\n bufferedResult.face[i] = { ...newResult.face[i], box, boxRaw }; // shallow clone plus updated values\n }\n }\n }\n\n // interpolate object detection results\n if (!bufferedResult.object || (newResult.object.length !== bufferedResult.object.length)) {\n bufferedResult.object = JSON.parse(JSON.stringify(newResult.object)) as ObjectResult[]; // deep clone once\n } else {\n for (let i = 0; i < newResult.object.length; i++) {\n const box = (newResult.object[i].box // update box\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.object[i].box[j] + b) / bufferedFactor)) as Box;\n const boxRaw = (newResult.object[i].boxRaw // update boxRaw\n .map((b, j) => ((bufferedFactor - 1) * bufferedResult.object[i].boxRaw[j] + b) / bufferedFactor)) as Box;\n bufferedResult.object[i] = { ...newResult.object[i], box, boxRaw }; // shallow clone plus updated values\n }\n }\n\n // interpolate person results\n if (newResult.persons) {\n const newPersons = newResult.persons; // trigger getter function\n if (!bufferedResult.persons || (newPersons.length !== bufferedResult.persons.length)) {\n bufferedResult.persons = JSON.parse(JSON.stringify(newPersons)) as PersonResult[];\n } else {\n for (let i = 0; i < newPersons.length; i++) { // update person box, we don't update the rest as it's updated as reference anyhow\n bufferedResult.persons[i].box = (newPersons[i].box\n .map((box, j) => ((bufferedFactor - 1) * bufferedResult.persons[i].box[j] + box) / bufferedFactor)) as Box;\n }\n }\n }\n\n // copy latest gestures without interpolation\n if (newResult.gesture) bufferedResult.gesture = newResult.gesture;\n\n // copy resolution info\n bufferedResult.width = newResult.width;\n bufferedResult.height = newResult.height;\n\n // append interpolation performance data\n const t1 = now();\n interpolateTime = env.perfadd ? interpolateTime + Math.round(t1 - t0) : Math.round(t1 - t0);\n if (newResult.performance) bufferedResult.performance = { ...newResult.performance, interpolate: interpolateTime };\n\n return bufferedResult;\n}\n", "/**\n * Image segmentation for body detection model\n *\n * Based on:\n * - [**MediaPipe Meet**](https://drive.google.com/file/d/1lnP1bRi9CSqQQXUHa13159vLELYDgDu0/preview)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport { constants } from '../tfjs/constants';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nlet model: GraphModel;\n\nexport async function load(config: Config): Promise {\n if (!model || env.initial) model = await loadModel(config.segmentation.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(input: Tensor4D, config: Config): Promise {\n if (!model) model = await load(config);\n if (!model?.['executor'] || !model?.inputs?.[0].shape) return null; // something is wrong with the model\n const t: Record = {};\n t.resize = tf.image.resizeBilinear(input, [model.inputs[0].shape ? model.inputs[0].shape[1] : 0, model.inputs[0].shape ? model.inputs[0].shape[2] : 0], false);\n t.norm = tf.div(t.resize, constants.tf255);\n t.res = model.execute(t.norm) as Tensor;\n t.squeeze = tf.squeeze(t.res, [0]);\n // t.softmax = tf.softmax(t.squeeze); // model meet has two channels for fg and bg\n [t.bgRaw, t.fgRaw] = tf.unstack(t.squeeze, 2);\n // t.bg = tf.softmax(t.bgRaw); // we can ignore bg channel\n t.fg = tf.softmax(t.fgRaw);\n t.mul = tf.mul(t.fg, constants.tf255);\n t.expand = tf.expandDims(t.mul, 2);\n t.output = tf.image.resizeBilinear(t.expand as Tensor4D, [input.shape[1] || 0, input.shape[2] || 0]);\n let rgba: Tensor;\n switch (config.segmentation.mode || 'default') {\n case 'default':\n t.input = tf.squeeze(input);\n t.concat = tf.concat([t.input, t.output], -1);\n rgba = tf.cast(t.concat, 'int32'); // combined original with alpha\n break;\n case 'alpha':\n rgba = tf.cast(t.output, 'int32'); // just get alpha value from model\n break;\n default:\n rgba = tf.tensor(0);\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return rgba;\n}\n", "/** Face descriptor type as number array */\nexport type Descriptor = number[]\nexport type MatchOptions = { order?: number, threshold?: number, multiplier?: number, min?: number, max?: number } | undefined;\n\n/** Calculates distance between two descriptors\n * @param options - calculation options\n * - order - algorithm to use\n * Euclidean distance if `order` is 2 (default), Minkowski distance algorithm of nth order if `order` is higher than 2\n * - multiplier - by how much to enhance difference analysis in range of 1..100\n * default is 20 which normalizes results to similarity above 0.5 can be considered a match\n */\nexport function distance(descriptor1: Descriptor, descriptor2: Descriptor, options: MatchOptions = { order: 2, multiplier: 25 }) {\n // general minkowski distance, euclidean distance is limited case where order is 2\n if (!descriptor1 || !descriptor1) return Number.MAX_SAFE_INTEGER;\n let sum = 0;\n for (let i = 0; i < descriptor1.length; i++) {\n const diff = (!options.order || options.order === 2) ? (descriptor1[i] - descriptor2[i]) : (Math.abs(descriptor1[i] - descriptor2[i]));\n sum += (!options.order || options.order === 2) ? (diff * diff) : (diff ** options.order);\n }\n return (options.multiplier || 20) * sum;\n}\n\n// invert distance to similarity, normalize to given range and clamp\nconst normalizeDistance = (dist, order, min, max) => {\n if (dist === 0) return 1; // short circuit for identical inputs\n const root = order === 2 ? Math.sqrt(dist) : dist ** (1 / order); // take root of distance\n const norm = (1 - (root / 100) - min) / (max - min); // normalize to range\n const clamp = Math.max(Math.min(norm, 1), 0); // clamp to 0..1\n return clamp;\n};\n\n/** Calculates normalized similarity between two face descriptors based on their `distance`\n * @param options - calculation options\n * - order - algorithm to use\n * Euclidean distance if `order` is 2 (default), Minkowski distance algorithm of nth order if `order` is higher than 2\n * - multiplier - by how much to enhance difference analysis in range of 1..100\n * default is 20 which normalizes results to similarity above 0.5 can be considered a match\n * - min - normalize similarity result to a given range\n * - max - normalzie similarity resutl to a given range\n * default is 0.2...0.8\n * Returns similarity between two face descriptors normalized to 0..1 range where 0 is no similarity and 1 is perfect similarity\n */\nexport function similarity(descriptor1: Descriptor, descriptor2: Descriptor, options: MatchOptions = { order: 2, multiplier: 25, min: 0.2, max: 0.8 }) {\n const dist = distance(descriptor1, descriptor2, options);\n return normalizeDistance(dist, options.order || 2, options.min || 0, options.max || 1);\n}\n\n/** Matches given descriptor to a closest entry in array of descriptors\n * @param descriptor - face descriptor\n * @param descriptors - array of face descriptors to commpare given descriptor to\n * @param options - see `similarity` method for options description\n * Returns\n * - `index` index array index where best match was found or -1 if no matches\n * - `distance` calculated `distance` of given descriptor to the best match\n * - `similarity` calculated normalized `similarity` of given descriptor to the best match\n*/\nexport function find(descriptor: Descriptor, descriptors: Descriptor[], options: MatchOptions = { order: 2, multiplier: 25, threshold: 0, min: 0.2, max: 0.8 }) {\n if (!Array.isArray(descriptor) || !Array.isArray(descriptors) || descriptor.length < 64 || descriptors.length === 0) { // validate input\n return { index: -1, distance: Number.POSITIVE_INFINITY, similarity: 0 };\n }\n let lowestDistance = Number.MAX_SAFE_INTEGER;\n let index = -1;\n for (let i = 0; i < descriptors.length; i++) {\n const res = descriptors[i].length === descriptor.length ? distance(descriptor, descriptors[i], options) : Number.MAX_SAFE_INTEGER;\n if (res < lowestDistance) {\n lowestDistance = res;\n index = i;\n }\n if (lowestDistance < (options.threshold || 0)) break;\n }\n const normalizedSimilarity = normalizeDistance(lowestDistance, options.order || 2, options.min || 0, options.max || 1);\n return { index, distance: lowestDistance, similarity: normalizedSimilarity };\n}\n", "/**\n * Loader and Validator for all models used by Human\n */\n\nimport { env } from './util/env';\nimport { log } from './util/util';\nimport * as antispoof from './face/antispoof';\nimport * as blazeface from './face/blazeface';\nimport * as blazepose from './body/blazepose';\nimport * as centernet from './object/centernet';\nimport * as efficientpose from './body/efficientpose';\nimport * as emotion from './gear/emotion';\nimport * as facemesh from './face/facemesh';\nimport * as faceres from './face/faceres';\nimport * as gear from './gear/gear';\nimport * as handpose from './hand/handpose';\nimport * as handtrack from './hand/handtrack';\nimport * as insightface from './face/insightface';\nimport * as iris from './face/iris';\nimport * as liveness from './face/liveness';\nimport * as meet from './segmentation/meet';\nimport * as mobilefacenet from './face/mobilefacenet';\nimport * as movenet from './body/movenet';\nimport * as nanodet from './object/nanodet';\nimport * as posenet from './body/posenet';\nimport * as rvm from './segmentation/rvm';\nimport * as selfie from './segmentation/selfie';\nimport * as ssrnetAge from './gear/ssrnet-age';\nimport * as ssrnetGender from './gear/ssrnet-gender';\nimport { modelStats, ModelInfo } from './tfjs/load';\nimport type { GraphModel } from './tfjs/types';\nimport type { Human } from './human';\n\nexport interface KernelOps { name: string, url: string, missing: string[], ops: string[] }\n\nexport function validateModel(instance: Human | null, model: GraphModel | null, name: string): KernelOps | null {\n if (!model) return null;\n if (!instance?.config?.validateModels) return null;\n const simpleOps = ['const', 'placeholder', 'noop', 'pad', 'squeeze', 'add', 'sub', 'mul', 'div'];\n const ignoreOps = ['biasadd', 'fusedbatchnormv3', 'matmul', 'switch', 'shape', 'merge', 'split', 'broadcastto'];\n const ops: string[] = [];\n const missing: string[] = [];\n interface Op { name: string, category: string, op: string }\n const url = model['modelUrl'] as string;\n const executor = model['executor'];\n if (executor?.graph?.nodes) {\n for (const kernel of Object.values(executor.graph.nodes)) {\n const op = (kernel as Op).op.toLowerCase();\n if (!ops.includes(op)) ops.push(op);\n }\n } else {\n if (!executor && instance.config.debug) {\n log('model not loaded', name);\n }\n }\n for (const op of ops) {\n if (!simpleOps.includes(op) // exclude simple ops\n && !ignoreOps.includes(op) // exclude specific ops\n && !instance.env.kernels.includes(op) // check actual kernel ops\n && !instance.env.kernels.includes(op.replace('_', '')) // check variation without _\n && !instance.env.kernels.includes(op.replace('native', '')) // check standard variation\n && !instance.env.kernels.includes(op.replace('v2', ''))) { // check non-versioned variation\n missing.push(op);\n }\n }\n if (instance.config.debug && missing.length > 0) log('model validation failed:', name, missing);\n return missing.length > 0 ? { name, missing, ops, url } : null;\n}\n\n/** structure that holds global stats for currently loaded models */\nexport interface ModelStats {\n numLoadedModels: number,\n numDefinedModels: number,\n percentageLoaded: number,\n totalSizeFromManifest: number,\n totalSizeWeights: number,\n totalSizeLoading: number,\n modelStats: ModelInfo[],\n}\n\n/** Models class used by Human\n * - models: record of all GraphModels\n * - list: returns list of configured models with their stats\n * - loaded: returns array of loaded models\n * - reset: unloads all models\n * - validate: checks loaded models for valid kernel ops vs current backend\n * - stats: live detailed model stats that can be checked during model load phase\n */\nexport class Models {\n private instance: Human;\n models: Record = {};\n\n constructor(currentInstance: Human) {\n this.models = {};\n this.instance = currentInstance;\n }\n\n stats(): ModelStats {\n let totalSizeFromManifest = 0;\n let totalSizeWeights = 0;\n let totalSizeLoading = 0;\n for (const m of Object.values(modelStats)) {\n totalSizeFromManifest += m.sizeFromManifest;\n totalSizeWeights += m.sizeLoadedWeights;\n totalSizeLoading += m.sizeDesired;\n }\n const percentageLoaded = totalSizeLoading > 0 ? totalSizeWeights / totalSizeLoading : 0;\n return {\n numLoadedModels: Object.values(modelStats).length,\n numDefinedModels: Object.keys(this.models).length,\n percentageLoaded,\n totalSizeFromManifest,\n totalSizeWeights,\n totalSizeLoading,\n modelStats: Object.values(modelStats),\n };\n }\n\n reset(): void {\n for (const model of Object.keys(this.models)) this.models[model] = null;\n }\n\n async load(instance?: Human): Promise {\n if (env.initial) this.reset();\n if (instance) this.instance = instance;\n const m: Record> = {};\n // face main models\n m.blazeface = (this.instance.config.face.enabled && !this.models.blazeface) ? blazeface.load(this.instance.config) : null;\n m.antispoof = (this.instance.config.face.enabled && this.instance.config.face.antispoof?.enabled && !this.models.antispoof) ? antispoof.load(this.instance.config) : null;\n m.liveness = (this.instance.config.face.enabled && this.instance.config.face.liveness?.enabled && !this.models.liveness) ? liveness.load(this.instance.config) : null;\n m.faceres = (this.instance.config.face.enabled && this.instance.config.face.description?.enabled && !this.models.faceres) ? faceres.load(this.instance.config) : null;\n m.emotion = (this.instance.config.face.enabled && this.instance.config.face.emotion?.enabled && !this.models.emotion) ? emotion.load(this.instance.config) : null;\n m.iris = (this.instance.config.face.enabled && this.instance.config.face.iris?.enabled && !this.instance.config.face.attention?.enabled && !this.models.iris) ? iris.load(this.instance.config) : null;\n m.facemesh = (this.instance.config.face.enabled && this.instance.config.face.mesh?.enabled && (!this.models.facemesh)) ? facemesh.load(this.instance.config) : null;\n // face alternatives\n m.gear = (this.instance.config.face.enabled && this.instance.config.face['gear']?.enabled && !this.models.gear) ? gear.load(this.instance.config) : null;\n m.ssrnetage = (this.instance.config.face.enabled && this.instance.config.face['ssrnet']?.enabled && !this.models.ssrnetage) ? ssrnetAge.load(this.instance.config) : null;\n m.ssrnetgender = (this.instance.config.face.enabled && this.instance.config.face['ssrnet']?.enabled && !this.models.ssrnetgender) ? ssrnetGender.load(this.instance.config) : null;\n m.mobilefacenet = (this.instance.config.face.enabled && this.instance.config.face['mobilefacenet']?.enabled && !this.models.mobilefacenet) ? mobilefacenet.load(this.instance.config) : null;\n m.insightface = (this.instance.config.face.enabled && this.instance.config.face['insightface']?.enabled && !this.models.insightface) ? insightface.load(this.instance.config) : null;\n // body alterinatives\n m.blazepose = (this.instance.config.body.enabled && !this.models.blazepose && this.instance.config.body.modelPath?.includes('blazepose')) ? blazepose.loadPose(this.instance.config) : null;\n m.blazeposedetect = (this.instance.config.body.enabled && !this.models.blazeposedetect && this.instance.config.body['detector'] && this.instance.config.body['detector'].modelPath) ? blazepose.loadDetect(this.instance.config) : null;\n m.efficientpose = (this.instance.config.body.enabled && !this.models.efficientpose && this.instance.config.body.modelPath?.includes('efficientpose')) ? efficientpose.load(this.instance.config) : null;\n m.movenet = (this.instance.config.body.enabled && !this.models.movenet && this.instance.config.body.modelPath?.includes('movenet')) ? movenet.load(this.instance.config) : null;\n m.posenet = (this.instance.config.body.enabled && !this.models.posenet && this.instance.config.body.modelPath?.includes('posenet')) ? posenet.load(this.instance.config) : null;\n // hand alternatives\n m.handtrack = (this.instance.config.hand.enabled && !this.models.handtrack && this.instance.config.hand.detector?.modelPath?.includes('handtrack')) ? handtrack.loadDetect(this.instance.config) : null;\n m.handskeleton = (this.instance.config.hand.enabled && this.instance.config.hand.landmarks && !this.models.handskeleton && this.instance.config.hand.detector?.modelPath?.includes('handtrack')) ? handtrack.loadSkeleton(this.instance.config) : null;\n if (this.instance.config.hand.detector?.modelPath?.includes('handdetect')) [m.handpose, m.handskeleton] = (!this.models.handpose) ? await handpose.load(this.instance.config) : [null, null];\n // object detection alternatives\n m.centernet = (this.instance.config.object.enabled && !this.models.centernet && this.instance.config.object.modelPath?.includes('centernet')) ? centernet.load(this.instance.config) : null;\n m.nanodet = (this.instance.config.object.enabled && !this.models.nanodet && this.instance.config.object.modelPath?.includes('nanodet')) ? nanodet.load(this.instance.config) : null;\n // segmentation alternatives\n m.selfie = (this.instance.config.segmentation.enabled && !this.models.selfie && this.instance.config.segmentation.modelPath?.includes('selfie')) ? selfie.load(this.instance.config) : null;\n m.meet = (this.instance.config.segmentation.enabled && !this.models.meet && this.instance.config.segmentation.modelPath?.includes('meet')) ? meet.load(this.instance.config) : null;\n m.rvm = (this.instance.config.segmentation.enabled && !this.models.rvm && this.instance.config.segmentation.modelPath?.includes('rvm')) ? rvm.load(this.instance.config) : null;\n\n // models are loaded in parallel asynchronously so lets wait until they are actually loaded\n for (const [model, promise] of Object.entries(m)) {\n if (promise?.['then']) promise['then']((val) => this.models[model] = val);\n }\n await Promise.all(Object.values(m)); // wait so this function does not resolve prematurely\n }\n\n list() {\n const models = Object.keys(this.models).map((model) => ({ name: model, loaded: (this.models[model] !== null), size: 0, url: this.models[model] ? this.models[model]?.['modelUrl'] : null }));\n for (const m of models) {\n const stats = Object.keys(modelStats).find((s) => s.startsWith(m.name));\n if (!stats) continue;\n m.size = modelStats[stats].sizeLoadedWeights;\n m.url = modelStats[stats].url;\n }\n return models;\n }\n\n loaded() {\n const list = this.list();\n const loaded = list.filter((model) => model.loaded).map((model) => model.name);\n return loaded;\n }\n\n validate(): { name: string, missing: string[] }[] {\n const missing: KernelOps[] = [];\n for (const defined of Object.keys(this.models)) {\n const model: GraphModel | null = this.models[defined as keyof Models];\n if (!model) continue;\n const res = validateModel(this.instance, model, defined);\n if (res) missing.push(res);\n }\n return missing;\n }\n}\n", "import * as tf from 'dist/tfjs.esm.js';\nimport type { BodyKeypoint, BodyResult } from '../result';\nimport * as box from '../util/box';\nimport * as coords from './movenetcoords';\nimport type { Tensor, Tensor3D } from '../tfjs/types';\n\nconst maxJitter = 0.005; // default allowed jitter is within 0.5%\n\nconst cache: {\n keypoints: BodyKeypoint[],\n padding: [number, number][];\n} = {\n keypoints: [],\n padding: [[0, 0], [0, 0], [0, 0], [0, 0]],\n};\n\nexport function bodyParts(body: BodyResult) { // model sometimes mixes up left vs right keypoints so we fix them\n for (const pair of coords.horizontal) { // fix body parts left vs right\n const left = body.keypoints.findIndex((kp) => kp.part === pair[0]);\n const right = body.keypoints.findIndex((kp) => kp.part === pair[1]);\n if (body.keypoints[left] && body.keypoints[right]) {\n if (body.keypoints[left].position[0] < body.keypoints[right].position[0]) {\n const tmp = body.keypoints[left];\n body.keypoints[left] = body.keypoints[right];\n body.keypoints[right] = tmp;\n }\n }\n }\n for (const pair of coords.vertical) { // remove body parts with improbable vertical position\n const lower = body.keypoints.findIndex((kp) => (kp && kp.part === pair[0]));\n const higher = body.keypoints.findIndex((kp) => (kp && kp.part === pair[1]));\n if (body.keypoints[lower] && body.keypoints[higher]) {\n if (body.keypoints[lower].position[1] < body.keypoints[higher].position[1]) {\n body.keypoints.splice(lower, 1);\n }\n }\n }\n for (const [pair, compare] of coords.relative) { // rearrange body parts according to their relative position\n const left = body.keypoints.findIndex((kp) => (kp && kp.part === pair[0]));\n const right = body.keypoints.findIndex((kp) => (kp && kp.part === pair[1]));\n const leftTo = body.keypoints.findIndex((kp) => (kp && kp.part === compare[0]));\n const rightTo = body.keypoints.findIndex((kp) => (kp && kp.part === compare[1]));\n if (!body.keypoints[leftTo] || !body.keypoints[rightTo]) continue; // only if we have both compare points\n const distanceLeft = body.keypoints[left] ? [\n Math.abs(body.keypoints[leftTo].position[0] - body.keypoints[left].position[0]),\n Math.abs(body.keypoints[rightTo].position[0] - body.keypoints[left].position[0]),\n ] : [0, 0];\n const distanceRight = body.keypoints[right] ? [\n Math.abs(body.keypoints[rightTo].position[0] - body.keypoints[right].position[0]),\n Math.abs(body.keypoints[leftTo].position[0] - body.keypoints[right].position[0]),\n ] : [0, 0];\n if (distanceLeft[0] > distanceLeft[1] || distanceRight[0] > distanceRight[1]) { // should flip keypoints\n const tmp = body.keypoints[left];\n body.keypoints[left] = body.keypoints[right];\n body.keypoints[right] = tmp;\n }\n }\n}\n\nexport function jitter(keypoints: BodyKeypoint[]): BodyKeypoint[] {\n for (let i = 0; i < keypoints.length; i++) {\n if (keypoints[i] && cache.keypoints[i]) {\n const diff = [Math.abs(keypoints[i].positionRaw[0] - cache.keypoints[i].positionRaw[0]), Math.abs(keypoints[i].positionRaw[1] - cache.keypoints[i].positionRaw[1])];\n if (diff[0] < maxJitter && diff[1] < maxJitter) {\n keypoints[i] = cache.keypoints[i]; // below jitter so replace keypoint\n } else {\n cache.keypoints[i] = keypoints[i]; // above jitter so update cache\n }\n } else {\n cache.keypoints[i] = keypoints[i]; // cache for keypoint doesnt exist so create it here\n }\n }\n return keypoints;\n}\n\nexport function padInput(input: Tensor, inputSize: number): Tensor {\n const t: Record = {};\n if (!input?.shape?.[1] || !input?.shape?.[2]) return input;\n cache.padding = [\n [0, 0], // dont touch batch\n [input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0, input.shape[2] > input.shape[1] ? Math.trunc((input.shape[2] - input.shape[1]) / 2) : 0], // height before&after\n [input.shape[1] > input.shape[2] ? Math.trunc((input.shape[1] - input.shape[2]) / 2) : 0, input.shape[1] > input.shape[2] ? Math.trunc((input.shape[1] - input.shape[2]) / 2) : 0], // width before&after\n [0, 0], // dont touch rbg\n ];\n t.pad = tf.pad(input, cache.padding);\n t.resize = tf.image.resizeBilinear(t.pad as Tensor3D, [inputSize, inputSize]);\n const final = tf.cast(t.resize, 'int32');\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return final;\n}\n\nexport function rescaleBody(body: BodyResult, outputSize: [number, number]): BodyResult {\n body.keypoints = body.keypoints.filter((kpt) => kpt?.position); // filter invalid keypoints\n for (const kpt of body.keypoints) {\n kpt.position = [\n kpt.position[0] * (outputSize[0] + cache.padding[2][0] + cache.padding[2][1]) / outputSize[0] - cache.padding[2][0],\n kpt.position[1] * (outputSize[1] + cache.padding[1][0] + cache.padding[1][1]) / outputSize[1] - cache.padding[1][0],\n ];\n kpt.positionRaw = [\n kpt.position[0] / outputSize[0], kpt.position[1] / outputSize[1],\n ];\n }\n const rescaledBoxes = box.calc(body.keypoints.map((pt) => pt.position), outputSize);\n body.box = rescaledBoxes.box;\n body.boxRaw = rescaledBoxes.boxRaw;\n return body;\n}\n", "/**\n * MoveNet model implementation\n *\n * Based on: [**MoveNet**](https://blog.tensorflow.org/2021/05/next-generation-pose-detection-with-movenet-and-tensorflowjs.html)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport * as box from '../util/box';\nimport * as coords from './movenetcoords';\nimport * as fix from './movenetfix';\nimport { loadModel } from '../tfjs/load';\nimport type { BodyKeypoint, BodyResult, BodyLandmark, BodyAnnotation, Box, Point } from '../result';\nimport type { GraphModel, Tensor } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { fakeOps } from '../tfjs/backend';\nimport { env } from '../util/env';\n\nlet model: GraphModel | null;\nlet inputSize = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\n// const boxExpandFact = 1.5; // increase to 150%\n\nconst cache: {\n boxes: Box[], // unused\n bodies: BodyResult[];\n last: number,\n} = {\n boxes: [],\n bodies: [],\n last: 0,\n};\n\nexport async function load(config: Config): Promise {\n if (env.initial) model = null;\n if (!model) {\n fakeOps(['size'], config);\n model = await loadModel(config.body.modelPath);\n } else if (config.debug) log('cached model:', model['modelUrl']);\n inputSize = (model?.['executor'] && model?.inputs?.[0].shape) ? model.inputs[0].shape[2] : 0;\n if (inputSize < 64) inputSize = 256;\n return model;\n}\n\nfunction parseSinglePose(res, config, image) {\n const kpt = res[0][0];\n const keypoints: BodyKeypoint[] = [];\n let score = 0;\n for (let id = 0; id < kpt.length; id++) {\n score = kpt[id][2];\n if (score > config.body.minConfidence) {\n const positionRaw: Point = [kpt[id][1], kpt[id][0]];\n keypoints.push({\n score: Math.round(100 * score) / 100,\n part: coords.kpt[id] as BodyLandmark,\n positionRaw,\n position: [ // normalized to input image size\n Math.round((image.shape[2] || 0) * positionRaw[0]),\n Math.round((image.shape[1] || 0) * positionRaw[1]),\n ],\n });\n }\n }\n score = keypoints.reduce((prev, curr) => (curr.score > prev ? curr.score : prev), 0);\n const bodies: BodyResult[] = [];\n const newBox = box.calc(keypoints.map((pt) => pt.position), [image.shape[2], image.shape[1]]);\n const annotations: Record = {};\n for (const [name, indexes] of Object.entries(coords.connected)) {\n const pt: Point[][] = [];\n for (let i = 0; i < indexes.length - 1; i++) {\n const pt0 = keypoints.find((kp) => kp.part === indexes[i]);\n const pt1 = keypoints.find((kp) => kp.part === indexes[i + 1]);\n if (pt0 && pt1 && pt0.score > (config.body.minConfidence || 0) && pt1.score > (config.body.minConfidence || 0)) pt.push([pt0.position, pt1.position]);\n }\n annotations[name] = pt;\n }\n const body: BodyResult = { id: 0, score, box: newBox.box, boxRaw: newBox.boxRaw, keypoints, annotations };\n fix.bodyParts(body);\n bodies.push(body);\n return bodies;\n}\n\nfunction parseMultiPose(res, config, image) {\n const bodies: BodyResult[] = [];\n for (let id = 0; id < res[0].length; id++) {\n const kpt = res[0][id];\n const totalScore = Math.round(100 * kpt[51 + 4]) / 100;\n if (totalScore > config.body.minConfidence) {\n const keypoints: BodyKeypoint[] = [];\n for (let i = 0; i < 17; i++) {\n const score = kpt[3 * i + 2];\n if (score > config.body.minConfidence) {\n const positionRaw: Point = [kpt[3 * i + 1], kpt[3 * i + 0]];\n keypoints.push({\n part: coords.kpt[i] as BodyLandmark,\n score: Math.round(100 * score) / 100,\n positionRaw,\n position: [Math.round((image.shape[2] || 0) * positionRaw[0]), Math.round((image.shape[1] || 0) * positionRaw[1])],\n });\n }\n }\n const newBox = box.calc(keypoints.map((pt) => pt.position), [image.shape[2], image.shape[1]]);\n // movenet-multipose has built-in box details\n // const boxRaw: Box = [kpt[51 + 1], kpt[51 + 0], kpt[51 + 3] - kpt[51 + 1], kpt[51 + 2] - kpt[51 + 0]];\n // const box: Box = [Math.trunc(boxRaw[0] * (image.shape[2] || 0)), Math.trunc(boxRaw[1] * (image.shape[1] || 0)), Math.trunc(boxRaw[2] * (image.shape[2] || 0)), Math.trunc(boxRaw[3] * (image.shape[1] || 0))];\n const annotations: Record = {} as Record;\n for (const [name, indexes] of Object.entries(coords.connected)) {\n const pt: Point[][] = [];\n for (let i = 0; i < indexes.length - 1; i++) {\n const pt0 = keypoints.find((kp) => kp.part === indexes[i]);\n const pt1 = keypoints.find((kp) => kp.part === indexes[i + 1]);\n if (pt0 && pt1 && pt0.score > (config.body.minConfidence || 0) && pt1.score > (config.body.minConfidence || 0)) pt.push([pt0.position, pt1.position]);\n }\n annotations[name] = pt;\n }\n const body: BodyResult = { id, score: totalScore, box: newBox.box, boxRaw: newBox.boxRaw, keypoints: [...keypoints], annotations };\n fix.bodyParts(body);\n bodies.push(body);\n }\n }\n bodies.sort((a, b) => b.score - a.score);\n if (bodies.length > config.body.maxDetected) bodies.length = config.body.maxDetected;\n return bodies;\n}\n\nexport async function predict(input: Tensor, config: Config): Promise {\n if (!model?.['executor'] || !model?.inputs?.[0].shape) return []; // something is wrong with the model\n if (!config.skipAllowed) cache.boxes.length = 0; // allowed to use cache or not\n skipped++; // increment skip frames\n const skipTime = (config.body.skipTime || 0) > (now() - cache.last);\n const skipFrame = skipped < (config.body.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame) {\n return cache.bodies; // return cached results without running anything\n }\n return new Promise(async (resolve) => {\n const t: Record = {};\n skipped = 0;\n // run detection on squared input and cached boxes\n /*\n cache.bodies = []; // reset bodies result\n if (cache.boxes.length >= (config.body.maxDetected || 0)) { // if we have enough cached boxes run detection using cache\n for (let i = 0; i < cache.boxes.length; i++) { // run detection based on cached boxes\n t.crop = tf.image.cropAndResize(input, [cache.boxes[i]], [0], [inputSize, inputSize], 'bilinear');\n t.cast = tf.cast(t.crop, 'int32');\n // t.input = prepareImage(input);\n t.res = model?.execute(t.cast) as Tensor;\n const res = await t.res.array();\n const newBodies = (t.res.shape[2] === 17) ? await parseSinglePose(res, config, input, cache.boxes[i]) : await parseMultiPose(res, config, input, cache.boxes[i]);\n cache.bodies = cache.bodies.concat(newBodies);\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n }\n }\n if (cache.bodies.length !== config.body.maxDetected) { // did not find enough bodies based on cached boxes so run detection on full frame\n t.input = prepareImage(input);\n t.res = model?.execute(t.input) as Tensor;\n const res = await t.res.array();\n cache.bodies = (t.res.shape[2] === 17) ? await parseSinglePose(res, config, input, [0, 0, 1, 1]) : await parseMultiPose(res, config, input, [0, 0, 1, 1]);\n for (const body of cache.bodies) rescaleBody(body, [input.shape[2] || 1, input.shape[1] || 1]);\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n }\n cache.boxes.length = 0; // reset cache\n for (let i = 0; i < cache.bodies.length; i++) {\n if (cache.bodies[i].keypoints.length > (coords.kpt.length / 2)) { // only update cache if we detected at least half keypoints\n const scaledBox = box.scale(cache.bodies[i].boxRaw, boxExpandFact);\n const cropBox = box.crop(scaledBox);\n cache.boxes.push(cropBox);\n }\n }\n */\n\n // run detection on squared input and no cached boxes\n t.input = fix.padInput(input, inputSize);\n t.res = model?.execute(t.input) as Tensor;\n cache.last = now();\n const res = await t.res.array();\n cache.bodies = (t.res.shape[2] === 17)\n ? parseSinglePose(res, config, input)\n : parseMultiPose(res, config, input);\n for (const body of cache.bodies) {\n fix.rescaleBody(body, [input.shape[2] || 1, input.shape[1] || 1]);\n fix.jitter(body.keypoints);\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n\n resolve(cache.bodies);\n });\n}\n", "/**\n * NanoDet object detection model implementation\n *\n * Based on: [**NanoDet**](https://github.com/RangiLyu/nanodet)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport { constants } from '../tfjs/constants';\nimport { labels } from './labels';\nimport type { ObjectResult, ObjectType, Box } from '../result';\nimport type { GraphModel, Tensor, Tensor2D, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nlet model: GraphModel;\nlet last: ObjectResult[] = [];\nlet lastTime = 0;\nlet skipped = Number.MAX_SAFE_INTEGER;\nlet inputSize = 0;\n\nconst scaleBox = 2.5; // increase box size\n\nexport async function load(config: Config): Promise {\n if (!model || env.initial) {\n model = await loadModel(config.object.modelPath);\n const inputs = model?.['executor'] ? Object.values(model.modelSignature['inputs']) : undefined;\n inputSize = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 416;\n } else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nasync function process(res: Tensor[], outputShape: [number, number], config: Config) {\n let id = 0;\n let results: ObjectResult[] = [];\n const size = inputSize;\n for (const strideSize of [1, 2, 4]) { // try each stride size as it detects large/medium/small objects\n // find scores, boxes, classes\n const baseSize = strideSize * 13; // 13x13=169, 26x26=676, 52x52=2704\n // find boxes and scores output depending on stride\n const scoresT = tf.squeeze(res.find((a) => (a.shape[1] === (baseSize ** 2) && (a.shape[2] || 0) === labels.length)) as Tensor2D);\n const scores = await scoresT.array(); // optionally use exponential scores or just as-is\n const featuresT = tf.squeeze(res.find((a) => (a.shape[1] === (baseSize ** 2) && (a.shape[2] || 0) < labels.length)) as Tensor2D);\n const boxesMaxT = tf.reshape(featuresT, [-1, 4, (featuresT.shape?.[1] || 0) / 4]); // reshape [output] to [4, output / 4] where number is number of different features inside each stride\n const boxIdxT = tf.argMax(boxesMaxT, 2); // what we need is indexes of features with highest scores, not values itself\n const boxIdx = await boxIdxT.array(); // what we need is indexes of features with highest scores, not values itself\n for (let i = 0; i < scoresT.shape[0]; i++) { // total strides (x * y matrix)\n for (let j = 0; j < (scoresT.shape?.[1] || 0); j++) { // one score for each class\n const score = scores[i][j]; // get score for current position\n if (score > (config.object.minConfidence || 0) && j !== 61) {\n const cx = (0.5 + Math.trunc(i % baseSize)) / baseSize; // center.x normalized to range 0..1\n const cy = (0.5 + Math.trunc(i / baseSize)) / baseSize; // center.y normalized to range 0..1\n const boxOffset = boxIdx[i].map((a: number) => a * (baseSize / strideSize / (size))); // just grab indexes of features with highest scores\n const [x, y] = [\n cx - (scaleBox / strideSize * boxOffset[0]),\n cy - (scaleBox / strideSize * boxOffset[1]),\n ];\n const [w, h] = [\n cx + (scaleBox / strideSize * boxOffset[2]) - x,\n cy + (scaleBox / strideSize * boxOffset[3]) - y,\n ];\n let boxRaw: Box = [x, y, w, h]; // results normalized to range 0..1\n boxRaw = boxRaw.map((a) => Math.max(0, Math.min(a, 1))) as Box; // fix out-of-bounds coords\n const box = [ // results normalized to input image pixels\n boxRaw[0] * outputShape[0],\n boxRaw[1] * outputShape[1],\n boxRaw[2] * outputShape[0],\n boxRaw[3] * outputShape[1],\n ];\n const result = {\n id: id++,\n // strideSize,\n score: Math.round(100 * score) / 100,\n class: j + 1,\n label: labels[j].label as ObjectType,\n // center: [Math.trunc(outputShape[0] * cx), Math.trunc(outputShape[1] * cy)],\n // centerRaw: [cx, cy],\n box: box.map((a) => Math.trunc(a)) as Box,\n boxRaw,\n };\n results.push(result);\n }\n }\n }\n tf.dispose([scoresT, featuresT, boxesMaxT, boxIdxT]);\n }\n\n // normally nms is run on raw results, but since boxes need to be calculated this way we skip calulcation of\n // unnecessary boxes and run nms only on good candidates (basically it just does IOU analysis as scores are already filtered)\n const nmsBoxes = results.map((a) => [a.boxRaw[1], a.boxRaw[0], a.boxRaw[3], a.boxRaw[2]]); // switches coordinates from x,y to y,x as expected by tf.nms\n const nmsScores = results.map((a) => a.score);\n let nmsIdx: number[] = [];\n if (nmsBoxes && nmsBoxes.length > 0) {\n const nms = await tf.image.nonMaxSuppressionAsync(nmsBoxes, nmsScores, config.object.maxDetected || 0, config.object.iouThreshold, config.object.minConfidence);\n nmsIdx = Array.from(await nms.data());\n tf.dispose(nms);\n }\n\n // filter & sort results\n results = results\n .filter((_val, idx) => nmsIdx.includes(idx))\n .sort((a, b) => (b.score - a.score));\n\n return results;\n}\n\nexport async function predict(image: Tensor4D, config: Config): Promise {\n if (!model?.['executor']) return [];\n const skipTime = (config.object.skipTime || 0) > (now() - lastTime);\n const skipFrame = skipped < (config.object.skipFrames || 0);\n if (config.skipAllowed && skipTime && skipFrame && (last.length > 0)) {\n skipped++;\n return last;\n }\n skipped = 0;\n if (!env.kernels.includes('mod') || !env.kernels.includes('sparsetodense')) return last;\n return new Promise(async (resolve) => {\n const outputSize = [image.shape[2] || 0, image.shape[1] || 0];\n const resizeT = tf.image.resizeBilinear(image, [inputSize, inputSize], false);\n const normT = tf.div(resizeT, constants.tf255);\n const transposeT = tf.transpose(normT, [0, 3, 1, 2]);\n\n let objectT;\n if (config.object.enabled) objectT = model.execute(transposeT);\n lastTime = now();\n\n const obj = await process(objectT as Tensor[], outputSize as [number, number], config);\n last = obj;\n tf.dispose([resizeT, normT, transposeT, ...objectT]);\n resolve(obj);\n });\n}\n", "/**\n * PoseNet body detection model implementation constants\n * See `posenet.ts` for entry point\n */\n\nimport type { Point, BodyResult, BodyAnnotation, BodyLandmark } from '../result';\n\nexport const partNames = [\n 'nose', 'leftEye', 'rightEye', 'leftEar', 'rightEar', 'leftShoulder',\n 'rightShoulder', 'leftElbow', 'rightElbow', 'leftWrist', 'rightWrist',\n 'leftHip', 'rightHip', 'leftKnee', 'rightKnee', 'leftAnkle', 'rightAnkle',\n];\n\nexport const count = partNames.length; // 17 keypoints\n\nexport const partIds = partNames.reduce((result, jointName, i) => {\n result[jointName] = i;\n return result;\n}, {});\n\nconst connectedPartNames = [\n ['leftHip', 'leftShoulder'], ['leftElbow', 'leftShoulder'],\n ['leftElbow', 'leftWrist'], ['leftHip', 'leftKnee'],\n ['leftKnee', 'leftAnkle'], ['rightHip', 'rightShoulder'],\n ['rightElbow', 'rightShoulder'], ['rightElbow', 'rightWrist'],\n ['rightHip', 'rightKnee'], ['rightKnee', 'rightAnkle'],\n ['leftShoulder', 'rightShoulder'], ['leftHip', 'rightHip'],\n];\nexport const connectedPartIndices = connectedPartNames.map(([jointNameA, jointNameB]) => ([partIds[jointNameA], partIds[jointNameB]]));\n\nexport const poseChain = [\n ['nose', 'leftEye'], ['leftEye', 'leftEar'], ['nose', 'rightEye'],\n ['rightEye', 'rightEar'], ['nose', 'leftShoulder'],\n ['leftShoulder', 'leftElbow'], ['leftElbow', 'leftWrist'],\n ['leftShoulder', 'leftHip'], ['leftHip', 'leftKnee'],\n ['leftKnee', 'leftAnkle'], ['nose', 'rightShoulder'],\n ['rightShoulder', 'rightElbow'], ['rightElbow', 'rightWrist'],\n ['rightShoulder', 'rightHip'], ['rightHip', 'rightKnee'],\n ['rightKnee', 'rightAnkle'],\n];\n\nexport function eitherPointDoesntMeetConfidence(a: number, b: number, minConfidence: number) {\n return (a < minConfidence || b < minConfidence);\n}\n\nexport function getAdjacentKeyPoints(keypoints, minConfidence: number) {\n return connectedPartIndices.reduce((result, [leftJoint, rightJoint]) => {\n if (eitherPointDoesntMeetConfidence(keypoints[leftJoint].score, keypoints[rightJoint].score, minConfidence)) {\n return result;\n }\n result.push([keypoints[leftJoint], keypoints[rightJoint]]);\n return result;\n }, []);\n}\n\nexport function getBoundingBox(keypoints): [number, number, number, number] {\n const coord = keypoints.reduce(({ maxX, maxY, minX, minY }, { position: { x, y } }) => ({\n maxX: Math.max(maxX, x),\n maxY: Math.max(maxY, y),\n minX: Math.min(minX, x),\n minY: Math.min(minY, y),\n }), {\n maxX: Number.NEGATIVE_INFINITY,\n maxY: Number.NEGATIVE_INFINITY,\n minX: Number.POSITIVE_INFINITY,\n minY: Number.POSITIVE_INFINITY,\n });\n return [coord.minX, coord.minY, coord.maxX - coord.minX, coord.maxY - coord.minY];\n}\n\nexport function scalePoses(poses, [height, width], [inputResolutionHeight, inputResolutionWidth]): BodyResult[] {\n const scaleY = height / inputResolutionHeight;\n const scaleX = width / inputResolutionWidth;\n const scalePose = (pose, i): BodyResult => ({\n id: i,\n score: pose.score,\n boxRaw: [pose.box[0] / inputResolutionWidth, pose.box[1] / inputResolutionHeight, pose.box[2] / inputResolutionWidth, pose.box[3] / inputResolutionHeight],\n box: [Math.trunc(pose.box[0] * scaleX), Math.trunc(pose.box[1] * scaleY), Math.trunc(pose.box[2] * scaleX), Math.trunc(pose.box[3] * scaleY)],\n keypoints: pose.keypoints.map(({ score, part, position }) => ({\n score: score as number,\n part: part as BodyLandmark,\n position: [Math.trunc(position.x * scaleX), Math.trunc(position.y * scaleY)] as Point,\n positionRaw: [position.x / inputResolutionHeight, position.y / inputResolutionHeight] as Point,\n })),\n annotations: {} as Record,\n });\n const scaledPoses = poses.map((pose, i) => scalePose(pose, i));\n return scaledPoses;\n}\n\n// algorithm based on Coursera Lecture from Algorithms, Part 1: https://www.coursera.org/learn/algorithms-part1/lecture/ZjoSM/heapsort\nexport class MaxHeap {\n priorityQueue: unknown[]; // don't touch\n numberOfElements: number;\n getElementValue: unknown; // function call\n\n constructor(maxSize, getElementValue) {\n this.priorityQueue = new Array(maxSize);\n this.numberOfElements = -1;\n this.getElementValue = getElementValue;\n }\n\n enqueue(x) {\n this.priorityQueue[++this.numberOfElements] = x;\n this.swim(this.numberOfElements);\n }\n\n dequeue() {\n const max = this.priorityQueue[0];\n this.exchange(0, this.numberOfElements--);\n this.sink(0);\n this.priorityQueue[this.numberOfElements + 1] = null;\n return max;\n }\n\n empty() { return this.numberOfElements === -1; }\n\n size() { return this.numberOfElements + 1; }\n\n all() { return this.priorityQueue.slice(0, this.numberOfElements + 1); }\n\n max() { return this.priorityQueue[0]; }\n\n swim(k) {\n while (k > 0 && this.less(Math.floor(k / 2), k)) {\n this.exchange(k, Math.floor(k / 2));\n k = Math.floor(k / 2);\n }\n }\n\n sink(k) {\n while (2 * k <= this.numberOfElements) {\n let j = 2 * k;\n if (j < this.numberOfElements && this.less(j, j + 1)) j++;\n if (!this.less(k, j)) break;\n this.exchange(k, j);\n k = j;\n }\n }\n\n getValueAt(i) {\n // @ts-ignore getter is of unknown type\n return this.getElementValue(this.priorityQueue[i]);\n }\n\n less(i, j) {\n return this.getValueAt(i) < this.getValueAt(j);\n }\n\n exchange(i, j) {\n const t = this.priorityQueue[i];\n this.priorityQueue[i] = this.priorityQueue[j];\n this.priorityQueue[j] = t;\n }\n}\n\nexport function getOffsetPoint(y, x, keypoint: number, offsets) {\n return {\n y: offsets.get(y, x, keypoint),\n x: offsets.get(y, x, keypoint + count),\n };\n}\n\nexport function getImageCoords(part, outputStride: number, offsets) {\n const { heatmapY, heatmapX, id: keypoint } = part;\n const { y, x } = getOffsetPoint(heatmapY, heatmapX, keypoint, offsets);\n return {\n x: part.heatmapX * outputStride + x,\n y: part.heatmapY * outputStride + y,\n };\n}\n\nexport function fillArray(element, size) {\n const result = new Array(size);\n for (let i = 0; i < size; i++) {\n result[i] = element;\n }\n return result;\n}\n\nexport function clamp(a, min, max) {\n if (a < min) return min;\n if (a > max) return max;\n return a;\n}\n\nexport function squaredDistance(y1, x1, y2, x2) {\n const dy = y2 - y1;\n const dx = x2 - x1;\n return dy * dy + dx * dx;\n}\n\nexport function addVectors(a: { x: number, y: number }, b: { x: number, y: number }) {\n return { x: a.x + b.x, y: a.y + b.y };\n}\n\nexport function clampVector(a, min, max) {\n return { y: clamp(a.y, min, max), x: clamp(a.x, min, max) };\n}\n", "/**\n * PoseNet body detection model implementation\n *\n * Based on: [**PoseNet**](https://medium.com/tensorflow/real-time-human-pose-estimation-in-the-browser-with-tensorflow-js-7dd0bc881cd5)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport type { BodyResult, BodyLandmark, Box } from '../result';\nimport type { Tensor, GraphModel, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\nimport * as utils from './posenetutils';\n\nlet model: GraphModel;\nconst poseNetOutputs = ['MobilenetV1/offset_2/BiasAdd'/* offsets */, 'MobilenetV1/heatmap_2/BiasAdd'/* heatmapScores */, 'MobilenetV1/displacement_fwd_2/BiasAdd'/* displacementFwd */, 'MobilenetV1/displacement_bwd_2/BiasAdd'/* displacementBwd */];\nconst localMaximumRadius = 1;\nconst outputStride = 16;\nconst squaredNmsRadius = 50 ** 2;\n\nfunction traverse(edgeId: number, sourceKeypoint, targetId, scores, offsets, displacements, offsetRefineStep = 2) {\n const getDisplacement = (point) => ({\n y: displacements.get(point.y, point.x, edgeId),\n x: displacements.get(point.y, point.x, (displacements.shape[2] / 2) + edgeId),\n });\n const getStridedIndexNearPoint = (point, height, width) => ({\n y: utils.clamp(Math.round(point.y / outputStride), 0, height - 1),\n x: utils.clamp(Math.round(point.x / outputStride), 0, width - 1),\n });\n\n const [height, width] = scores.shape;\n // Nearest neighbor interpolation for the source->target displacements.\n const sourceKeypointIndices = getStridedIndexNearPoint(sourceKeypoint.position, height, width);\n const displacement = getDisplacement(sourceKeypointIndices);\n const displacedPoint = utils.addVectors(sourceKeypoint.position, displacement);\n let targetKeypoint = displacedPoint;\n for (let i = 0; i < offsetRefineStep; i++) {\n const targetKeypointIndices = getStridedIndexNearPoint(targetKeypoint, height, width);\n const offsetPoint = utils.getOffsetPoint(targetKeypointIndices.y, targetKeypointIndices.x, targetId, offsets);\n targetKeypoint = utils.addVectors(\n { x: targetKeypointIndices.x * outputStride, y: targetKeypointIndices.y * outputStride },\n { x: offsetPoint.x, y: offsetPoint.y },\n );\n }\n const targetKeyPointIndices = getStridedIndexNearPoint(targetKeypoint, height, width);\n const score = scores.get(targetKeyPointIndices.y, targetKeyPointIndices.x, targetId);\n return { position: targetKeypoint, part: utils.partNames[targetId], score };\n}\n\nexport function decodePose(root, scores, offsets, displacementsFwd, displacementsBwd) {\n const tuples = utils.poseChain.map(([parentJoinName, childJoinName]) => ([utils.partIds[parentJoinName], utils.partIds[childJoinName]]));\n const edgesFwd = tuples.map(([, childJointId]) => childJointId);\n const edgesBwd = tuples.map(([parentJointId]) => parentJointId);\n const numParts = scores.shape[2]; // [21,21,17]\n const numEdges = edgesFwd.length;\n const keypoints = new Array(numParts);\n // Start a new detection instance at the position of the root.\n const rootPoint = utils.getImageCoords(root.part, outputStride, offsets);\n keypoints[root.part.id] = {\n score: root.score,\n part: utils.partNames[root.part.id] as BodyLandmark,\n position: rootPoint,\n };\n // Decode the part positions upwards in the tree, following the backward displacements.\n for (let edge = numEdges - 1; edge >= 0; --edge) {\n const sourceId = edgesFwd[edge];\n const targetId = edgesBwd[edge];\n if (keypoints[sourceId] && !keypoints[targetId]) {\n keypoints[targetId] = traverse(edge, keypoints[sourceId], targetId, scores, offsets, displacementsBwd);\n }\n }\n // Decode the part positions downwards in the tree, following the forward displacements.\n for (let edge = 0; edge < numEdges; ++edge) {\n const sourceId = edgesBwd[edge];\n const targetId = edgesFwd[edge];\n if (keypoints[sourceId] && !keypoints[targetId]) {\n keypoints[targetId] = traverse(edge, keypoints[sourceId], targetId, scores, offsets, displacementsFwd);\n }\n }\n return keypoints;\n}\n\nfunction scoreIsMaximumInLocalWindow(keypointId, score: number, heatmapY: number, heatmapX: number, scores) {\n const [height, width]: [number, number] = scores.shape;\n let localMaximum = true;\n const yStart = Math.max(heatmapY - localMaximumRadius, 0);\n const yEnd = Math.min(heatmapY + localMaximumRadius + 1, height);\n for (let yCurrent = yStart; yCurrent < yEnd; ++yCurrent) {\n const xStart = Math.max(heatmapX - localMaximumRadius, 0);\n const xEnd = Math.min(heatmapX + localMaximumRadius + 1, width);\n for (let xCurrent = xStart; xCurrent < xEnd; ++xCurrent) {\n if (scores.get(yCurrent, xCurrent, keypointId) > score) {\n localMaximum = false;\n break;\n }\n }\n if (!localMaximum) break;\n }\n return localMaximum;\n}\n\nexport function buildPartWithScoreQueue(minConfidence, scores) {\n const [height, width, numKeypoints] = scores.shape;\n const queue = new utils.MaxHeap(height * width * numKeypoints, ({ score }) => score);\n for (let heatmapY = 0; heatmapY < height; ++heatmapY) {\n for (let heatmapX = 0; heatmapX < width; ++heatmapX) {\n for (let keypointId = 0; keypointId < numKeypoints; ++keypointId) {\n const score = scores.get(heatmapY, heatmapX, keypointId);\n // Only consider parts with score greater or equal to threshold as root candidates.\n if (score < minConfidence) continue;\n // Only consider keypoints whose score is maximum in a local window.\n if (scoreIsMaximumInLocalWindow(keypointId, score, heatmapY, heatmapX, scores)) queue.enqueue({ score, part: { heatmapY, heatmapX, id: keypointId } });\n }\n }\n }\n return queue;\n}\n\nfunction withinRadius(poses, { x, y }, keypointId) {\n return poses.some(({ keypoints }) => {\n const correspondingKeypoint = keypoints[keypointId]?.position;\n if (!correspondingKeypoint) return false;\n return utils.squaredDistance(y, x, correspondingKeypoint.y, correspondingKeypoint.x) <= squaredNmsRadius;\n });\n}\n\nfunction getInstanceScore(existingPoses, keypoints) {\n const notOverlappedKeypointScores = keypoints.reduce((result, { position, score }, keypointId) => {\n if (!withinRadius(existingPoses, position, keypointId)) result += score;\n return result;\n }, 0.0);\n return notOverlappedKeypointScores / keypoints.length;\n}\n\nexport function decode(offsets, scores, displacementsFwd, displacementsBwd, maxDetected, minConfidence) {\n const poses: { keypoints, box: Box, score: number }[] = [];\n const queue = buildPartWithScoreQueue(minConfidence, scores);\n // Generate at most maxDetected object instances per image in decreasing root part score order.\n while (poses.length < maxDetected && !queue.empty()) {\n // The top element in the queue is the next root candidate.\n const root = queue.dequeue();\n // Part-based non-maximum suppression: We reject a root candidate if it is within a disk of `nmsRadius` pixels from the corresponding part of a previously detected instance.\n // @ts-ignore this one is tree walk\n const rootImageCoords = utils.getImageCoords(root.part, outputStride, offsets);\n // @ts-ignore this one is tree walk\n if (withinRadius(poses, rootImageCoords, root.part.id)) continue;\n // Else start a new detection instance at the position of the root.\n let keypoints = decodePose(root, scores, offsets, displacementsFwd, displacementsBwd);\n keypoints = keypoints.filter((a) => a.score > minConfidence);\n const score = getInstanceScore(poses, keypoints);\n const box = utils.getBoundingBox(keypoints);\n if (score > minConfidence) poses.push({ keypoints, box, score: Math.round(100 * score) / 100 });\n }\n return poses;\n}\n\nexport async function predict(input: Tensor4D, config: Config): Promise {\n /** posenet is mostly obsolete\n * caching is not implemented\n */\n if (!model?.['executor']) return [];\n const res = tf.tidy(() => {\n if (!model.inputs[0].shape) return [];\n const resized = tf.image.resizeBilinear(input, [model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n const normalized = tf.sub(tf.div(tf.cast(resized, 'float32'), 127.5), 1.0);\n const results: Tensor[] = model.execute(normalized, poseNetOutputs) as Tensor[];\n const results3d = results.map((y) => tf.squeeze(y, [0]));\n results3d[1] = tf.sigmoid(results3d[1]); // apply sigmoid on scores\n return results3d;\n });\n\n const buffers = await Promise.all(res.map((tensor: Tensor) => tensor.buffer()));\n for (const t of res) tf.dispose(t);\n\n const decoded = decode(buffers[0], buffers[1], buffers[2], buffers[3], config.body.maxDetected, config.body.minConfidence);\n if (!model.inputs[0].shape) return [];\n const scaled = utils.scalePoses(decoded, [input.shape[1], input.shape[2]], [model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n return scaled;\n}\n\nexport async function load(config: Config): Promise {\n if (!model || env.initial) model = await loadModel(config.body.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n", "/**\n * Image segmentation for body detection model\n *\n * Based on:\n * - [**Robust Video Matting**](https://github.com/PeterL1n/RobustVideoMatting)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport { constants } from '../tfjs/constants';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nlet model: GraphModel;\n\n// internal state varaibles\nconst outputNodes = ['fgr', 'pha', 'r1o', 'r2o', 'r3o', 'r4o'];\nconst t: Record = {}; // contains input tensor and recurrent states\nlet ratio = 0;\n\nfunction init(config: Config) {\n tf.dispose([t.r1i, t.r2i, t.r3i, t.r4i, t.downsample_ratio]);\n t.r1i = tf.tensor(0.0);\n t.r2i = tf.tensor(0.0);\n t.r3i = tf.tensor(0.0);\n t.r4i = tf.tensor(0.0);\n ratio = config.segmentation.ratio || 0.5;\n t.downsample_ratio = tf.tensor(ratio); // initialize downsample ratio\n}\n\nexport async function load(config: Config): Promise {\n if (!model || env.initial) model = await loadModel(config.segmentation.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n init(config);\n return model;\n}\n\nconst normalize = (r: Tensor): Tensor => tf.tidy(() => {\n const squeeze = tf.squeeze(r, ([0]));\n const mul = tf.mul(squeeze, constants.tf255);\n const cast = tf.cast(mul, 'int32');\n return cast;\n});\n\nfunction getRGBA(fgr: Tensor | null, pha: Tensor | null): Tensor { // gets rgba // either fgr or pha must be present\n const rgb = fgr\n ? normalize(fgr) // normalize and use value\n : tf.fill([pha!.shape[1] || 0, pha!.shape[2] || 0, 3], 255, 'int32'); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n const a = pha\n ? normalize(pha) // normalize and use value\n : tf.fill([fgr!.shape[1] || 0, fgr!.shape[2] || 0, 1], 255, 'int32'); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n const rgba = tf.concat([rgb, a], -1);\n tf.dispose([rgb, a]);\n return rgba;\n}\n\nfunction getState(state: Tensor): Tensor { // gets internal recurrent states\n return tf.tidy(() => {\n const r: Record = {};\n r.unstack = tf.unstack(state, -1);\n r.concat = tf.concat(r.unstack, 1);\n r.split = tf.split(r.concat, 4, 1);\n r.stack = tf.concat(r.split, 2);\n r.squeeze = tf.squeeze(r.stack, [0]);\n r.expand = tf.expandDims(r.squeeze, -1);\n r.add = tf.add(r.expand, 1);\n r.mul = tf.mul(r.add, 127.5);\n r.cast = tf.cast(r.mul, 'int32');\n r.tile = tf.tile(r.cast, [1, 1, 3]);\n r.alpha = tf.fill([(r.tile as Tensor).shape[0] || 0, (r.tile as Tensor).shape[1] || 0, 1], 255, 'int32'); // eslint-disable-line @typescript-eslint/no-unnecessary-type-assertion\n return tf.concat([r.tile, r.alpha], -1);\n });\n}\n\nexport async function predict(input: Tensor4D, config: Config): Promise {\n if (!model) model = await load(config);\n if (!model?.['executor']) return null;\n // const expand = tf.expandDims(input, 0);\n t.src = tf.div(input, 255);\n if (ratio !== config.segmentation.ratio) init(config); // reinitialize recurrent states if requested downsample ratio changed\n const [fgr, pha, r1o, r2o, r3o, r4o] = await model.executeAsync(t, outputNodes) as Tensor[]; // execute model\n let rgba: Tensor;\n switch (config.segmentation.mode || 'default') {\n case 'default':\n rgba = getRGBA(fgr, pha);\n break;\n case 'alpha':\n rgba = getRGBA(null, pha);\n break;\n case 'foreground':\n rgba = getRGBA(fgr, null);\n break;\n case 'state':\n rgba = getState(r1o); // can view any internal recurrent state r10, r20, r3o, r4o\n break;\n default:\n rgba = tf.tensor(0);\n }\n tf.dispose([t.src, fgr, pha, t.r1i, t.r2i, t.r3i, t.r4i]);\n [t.r1i, t.r2i, t.r3i, t.r4i] = [r1o, r2o, r3o, r4o]; // update recurrent states\n return rgba;\n}\n", "/**\n * Image segmentation for body detection model\n *\n * Based on:\n * - [**MediaPipe Selfie**](https://drive.google.com/file/d/1dCfozqknMa068vVsO2j_1FgZkW_e3VWv/preview)\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log } from '../util/util';\nimport { loadModel } from '../tfjs/load';\nimport { constants } from '../tfjs/constants';\nimport type { GraphModel, Tensor, Tensor4D } from '../tfjs/types';\nimport type { Config } from '../config';\nimport { env } from '../util/env';\n\nlet model: GraphModel;\n\nexport async function load(config: Config): Promise {\n if (!model || env.initial) model = await loadModel(config.segmentation.modelPath);\n else if (config.debug) log('cached model:', model['modelUrl']);\n return model;\n}\n\nexport async function predict(input: Tensor4D, config: Config): Promise {\n if (!model) model = await load(config);\n if (!model?.['executor'] || !model?.inputs?.[0].shape) return null; // something is wrong with the model\n const t: Record = {};\n t.resize = tf.image.resizeBilinear(input, [model.inputs[0].shape ? model.inputs[0].shape[1] : 0, model.inputs[0].shape ? model.inputs[0].shape[2] : 0], false);\n t.norm = tf.div(t.resize, constants.tf255);\n t.res = model.execute(t.norm) as Tensor;\n t.squeeze = tf.squeeze(t.res, [0]); // meet.shape:[1,256,256,1], selfie.shape:[1,144,256,2]\n t.alpha = tf.image.resizeBilinear(t.squeeze as Tensor4D, [input.shape[1] || 0, input.shape[2] || 0]); // model selfie has a single channel that we can use directly\n t.mul = tf.mul(t.alpha, constants.tf255);\n let rgba: Tensor;\n switch (config.segmentation.mode || 'default') {\n case 'default':\n t.input = tf.squeeze(input);\n t.concat = tf.concat([t.input, t.mul], -1);\n rgba = tf.cast(t.concat, 'int32'); // combined original with alpha\n break;\n case 'alpha':\n rgba = tf.cast(t.mul, 'int32'); // just get alpha value from model\n break;\n default:\n rgba = tf.tensor(0);\n }\n Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));\n return rgba;\n}\n", "/**\n * Analyze detection Results and sort&combine them into per-person view\n */\n\nimport type { FaceResult, BodyResult, HandResult, GestureResult, PersonResult, Box } from '../result';\n\nexport function join(faces: FaceResult[], bodies: BodyResult[], hands: HandResult[], gestures: GestureResult[], shape: number[] | undefined): PersonResult[] {\n let id = 0;\n const persons: PersonResult[] = [];\n for (const face of faces) { // person is defined primarily by face and then we append other objects as found\n const person: PersonResult = { id: id++, face, body: null, hands: { left: null, right: null }, gestures: [], box: [0, 0, 0, 0] };\n for (const body of bodies) {\n if (face.box[0] > body.box[0] // x within body\n && face.box[0] < body.box[0] + body.box[2]\n && face.box[1] + face.box[3] > body.box[1] // y within body\n && face.box[1] + face.box[3] < body.box[1] + body.box[3]) {\n person.body = body;\n }\n }\n if (person.body) { // only try to join hands if body is found\n for (const hand of hands) {\n if (hand.box[0] + hand.box[2] > person.body.box[0] // x within body for left hand\n && hand.box[0] + hand.box[2] < person.body.box[0] + person.body.box[2]\n && hand.box[1] + hand.box[3] > person.body.box[1] // x within body for left hand\n && hand.box[1] + hand.box[3] < person.body.box[1] + person.body.box[3]) {\n if (person.hands) person.hands.left = hand;\n }\n if (hand.box[0] < person.body.box[0] + person.body.box[2] // x within body for right hand\n && hand.box[0] > person.body.box[0]\n && hand.box[1] + hand.box[3] > person.body.box[1] // x within body for right hand\n && hand.box[1] + hand.box[3] < person.body.box[1] + person.body.box[3]) {\n if (person.hands) person.hands.right = hand;\n }\n }\n }\n for (const gesture of gestures) { // append all gestures according to ids\n if (gesture['face'] !== undefined && gesture['face'] === face.id) person.gestures.push(gesture);\n else if (gesture['iris'] !== undefined && gesture['iris'] === face.id) person.gestures.push(gesture);\n else if (gesture['body'] !== undefined && gesture['body'] === person.body?.id) person.gestures.push(gesture);\n else if (gesture['hand'] !== undefined && gesture['hand'] === person.hands.left?.id) person.gestures.push(gesture);\n else if (gesture['hand'] !== undefined && gesture['hand'] === person.hands.right?.id) person.gestures.push(gesture);\n }\n\n // create new overarching box from all boxes belonging to person\n const x: number[] = [];\n const y: number[] = [];\n const extractXY = (box: Box | undefined) => { // extract all [x, y] coordinates from boxes [x, y, width, height]\n if (box && box.length === 4) {\n x.push(box[0], box[0] + box[2]);\n y.push(box[1], box[1] + box[3]);\n }\n };\n extractXY(person.face.box);\n extractXY(person.body?.box);\n extractXY(person.hands.left?.box);\n extractXY(person.hands.right?.box);\n const minX = Math.min(...x);\n const minY = Math.min(...y);\n person.box = [minX, minY, Math.max(...x) - minX, Math.max(...y) - minY]; // create new overarching box\n\n // shape is known so we calculate boxRaw as well\n if (shape?.[1] && shape?.[2]) person.boxRaw = [person.box[0] / shape[2], person.box[1] / shape[1], person.box[2] / shape[2], person.box[3] / shape[1]];\n\n persons.push(person);\n }\n return persons;\n}\n", "/**\n * Embedded sample images used during warmup in dataURL format\n */\n\n// data:image/jpeg;base64,\nexport const face = `\n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`;\n\n// data:image/jpeg;base64,\nexport const body = `\n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\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAa2p1UYo5adbz+xbxMlvqJ1OqjDHLXree0ejmzNrWm953tPmTPWbWneZ7yoy5YhjrXXTjH8s75N\nmtkyxt0VZM2/m175N1V03yTKubMLXVXybeYLLX2VXy7eam+b0bOg4VquJW+rry4/O9uyZOq3UjVm\n9r25axMzPaIdvhns1kzbZddM0p5Y47z8/R2+HcF03Doi1a8+Xzvbv+TotJnjDXkt+K8ODHp8cY8N\nIpSO0RCwF2YAAAAAAAAACvUZYw6fJkntWN3k8dfHz2vLucdz8mkjFE9bz1+UOZosX1UzPm0nqI/W\nMYo9FlcPNklfFGeH/NshLGun+Cz6PtHZtVZWlRLS+jxPkRpIn7rdoupHTdA5s6SI+7H6Mfo+32Y2\n+To3neSIiZ7A0IjPXpXLePlMotGW3272t85datKzHZjbTVnsDj+FG/2Y/RlGP4R+jo20u7H6N1Ql\no+H8I/REY957R+jpfReiK6eOYHLtj2tttH6KrY/6Y/R2c+kjeJiFVtLG24hxpw7/AHY/RRkw9O37\nO99Hrt1YX0tfOBLjcGp4XF8c+u8fs9c4dcVcGemSI61nd3IneN1orQAAAAAAAAAAAAABFqxes1tE\nTE9JiUgPKcX4RbRXnNgiZwWnrH4XPi28PdXpW9JraImsxtMS8pxXhF9DecuGJtgmf+1TWW2N/la1\nL7N7T5e3Vy6W3hsYcvLbqzbO9jvvCzvDR0+XeO7crO6FmGSvRThy/RtVXJ92elvk2rRvDUzU7pl4\nizsd2J3jeBpcNz+Lg5LT7+Pp+Xk3W7js5eAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs0NTrN96Yp6edkW8Wzm6+LNTq4pvTHO9vOfRoWtt\n1mes95YWvs1s2fZldddOczLPLn2ju0MmebT3YZc2/mpm3qqllN1drsbZIhr3yzvtHf4AsvlYYseb\nV5Yx4KTe0+UQ6nDvZ3UazbJqd8OKeu33peq0eh0+hxcmnxxWPOfOfm0mP+steT/ji8N9mKY9suum\nL37+HHaPm9DSlaVitKxWsdohI0Y22gAgAAAAAAAAAABXnyRhw3yT92Nwef4xm8bVzET0rPJH5d12\n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\nAOZE/OsPS29nuH27YrV+VpeV9pdPXhOtw49NG9Mld55+vXcTPd42I47qo7xSfyWV9oM8d8VJ/VxM\nd8l46xWF9cV7en6o/qLfxp2I9ob+eCv/AHMo9op89P8A/wBORGmyT5R+qfo2X8P7n9Q/jTsx7RR5\n6ef+4/8AuHftg/8A6cWcOSO9J/WEbWr3pY7Efzp2Lcfv5YK/9zWy8d1E/ZpSv5Oba1/+Hb9lc+LP\nbFt87I7E/wAabWbiurvEx4nL/pjZzc2bJkn372t85ZXx55/BX85lucC0vPxnTxlnnjm32mOiZqUu\nLJ2p4TwnVavNWaYbRTfre0bQ99pcH0bT0xb78vmtiIiNojaErMwAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAHnfarF7umzRHaZrLjYrdIen9ocPi8JyTt1xzF4eUw23rCm3R4r6bMy\nwt6kdTaWLdjswmNoZontsCm0K5XWjopnuDC0dGpqG5bs08/daKV672MjbSaif6oh6Z5f2LtvptRX\n0tEvUN3Jfo8f7cYve0eX4zV7B5z20xc/C8eSPuZIRficfXlcPaG7ino08HWIbePpLF2NuiyOyrHK\n3fZFSwuovHVfaVF4QK5YWTM9UT0EKry6Ps1Tn4zjn8NZn9nOtLseydObiWW34cf918fWfk+PYANn\nKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq1WKM+ly4p+/WYeBxTNd6zG0xO0\nvobw3FcP0bi2em20Tbmj5Srr418V9sa2Z7qKyzi07MXUylhaU7yjqhLCeiq3ddaFNxFYW7NLNG8t\nzya+WO6Va9J7FW66mvwidnrXiPY3Ny8RyUn71Jj9Ht3RPjk19HK9pMHj8D1ER3rHN+jqqtTjjNps\nuOe16zAifXzfTz7kNyndpYazS9qT0mszDdoxrsi6m8LazMq6zDOsq1ZEyrt1WWlXaUCqyq0rbKbi\nFdp6PReyFd8uqv8ACsfy83aXrPZHHto89/xX2/SP/dpj6y8vx6EBq5gAAAAAAAAAAAAAAAAAAAAA\n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\nNO67NbkhzNVnmInqzaOZrL93JyZeV0M1++7S02jvxDWxhxx033tPpC8Z6rrezWjmZyazJG2/u03h\n2vFibTHoqvamiwVwY+nLGzV0+SZ1Mx8G0/45tOhzJ5lXMc3UVXRdlF1HP+iYsDPLPPy49/tz1+Te\npSIr0ho6ak5Ms5J8o2q6NImOrHV7XX488ypzTtHXo0s9t6zG7c1G1qz6ubeZiZ3UatXJG3yauSO7\ncvMTEx5tPLb3prPRMVr0HB8vicNxf0+7+kt+LOJwTJyY/Bnz3tH93X36N58cWvq6LSyiyndMSlC7\nmZcymLJiwLosmJVRLKLAtiU7q4lMSCzc3YxJuDMRuAlKAEgAAAlAkAAAAAABKAEgAAAAAJAAAAAA\nAAAAAAAEgAAAAAAAAAAAAAkAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAhIAAACAAAASgAAAAAAEAAAA\nhGzJAImGMwzQDDZjNVuyNgUTVhNGxysZqDVmiu1G5NN2M4waM0+DCaN2cbGcQNGaMZq3JxMJxA1J\nqx2bU4kU09slorWNwa20z02RXHbJbl26QvtFovbHWkxEdJt5y2MOHlr2U1W3jx+1hiw8vSO63lmI\nXRTaEWmtY6snRHO1VpmJ+DjavpSZl2s8b7y4HFcnh0n0gha5ebJN55KRM2mdoiPN6fh+kpwXh0Wy\nRHj5Otp/s5Ps1p62y31+em9aTMYt/OfVfxTiPjZ52naI7fBrI5t66xz5+a1rW7yx0eSL6iZjtEOX\nqNbSletom3lENjh2fbHzbbWt3iVozruc+5ztWubf4M4ybpQ2Oboyrva0Vjza8WdDR4OkXt3n9ldX\nkaePP9VtYqctYhdvt5oivTeCZ2YOxXk6ubqMfV0b9mrljfqlFcq88k7z2U5axeItDa1OPessuC8P\nya7XRWYnwqdbT/ZMilvIu4dpslNdixXja8Y5tt85djZdbDWnGOesRtXFtuw6T27No5Kx2OrKYQlC\nExKJgBnEpiyvdlEgsizKLKollFgWxLKJVRLKJBbEp3VxLKJBnuMWQJEbpBIAAAJAAAABIAAAAAAA\nlAJAAAAAAAAAAAAAASAAAAAAAAAAAAAJAAAABAJABAlAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAA\nAAABAJQAAAAgAABAAI2EoBGyJhkgGPKxmqxAKpownHC+YRMdN5BrTj67R3bOn01o7p01Iv71u89o\nb9a7LfBTfS1vWI2jf12VfQPSW8KX2mas+NC2iv6xMNfJpMnLtEbuuxtMRCtzF55NR5rPps1N/ctP\ny6uHreE6nXZ4pak48X3rT06fB7fNeI33cbX6mI32R/MWu7XF116aDSRhxbRERs8f499bkyZeeKae\nkzE2mdon81/tfxDLGOunwbzlzbx08oaHBvZHJlx48mrvaa94pu04y617576rNGLRRM0397JEd/lu\n9Dw/S3x4qxffo6mm4NjwUiKY4iI9Ib1dHFY6QIaNabbrYrLfrpJtaK1rMzPZb/s+05IpP59OyLeJ\nk7eNfRaOc1ue32I7fGXYpi5Y77M8OGMeOKxHSFsU3Y29deZMzirl6dlVvhLatCjJHeYQv1rXnps1\n8k9/VsW6qLVmZIi1rzitlvFKRvaZ2h6TSaenC9FFY+3brM+sqeG8Prp4+kZ+lvuxPkr1mqm95nfp\nDXM459676a2q1dsV7XietvNno78+CJn1cjX6mOeIm0bR33dfRU5NJjidt9t5afjG/V6JZ7I2QMNh\nnyo2BhsMuVG3wAhMSbbQRAMolnE+iuGUSCyJZRKuGUSCyJZK4llEgyZMYTuCUsYSCQASISAAAlCQ\nAAAAAAEoASCASAAAAAAAAAAAAlACRACQAAAAAAAAAEgCEoASCAAAAAAAAAAAAAAAAAAAAAAABAAA\nAAAAAAAISAIAAAAAAQAAACASgAAAQJAQAAhIDHZhln3do7z0WS18mWsajHjmes7pg3dNi5aRMNqO\nyvDHTpPRaigHZhN4hHRlaVN59JY3zRENLUavaO+yq0iNVlitJ6vNcR1MVi0zO0era1/Ea0rPvbz5\nPM5MWp45qvo2GZrhmfrsnpHpHzTCseEcM/2vrr8Q1Eb4qzy44nziPN63HpYiIiI7LNHoqabBTFii\nIpSNohuVxrKtWMEejPwY9G1FFmHB4mWJn7MdfnIM9JpIx15to5pbUaas/a6rqViI7MxPxqX0UT1r\nO3wVzpbR2hviP5i03Y5s6a879FNtHljydhExCv8AMTPJXBnRZbz0iG5ptFjwe/l96zctMVamTJtE\nyTMibu1VrdTzRMR0j0ed4lr64MVpm0RERvMz5NvX62uOJ69XhOKX1HH9bHDtFvNYnfJeOy0Z2ojX\n6jjnEq6fRUmccTvN/J9H0eKcOnx45neaxEbubwHgOHg+milI3vP2resu3Wu0JQmITsmISDHZHKz2\nJgFc1RMLJhGwK9iIZ7MZgEdgmAEwyiWCdwWRLKJVxKYsC2JTuriWUSDNlEsIlMAySx3SCRCQSIAS\nAAACRACQAAAAAAASIASAAAAAAAAAAAAAAACRACRACQASIAAAAAAAAAAAAAAAAAAAAAAAAQCUAAAA\nAAAAAAIAAAAAAAAQAAAAAACBICBICAAEJAQJQCJcLjuS2ny6fPG/LWdpd1o8T0X07SXx/e7wCdJx\nWa0jmneHQpxPDMdZmJfNtZm49weZrh0/j4o7VtSZ2+Uw0/8A7o49k92vBLc/ntFohFW9PqGXimOI\n6Tu1L8T3eCx6r2t1O3JwvHjifO99v7t/Bwf2l1PXU6rS6eJ8qUm8x+so5TsekzcSjbvs4mt4rzW5\nK2mbT0itesy2cHsvbvqtbmyz5xERWP2jd1tJwrTaONsOKtZ8585+cnDrzmn4Rq+IZObUROHD32n7\nVv8A0ej0uhxaXFGPFSK1j0bkY4jyZRVZVXFGUVWbGwKsk8mObekNrSW3pWf1a2aYjHbm7bNnQ1id\nPW0TvuDdhJEbQABMsLW2R0ZTMQrvfbz2YWzVhpanUxEd0dWkW5c8R5uXxDX1w4pnfr5Q19XxKuOJ\n2neXltVqtVxbV/RdJ715+1bypANfiOu1HENV9C0MTfNeesx2rD1PAeBYuE6aKx72W3W9/WVnBuB4\neF4dqRzZbdb5J72l160WVK02ZxCYhOwI23TsnY2BGxsnYBjsiYZsZBjMMZZSgGEolMsQDdG6NwZ7\npiVe6YkFsSziVMWZRILolMSriWUSCyJTuwhMSDMRCQSI3SAlACRCQAAEoAEoASAAAAAAAAACUACR\nACQAAAAAAAAAAAAASAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAABAAAAAAAAAAAAACBKAAAAAAAQ\nJQAAAhICEbJAYTWJ7wx8KvpC0BV4ceieWGewDHlNmWwCNjZICNhIDmcZredBecdpiY69FXCOLW+i\nUiZidukulmxxlx2paN4mNng+K4+I8Hy2yaTfl37TXetoCPfRxfp1qi3F48ofKMvtvxak8s6LDv61\nrZji9rPaLUf5PC+bfttS0q8q3p9W/wBrRMdpUZuKdN99nzvFqPbTVz7nD8OKs+do2/mW3h4D7Xaq\nZnPrtNpqz35aRaYOHY9Zk4pNt9rR+rl6zi+OnS+WN57Rv1lXp/YrNaYtruL6zNPnGO3hxP6O5w/2\nf0HDuun09Yv55Le9afznqcOvO4tBreMTHu30unnva0bWt8on+70nDuE4OHYYx4Kbesz3tPrMuhGO\nIjpDOKrK9YVpsyiGUQnYGOyUgI2SlAIEmwMWMs9kTAMJYzDOYRMArmGErZhhMArlHmzmGMwDE3Ts\nbAbs4swj5pgFkSziVcM4BZEsolXDKAZwyhjCYBkACQhIAAAAAAAJAAAAAAAAAAAAAAAAAAAShIAA\nAAAAAAJAAAAAAAAAAAAAABAJEAAAAAAAAAAAAAAAIEoBKAAAAAAAAAAAAAAABAlAAAAAAAIAAAAA\nBAkBAkBAkBAlACEgMZjdjbFW8bWrEx8YWANb6Fp+bfwab+vLDKMFK9qxH5L0bAr8OPRPKz2AY7J2\nSbAjYZAI2E7AIEgIEgIEgMdkSy2NgY7MdlmyNoBXsxmFuyNgVTVjNV3KjlBRNTlXTVHKCrlIqt5T\nlBhEMohlFerLlBjEMohMVTEARDKCITsAk2AEgAAAkAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAD/\n2Q==`;\n", "/**\n * Warmup algorithm that uses embedded images to exercise loaded models for faster future inference\n */\n\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now, mergeDeep } from './util/util';\nimport * as sample from './sample';\nimport * as image from './image/image';\nimport * as backend from './tfjs/backend';\nimport { env } from './util/env';\nimport { empty, Result } from './result';\nimport type { Config } from './config';\nimport type { Human } from './human';\nimport type { Tensor, DataType } from './tfjs/types';\n\nasync function warmupBitmap(instance: Human): Promise {\n const b64toBlob = (base64: string, type = 'application/octet-stream') => fetch(`data:${type};base64,${base64}`).then((res) => res.blob());\n let blob: Blob | null;\n let res: Result | undefined;\n switch (instance.config.warmup) {\n case 'face': blob = await b64toBlob(sample.face); break;\n case 'body':\n case 'full': blob = await b64toBlob(sample.body); break;\n default: blob = null;\n }\n if (blob) {\n const bitmap = await createImageBitmap(blob);\n res = await instance.detect(bitmap, instance.config);\n bitmap.close();\n }\n return res;\n}\n\nasync function warmupCanvas(instance: Human): Promise {\n return new Promise((resolve) => {\n let src: string;\n // let size = 0;\n switch (instance.config.warmup) {\n case 'face':\n // size = 256;\n src = 'data:image/jpeg;base64,' + sample.face;\n break;\n case 'full':\n case 'body':\n // size = 1200;\n src = 'data:image/jpeg;base64,' + sample.body;\n break;\n default:\n src = '';\n }\n // src = encodeURI('../assets/human-sample-upper.jpg');\n let img: HTMLImageElement;\n if (typeof Image !== 'undefined') img = new Image();\n // @ts-ignore env.image is an external monkey-patch\n else if (env.Image) img = new env.Image();\n else return;\n img.onload = async () => {\n const canvas = image.canvas(img.naturalWidth, img.naturalHeight);\n if (!canvas) {\n log('Warmup: Canvas not found');\n resolve(undefined);\n } else {\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n if (ctx) ctx.drawImage(img, 0, 0);\n // const data = ctx?.getImageData(0, 0, canvas.height, canvas.width);\n const tensor = await instance.image(canvas, true);\n const res = tensor.tensor ? await instance.detect(tensor.tensor, instance.config) : undefined;\n resolve(res);\n }\n };\n if (src) img.src = src;\n else resolve(undefined);\n });\n}\n\nasync function warmupNode(instance: Human): Promise {\n const atob = (str: string) => Buffer.from(str, 'base64');\n let img;\n if (instance.config.warmup === 'face') img = atob(sample.face);\n else img = atob(sample.body);\n let res: Result;\n if (('node' in tf) && (tf.getBackend() === 'tensorflow')) {\n // @ts-ignore\n const data: Tensor = tf['node'].decodeJpeg(img); // eslint-disable-line import/namespace\n const expanded: Tensor = tf.expandDims(data, 0);\n instance.tf.dispose(data);\n // log('Input:', expanded);\n res = await instance.detect(expanded, instance.config);\n instance.tf.dispose(expanded);\n } else {\n if (instance.config.debug) log('Warmup tfjs-node not loaded');\n /*\n const input = await canvasJS.loadImage(img);\n const canvas = canvasJS.createCanvas(input.width, input.height);\n const ctx = canvas.getContext('2d');\n ctx.drawImage(img, 0, 0, input.width, input.height);\n res = await instance.detect(input, instance.config);\n */\n }\n // @ts-ignore\n return res;\n}\n\nasync function runInference(instance: Human) {\n let res: Result | undefined;\n if (typeof createImageBitmap === 'function') res = await warmupBitmap(instance);\n else if (typeof Image !== 'undefined' || env.Canvas !== undefined) res = await warmupCanvas(instance);\n else res = await warmupNode(instance);\n return res;\n}\n\n/** Runs pre-compile on all loaded models */\nexport async function runCompile(instance: Human) {\n // @ts-ignore private property\n if (!tf.env().flagRegistry.ENGINE_COMPILE_ONLY) return; // tfjs does not support compile-only inference\n const backendType = tf.getBackend();\n const webGLBackend = tf.backend();\n if ((backendType !== 'webgl' && backendType !== 'humangl') || !webGLBackend?.['checkCompileCompletion']) {\n // log('compile pass: skip');\n return;\n }\n tf.env().set('ENGINE_COMPILE_ONLY', true);\n const numTensorsStart = tf.engine().state.numTensors;\n const compiledModels: string[] = [];\n for (const [modelName, model] of Object.entries(instance.models.models)) {\n if (!model) continue;\n const shape = (model?.modelSignature && model?.inputs?.[0]?.shape) ? [...model.inputs[0].shape] : [1, 64, 64, 3];\n const dtype: DataType = (model?.modelSignature && model?.inputs?.[0]?.dtype) ? model.inputs[0].dtype : 'float32';\n for (let dim = 0; dim < shape.length; dim++) {\n if (shape[dim] === -1) shape[dim] = dim === 0 ? 1 : 64; // override batch number and any dynamic dimensions\n }\n const tensor = tf.zeros(shape, dtype);\n try {\n const res = model.execute(tensor);\n compiledModels.push(modelName);\n if (Array.isArray(res)) res.forEach((t) => tf.dispose(t));\n else tf.dispose(res);\n } catch {\n if (instance.config.debug) log('compile fail model:', modelName);\n }\n tf.dispose(tensor);\n }\n const kernels = await webGLBackend['checkCompileCompletionAsync']();\n webGLBackend['getUniformLocations']();\n if (instance.config.debug) log('compile pass:', { models: compiledModels, kernels: kernels.length });\n tf.env().set('ENGINE_COMPILE_ONLY', false);\n const numTensorsEnd = tf.engine().state.numTensors;\n if ((numTensorsEnd - numTensorsStart) > 0) log('tensor leak:', numTensorsEnd - numTensorsStart);\n}\n\n/** Warmup method pre-initializes all configured models for faster inference\n * - can take significant time on startup\n * - only used in browser environments for `webgl` and `humangl` backends\n * @param userConfig?: Config\n*/\nexport async function warmup(instance: Human, userConfig?: Partial): Promise {\n await backend.check(instance, false);\n const t0 = now();\n instance.state = 'warmup';\n if (userConfig) instance.config = mergeDeep(instance.config, userConfig) as Config;\n if (!instance.config.warmup || instance.config.warmup.length === 0 || instance.config.warmup === 'none') {\n return empty();\n }\n return new Promise(async (resolve) => {\n await instance.models.load();\n await runCompile(instance);\n const res = await runInference(instance);\n const t1 = now();\n if (instance.config.debug) log('warmup', instance.config.warmup, Math.round(t1 - t0), 'ms');\n instance.emit('warmup');\n resolve(res);\n });\n}\n", "/**\n * Human main module\n * @default Human Library\n * @summary \n * @author \n * @copyright \n * @license MIT\n */\n\n// module imports\nimport * as tf from 'dist/tfjs.esm.js';\nimport { log, now, mergeDeep, validate } from './util/util';\nimport { defaults } from './config';\nimport { env, Env } from './util/env';\nimport { WebCam } from './util/webcam';\nimport { setModelLoadOptions } from './tfjs/load';\nimport * as app from '../package.json';\nimport * as backend from './tfjs/backend';\nimport * as draw from './draw/draw';\nimport * as blazepose from './body/blazepose';\nimport * as centernet from './object/centernet';\nimport * as efficientpose from './body/efficientpose';\nimport * as face from './face/face';\nimport * as facemesh from './face/facemesh';\nimport * as gesture from './gesture/gesture';\nimport * as handpose from './hand/handpose';\nimport * as handtrack from './hand/handtrack';\nimport * as image from './image/image';\nimport * as interpolate from './util/interpolate';\nimport * as meet from './segmentation/meet';\nimport * as match from './face/match';\nimport * as models from './models';\nimport * as movenet from './body/movenet';\nimport * as nanodet from './object/nanodet';\nimport * as persons from './util/persons';\nimport * as posenet from './body/posenet';\nimport * as rvm from './segmentation/rvm';\nimport * as selfie from './segmentation/selfie';\nimport * as warmups from './warmup';\n\n// type definitions\nimport { Input, Config, Result, FaceResult, HandResult, BodyResult, ObjectResult, GestureResult, AnyCanvas, empty } from './exports';\nimport type { Tensor, Tensor4D } from './tfjs/types';\n// type exports\nexport * from './exports';\n\n/** **Human** library main class\n *\n * All methods and properties are available only as members of Human class\n *\n * - Configuration object definition: {@link Config}\n * - Results object definition: {@link Result}\n * - Possible inputs: {@link Input}\n *\n * @param userConfig - {@link Config}\n * @returns instance of {@link Human}\n */\nexport class Human {\n /** Current version of Human library in *semver* format */\n version: string;\n\n /** Current configuration\n * - Defaults: [config](https://github.com/vladmandic/human/blob/main/src/config.ts#L262)\n */\n config: Config;\n\n /** Last known result of detect run\n * - Can be accessed anytime after initial detection\n */\n result: Result;\n\n /** Current state of Human library\n * - Can be polled to determine operations that are currently executed\n * - Progresses through: 'config', 'check', 'backend', 'load', 'run:', 'idle'\n */\n state: string;\n\n /** currenty processed image tensor and canvas */\n process: { tensor: Tensor | null, canvas: AnyCanvas | null };\n\n /** Instance of TensorFlow/JS used by Human\n * - Can be embedded or externally provided\n * [TFJS API](https://js.tensorflow.org/api/latest/)\n */\n tf;\n\n /** Object containing environment information used for diagnostics */\n env: Env = env;\n\n /** Draw helper classes that can draw detected objects on canvas using specified draw\n * - canvas: draws input to canvas\n * - options: are global settings for all draw operations, can be overriden for each draw method {@link DrawOptions}\n * - face, body, hand, gesture, object, person: draws detected results as overlays on canvas\n */\n // draw: { canvas: typeof draw.canvas, face: typeof draw.face, body: typeof draw.body, hand: typeof draw.hand, gesture: typeof draw.gesture, object: typeof draw.object, person: typeof draw.person, all: typeof draw.all, options: DrawOptions };\n draw: typeof draw = draw;\n\n /** Face Matching\n * - similarity: compare two face descriptors and return similarity index\n * - distance: compare two face descriptors and return raw calculated differences\n * - find: compare face descriptor to array of face descriptors and return best match\n */\n match: typeof match = match;\n\n /** Currently loaded models\n * @internal\n * {@link models#Models}\n */\n models: models.Models;\n\n /** Container for events dispatched by Human\n * Possible events:\n * - `create`: triggered when Human object is instantiated\n * - `load`: triggered when models are loaded (explicitly or on-demand)\n * - `image`: triggered when input image is processed\n * - `result`: triggered when detection is complete\n * - `warmup`: triggered when warmup is complete\n * - `error`: triggered on some errors\n */\n events: EventTarget | undefined;\n /** Reference face triangualtion array of 468 points, used for triangle references between points */\n faceTriangulation: number[];\n /** Refernce UV map of 468 values, used for 3D mapping of the face mesh */\n faceUVMap: [number, number][];\n /** Performance object that contains values for all recently performed operations */\n performance: Record; // perf members are dynamically defined as needed\n #numTensors: number;\n #analyzeMemoryLeaks: boolean;\n #checkSanity: boolean;\n // definition end\n\n /** Constructor for **Human** library that is futher used for all operations\n * @param userConfig - user configuration object {@link Config}\n */\n constructor(userConfig?: Partial) {\n /*\n defaults.wasmPath = tf.version['tfjs-core'].includes('-') // custom build or official build\n ? 'https://vladmandic.github.io/tfjs/dist/'\n : `https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-wasm@${tf.version_core}/dist/`;\n */\n const tfVersion = (tf.version.tfjs || tf.version_core).replace(/-(.*)/, '');\n defaults.wasmPath = `https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-wasm@${tfVersion}/dist/`;\n defaults.modelBasePath = env.browser ? '../models/' : 'file://models/';\n this.version = app.version; // expose version property on instance of class\n Object.defineProperty(this, 'version', { value: app.version }); // expose version property directly on class itself\n this.config = JSON.parse(JSON.stringify(defaults));\n Object.seal(this.config);\n this.config.cacheModels = typeof indexedDB !== 'undefined';\n if (userConfig) this.config = mergeDeep(this.config, userConfig);\n setModelLoadOptions(this.config);\n this.tf = tf;\n this.state = 'idle';\n this.#numTensors = 0;\n this.#analyzeMemoryLeaks = false;\n this.#checkSanity = false;\n this.performance = {};\n this.events = (typeof EventTarget !== 'undefined') ? new EventTarget() : undefined;\n // object that contains all initialized models\n this.models = new models.Models(this);\n // reexport draw methods\n draw.init();\n this.result = empty();\n // export access to image processing\n this.process = { tensor: null, canvas: null };\n // export raw access to underlying models\n this.faceTriangulation = facemesh.triangulation;\n this.faceUVMap = facemesh.uvmap;\n // init model validation\n models.validateModel(this, null, '');\n // include platform info\n this.emit('create');\n if (this.config.debug || this.env.browser) log(`version: ${this.version}`);\n if (this.config.debug) log(`tfjs version: ${this.tf.version['tfjs-core']}`);\n const envTemp = JSON.parse(JSON.stringify(this.env));\n delete envTemp.kernels;\n delete envTemp.initial;\n delete envTemp.perfadd;\n if (this.config.debug) log('environment:', envTemp);\n }\n\n /** internal function to measure tensor leaks */\n analyze = (...msg: string[]) => {\n if (!this.#analyzeMemoryLeaks) return;\n const currentTensors = this.tf.engine().state.numTensors;\n const previousTensors = this.#numTensors;\n this.#numTensors = currentTensors;\n const leaked = currentTensors - previousTensors;\n if (leaked !== 0) log(...msg, leaked);\n };\n\n /** internal function for quick sanity check on inputs @hidden */\n #sanity = (input: Input): null | string => {\n if (!this.#checkSanity) return null;\n if (!input) return 'input is not defined';\n if (this.env.node && !(input instanceof tf.Tensor)) return 'input must be a tensor';\n try {\n this.tf.getBackend();\n } catch {\n return 'backend not loaded';\n }\n return null;\n };\n\n /** Reset configuration to default values */\n reset(): void {\n const currentBackend = this.config.backend; // save backend;\n this.config = JSON.parse(JSON.stringify(defaults));\n this.config.backend = currentBackend;\n image.reset();\n env.initial = true;\n }\n\n /** Validate current configuration schema */\n validate(userConfig?: Partial) {\n const msgs = validate(defaults, userConfig || this.config);\n if (msgs.length === 0) this.config = mergeDeep(this.config, userConfig) as Config;\n return msgs;\n }\n\n /** Utility wrapper for performance.now() */\n now(): number { // eslint-disable-line class-methods-use-this\n return now();\n }\n\n /** Process input as return canvas and tensor\n *\n * @param input - any input {@link Input}\n * @param getTensor - should image processing also return tensor or just canvas\n * Returns object with `tensor` and `canvas`\n */\n image(input: Input, getTensor: boolean = false) {\n return image.process(input, this.config, getTensor);\n }\n\n /** Segmentation method takes any input and returns RGBA tensor\n * Note: Segmentation is not triggered as part of detect process\n *\n * @param input - {@link Input}\n * Returns tensor which contains image data in RGBA format\n */\n async segmentation(input: Input, userConfig?: Partial): Promise {\n if (userConfig) this.config = mergeDeep(this.config, userConfig) as Config;\n if (!this.config.segmentation.enabled) return null;\n const processed = await image.process(input, this.config);\n if (!processed.tensor) return null;\n let tensor: Tensor | null = null;\n if (this.config.segmentation.modelPath?.includes('rvm')) tensor = await rvm.predict(processed.tensor, this.config);\n if (this.config.segmentation.modelPath?.includes('meet')) tensor = await meet.predict(processed.tensor, this.config);\n if (this.config.segmentation.modelPath?.includes('selfie')) tensor = await selfie.predict(processed.tensor, this.config);\n tf.dispose(processed.tensor);\n return tensor;\n }\n\n /** Compare two input tensors for pixel similarity\n * - use `human.image` to process any valid input and get a tensor that can be used for compare\n * - when passing manually generated tensors:\n * - both input tensors must be in format [1, height, width, 3]\n * - if resolution of tensors does not match, second tensor will be resized to match resolution of the first tensor\n * - return value is pixel similarity score normalized by input resolution and rgb channels\n */\n compare(firstImageTensor: Tensor, secondImageTensor: Tensor): Promise {\n return image.compare(this.config, firstImageTensor, secondImageTensor);\n }\n\n /** Explicit backend initialization\n * - Normally done implicitly during initial load phase\n * - Call to explictly register and initialize TFJS backend without any other operations\n * - Use when changing backend during runtime\n */\n async init(): Promise {\n await backend.check(this, true);\n await this.tf.ready();\n image.reset();\n }\n\n /** WebCam helper methods\n *\n */\n public webcam = new WebCam();\n\n /** Load method preloads all configured models on-demand\n * - Not explicitly required as any required model is load implicitly on it's first run\n *\n * @param userConfig - {@link Config}\n */\n async load(userConfig?: Partial): Promise {\n this.state = 'load';\n const timeStamp = now();\n const count = Object.values(this.models.models).filter((model) => model).length;\n if (userConfig) this.config = mergeDeep(this.config, userConfig) as Config;\n\n if (this.env.initial) { // print version info on first run and check for correct backend setup\n if (!await backend.check(this, false)) log('error: backend check failed');\n await tf.ready();\n if (this.env.browser) {\n if (this.config.debug) log('configuration:', this.config);\n if (this.config.debug) log('tf flags:', this.tf.ENV.flags);\n }\n }\n\n await this.models.load(this); // actually loads models\n if (this.env.initial && this.config.debug) log('tf engine state:', this.tf.engine().state.numBytes, 'bytes', this.tf.engine().state.numTensors, 'tensors'); // print memory stats on first run\n this.env.initial = false;\n\n const loaded = Object.values(this.models.models).filter((model) => model).length;\n if (loaded !== count) { // number of loaded models changed\n this.models.validate(); // validate kernel ops used by model against current backend\n this.emit('load');\n }\n\n const current = Math.trunc(now() - timeStamp);\n if (current > (this.performance.loadModels || 0)) this.performance.loadModels = this.env.perfadd ? (this.performance.loadModels || 0) + current : current;\n }\n\n /** emit event */\n emit = (event: string) => {\n if (this.events?.dispatchEvent) this.events.dispatchEvent(new Event(event));\n };\n\n /** Runs interpolation using last known result and returns smoothened result\n * Interpolation is based on time since last known result so can be called independently\n *\n * @param result - {@link Result} optional use specific result set to run interpolation on\n * @returns result - {@link Result}\n */\n next(result: Result = this.result): Result {\n return interpolate.calc(result, this.config);\n }\n\n /** Warmup method pre-initializes all configured models for faster inference\n * - can take significant time on startup\n * - only used for `webgl` and `humangl` backends\n * @param userConfig - {@link Config}\n * @returns result - {@link Result}\n */\n async warmup(userConfig?: Partial) {\n const t0 = now();\n const res = await warmups.warmup(this, userConfig);\n const t1 = now();\n this.performance.warmup = Math.trunc(t1 - t0);\n return res;\n }\n\n /** Run detect with tensorflow profiling\n * - result object will contain total exeuction time information for top-20 kernels\n * - actual detection object can be accessed via `human.result`\n */\n async profile(input: Input, userConfig?: Partial): Promise<{ kernel: string, time: number, perc: number }[]> {\n // @ts-ignore profile wraps method return values\n const profile = await this.tf.profile(() => this.detect(input, userConfig));\n const kernels: Record = {};\n let total = 0;\n for (const kernel of profile.kernels) { // sum kernel time values per kernel\n const ms = Number(kernel.kernelTimeMs) || 0;\n if (kernels[kernel.name]) kernels[kernel.name] += ms;\n else kernels[kernel.name] = ms;\n total += ms;\n }\n const kernelArr: { kernel: string, time: number, perc: number }[] = [];\n Object.entries(kernels).forEach((key) => kernelArr.push({ kernel: key[0], time: key[1] as unknown as number, perc: 0 })); // convert to array\n for (const kernel of kernelArr) {\n kernel.perc = Math.round(1000 * kernel.time / total) / 1000;\n kernel.time = Math.round(1000 * kernel.time) / 1000;\n }\n kernelArr.sort((a, b) => b.time - a.time); // sort\n kernelArr.length = 20; // crop\n return kernelArr;\n }\n\n /** Main detection method\n * - Analyze configuration: {@link Config}\n * - Pre-process input: {@link Input}\n * - Run inference for all configured models\n * - Process and return result: {@link Result}\n *\n * @param input - {@link Input}\n * @param userConfig - {@link Config}\n * @returns result - {@link Result}\n */\n async detect(input: Input, userConfig?: Partial): Promise {\n // detection happens inside a promise\n this.state = 'detect';\n return new Promise(async (resolve) => {\n this.state = 'config';\n let timeStamp;\n\n // update configuration\n this.config = mergeDeep(this.config, userConfig) as Config;\n\n // sanity checks\n this.state = 'check';\n const error = this.#sanity(input);\n if (error) {\n log(error, input);\n this.emit('error');\n resolve(empty(error));\n }\n\n const timeStart = now();\n\n // load models if enabled\n await this.load();\n\n timeStamp = now();\n this.state = 'image';\n const img = await image.process(input, this.config) as { canvas: AnyCanvas, tensor: Tensor4D };\n this.process = img;\n this.performance.inputProcess = this.env.perfadd ? (this.performance.inputProcess || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n this.analyze('Get Image:');\n\n if (!img.tensor) {\n if (this.config.debug) log('could not convert input to tensor');\n this.emit('error');\n resolve(empty('could not convert input to tensor'));\n return;\n }\n this.emit('image');\n\n timeStamp = now();\n this.config.skipAllowed = await image.skip(this.config, img.tensor);\n this.config.filter.autoBrightness = (this.config.filter.autoBrightness || false) && this.config.skipAllowed; // disable autoBrightness on scene change\n if (!this.performance.totalFrames) this.performance.totalFrames = 0;\n if (!this.performance.cachedFrames) this.performance.cachedFrames = 0;\n (this.performance.totalFrames)++;\n if (this.config.skipAllowed) this.performance.cachedFrames++;\n this.performance.cacheCheck = this.env.perfadd ? (this.performance.cacheCheck || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n this.analyze('Check Changed:');\n\n // prepare where to store model results\n // keep them with weak typing as it can be promise or not\n let faceRes: FaceResult[] | Promise | never[] = [];\n let bodyRes: BodyResult[] | Promise | never[] = [];\n let handRes: HandResult[] | Promise | never[] = [];\n let objectRes: ObjectResult[] | Promise | never[] = [];\n\n // run face detection followed by all models that rely on face bounding box: face mesh, age, gender, emotion\n this.state = 'detect:face';\n if (this.config.async) {\n faceRes = this.config.face.enabled ? face.detectFace(this, img.tensor) : [];\n if (this.performance.face) delete this.performance.face;\n } else {\n timeStamp = now();\n faceRes = this.config.face.enabled ? await face.detectFace(this, img.tensor) : [];\n this.performance.face = this.env.perfadd ? (this.performance.face || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n }\n\n if (this.config.async && (this.config.body.maxDetected === -1 || this.config.hand.maxDetected === -1)) faceRes = await faceRes; // need face result for auto-detect number of hands or bodies\n\n // run body: can be posenet, blazepose, efficientpose, movenet\n this.analyze('Start Body:');\n this.state = 'detect:body';\n const bodyConfig = this.config.body.maxDetected === -1 ? mergeDeep(this.config, { body: { maxDetected: this.config.face.enabled ? 1 * (faceRes as FaceResult[]).length : 1 } }) : this.config; // autodetect number of bodies\n if (this.config.async) {\n if (this.config.body.modelPath?.includes('posenet')) bodyRes = this.config.body.enabled ? posenet.predict(img.tensor, bodyConfig) : [];\n else if (this.config.body.modelPath?.includes('blazepose')) bodyRes = this.config.body.enabled ? blazepose.predict(img.tensor, bodyConfig) : [];\n else if (this.config.body.modelPath?.includes('efficientpose')) bodyRes = this.config.body.enabled ? efficientpose.predict(img.tensor, bodyConfig) : [];\n else if (this.config.body.modelPath?.includes('movenet')) bodyRes = this.config.body.enabled ? movenet.predict(img.tensor, bodyConfig) : [];\n if (this.performance.body) delete this.performance.body;\n } else {\n timeStamp = now();\n if (this.config.body.modelPath?.includes('posenet')) bodyRes = this.config.body.enabled ? await posenet.predict(img.tensor, bodyConfig) : [];\n else if (this.config.body.modelPath?.includes('blazepose')) bodyRes = this.config.body.enabled ? await blazepose.predict(img.tensor, bodyConfig) : [];\n else if (this.config.body.modelPath?.includes('efficientpose')) bodyRes = this.config.body.enabled ? await efficientpose.predict(img.tensor, bodyConfig) : [];\n else if (this.config.body.modelPath?.includes('movenet')) bodyRes = this.config.body.enabled ? await movenet.predict(img.tensor, bodyConfig) : [];\n this.performance.body = this.env.perfadd ? (this.performance.body || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n }\n this.analyze('End Body:');\n\n // run handpose\n this.analyze('Start Hand:');\n this.state = 'detect:hand';\n const handConfig = this.config.hand.maxDetected === -1 ? mergeDeep(this.config, { hand: { maxDetected: this.config.face.enabled ? 2 * (faceRes as FaceResult[]).length : 1 } }) : this.config; // autodetect number of hands\n if (this.config.async) {\n if (this.config.hand.detector?.modelPath?.includes('handdetect')) handRes = this.config.hand.enabled ? handpose.predict(img.tensor, handConfig) : [];\n else if (this.config.hand.detector?.modelPath?.includes('handtrack')) handRes = this.config.hand.enabled ? handtrack.predict(img.tensor, handConfig) : [];\n if (this.performance.hand) delete this.performance.hand;\n } else {\n timeStamp = now();\n if (this.config.hand.detector?.modelPath?.includes('handdetect')) handRes = this.config.hand.enabled ? await handpose.predict(img.tensor, handConfig) : [];\n else if (this.config.hand.detector?.modelPath?.includes('handtrack')) handRes = this.config.hand.enabled ? await handtrack.predict(img.tensor, handConfig) : [];\n this.performance.hand = this.env.perfadd ? (this.performance.hand || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n }\n this.analyze('End Hand:');\n\n // run object detection\n this.analyze('Start Object:');\n this.state = 'detect:object';\n if (this.config.async) {\n if (this.config.object.modelPath?.includes('nanodet')) objectRes = this.config.object.enabled ? nanodet.predict(img.tensor, this.config) : [];\n else if (this.config.object.modelPath?.includes('centernet')) objectRes = this.config.object.enabled ? centernet.predict(img.tensor, this.config) : [];\n if (this.performance.object) delete this.performance.object;\n } else {\n timeStamp = now();\n if (this.config.object.modelPath?.includes('nanodet')) objectRes = this.config.object.enabled ? await nanodet.predict(img.tensor, this.config) : [];\n else if (this.config.object.modelPath?.includes('centernet')) objectRes = this.config.object.enabled ? await centernet.predict(img.tensor, this.config) : [];\n this.performance.object = this.env.perfadd ? (this.performance.object || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n }\n this.analyze('End Object:');\n\n // if async wait for results\n this.state = 'detect:await';\n if (this.config.async) [faceRes, bodyRes, handRes, objectRes] = await Promise.all([faceRes, bodyRes, handRes, objectRes]);\n\n // run gesture analysis last\n this.state = 'detect:gesture';\n let gestureRes: GestureResult[] = [];\n if (this.config.gesture.enabled) {\n timeStamp = now();\n gestureRes = [...gesture.face(faceRes as FaceResult[]), ...gesture.body(bodyRes as BodyResult[]), ...gesture.hand(handRes as HandResult[]), ...gesture.iris(faceRes as FaceResult[])];\n if (!this.config.async) this.performance.gesture = this.env.perfadd ? (this.performance.gesture || 0) + Math.trunc(now() - timeStamp) : Math.trunc(now() - timeStamp);\n else if (this.performance.gesture) delete this.performance.gesture;\n }\n\n this.performance.total = this.env.perfadd ? (this.performance.total || 0) + Math.trunc(now() - timeStart) : Math.trunc(now() - timeStart);\n const shape = this.process.tensor?.shape || [0, 0, 0, 0];\n this.result = {\n face: faceRes as FaceResult[],\n body: bodyRes as BodyResult[],\n hand: handRes as HandResult[],\n gesture: gestureRes,\n object: objectRes as ObjectResult[],\n performance: this.performance,\n canvas: this.process.canvas,\n timestamp: Date.now(),\n error: null,\n width: shape[2],\n height: shape[1],\n get persons() { return persons.join(faceRes as FaceResult[], bodyRes as BodyResult[], handRes as HandResult[], gestureRes, shape); },\n };\n\n // finally dispose input tensor\n tf.dispose(img.tensor);\n\n // log('Result:', result);\n this.emit('detect');\n this.state = 'idle';\n resolve(this.result);\n });\n }\n\n /** Helper function\n * @param ms - sleep time in miliseconds\n */\n async sleep(ms: number): Promise { // eslint-disable-line class-methods-use-this\n return new Promise((resolve) => { setTimeout(resolve, ms); });\n }\n\n /** internal structure that keeps track of processed videos @hidden */\n #loops: Record = {};\n /** Continously detect video frames\n * @param element - HTMLVideoElement input\n * @param run - boolean run continously or stop if already running, default true\n * @param delay - number delay detection between frames for number of miliseconds, default 0\n */\n async video(element: HTMLVideoElement, run: boolean = true, delay: number = 0) {\n if (run) {\n if (!this.#loops[element.id]) {\n if (this.config.debug) log('video start', element.id);\n this.#loops[element.id] = true;\n }\n if (!element.paused && this.#loops[element.id] && (element.readyState >= 2)) await this.detect(element);\n if (delay > 0) await this.sleep(delay);\n if (this.#loops[element.id]) requestAnimationFrame(() => this.video(element, run, delay));\n } else {\n if (this.config.debug) log('video stop', element.id);\n this.#loops[element.id] = false;\n }\n }\n}\n\n/** Class Human as default export */\n/* eslint no-restricted-exports: [\"off\", { \"restrictedNamedExports\": [\"default\"] }] */\nexport { Human as default, match, draw, models };\n"], + "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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BAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,iBAAiB,iBAAiB;AAAA,EACnC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,iBAAiB,iBAAiB;AAAA,EACnC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,i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BAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,gBAAgB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,gBAAgB,iBAAiB;AAAA,EAClC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,kBAAkB,iBAAiB;AAAA,EACpC,CAAC,iBAAiB,iBAAiB;AAAA,EACnC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AAAA,EACrC,CAAC,mBAAmB,iBAAiB;AACvC;AAEO,IAAM,SAAmB;AAAA,EAC9B;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EACtJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EACrJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAC7I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EACrJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC9I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EACtJ;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAClJ;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACrJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EACnJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC7I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC7I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EACnJ;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAClJ;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EACrJ;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAC9I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EACpJ;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACrJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAC9I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAI;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAC9I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC9I;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAC/I;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAChJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAClJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAI;AAAA,EAAG;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACpJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EACjJ;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAA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ACF;;;ACpIO,IAAMS,WAAU;AAAA,EACrB,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,EAC3B,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,EACzB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ,GAAG,OAAO;AAAA,EACvB,EAAE,GAAG,QAAQ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AA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0Jb,IAAMC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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", "names": ["t", "dt", "config", "match", "gl", "index", "y", "v", "size", "rgb", "fx", "process", "config", "_a", "_b", "_c", "tensor", "rgb", "t", "gl", "el", "_a", "init", "config", "_a", "_b", "_c", "_d", "model", "config", "gl", "_a", "config", "op", "t", "_a", "canvas", "init", "options", "z", "rgb", "localOptions", "y", "cx", "xc", "yc", "to", "options", "connectionsToIndices", "index", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "_h", "_i", "emotion", "index", "inCanvas", "options", "inCanvas", "_a", "_b", "localOptions", "options", "connected", "inCanvas", "_a", "_b", "localOptions", "options", "z", "inCanvas", "_a", "localOptions", "options", "inCanvas", "_a", "localOptions", "options", "inCanvas", "localOptions", "options", "canvas", "init", "anchors", "y", "config", "outputSize", "_a", "_b", "t", "outputSize", "model", "inputSize", "config", "size", "_a", "_b", "t", "outputSize", "kpt", "distance", "annotations", "body", "_c", "labels", "model", "inputSize", "last", "lastTime", "skipped", "config", "process", "t", "id", "labels", "y", "predict", "outputSize", "connected", "kpt", "model", "lastTime", "cache", "skipped", "load", "config", "y", "predict", "_a", "_b", "enhance", "id", "x", "kpt", "connected", "size", "y", "y", "v1", "v2", "size", "inputSize", "anchors", "face", "y", "model", "inputSize", "load", "config", "_a", "decodeBoxes", "t", "_b", "_c", "_d", "model", "inputSize", "load", "config", "_a", "_b", "index", "face", "y", "z", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "_h", "_i", "_j", "t", "cache", "model", "inputSize", "predict", "config", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "_h", "_i", "_j", "id", "size", "face", "t", "index", "load", "model", "last", "lastTime", "skipped", "load", "config", "_a", "predict", "count", "_b", "t", "inputSize", "model", "last", "lastTime", "lastCount", "skipped", "load", "config", "_a", "predict", "count", "_b", "_c", "_d", "t", "gender", "all", "y", "face", "model", "skipped", "lastCount", "lastTime", "load", "config", "_a", "predict", "count", "_b", "model", "cached", "skipped", "lastCount", "lastTime", "load", "config", "_a", "predict", "count", "_b", "model", "last", "lastCount", "lastTime", "skipped", "load", "config", "_a", "predict", "count", "_b", "t", "gender", "age", "model", "last", "lastCount", "lastTime", "skipped", "load", "config", "predict", "count", "_a", "_b", "_c", "_d", "t", "model", "last", "lastCount", "lastTime", "skipped", "load", "config", "_a", "predict", "count", "_b", "_c", "_d", "t", "normalize", "model", "last", "lastCount", "lastTime", "skipped", "load", "config", "_a", "predict", "count", "_b", "t", "model", "last", "lastCount", "lastTime", "skipped", "load", "config", "predict", "count", "_a", "_b", "t", "face", "normalize", "v", "y", "z", "size", "face", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "_h", "_i", "_j", "_k", "_l", "_m", "_n", "_o", "_q", "_r", "_s", "_u", "_v", "_w", "predict", "el", "options", "point", "point2", "gesture", "body", "face", "iris", "_a", "_b", "_c", "_d", "hand", "getBoxSize", "getBoxCenter", "scaleBoxCoordinates", "enlargeBox", "size", "squarifyBox", "normalizeRadians", "computeRotation", "buildTranslationMatrix", "y", "dot", "v1", "v2", "getColumnFrom2DArr", "multiplyTransformMatrices", "size", "buildRotationMatrix", "invertTransformMatrix", "rotatePoint", "anchors", "model", "_a", "_b", "_c", "_d", "anchors", "t", "index", "config", "hand", "scaleBoxCoordinates", "lastTime", "handPoseModel", "_a", "_b", "_c", "xs", "ys", "rotatePoint", "enlargeBox", "squarifyBox", "getBoxSize", "buildRotationMatrix", "invertTransformMatrix", "getBoxCenter", "dot", "config", "computeRotation", "meshAnnotations", "predict", "config", "annotations", "index", "load", "_a", "_b", "models", "inputSize", "skipped", "lastTime", "cache", "loadDetect", "config", "_a", "config", "models", "t", "ratio", "id", "hand", "inputSize", "kpt", "index", "predict", "_a", "_b", "skipped", "lastTime", "cache", "connected", "kpt", "calc", "config", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "_h", "_i", "_j", "_k", "_l", "_m", "_n", "_o", "_q", "_r", "_s", "_u", "_v", "_w", "t0", "annotations", "kp", "t1", "model", "load", "config", "predict", "_a", "t", "options", "clamp", "index", "models_exports", "cache", "body", "kp", "compare", "inputSize", "_a", "_b", "t", "outputSize", "kpt", "model", "inputSize", "skipped", "cache", "load", "config", "_a", "kpt", "id", "annotations", "connected", "kp", "body", "predict", "t", "model", "last", "lastTime", "skipped", "inputSize", "load", "config", "process", "_a", "_b", "id", "size", "labels", "cx", "y", "predict", "outputSize", "y", "maxSize", "t", "outputStride", "y1", "x1", "y2", "x2", "dx", "model", "point", "height", "width", "minConfidence", "y", "_a", "predict", "config", "t", "load", "model", "outputNodes", "init", "config", "load", "rgb", "predict", "model", "load", "config", "predict", "_a", "t", "model", "_a", "_b", "op", "_c", "_d", "_e", "_f", "_g", "_h", "_i", "_j", "_k", "_l", "_m", "_n", "_o", "_q", "_r", "_s", "_u", "_v", "_w", "_z", "_A", "load", "loadDetect", "models", "join", "_a", "_b", "_c", "_d", "_e", "_f", "id", "face", "person", "body", "hand", "gesture", "y", "face", "body", "res", "face", "body", "canvas", "atob", "_a", "_b", "_c", "_d", "model", "t", "t0", "t1", "_a", "init", "process", "_b", "_c", "predict", "count", "model", "calc", "t0", "t1", "ms", "_d", "_e", "_f", "_g", "_h", "_i", "_j", "_k", "_l", "_m", "_n", "_o", "_q", "_r", "_s", "_u", "face", "body", "hand", "iris", "join"] } diff --git a/dist/human.js b/dist/human.js index dcf3226f..4af33c8d 100644 --- a/dist/human.js +++ b/dist/human.js @@ -7291,7 +7291,7 @@ return a / b;`,WK=` setOutputAtIndex(index, outputValue); } } - `}};function Zde(e){let{inputs:t,backend:a,attrs:n}=e,{image:r,transforms:s}=t,{interpolation:i,fillMode:o,fillValue:l,outputShape:u}=n,[p,c,d,h]=r.shape,[f,m]=u!=null?u:[c,d],g=[p,f,m,h],x=new Kde(g),A=i==="nearest"?1:2,y;switch(o){case"constant":y=1;break;case"reflect":y=2;break;case"wrap":y=3;break;case"nearest":y=4;break;default:y=1;break}let b=[{type:"int32",data:[A]},{type:"int32",data:[y]},{type:"float32",data:[l]}];return a.runWebGPUProgram(x,[r,s],"float32",b)}var Yde={kernelName:po,backendName:"webgpu",kernelFunc:Zde};function Jde(e){let{inputs:t,backend:a,attrs:n}=e,{value:r}=t,{axis:s}=n;s<0&&(s+=r.shape.length);let i=r,o=i.shape.length,l=r.shape[s],u=new Array(o-1),p=0;for(let m=0;ma.disposeData(m.dataId)),f}var Qde={kernelName:tu,backendName:"webgpu",kernelFunc:Jde},epe=[Sse,lie,die,cie,fie,xie,Iie,Tie,Nie,Rie,$ie,Pie,Oie,zie,Bie,Hie,qie,Jie,aoe,ioe,loe,coe,Cse,goe,Ioe,Eoe,Moe,_oe,Ooe,zoe,Boe,Voe,Hoe,Xoe,Joe,ele,ale,rle,sle,ile,lle,dle,wse,cle,Ale,fle,gle,vle,kle,Sle,Nle,Mle,_le,Fle,Tse,Dle,foe,Lle,Wle,Ule,Hle,qle,Kle,Qle,Yle,tue,nue,Vie,sue,oue,Uie,uue,pue,hue,mue,Koe,xue,yue,vue,noe,Iue,Tue,Nue,Rue,$ue,Pue,Oue,zue,roe,Lue,Wue,Uue,Hue,kse,Xue,Yue,ede,ade,rde,ide,ude,cde,fde,gde,Ade,Zie,zde,Bde,vde,kde,Nde,Rde,$de,_de,Fde,yde,Zoe,Vde,Gde,Tde,Xde,Yde,vie,Qde,Sue];for(let e of epe)fn(e);var Jx="4.1.0",tpe="4.1.0",ape="4.1.0",npe="4.1.0",rpe="4.1.0",spe="0.0.1-alpha.16",xp={tfjs:Jx,"tfjs-core":Jx,"tfjs-converter":tpe,"tfjs-backend-cpu":ape,"tfjs-backend-webgl":npe,"tfjs-backend-wasm":rpe,"tfjs-backend-webgpu":spe};function K(...e){let t=new Date,a=`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}:${t.getSeconds().toString().padStart(2,"0")}.${t.getMilliseconds().toString().padStart(3,"0")}`;e&&console.log(a,"Human:",...e)}function Z8(e,t){let a=e.endsWith("/")?"":"/",r=t.startsWith(".")||t.startsWith("/")||t.startsWith("http:")||t.startsWith("https:")||t.startsWith("file:")?`${t}`:`${e}${a}${t}`;if(!r.toLocaleLowerCase().includes(".json"))throw new Error(`modelpath error: expecting json file: ${r}`);return r}var te=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function B3(e,t,a="config",n=[]){for(let r of Object.keys(t))if(typeof t[r]=="object")B3(e[r],t[r],r,n);else{let s=e&&typeof e[r]!="undefined";s||n.push({reason:"unknown property",where:`${a}.${r} = ${t[r]}`});let i=e&&typeof e[r]==typeof t[r];s&&!i&&n.push({reason:"property type mismatch",where:`${a}.${r} = ${t[r]}`,expected:typeof e[r]})}return t.debug&&a==="config"&&n.length>0&&K("invalid configuration",n),n}function Ct(...e){let t=a=>a&&typeof a=="object";return e.reduce((a,n)=>(Object.keys(n||{}).forEach(r=>{let s=a[r],i=n[r];Array.isArray(s)&&Array.isArray(i)?a[r]=s.concat(...i):t(s)&&t(i)?a[r]=Ct(s,i):a[r]=i}),a),{})}var wo={backend:"",modelBasePath:"",cacheModels:!0,validateModels:!0,wasmPath:"",wasmPlatformFetch:!1,debug:!1,async:!0,warmup:"full",cacheSensitivity:.7,skipAllowed:!1,deallocate:!1,flags:{},softwareKernels:!1,filter:{enabled:!0,equalization:!1,width:0,height:0,flip:!1,return:!0,autoBrightness:!0,brightness:0,contrast:0,sharpness:0,blur:0,saturation:0,hue:0,negative:!1,sepia:!1,vintage:!1,kodachrome:!1,technicolor:!1,polaroid:!1,pixelate:0},gesture:{enabled:!0},face:{enabled:!0,detector:{modelPath:"blazeface.json",rotation:!0,maxDetected:1,skipFrames:99,skipTime:2500,minConfidence:.2,iouThreshold:.1,mask:!1,return:!1},mesh:{enabled:!0,modelPath:"facemesh.json",keepInvalid:!1},attention:{enabled:!1,modelPath:"facemesh-attention.json"},iris:{enabled:!0,modelPath:"iris.json"},emotion:{enabled:!0,minConfidence:.1,skipFrames:99,skipTime:1500,modelPath:"emotion.json"},description:{enabled:!0,modelPath:"faceres.json",skipFrames:99,skipTime:3e3,minConfidence:.1},antispoof:{enabled:!1,skipFrames:99,skipTime:4e3,modelPath:"antispoof.json"},liveness:{enabled:!1,skipFrames:99,skipTime:4e3,modelPath:"liveness.json"}},body:{enabled:!0,modelPath:"movenet-lightning.json",maxDetected:-1,minConfidence:.3,skipFrames:1,skipTime:200},hand:{enabled:!0,rotation:!0,skipFrames:99,skipTime:1e3,minConfidence:.5,iouThreshold:.2,maxDetected:-1,landmarks:!0,detector:{modelPath:"handtrack.json"},skeleton:{modelPath:"handlandmark-full.json"}},object:{enabled:!1,modelPath:"centernet.json",minConfidence:.2,iouThreshold:.4,maxDetected:10,skipFrames:99,skipTime:2e3},segmentation:{enabled:!1,modelPath:"rvm.json",ratio:.5,mode:"default"}};var Y8=` + `}};function Zde(e){let{inputs:t,backend:a,attrs:n}=e,{image:r,transforms:s}=t,{interpolation:i,fillMode:o,fillValue:l,outputShape:u}=n,[p,c,d,h]=r.shape,[f,m]=u!=null?u:[c,d],g=[p,f,m,h],x=new Kde(g),A=i==="nearest"?1:2,y;switch(o){case"constant":y=1;break;case"reflect":y=2;break;case"wrap":y=3;break;case"nearest":y=4;break;default:y=1;break}let b=[{type:"int32",data:[A]},{type:"int32",data:[y]},{type:"float32",data:[l]}];return a.runWebGPUProgram(x,[r,s],"float32",b)}var Yde={kernelName:po,backendName:"webgpu",kernelFunc:Zde};function Jde(e){let{inputs:t,backend:a,attrs:n}=e,{value:r}=t,{axis:s}=n;s<0&&(s+=r.shape.length);let i=r,o=i.shape.length,l=r.shape[s],u=new Array(o-1),p=0;for(let m=0;ma.disposeData(m.dataId)),f}var Qde={kernelName:tu,backendName:"webgpu",kernelFunc:Jde},epe=[Sse,lie,die,cie,fie,xie,Iie,Tie,Nie,Rie,$ie,Pie,Oie,zie,Bie,Hie,qie,Jie,aoe,ioe,loe,coe,Cse,goe,Ioe,Eoe,Moe,_oe,Ooe,zoe,Boe,Voe,Hoe,Xoe,Joe,ele,ale,rle,sle,ile,lle,dle,wse,cle,Ale,fle,gle,vle,kle,Sle,Nle,Mle,_le,Fle,Tse,Dle,foe,Lle,Wle,Ule,Hle,qle,Kle,Qle,Yle,tue,nue,Vie,sue,oue,Uie,uue,pue,hue,mue,Koe,xue,yue,vue,noe,Iue,Tue,Nue,Rue,$ue,Pue,Oue,zue,roe,Lue,Wue,Uue,Hue,kse,Xue,Yue,ede,ade,rde,ide,ude,cde,fde,gde,Ade,Zie,zde,Bde,vde,kde,Nde,Rde,$de,_de,Fde,yde,Zoe,Vde,Gde,Tde,Xde,Yde,vie,Qde,Sue];for(let e of epe)fn(e);var Jx="4.1.0",tpe="4.1.0",ape="4.1.0",npe="4.1.0",rpe="4.1.0",spe="0.0.1-alpha.16",xp={tfjs:Jx,"tfjs-core":Jx,"tfjs-converter":tpe,"tfjs-backend-cpu":ape,"tfjs-backend-webgl":npe,"tfjs-backend-wasm":rpe,"tfjs-backend-webgpu":spe};function K(...e){let t=new Date,a=`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}:${t.getSeconds().toString().padStart(2,"0")}.${t.getMilliseconds().toString().padStart(3,"0")}`;e&&console.log(a,"Human:",...e)}function Z8(e,t){let a=e.endsWith("/")?"":"/",r=t.startsWith(".")||t.startsWith("/")||t.startsWith("http:")||t.startsWith("https:")||t.startsWith("file:")?`${t}`:`${e}${a}${t}`;if(!r.toLocaleLowerCase().includes(".json"))throw new Error(`modelpath error: expecting json file: ${r}`);return r}var te=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function B3(e,t,a="config",n=[]){for(let r of Object.keys(t))if(typeof t[r]=="object")B3(e[r],t[r],r,n);else{let s=e&&typeof e[r]!="undefined";s||n.push({reason:"unknown property",where:`${a}.${r} = ${t[r]}`});let i=e&&typeof e[r]==typeof t[r];s&&!i&&n.push({reason:"property type mismatch",where:`${a}.${r} = ${t[r]}`,expected:typeof e[r]})}return t.debug&&a==="config"&&n.length>0&&K("invalid configuration",n),n}function Ct(...e){let t=a=>a&&typeof a=="object";return e.reduce((a,n)=>(Object.keys(n||{}).forEach(r=>{let s=a[r],i=n[r];Array.isArray(s)&&Array.isArray(i)?a[r]=s.concat(...i):t(s)&&t(i)?a[r]=Ct(s,i):a[r]=i}),a),{})}var wo={backend:"",modelBasePath:"",cacheModels:!0,validateModels:!0,wasmPath:"",wasmPlatformFetch:!1,debug:!1,async:!0,warmup:"full",cacheSensitivity:.7,skipAllowed:!1,deallocate:!1,flags:{},softwareKernels:!1,filter:{enabled:!0,equalization:!1,width:0,height:0,flip:!1,return:!0,autoBrightness:!0,brightness:0,contrast:0,sharpness:0,blur:0,saturation:0,hue:0,negative:!1,sepia:!1,vintage:!1,kodachrome:!1,technicolor:!1,polaroid:!1,pixelate:0},gesture:{enabled:!0},face:{enabled:!0,detector:{modelPath:"blazeface.json",rotation:!0,maxDetected:1,skipFrames:99,skipTime:2500,minConfidence:.2,iouThreshold:.1,mask:!1,return:!1},mesh:{enabled:!0,modelPath:"facemesh.json",keepInvalid:!1},attention:{enabled:!1,modelPath:"facemesh-attention.json"},iris:{enabled:!0,modelPath:"iris.json"},emotion:{enabled:!0,minConfidence:.1,skipFrames:99,skipTime:1500,modelPath:"emotion.json"},description:{enabled:!0,modelPath:"faceres.json",skipFrames:99,skipTime:3e3,minConfidence:.1},antispoof:{enabled:!1,skipFrames:99,skipTime:4e3,modelPath:"antispoof.json"},liveness:{enabled:!1,skipFrames:99,skipTime:4e3,modelPath:"liveness.json"}},body:{enabled:!0,modelPath:"movenet-lightning.json",maxDetected:-1,minConfidence:.3,skipFrames:1,skipTime:200},hand:{enabled:!0,rotation:!0,skipFrames:99,skipTime:1e3,minConfidence:.5,iouThreshold:.2,maxDetected:-1,landmarks:!0,detector:{modelPath:"handtrack.json"},skeleton:{modelPath:"handlandmark-lite.json"}},object:{enabled:!1,modelPath:"centernet.json",minConfidence:.2,iouThreshold:.4,maxDetected:10,skipFrames:99,skipTime:2e3},segmentation:{enabled:!1,modelPath:"rvm.json",ratio:.5,mode:"default"}};var Y8=` precision highp float; attribute vec2 pos; attribute vec2 uv; @@ -7405,7 +7405,7 @@ return a / b;`,WK=` live: [live]% [emotions] roll: [roll]\xB0 yaw:[yaw]\xB0 pitch:[pitch]\xB0 - gaze: [gaze]\xB0`,body:"body [score]%",bodyPart:"[label] [score]%",object:"[label] [score]%",hand:"[label] [score]%",finger:"[label]",gesture:"[where] [who]: [what]"};var Y3=0;function Zce(e,t,a){let n=Ct($t,a);if(!t||!e)return;let r=gn(e);if(!!r){r.lineJoin="round",r.font=n.font;for(let s=0;se5,kpt:()=>Q3});var Q3=["nose","leftEyeInside","leftEye","leftEyeOutside","rightEyeInside","rightEye","rightEyeOutside","leftEar","rightEar","leftMouth","rightMouth","leftShoulder","rightShoulder","leftElbow","rightElbow","leftWrist","rightWrist","leftPinky","rightPinky","leftIndex","rightIndex","leftThumb","rightThumb","leftHip","rightHip","leftKnee","rightKnee","leftAnkle","rightAnkle","leftHeel","rightHeel","leftFoot","rightFoot","bodyCenter","bodyTop","leftPalm","leftHand","rightPalm","rightHand"],e5={shoulders:["leftShoulder","rightShoulder"],hips:["rightHip","leftHip"],mouth:["leftMouth","rightMouth"],leftLegUpper:["leftHip","leftKnee"],leftLegLower:["leftKnee","leftAnkle"],leftFoot:["leftAnkle","leftHeel","leftFoot"],leftTorso:["leftShoulder","leftHip"],leftArmUpper:["leftShoulder","leftElbow"],leftArmLower:["leftElbow","leftWrist"],leftHand:["leftWrist","leftPalm"],leftHandPinky:["leftPalm","leftPinky"],leftHandIndex:["leftPalm","leftIndex"],leftHandThumb:["leftPalm","leftThumb"],leftEyeOutline:["leftEyeInside","leftEyeOutside"],rightLegUpper:["rightHip","rightKnee"],rightLegLower:["rightKnee","rightAnkle"],rightFoot:["rightAnkle","rightHeel","rightFoot"],rightTorso:["rightShoulder","rightHip"],rightArmUpper:["rightShoulder","rightElbow"],rightArmLower:["rightElbow","rightWrist"],rightHand:["rightWrist","rightPalm"],rightHandPinky:["rightPalm","rightPinky"],rightHandIndex:["rightPalm","rightIndex"],rightHandThumb:["rightPalm","rightThumb"],rightEyeOutline:["rightEyeInside","rightEyeOutside"]};var xn,Eo=224,f9,Qce=5,r0=[8,16,32,32,32];function ehe(){let e=[],t=0;for(;ta.x)),y:Ht(e.map(a=>a.y))}}async function m9(e){if(ne.initial&&(xn=null),!xn&&e.body.detector&&e.body.detector.modelPath){xn=await Ee(e.body.detector.modelPath);let t=xn!=null&&xn.executor?Object.values(xn.modelSignature.inputs):void 0;Eo=Array.isArray(t)?parseInt(t[0].tensorShape.dim[1].size):0}else e.debug&&xn&&K("cached model:",xn.modelUrl);return ehe(),xn}var h9=[5,5];function the(e,t){return $e(()=>{let a=ka(e,12,1),n=_e(a[0]),r=_e(a[1]),s=_e(a[2]),i=_e(a[3]);n=be(me(n,Eo),t.x),r=be(me(r,Eo),t.y),s=ae(me(s,Eo),h9[0]),i=ae(me(i,Eo),h9[1]);let o=fe(n,me(s,2)),l=fe(r,me(i,2)),u=be(o,s),p=be(l,i);return sa([o,l,u,p],1)})}async function ahe(e,t,a,n){var u,p;let r=[],s={};s.boxes=the(e,f9),s.scores=Da(t),s.nms=await ge.nonMaxSuppressionAsync(s.boxes,s.scores,1,((u=a.body.detector)==null?void 0:u.minConfidence)||.1,((p=a.body.detector)==null?void 0:p.iouThreshold)||.1);let i=await s.nms.data(),o=await s.scores.data(),l=await s.boxes.array();for(let c of Array.from(i)){let d=o[c],h=l[c],f=[Math.round(h[0]*n[0]),Math.round(h[1]*n[1]),Math.round(h[2]*n[0]),Math.round(h[3]*n[1])],m={score:d,boxRaw:h,box:f};r.push(m)}return Object.keys(s).forEach(c=>Y(s[c])),r}async function g9(e,t,a){let n={};n.res=xn==null?void 0:xn.execute(e,["Identity"]),n.logitsRaw=Pe(n.res,[0,0,0],[1,-1,1]),n.boxesRaw=Pe(n.res,[0,0,1],[1,-1,-1]),n.logits=_e(n.logitsRaw),n.boxes=_e(n.boxesRaw);let r=await ahe(n.boxes,n.logits,t,a);return Object.keys(n).forEach(s=>Y(n[s])),r}function Cr(e,t=[1,1]){let a=[e.map(o=>o[0]),e.map(o=>o[1])],n=[Math.min(...a[0]),Math.min(...a[1])],r=[Math.max(...a[0]),Math.max(...a[1])],s=[n[0],n[1],r[0]-n[0],r[1]-n[1]],i=[s[0]/t[0],s[1]/t[1],s[2]/t[0],s[3]/t[1]];return{box:s,boxRaw:i}}function x9(e,t=[1,1]){let a=[e.map(u=>u[0]),e.map(u=>u[1])],n=[Math.min(...a[0]),Math.min(...a[1])],r=[Math.max(...a[0]),Math.max(...a[1])],s=[(n[0]+r[0])/2,(n[1]+r[1])/2],i=Math.max(s[0]-n[0],s[1]-n[1],-s[0]+r[0],-s[1]+r[1]),o=[Math.trunc(s[0]-i),Math.trunc(s[1]-i),Math.trunc(2*i),Math.trunc(2*i)],l=[o[0]/t[0],o[1]/t[1],o[2]/t[0],o[3]/t[1]];return{box:o,boxRaw:l}}function s0(e,t){let a=[e[2]*t,e[3]*t];return[e[0]-(a[0]-e[2])/2,e[1]-(a[1]-e[3])/2,a[0],a[1]]}var Ba,a5=256,t5=Number.MAX_SAFE_INTEGER,nhe={landmarks:["ld_3d","activation_segmentation","activation_heatmap","world_3d","output_poseflag"],detector:[]},o0=[],ps=[[0,0],[0,0],[0,0],[0,0]],A9=0,y9=e=>1-1/(1+Math.exp(e)),v9=e=>m9(e);async function w9(e){if(ne.initial&&(Ba=null),Ba)e.debug&&K("cached model:",Ba.modelUrl);else{Ba=await Ee(e.body.modelPath);let t=Ba!=null&&Ba.executor?Object.values(Ba.modelSignature.inputs):void 0;a5=Array.isArray(t)?parseInt(t[0].tensorShape.dim[1].size):0}return Ba}function b9(e,t,a){var s,i;let n={};if(!((s=e==null?void 0:e.shape)!=null&&s[1])||!((i=e==null?void 0:e.shape)!=null&&i[2]))return e;let r;if(a&&(n.cropped=ge.cropAndResize(e,[a],[0],[e.shape[1],e.shape[2]])),e.shape[1]!==e.shape[2]){let o=[e.shape[2]>e.shape[1]?Math.trunc((e.shape[2]-e.shape[1])/2):0,e.shape[2]>e.shape[1]?Math.trunc((e.shape[2]-e.shape[1])/2):0],l=[e.shape[1]>e.shape[2]?Math.trunc((e.shape[1]-e.shape[2])/2):0,e.shape[1]>e.shape[2]?Math.trunc((e.shape[1]-e.shape[2])/2):0];ps=[[0,0],o,l,[0,0]],n.pad=nr(n.cropped||e,ps),n.resize=ge.resizeBilinear(n.pad,[t,t]),r=me(n.resize,ze.tf255)}else e.shape[1]!==t?(n.resize=ge.resizeBilinear(n.cropped||e,[t,t]),r=me(n.resize,ze.tf255)):r=me(n.cropped||e,ze.tf255);return Object.keys(n).forEach(o=>Y(n[o])),r}function rhe(e,t,a){for(let n of e)n.position=[Math.trunc(n.position[0]*(t[0]+ps[2][0]+ps[2][1])/t[0]-ps[2][0]),Math.trunc(n.position[1]*(t[1]+ps[1][0]+ps[1][1])/t[1]-ps[1][0]),n.position[2]],n.positionRaw=[n.position[0]/t[0],n.position[1]/t[1],2*n.position[2]/(t[0]+t[1])];if(a){let n=a[2]-a[0],r=a[3]-a[1];for(let s of e)s.positionRaw=[s.positionRaw[0]/r+a[1],s.positionRaw[1]/n+a[0],s.positionRaw[2]],s.position=[Math.trunc(s.positionRaw[0]*t[0]),Math.trunc(s.positionRaw[1]*t[1]),s.positionRaw[2]]}return e}function she(e){let t=e.find(o=>o.part==="leftPalm"),a=e.find(o=>o.part==="leftWrist"),n=e.find(o=>o.part==="leftIndex");t.position[2]=((a.position[2]||0)+(n.position[2]||0))/2;let r=e.find(o=>o.part==="rightPalm"),s=e.find(o=>o.part==="rightWrist"),i=e.find(o=>o.part==="rightIndex");r.position[2]=((s.position[2]||0)+(i.position[2]||0))/2}async function ihe(e,t,a){if(!(Ba!=null&&Ba.executor))return null;let n={};[n.ld,n.segmentation,n.heatmap,n.world,n.poseflag]=Ba==null?void 0:Ba.execute(e,nhe.landmarks);let r=(await n.poseflag.data())[0],s=await n.ld.data(),i=await n.world.data();Object.keys(n).forEach(f=>Y(n[f]));let o=[],l=5;for(let f=0;ff.position),c=Cr(p,[a[0],a[1]]),d={};for(let[f,m]of Object.entries(e5)){let g=[];for(let x=0;xb.part===m[x]),y=u.find(b=>b.part===m[x+1]);A&&y&&g.push([A.position,y.position])}d[f]=g}return{id:0,score:Math.trunc(100*r)/100,box:c.box,boxRaw:c.boxRaw,keypoints:u,annotations:d}}async function n5(e,t){var s,i,o;let a=[e.shape[2]||0,e.shape[1]||0],n=(t.body.skipTime||0)>te()-A9,r=t5<(t.body.skipFrames||0);if(t.skipAllowed&&n&&r&&o0!==null)t5++;else{let l=[];if((i=(s=t.body)==null?void 0:s.detector)!=null&&i.enabled){let u=b9(e,224);l=await g9(u,t,a),Y(u)}else l=[{box:[0,0,0,0],boxRaw:[0,0,1,1],score:0}];for(let u=0;uY(n[u])),r}async function i5(e,t){if(!(Wa!=null&&Wa.executor))return[];let a=(t.object.skipTime||0)>te()-I9,n=s5<(t.object.skipFrames||0);return t.skipAllowed&&a&&n&&r5.length>0?(s5++,r5):(s5=0,new Promise(async r=>{let s=[e.shape[2]||0,e.shape[1]||0],i=ge.resizeBilinear(e,[Ro,Ro]),o=t.object.enabled?Wa==null?void 0:Wa.execute(i,["tower_0/detections"]):null;I9=te(),Y(i);let l=await ohe(o,s,t);r5=l,r(l)}))}var l0={};cr(l0,{connected:()=>l5,kpt:()=>o5});var o5=["head","neck","rightShoulder","rightElbow","rightWrist","chest","leftShoulder","leftElbow","leftWrist","bodyCenter","rightHip","rightKnee","rightAnkle","leftHip","leftKnee","leftAnkle"],l5={leftLeg:["leftHip","leftKnee","leftAnkle"],rightLeg:["rightHip","rightKnee","rightAnkle"],torso:["leftShoulder","rightShoulder","rightHip","leftHip","leftShoulder"],leftArm:["leftShoulder","leftElbow","leftWrist"],rightArm:["rightShoulder","rightElbow","rightWrist"],head:[]};var Nt,C9=0,Ra={id:0,keypoints:[],box:[0,0,0,0],boxRaw:[0,0,0,0],score:0,annotations:{}},u5=Number.MAX_SAFE_INTEGER;async function N9(e){return ne.initial&&(Nt=null),Nt?e.debug&&K("cached model:",Nt.modelUrl):Nt=await Ee(e.body.modelPath),Nt}async function lhe(e,t){let[a,n]=e.shape,r=J(e,[n*a]),s=pa(r,0),i=(await s.data())[0];if(i>t){let o=tr(r,0),l=ru(o,a),u=(await l.data())[0],p=me(o,a),c=(await p.data())[0];return Y([r,s,o,l,p]),[u,c,i]}return Y([r,s]),[0,0,i]}async function d5(e,t){if(!(Nt!=null&&Nt.executor)||!(Nt!=null&&Nt.inputs[0].shape))return[];let a=(t.body.skipTime||0)>te()-C9,n=u5<(t.body.skipFrames||0);return t.skipAllowed&&a&&n&&Object.keys(Ra.keypoints).length>0?(u5++,[Ra]):(u5=0,new Promise(async r=>{let s=$e(()=>{var f,m;let c=ge.resizeBilinear(e,[((f=Nt==null?void 0:Nt.inputs[0].shape)==null?void 0:f[2])||0,((m=Nt==null?void 0:Nt.inputs[0].shape)==null?void 0:m[1])||0],!1),d=ae(c,ze.tf2);return fe(d,ze.tf1)}),i;if(t.body.enabled&&(i=Nt==null?void 0:Nt.execute(s)),C9=te(),Y(s),i){Ra.keypoints.length=0;let c=_e(i);Y(i);let d=Ta(c,2);Y(c);for(let h=0;h(t.body.minConfidence||0)&&Ra.keypoints.push({score:Math.round(100*g)/100,part:o5[h],positionRaw:[f/Nt.inputs[0].shape[2],m/Nt.inputs[0].shape[1]],position:[Math.round(e.shape[2]*f/Nt.inputs[0].shape[2]),Math.round(e.shape[1]*m/Nt.inputs[0].shape[1])]})}d.forEach(h=>Y(h))}Ra.score=Ra.keypoints.reduce((c,d)=>d.score>c?d.score:c,0);let o=Ra.keypoints.map(c=>c.position[0]),l=Ra.keypoints.map(c=>c.position[1]);Ra.box=[Math.min(...o),Math.min(...l),Math.max(...o)-Math.min(...o),Math.max(...l)-Math.min(...l)];let u=Ra.keypoints.map(c=>c.positionRaw[0]),p=Ra.keypoints.map(c=>c.positionRaw[1]);Ra.boxRaw=[Math.min(...u),Math.min(...p),Math.max(...u)-Math.min(...u),Math.max(...p)-Math.min(...p)];for(let[c,d]of Object.entries(l5)){let h=[];for(let f=0;fx.part===d[f]),g=Ra.keypoints.find(x=>x.part===d[f+1]);m&&g&&m.score>(t.body.minConfidence||0)&&g.score>(t.body.minConfidence||0)&&h.push([m.position,g.position])}Ra.annotations[c]=h}r([Ra])}))}var bu=e=>[Math.abs(e.endPoint[0]-e.startPoint[0]),Math.abs(e.endPoint[1]-e.startPoint[1])],u0=e=>[e.startPoint[0]+(e.endPoint[0]-e.startPoint[0])/2,e.startPoint[1]+(e.endPoint[1]-e.startPoint[1])/2,1],d0=(e,t)=>e?[Math.trunc(Math.max(0,e.startPoint[0])),Math.trunc(Math.max(0,e.startPoint[1])),Math.trunc(Math.min(t.shape[2]||0,e.endPoint[0])-Math.max(0,e.startPoint[0])),Math.trunc(Math.min(t.shape[1]||0,e.endPoint[1])-Math.max(0,e.startPoint[1]))]:[0,0,0,0],p0=(e,t)=>e?[e.startPoint[0]/(t.shape[2]||0),e.startPoint[1]/(t.shape[1]||0),(e.endPoint[0]-e.startPoint[0])/(t.shape[2]||0),(e.endPoint[1]-e.startPoint[1])/(t.shape[1]||0)]:[0,0,0,0],$9=(e,t)=>{let a=[e.startPoint[0]*t[0],e.startPoint[1]*t[1]],n=[e.endPoint[0]*t[0],e.endPoint[1]*t[1]];return{startPoint:a,endPoint:n,landmarks:e.landmarks,confidence:e.confidence}},p5=(e,t,a)=>{let n=t.shape[1],r=t.shape[2],s=[e.startPoint[1]/n,e.startPoint[0]/r,e.endPoint[1]/n,e.endPoint[0]/r],i=ge.cropAndResize(t,[s],[0],a),o=me(i,ze.tf255);return Y(i),o},c0=(e,t)=>{let a=u0(e),n=bu(e),r=[t*n[0]/2,t*n[1]/2];return{startPoint:[a[0]-r[0],a[1]-r[1]],endPoint:[a[0]+r[0],a[1]+r[1]],landmarks:e.landmarks,confidence:e.confidence}},h0=e=>{let t=u0(e),a=bu(e),n=Math.max(...a)/2;return{startPoint:[Math.round(t[0]-n),Math.round(t[1]-n)],endPoint:[Math.round(t[0]+n),Math.round(t[1]+n)],landmarks:e.landmarks,confidence:e.confidence}},_9=e=>{let t=e.map(n=>n[0]),a=e.map(n=>n[1]);return{startPoint:[Math.min(...t),Math.min(...a)],endPoint:[Math.max(...t),Math.max(...a)],landmarks:e}},c5=[[1,0,0],[0,1,0],[0,0,1]],uhe=e=>e-2*Math.PI*Math.floor((e+Math.PI)/(2*Math.PI)),dhe=(e,t)=>uhe(Math.PI/2-Math.atan2(-(t[1]-e[1]),t[0]-e[0]));var R9=(e,t)=>[[1,0,e],[0,1,t],[0,0,1]],Mo=(e,t)=>{let a=0;for(let n=0;n{let a=[];for(let n=0;n{let a=[],n=e.length;for(let r=0;r{let a=Math.cos(e),n=Math.sin(e),r=[[a,-n,0],[n,a,0],[0,0,1]],s=R9(t[0],t[1]),i=M9(s,r),o=R9(-t[0],-t[1]);return M9(i,o)},che=e=>{let t=[[e[0][0],e[1][0]],[e[0][1],e[1][1]]],a=[e[0][2],e[1][2]],n=[-Mo(t[0],a),-Mo(t[1],a)];return[t[0].concat(n[0]),t[1].concat(n[1]),[0,0,1]]},hhe=(e,t)=>[Mo(e,t[0]),Mo(e,t[1])];function F9(e){let t=e===192?{strides:[4],anchors:[1]}:{strides:[e/16,e/8],anchors:[2,6]},a=[];for(let n=0;n[s[0]/r*(h[0]-r/2),s[1]/r*(h[1]-r/2),h[2]||0]),o=a&&a!==0&&Math.abs(a)>.2,l=o?P9(a,[0,0]):c5,u=o?i.map(h=>[...hhe(h,l),h[2]]):i,p=o?che(n):c5,c=u0(t),d=[Mo(c,p[0]),Mo(c,p[1])];return u.map(h=>[Math.trunc(h[0]+d[0]),Math.trunc(h[1]+d[1]),Math.trunc(h[2]||0)])}function D9(e,t,a,n){let r=t.landmarks.length>=X3.count?X3.symmetryLine:So.symmetryLine,s=0,i=c5,o;if(e&&ne.kernels.includes("rotatewithoffset"))if(s=dhe(t.landmarks[r[0]],t.landmarks[r[1]]),s&&s!==0&&Math.abs(s)>.2){let u=u0(t),p=[u[0]/a.shape[2],u[1]/a.shape[1]],c=ge.rotateWithOffset(a,s,0,[p[0],p[1]]);i=P9(-s,u),o=p5(t,c,[n,n]),Y(c)}else o=p5(t,a,[n,n]);else o=p5(t,a,[n,n]);return[s,i,o]}var fhe=e=>{let t=e.map(n=>n[0]),a=e.map(n=>n[1]);return[Math.min(...t)+(Math.max(...t)-Math.min(...t))/2,Math.min(...a)+(Math.max(...a)-Math.min(...a))/2]},z9=(e,t)=>{let a=fhe(e),n=bu(t);return{startPoint:[a[0]-n[0]/2,a[1]-n[1]/2],endPoint:[a[0]+n[0]/2,a[1]+n[1]/2]}};var L9=6,mhe=1.4,zn,f5=null,cs=0,vu=null,wu=()=>cs;async function B9(e){var t;return ne.initial&&(zn=null),zn?e.debug&&K("cached model:",zn.modelUrl):zn=await Ee((t=e.face.detector)==null?void 0:t.modelPath),cs=zn.executor&&zn.inputs[0].shape?zn.inputs[0].shape[2]:256,vu=Fe(cs,"int32"),f5=Xn(F9(cs)),zn}function ghe(e){if(!f5||!vu)return hn([0,0]);let t={};t.boxStarts=Pe(e,[0,1],[-1,2]),t.centers=be(t.boxStarts,f5),t.boxSizes=Pe(e,[0,3],[-1,2]),t.boxSizesNormalized=me(t.boxSizes,vu),t.centersNormalized=me(t.centers,vu),t.halfBoxSize=me(t.boxSizesNormalized,ze.tf2),t.starts=fe(t.centersNormalized,t.halfBoxSize),t.ends=be(t.centersNormalized,t.halfBoxSize),t.startNormalized=ae(t.starts,vu),t.endNormalized=ae(t.ends,vu);let a=nu([t.startNormalized,t.endNormalized],1);return Object.keys(t).forEach(n=>Y(t[n])),a}async function W9(e,t){var o,l,u,p;if(!e||e.isDisposedInternal||e.shape.length!==4||e.shape[1]<1||e.shape[2]<1)return[];let a={};a.resized=ge.resizeBilinear(e,[cs,cs]),a.div=me(a.resized,ze.tf127),a.normalized=fe(a.div,ze.tf05);let n=zn==null?void 0:zn.execute(a.normalized);if(Array.isArray(n)&&n.length>2){let c=n.sort((d,h)=>d.size-h.size);a.concat384=at([c[0],c[2]],2),a.concat512=at([c[1],c[3]],2),a.concat=at([a.concat512,a.concat384],1),a.batch=_e(a.concat,[0])}else Array.isArray(n)?a.batch=_e(n[0]):a.batch=_e(n);Y(n),a.boxes=ghe(a.batch),a.logits=Pe(a.batch,[0,0],[-1,1]),a.sigmoid=Da(a.logits),a.scores=_e(a.sigmoid),a.nms=await ge.nonMaxSuppressionAsync(a.boxes,a.scores,((o=t.face.detector)==null?void 0:o.maxDetected)||0,((l=t.face.detector)==null?void 0:l.iouThreshold)||0,((u=t.face.detector)==null?void 0:u.minConfidence)||0);let r=await a.nms.array(),s=[],i=await a.scores.data();for(let c=0;c(((p=t.face.detector)==null?void 0:p.minConfidence)||0)){let h={};h.bbox=Pe(a.boxes,[r[c],0],[1,-1]),h.slice=Pe(a.batch,[r[c],L9-1],[1,-1]),h.squeeze=_e(h.slice),h.landmarks=J(h.squeeze,[L9,-1]);let f=await h.bbox.data(),m={startPoint:[f[0],f[1]],endPoint:[f[2],f[3]],landmarks:await h.landmarks.array(),confidence:d},g=$9(m,[(e.shape[2]||0)/cs,(e.shape[1]||0)/cs]),x=c0(g,t.face.scale||mhe),A=h0(x);s.push(A),Object.keys(h).forEach(y=>Y(h[y]))}}return Object.keys(a).forEach(c=>Y(a[c])),s}var Ja,hs=0,xhe=2.3,m5=En.leftEyeLower0,g5=En.rightEyeLower0,ku={leftBounds:[m5[0],m5[m5.length-1]],rightBounds:[g5[0],g5[g5.length-1]]},Iu={upperCenter:3,lowerCenter:4,index:71,numCoordinates:76};async function j9(e){var t,a;return ne.initial&&(Ja=null),Ja?e.debug&&K("cached model:",Ja.modelUrl):Ja=await Ee((t=e.face.iris)==null?void 0:t.modelPath),hs=(Ja==null?void 0:Ja.executor)&&((a=Ja.inputs)==null?void 0:a[0].shape)?Ja.inputs[0].shape[2]:0,hs===-1&&(hs=64),Ja}function f0(e,t,a,n){for(let r=0;r{let t=e[ku.leftBounds[0]][2],a=e[ku.rightBounds[0]][2];return t-a},U9=(e,t,a,n,r,s=!1)=>{let i=h0(c0(_9([e[a],e[n]]),xhe)),o=bu(i),l=ge.cropAndResize(t,[[i.startPoint[1]/r,i.startPoint[0]/r,i.endPoint[1]/r,i.endPoint[0]/r]],[0],[hs,hs]);if(s&&ne.kernels.includes("flipleftright")){let u=ge.flipLeftRight(l);Y(l),l=u}return{box:i,boxSize:o,crop:l}},G9=(e,t,a,n=!1)=>{let r=[];for(let s=0;s{let n=e[En[`${a}EyeUpper0`][Iu.upperCenter]][2],r=e[En[`${a}EyeLower0`][Iu.lowerCenter]][2],s=(n+r)/2;return t.map((i,o)=>{let l=s;return o===2?l=n:o===4&&(l=r),[i[0],i[1],l]})};async function q9(e,t,a){if(!(Ja!=null&&Ja.executor))return e;let{box:n,boxSize:r,crop:s}=U9(e,t,ku.leftBounds[0],ku.leftBounds[1],a,!0),{box:i,boxSize:o,crop:l}=U9(e,t,ku.rightBounds[0],ku.rightBounds[1],a,!0),u=at([s,l]);Y(s),Y(l);let p=Ja.execute(u);Y(u);let c=await p.data();Y(p);let d=c.slice(0,Iu.numCoordinates*3),{rawCoords:h,iris:f}=G9(d,n,r,!0),m=c.slice(Iu.numCoordinates*3),{rawCoords:g,iris:x}=G9(m,i,o,!1),A=Ahe(e);Math.abs(A)<30?(f0(e,h,"left",null),f0(e,g,"right",null)):A<1?f0(e,h,"left",["EyeUpper0","EyeLower0"]):f0(e,g,"right",["EyeUpper0","EyeLower0"]);let y=H9(e,f,"left"),b=H9(e,x,"right");return e.concat(y).concat(b)}async function K9(e,t){var s,i,o,l,u,p,c,d,h,f;let a={lips:await((i=(s=t.filter(m=>m.size===160))==null?void 0:s[0])==null?void 0:i.data()),irisL:await((l=(o=t.filter(m=>m.size===10))==null?void 0:o[0])==null?void 0:l.data()),eyeL:await((p=(u=t.filter(m=>m.size===142))==null?void 0:u[0])==null?void 0:p.data()),irisR:await((d=(c=t.filter(m=>m.size===10))==null?void 0:c[1])==null?void 0:d.data()),eyeR:await((f=(h=t.filter(m=>m.size===142))==null?void 0:h[1])==null?void 0:f.data())};for(let m of Object.values(a))if(!m)return e;let n=Co.reduce((m,g)=>m+=e[g][2],0)/Co.length;for(let m=0;mm+=e[g][2],0)/No.length;for(let m=0;mte()-sr.timestamp,n=sr.skipped<(((u=t.face.detector)==null?void 0:u.skipFrames)||0);!t.skipAllowed||!a||!n||sr.boxes.length===0?(sr.boxes=await W9(e,t),sr.timestamp=te(),sr.skipped=0):sr.skipped++;let r=[],s=[],i=0,o=wp;for(let A=0;A$.shape[$.shape.length-1]===1).data();if(S.faceScore=Math.round(100*_[0])/100,S.faceScore<(((f=t.face.detector)==null?void 0:f.minConfidence)||1)){if(y.confidence=S.faceScore,t.face.mesh.keepInvalid){S.box=d0(y,e),S.boxRaw=p0(y,e),S.score=S.boxScore,S.mesh=y.landmarks.map($=>[(y.startPoint[0]+y.endPoint[0])/2+(y.endPoint[0]+y.startPoint[0])*$[0]/wu(),(y.startPoint[1]+y.endPoint[1])/2+(y.endPoint[1]+y.startPoint[1])*$[1]/wu()]),S.meshRaw=S.mesh.map($=>[$[0]/(e.shape[2]||1),$[1]/(e.shape[1]||1),($[2]||0)/o]);for(let $ of Object.keys(So))S.annotations[$]=[S.mesh[So[$]]]}}else{let $=C.find(O=>O.shape[O.shape.length-1]===1404),M=J($,[-1,3]),I=await M.array();Y(M),(m=t.face.attention)!=null&&m.enabled?I=await K9(I,C):(g=t.face.iris)!=null&&g.enabled&&(I=await q9(I,S.tensor,wp)),S.mesh=O9(I,y,b,w,wp),S.meshRaw=S.mesh.map(O=>[O[0]/(e.shape[2]||0),O[1]/(e.shape[1]||0),(O[2]||0)/o]);for(let O of Object.keys(En))S.annotations[O]=En[O].map(L=>S.mesh[L]);S.score=S.faceScore;let N={...z9(S.mesh,y),confidence:y.confidence,landmarks:y.landmarks};S.box=d0(N,e),S.boxRaw=p0(N,e),s.push(N)}Y(C)}else{S.box=d0(y,e),S.boxRaw=p0(y,e),S.score=S.boxScore,S.mesh=y.landmarks.map(C=>[(y.startPoint[0]+y.endPoint[0])/2+(y.endPoint[0]+y.startPoint[0])*C[0]/wu(),(y.startPoint[1]+y.endPoint[1])/2+(y.endPoint[1]+y.startPoint[1])*C[1]/wu()]),S.meshRaw=S.mesh.map(C=>[C[0]/(e.shape[2]||0),C[1]/(e.shape[1]||0),(C[2]||0)/o]);for(let C of Object.keys(So))S.annotations[C]=[S.mesh[So[C]]]}S.score>(((x=t.face.detector)==null?void 0:x.minConfidence)||1)?r.push(S):Y(S.tensor)}return sr.boxes=s,r}async function Y9(e){var t,a,n,r,s,i;return ne.initial&&(wt=null),((t=e.face.attention)==null?void 0:t.enabled)&&(wt==null?void 0:wt.signature)&&Object.keys(((a=wt==null?void 0:wt.signature)==null?void 0:a.outputs)||{}).length<6&&(wt=null),wt?e.debug&&K("cached model:",wt.modelUrl):(n=e.face.attention)!=null&&n.enabled?wt=await Ee(e.face.attention.modelPath):wt=await Ee((r=e.face.mesh)==null?void 0:r.modelPath),wp=wt.executor&&((s=wt==null?void 0:wt.inputs)==null?void 0:s[0].shape)?(i=wt==null?void 0:wt.inputs)==null?void 0:i[0].shape[2]:256,wt}var J9=To,Q9=bp;var bhe=["angry","disgust","fear","happy","sad","surprise","neutral"],An,m0=[],ew=0,tw=0,A5=Number.MAX_SAFE_INTEGER;async function aw(e){var t;return ne.initial&&(An=null),An?e.debug&&K("cached model:",An.modelUrl):An=await Ee((t=e.face.emotion)==null?void 0:t.modelPath),An}async function y5(e,t,a,n){var i,o;if(!An)return[];let r=A5<(((i=t.face.emotion)==null?void 0:i.skipFrames)||0),s=(((o=t.face.emotion)==null?void 0:o.skipTime)||0)>te()-tw;return t.skipAllowed&&s&&r&&ew===n&&m0[a]&&m0[a].length>0?(A5++,m0[a]):(A5=0,new Promise(async l=>{var p;let u=[];if((p=t.face.emotion)!=null&&p.enabled){let c={},d=An!=null&&An.inputs[0].shape?An.inputs[0].shape[2]:0;c.resize=ge.resizeBilinear(e,[d,d],!1),c.channels=ae(c.resize,ze.rgb),c.grayscale=tt(c.channels,3,!0),c.grayscaleSub=fe(c.grayscale,ze.tf05),c.grayscaleMul=ae(c.grayscaleSub,ze.tf2),c.emotion=An==null?void 0:An.execute(c.grayscaleMul),tw=te();let h=await c.emotion.data();for(let f=0;f(t.face.emotion.minConfidence||0)&&u.push({score:Math.min(.99,Math.trunc(100*h[f])/100),emotion:bhe[f]});u.sort((f,m)=>m.score-f.score),Object.keys(c).forEach(f=>Y(c[f]))}m0[a]=u,ew=n,l(u)}))}var fa,fs=[],rw=0,sw=0,b5=Number.MAX_SAFE_INTEGER;async function iw(e){var t;return ne.initial&&(fa=null),fa?e.debug&&K("cached model:",fa.modelUrl):fa=await Ee((t=e.face.description)==null?void 0:t.modelPath),fa}function vhe(e){let t=e.image||e.tensor||e;if(!(fa!=null&&fa.inputs[0].shape))return t;let a=ge.resizeBilinear(t,[fa.inputs[0].shape[2],fa.inputs[0].shape[1]],!1),n=ae(a,ze.tf255);return Y(a),n}async function v5(e,t,a,n){var o,l,u,p;let r={age:0,gender:"unknown",genderScore:0,descriptor:[]};if(!(fa!=null&&fa.executor))return r;let s=b5<(((o=t.face.description)==null?void 0:o.skipFrames)||0),i=(((l=t.face.description)==null?void 0:l.skipTime)||0)>te()-rw;return t.skipAllowed&&s&&i&&sw===n&&((u=fs==null?void 0:fs[a])==null?void 0:u.age)>0&&((p=fs==null?void 0:fs[a])==null?void 0:p.genderScore)>0?(b5++,fs[a]):(b5=0,new Promise(async c=>{var d;if((d=t.face.description)!=null&&d.enabled){let h=vhe(e),f=fa==null?void 0:fa.execute(h);rw=te(),Y(h);let g=await f.find(E=>E.shape[1]===1).data(),x=Math.trunc(200*Math.abs(g[0]-.5))/100;x>(t.face.description.minConfidence||0)&&(r.gender=g[0]<=.5?"female":"male",r.genderScore=Math.min(.99,x));let A=tr(f.find(E=>E.shape[1]===100),1),y=(await A.data())[0];Y(A);let w=await f.find(E=>E.shape[1]===100).data();r.age=Math.round(w[y-1]>w[y+1]?10*y-100*w[y-1]:10*y+100*w[y+1])/10,(Number.isNaN(g[0])||Number.isNaN(w[0]))&&K("faceres error:",{model:fa,result:f});let S=f.find(E=>E.shape[1]===1024),C=S?await S.data():[];r.descriptor=Array.from(C),f.forEach(E=>Y(E))}fs[a]=r,sw=n,c(r)}))}var Su=.1,w5=.5;function whe(e,t,a){let n=!1,r=a.length-1;for(let s=0;st!=a[r].y>t&&e<(a[r].x-a[s].x)*(t-a[s].y)/(a[r].y-a[s].y)+a[s].x&&(n=!n);return n}async function lw(e){if(!e.tensor||!e.mesh||e.mesh.length<100)return e.tensor;let t=e.tensor.shape[2]||0,a=e.tensor.shape[1]||0,n=await e.tensor.buffer(),r=[];for(let i of En.silhouette)r.push({x:(e.mesh[i][0]-e.box[0])/e.box[2],y:(e.mesh[i][1]-e.box[1])/e.box[3]});Su&&Su>0&&(r=r.map(i=>({x:i.x>.5?i.x+Su:i.x-Su,y:i.y>.5?i.y+Su:i.y-Su})));for(let i=0;ite()-dw,s=k5<(((o=t.face.antispoof)==null?void 0:o.skipFrames)||0);return t.skipAllowed&&r&&s&&uw===n&&g0[a]?(k5++,g0[a]):(k5=0,new Promise(async l=>{let u=ge.resizeBilinear(e,[ea!=null&&ea.inputs[0].shape?ea.inputs[0].shape[2]:0,ea!=null&&ea.inputs[0].shape?ea.inputs[0].shape[1]:0],!1),p=ea==null?void 0:ea.execute(u),c=(await p.data())[0];g0[a]=Math.round(100*c)/100,uw=n,dw=te(),Y([u,p]),l(g0[a])}))}var ta,x0=[],S5=Number.MAX_SAFE_INTEGER,hw=0,fw=0;async function mw(e){var t;return ne.initial&&(ta=null),ta?e.debug&&K("cached model:",ta.modelUrl):ta=await Ee((t=e.face.liveness)==null?void 0:t.modelPath),ta}async function T5(e,t,a,n){var i,o;if(!(ta!=null&&ta.executor))return 0;let r=(((i=t.face.liveness)==null?void 0:i.skipTime)||0)>te()-fw,s=S5<(((o=t.face.liveness)==null?void 0:o.skipFrames)||0);return t.skipAllowed&&r&&s&&hw===n&&x0[a]?(S5++,x0[a]):(S5=0,new Promise(async l=>{let u=ge.resizeBilinear(e,[ta!=null&&ta.inputs[0].shape?ta.inputs[0].shape[2]:0,ta!=null&&ta.inputs[0].shape?ta.inputs[0].shape[1]:0],!1),p=ta==null?void 0:ta.execute(u),c=(await p.data())[0];x0[a]=Math.round(100*c)/100,hw=n,fw=te(),Y([u,p]),l(x0[a])}))}var Rn,C5=[],Ihe=["white","black","asian","indian","other"],She=[15,23,28,35.5,45.5,55.5,65],xw=0,Aw=0,N5=Number.MAX_SAFE_INTEGER;async function yw(e){var t;return ne.initial&&(Rn=null),Rn?e.debug&&K("cached model:",Rn.modelUrl):Rn=await Ee((t=e.face.gear)==null?void 0:t.modelPath),Rn}async function E5(e,t,a,n){var i,o;if(!Rn)return{age:0,gender:"unknown",genderScore:0,race:[]};let r=N5<(((i=t.face.gear)==null?void 0:i.skipFrames)||0),s=(((o=t.face.gear)==null?void 0:o.skipTime)||0)>te()-Aw;return t.skipAllowed&&s&&r&&xw===n&&C5[a]?(N5++,C5[a]):(N5=0,new Promise(async l=>{var x,A;if(!(Rn!=null&&Rn.inputs[0].shape))return;let u={},p=[[0,.1,.9,.9]];u.resize=ge.cropAndResize(e,p,[0],[Rn.inputs[0].shape[2],Rn.inputs[0].shape[1]]);let c={age:0,gender:"unknown",genderScore:0,race:[]};(x=t.face.gear)!=null&&x.enabled&&([u.age,u.gender,u.race]=Rn.execute(u.resize,["age_output","gender_output","race_output"]));let d=await u.gender.data();c.gender=d[0]>d[1]?"male":"female",c.genderScore=Math.round(100*(d[0]>d[1]?d[0]:d[1]))/100;let h=await u.race.data();for(let y=0;y(((A=t.face.gear)==null?void 0:A.minConfidence)||.2)&&c.race.push({score:Math.round(100*h[y])/100,race:Ihe[y]});c.race.sort((y,b)=>b.score-y.score);let m=Array.from(await u.age.data()).map((y,b)=>[She[b],y]).sort((y,b)=>b[1]-y[1]),g=m[0][0];for(let y=1;yY(u[y])),C5[a]=c,xw=n,Aw=te(),l(c)}))}var Qa,A0=[],vw=0,ww=0,R5=Number.MAX_SAFE_INTEGER;async function kw(e){return ne.initial&&(Qa=null),Qa?e.debug&&K("cached model:",Qa.modelUrl):Qa=await Ee(e.face.ssrnet.modelPathAge),Qa}async function M5(e,t,a,n){var i,o,l,u;if(!Qa)return{age:0};let r=R5<(((i=t.face.ssrnet)==null?void 0:i.skipFrames)||0),s=(((o=t.face.ssrnet)==null?void 0:o.skipTime)||0)>te()-ww;return t.skipAllowed&&r&&s&&vw===n&&((l=A0[a])==null?void 0:l.age)&&((u=A0[a])==null?void 0:u.age)>0?(R5++,A0[a]):(R5=0,new Promise(async p=>{var h;if(!(Qa!=null&&Qa.inputs)||!Qa.inputs[0]||!Qa.inputs[0].shape)return;let c={};c.resize=ge.resizeBilinear(e,[Qa.inputs[0].shape[2],Qa.inputs[0].shape[1]],!1),c.enhance=ae(c.resize,ze.tf255);let d={age:0};if((h=t.face.ssrnet)!=null&&h.enabled&&(c.age=Qa.execute(c.enhance)),c.age){let f=await c.age.data();d.age=Math.trunc(10*f[0])/10}Object.keys(c).forEach(f=>Y(c[f])),A0[a]=d,vw=n,ww=te(),p(d)}))}var Mn,y0=[],Sw=0,Tw=0,$5=Number.MAX_SAFE_INTEGER,_5=[.2989,.587,.114];async function Cw(e){var t;return ne.initial&&(Mn=null),Mn?e.debug&&K("cached model:",Mn.modelUrl):Mn=await Ee((t=e.face.ssrnet)==null?void 0:t.modelPathGender),Mn}async function P5(e,t,a,n){var i,o,l,u;if(!Mn)return{gender:"unknown",genderScore:0};let r=$5<(((i=t.face.ssrnet)==null?void 0:i.skipFrames)||0),s=(((o=t.face.ssrnet)==null?void 0:o.skipTime)||0)>te()-Tw;return t.skipAllowed&&r&&s&&Sw===n&&((l=y0[a])==null?void 0:l.gender)&&((u=y0[a])==null?void 0:u.genderScore)>0?($5++,y0[a]):($5=0,new Promise(async p=>{var f;if(!(Mn!=null&&Mn.inputs[0].shape))return;let c={};c.resize=ge.resizeBilinear(e,[Mn.inputs[0].shape[2],Mn.inputs[0].shape[1]],!1),c.enhance=$e(()=>{let[m,g,x]=ka(c.resize,3,3),A=ae(m,_5[0]),y=ae(g,_5[1]),b=ae(x,_5[2]),w=uh([A,y,b]);return ae(fe(w,ze.tf05),2)});let d={gender:"unknown",genderScore:0};(f=t.face.ssrnet)!=null&&f.enabled&&(c.gender=Mn.execute(c.enhance));let h=await c.gender.data();d.gender=h[0]>h[1]?"female":"male",d.genderScore=h[0]>h[1]?Math.trunc(100*h[0])/100:Math.trunc(100*h[1])/100,Object.keys(c).forEach(m=>Y(c[m])),y0[a]=d,Sw=n,Tw=te(),p(d)}))}var en,F5=[],Ew=0,Rw=0,Mw=Number.MAX_SAFE_INTEGER;async function $w(e){var t;return ne.initial&&(en=null),en?e.debug&&K("cached model:",en.modelUrl):en=await Ee((t=e.face.mobilefacenet)==null?void 0:t.modelPath),en}async function O5(e,t,a,n){var i,o;if(!(en!=null&&en.executor))return[];let r=Mw<(((i=t.face.mobilefacenet)==null?void 0:i.skipFrames)||0),s=(((o=t.face.mobilefacenet)==null?void 0:o.skipTime)||0)>te()-Rw;return t.skipAllowed&&s&&r&&Ew===n&&F5[a]?(Mw++,F5[a]):new Promise(async l=>{var p;let u=[];if(((p=t.face.mobilefacenet)==null?void 0:p.enabled)&&(en==null?void 0:en.inputs[0].shape)){let c={};c.crop=ge.resizeBilinear(e,[en.inputs[0].shape[2],en.inputs[0].shape[1]],!1),c.data=en.execute(c.crop);let d=await c.data.data();u=Array.from(d),Object.keys(c).forEach(h=>Y(c[h]))}F5[a]=u,Ew=n,Rw=te(),l(u)})}var tn,D5=[],Pw=0,Fw=0,Ow=Number.MAX_SAFE_INTEGER;async function Dw(e){return ne.initial&&(tn=null),tn?e.debug&&K("cached model:",tn.modelUrl):tn=await Ee(e.face.insightface.modelPath),tn}async function z5(e,t,a,n){var i,o;if(!(tn!=null&&tn.executor))return[];let r=Ow<(((i=t.face.insightface)==null?void 0:i.skipFrames)||0),s=(((o=t.face.insightface)==null?void 0:o.skipTime)||0)>te()-Fw;return t.skipAllowed&&s&&r&&Pw===n&&D5[a]?(Ow++,D5[a]):new Promise(async l=>{var p;let u=[];if(((p=t.face.insightface)==null?void 0:p.enabled)&&(tn==null?void 0:tn.inputs[0].shape)){let c={};c.crop=ge.resizeBilinear(e,[tn.inputs[0].shape[2],tn.inputs[0].shape[1]],!1),c.data=tn.execute(c.crop);let d=await c.data.data();u=Array.from(d),Object.keys(c).forEach(h=>Y(c[h]))}D5[a]=u,Pw=n,Fw=te(),l(u)})}var The=e=>{let t=(c,d)=>Math.atan2(c[1]-d[1],c[0]-d[0]);if(!e.annotations.rightEyeIris||!e.annotations.leftEyeIris)return{bearing:0,strength:0};let a=[0,-.1],n=1,r=(e.mesh[33][2]||0)>(e.mesh[263][2]||0),s=r?e.mesh[473]:e.mesh[468],i=r?[(e.mesh[133][0]+e.mesh[33][0])/2,(e.mesh[133][1]+e.mesh[33][1])/2]:[(e.mesh[263][0]+e.mesh[362][0])/2,(e.mesh[263][1]+e.mesh[362][1])/2],o=r?[e.mesh[133][0]-e.mesh[33][0],e.mesh[23][1]-e.mesh[27][1]]:[e.mesh[263][0]-e.mesh[362][0],e.mesh[253][1]-e.mesh[257][1]],l=[(i[0]-s[0])/o[0]-a[0],n*(s[1]-i[1])/o[1]-a[1]],u=Math.sqrt(l[0]*l[0]+l[1]*l[1]);return u=Math.min(u,e.boxRaw[2]/2,e.boxRaw[3]/2),{bearing:(t([0,0],l)+Math.PI/2)%Math.PI,strength:u}},Lw=(e,t)=>{let a=m=>{let g=Math.sqrt(m[0]*m[0]+m[1]*m[1]+m[2]*m[2]);return m[0]/=g,m[1]/=g,m[2]/=g,m},n=(m,g)=>{let x=m[0]-g[0],A=m[1]-g[1],y=m[2]-g[2];return[x,A,y]},r=(m,g)=>{let x=m[1]*g[2]-m[2]*g[1],A=m[2]*g[0]-m[0]*g[2],y=m[0]*g[1]-m[1]*g[0];return[x,A,y]},s=m=>{let[g,x,A,y,b,w,S,C,E]=m,_,$,M;return y<1?y>-1?(M=Math.asin(y),$=Math.atan2(-S,g),_=Math.atan2(-w,b)):(M=-Math.PI/2,$=-Math.atan2(C,E),_=0):(M=Math.PI/2,$=Math.atan2(C,E),_=0),Number.isNaN(_)&&(_=0),Number.isNaN($)&&($=0),Number.isNaN(M)&&(M=0),{pitch:2*-_,yaw:2*-$,roll:2*-M}},i=e.meshRaw;if(!i||i.length<300)return{angle:{pitch:0,yaw:0,roll:0},matrix:[1,0,0,0,1,0,0,0,1],gaze:{bearing:0,strength:0}};let o=Math.max(e.boxRaw[2]*t[0],e.boxRaw[3]*t[1])/1.5,l=[i[10],i[152],i[234],i[454]].map(m=>[m[0]*t[0]/o,m[1]*t[1]/o,m[2]]),u=a(n(l[1],l[0])),p=a(n(l[3],l[2])),c=a(r(p,u));p=r(u,c);let d=[p[0],p[1],p[2],u[0],u[1],u[2],c[0],c[1],c[2]],h=s(d),f=i.length===478?The(e):{bearing:0,strength:0};return{angle:h,matrix:d,gaze:f}};function Bw(e,t){let a=e==null?void 0:e.annotations;if(!a)return 0;let n=Math.max(Math.abs(a.leftEyeIris[3][0]-a.leftEyeIris[1][0]),Math.abs(a.rightEyeIris[3][0]-a.rightEyeIris[1][0]))/t;return Math.round(1.17/n)/100}var L5=async(e,t)=>{var f,m,g,x,A,y,b,w,S,C,E,_,$,M,I,N,O,L,B,G,j,U,H;let a=te(),n,r,s,i,o,l,u,p,c,d=[];e.state="run:face";let h=await Z9(t,e.config);if(e.performance.face=ne.perfadd?(e.performance.face||0)+Math.trunc(te()-a):Math.trunc(te()-a),!t.shape||t.shape.length!==4)return[];if(!h)return[];for(let V=0;V200?Lw(h[V],[t.shape[2],t.shape[1]]):null;e.analyze("Start Emotion:"),e.config.async?i=(m=e.config.face.emotion)!=null&&m.enabled?y5(h[V].tensor||Be([]),e.config,V,h.length):[]:(e.state="run:emotion",a=te(),i=(g=e.config.face.emotion)!=null&&g.enabled?await y5(h[V].tensor||Be([]),e.config,V,h.length):[],e.performance.emotion=ne.perfadd?(e.performance.emotion||0)+Math.trunc(te()-a):Math.trunc(te()-a)),e.analyze("End Emotion:"),e.analyze("Start AntiSpoof:"),e.config.async?u=(x=e.config.face.antispoof)!=null&&x.enabled?I5(h[V].tensor||Be([]),e.config,V,h.length):0:(e.state="run:antispoof",a=te(),u=(A=e.config.face.antispoof)!=null&&A.enabled?await I5(h[V].tensor||Be([]),e.config,V,h.length):0,e.performance.antispoof=ne.perfadd?(e.performance.antispoof||0)+Math.trunc(te()-a):Math.trunc(te()-a)),e.analyze("End AntiSpoof:"),e.analyze("Start Liveness:"),e.config.async?p=(y=e.config.face.liveness)!=null&&y.enabled?T5(h[V].tensor||Be([]),e.config,V,h.length):0:(e.state="run:liveness",a=te(),p=(b=e.config.face.liveness)!=null&&b.enabled?await T5(h[V].tensor||Be([]),e.config,V,h.length):0,e.performance.liveness=ne.perfadd?(e.performance.antispoof||0)+Math.trunc(te()-a):Math.trunc(te()-a)),e.analyze("End Liveness:"),e.analyze("Start GEAR:"),e.config.async?r=(w=e.config.face.gear)!=null&&w.enabled?E5(h[V].tensor||Be([]),e.config,V,h.length):null:(e.state="run:gear",a=te(),r=(S=e.config.face.gear)!=null&&S.enabled?await E5(h[V].tensor||Be([]),e.config,V,h.length):null,e.performance.gear=Math.trunc(te()-a)),e.analyze("End GEAR:"),e.analyze("Start SSRNet:"),e.config.async?(n=(C=e.config.face.ssrnet)!=null&&C.enabled?M5(h[V].tensor||Be([]),e.config,V,h.length):null,s=(E=e.config.face.ssrnet)!=null&&E.enabled?P5(h[V].tensor||Be([]),e.config,V,h.length):null):(e.state="run:ssrnet",a=te(),n=(_=e.config.face.ssrnet)!=null&&_.enabled?await M5(h[V].tensor||Be([]),e.config,V,h.length):null,s=($=e.config.face.ssrnet)!=null&&$.enabled?await P5(h[V].tensor||Be([]),e.config,V,h.length):null,e.performance.ssrnet=Math.trunc(te()-a)),e.analyze("End SSRNet:"),e.analyze("Start MobileFaceNet:"),e.config.async?o=(M=e.config.face.mobilefacenet)!=null&&M.enabled?O5(h[V].tensor||Be([]),e.config,V,h.length):null:(e.state="run:mobilefacenet",a=te(),o=(I=e.config.face.mobilefacenet)!=null&&I.enabled?await O5(h[V].tensor||Be([]),e.config,V,h.length):null,e.performance.mobilefacenet=Math.trunc(te()-a)),e.analyze("End MobileFaceNet:"),e.analyze("Start InsightFace:"),e.config.async?l=(N=e.config.face.insightface)!=null&&N.enabled?z5(h[V].tensor||Be([]),e.config,V,h.length):null:(e.state="run:mobilefacenet",a=te(),l=(O=e.config.face.insightface)!=null&&O.enabled?await z5(h[V].tensor||Be([]),e.config,V,h.length):null,e.performance.mobilefacenet=Math.trunc(te()-a)),e.analyze("End InsightFace:"),e.analyze("Start Description:"),e.config.async?c=v5(h[V].tensor||Be([]),e.config,V,h.length):(e.state="run:description",a=te(),c=await v5(h[V].tensor||Be([]),e.config,V,h.length),e.performance.description=ne.perfadd?(e.performance.description||0)+Math.trunc(te()-a):Math.trunc(te()-a)),e.analyze("End Description:"),e.config.async&&([n,s,i,o,l,c,r,u,p]=await Promise.all([n,s,i,o,l,c,r,u,p])),e.analyze("Finish Face:"),((L=e.config.face.ssrnet)==null?void 0:L.enabled)&&n&&s&&(c={...c,age:n.age,gender:s.gender,genderScore:s.genderScore}),((B=e.config.face.gear)==null?void 0:B.enabled)&&r&&(c={...c,age:r.age,gender:r.gender,genderScore:r.genderScore,race:r.race}),((G=e.config.face.mobilefacenet)==null?void 0:G.enabled)&&o&&(c.descriptor=o),((j=e.config.face.insightface)==null?void 0:j.enabled)&&l&&(c.descriptor=l);let Z=(U=e.config.face.iris)!=null&&U.enabled?Bw(h[V],t.shape[2]):0,re=(H=e.config.face.detector)!=null&&H.return?_e(h[V].tensor):null;Y(h[V].tensor),h[V].tensor&&delete h[V].tensor;let ee={...h[V],id:V};c.age&&(ee.age=c.age),c.gender&&(ee.gender=c.gender),c.genderScore&&(ee.genderScore=c.genderScore),c.descriptor&&(ee.embedding=c.descriptor),c.race&&(ee.race=c.race),i&&(ee.emotion=i),u&&(ee.real=u),p&&(ee.live=p),Z>0&&(ee.distance=Z),Q&&(ee.rotation=Q),re&&(ee.tensor=re),d.push(ee),e.analyze("End Face")}return e.analyze("End FaceMesh:"),e.config.async&&(e.performance.face&&delete e.performance.face,e.performance.age&&delete e.performance.age,e.performance.gender&&delete e.performance.gender,e.performance.emotion&&delete e.performance.emotion),d};var Ma={thumb:0,index:1,middle:2,ring:3,pinky:4,all:[0,1,2,3,4],nameMapping:{0:"thumb",1:"index",2:"middle",3:"ring",4:"pinky"},pointsMapping:{0:[[0,1],[1,2],[2,3],[3,4]],1:[[0,5],[5,6],[6,7],[7,8]],2:[[0,9],[9,10],[10,11],[11,12]],3:[[0,13],[13,14],[14,15],[15,16]],4:[[0,17],[17,18],[18,19],[19,20]]},getName:e=>Ma.nameMapping[e],getPoints:e=>Ma.pointsMapping[e]},gs={none:0,half:1,full:2,nameMapping:{0:"none",1:"half",2:"full"},getName:e=>gs.nameMapping[e]},Et={verticalUp:0,verticalDown:1,horizontalLeft:2,horizontalRight:3,diagonalUpRight:4,diagonalUpLeft:5,diagonalDownRight:6,diagonalDownLeft:7,nameMapping:{0:"verticalUp",1:"verticalDown",2:"horizontalLeft",3:"horizontalRight",4:"diagonalUpRight",5:"diagonalUpLeft",6:"diagonalDownRight",7:"diagonalDownLeft"},getName:e=>Et.nameMapping[e]},ms=class{constructor(t){le(this,"name");le(this,"curls");le(this,"directions");le(this,"weights");le(this,"weightsRelative");this.name=t,this.curls={},this.directions={},this.weights=[1,1,1,1,1],this.weightsRelative=[1,1,1,1,1]}curl(t,a,n){typeof this.curls[t]=="undefined"&&(this.curls[t]=[]),this.curls[t].push([a,n])}direction(t,a,n){this.directions[t]||(this.directions[t]=[]),this.directions[t].push([a,n])}weight(t,a){this.weights[t]=a;let n=this.weights.reduce((r,s)=>r+s,0);this.weightsRelative=this.weights.map(r=>r*5/n)}matchAgainst(t,a){let n=0;for(let r in t){let s=t[r],i=this.curls[r];if(typeof i=="undefined"){n+=this.weightsRelative[r];continue}for(let[o,l]of i)if(s===o){n+=l*this.weightsRelative[r];break}}for(let r in a){let s=a[r],i=this.directions[r];if(typeof i=="undefined"){n+=this.weightsRelative[r];continue}for(let[o,l]of i)if(s===o){n+=l*this.weightsRelative[r];break}}return n/10}};var{thumb:Ln,index:Nr,middle:Er,ring:$o,pinky:_o}=Ma,{none:Bn,half:Nhe,full:Wn}=gs,{verticalUp:Tu,verticalDown:z5e,horizontalLeft:B5,horizontalRight:Ehe,diagonalUpRight:Rhe,diagonalUpLeft:Cu,diagonalDownRight:L5e,diagonalDownLeft:B5e}=Et,xs=new ms("thumbs up");xs.curl(Ln,Bn,1);xs.direction(Ln,Tu,1);xs.direction(Ln,Cu,.25);xs.direction(Ln,Rhe,.25);for(let e of[Ma.index,Ma.middle,Ma.ring,Ma.pinky])xs.curl(e,Wn,1),xs.direction(e,B5,1),xs.direction(e,Ehe,1);var Wt=new ms("victory");Wt.curl(Ln,Nhe,.5);Wt.curl(Ln,Bn,.5);Wt.direction(Ln,Tu,1);Wt.direction(Ln,Cu,1);Wt.curl(Nr,Bn,1);Wt.direction(Nr,Tu,.75);Wt.direction(Nr,Cu,1);Wt.curl(Er,Bn,1);Wt.direction(Er,Tu,1);Wt.direction(Er,Cu,.75);Wt.curl($o,Wn,1);Wt.direction($o,Tu,.2);Wt.direction($o,Cu,1);Wt.direction($o,B5,.2);Wt.curl(_o,Wn,1);Wt.direction(_o,Tu,.2);Wt.direction(_o,Cu,1);Wt.direction(_o,B5,.2);Wt.weight(Nr,2);Wt.weight(Er,2);var As=new ms("point");As.curl(Ln,Wn,1);As.curl(Nr,Bn,.5);As.curl(Er,Wn,.5);As.curl($o,Wn,.5);As.curl(_o,Wn,.5);As.weight(Nr,2);As.weight(Er,2);var ys=new ms("middle finger");ys.curl(Ln,Bn,1);ys.curl(Nr,Wn,.5);ys.curl(Er,Wn,.5);ys.curl($o,Wn,.5);ys.curl(_o,Wn,.5);ys.weight(Nr,2);ys.weight(Er,2);var Nu=new ms("open palm");Nu.curl(Ln,Bn,.75);Nu.curl(Nr,Bn,.75);Nu.curl(Er,Bn,.75);Nu.curl($o,Bn,.75);Nu.curl(_o,Bn,.75);var Ww=[xs,Wt,As,ys,Nu];var Mhe=.7,Po={HALF_CURL_START_LIMIT:60,NO_CURL_START_LIMIT:130,DISTANCE_VOTE_POWER:1.1,SINGLE_ANGLE_VOTE_POWER:.9,TOTAL_ANGLE_VOTE_POWER:1.6};function Vw(e,t,a,n){let r=(t-n)/(e-a),s=Math.atan(r)*180/Math.PI;return s<=0?s=-s:s>0&&(s=180-s),s}function Gw(e,t){if(!e||!t)return[0,0];let a=Vw(e[0],e[1],t[0],t[1]);if(e.length===2)return a;let n=Vw(e[1],e[2],t[1],t[2]);return[a,n]}function Uw(e,t=1){let a=0,n=0,r=0;return e>=75&&e<=105?a=1*t:e>=25&&e<=155?n=1*t:r=1*t,[a,n,r]}function $he(e,t,a){let n=e[0]-t[0],r=e[0]-a[0],s=t[0]-a[0],i=e[1]-t[1],o=e[1]-a[1],l=t[1]-a[1],u=e[2]-t[2],p=e[2]-a[2],c=t[2]-a[2],d=Math.sqrt(n*n+i*i+u*u),h=Math.sqrt(r*r+o*o+p*p),f=Math.sqrt(s*s+l*l+c*c),m=(f*f+d*d-h*h)/(2*f*d);m>1?m=1:m<-1&&(m=-1);let g=Math.acos(m);g=57.2958*g%180;let x;return g>Po.NO_CURL_START_LIMIT?x=gs.none:g>Po.HALF_CURL_START_LIMIT?x=gs.half:x=gs.full,x}function Hw(e,t,a,n){let r;return n===Math.abs(e)?e>0?r=Et.horizontalLeft:r=Et.horizontalRight:n===Math.abs(t)?t>0?r=Et.horizontalLeft:r=Et.horizontalRight:a>0?r=Et.horizontalLeft:r=Et.horizontalRight,r}function jw(e,t,a,n){let r;return n===Math.abs(e)?e<0?r=Et.verticalDown:r=Et.verticalUp:n===Math.abs(t)?t<0?r=Et.verticalDown:r=Et.verticalUp:a<0?r=Et.verticalDown:r=Et.verticalUp,r}function _he(e,t,a,n,r,s,i,o){let l,u=jw(e,t,a,n),p=Hw(r,s,i,o);return u===Et.verticalUp?p===Et.horizontalLeft?l=Et.diagonalUpLeft:l=Et.diagonalUpRight:p===Et.horizontalLeft?l=Et.diagonalDownLeft:l=Et.diagonalDownRight,l}function Phe(e,t,a,n){let r=e[0]-t[0],s=e[0]-a[0],i=t[0]-a[0],o=e[1]-t[1],l=e[1]-a[1],u=t[1]-a[1],p=Math.max(Math.abs(r),Math.abs(s),Math.abs(i)),c=Math.max(Math.abs(o),Math.abs(l),Math.abs(u)),d=0,h=0,f=0,m=c/(p+1e-5);m>1.5?d+=Po.DISTANCE_VOTE_POWER:m>.66?h+=Po.DISTANCE_VOTE_POWER:f+=Po.DISTANCE_VOTE_POWER;let g=Math.sqrt(r*r+o*o),x=Math.sqrt(s*s+l*l),A=Math.sqrt(i*i+u*u),y=Math.max(g,x,A),b=e[0],w=e[1],S=a[0],C=a[1];y===g?(S=a[0],C=a[1]):y===A&&(b=t[0],w=t[1]);let $=Gw([b,w],[S,C]),M=Uw($,Po.TOTAL_ANGLE_VOTE_POWER);d+=M[0],h+=M[1],f+=M[2];for(let N of n){let O=Uw(N,Po.SINGLE_ANGLE_VOTE_POWER);d+=O[0],h+=O[1],f+=O[2]}let I;return d===Math.max(d,h,f)?I=jw(l,o,u,c):f===Math.max(h,f)?I=Hw(s,r,i,p):I=_he(l,o,u,c,s,r,i,p),I}function qw(e){let t=[],a=[],n=[],r=[];if(!e)return{curls:n,directions:r};for(let s of Ma.all){let i=Ma.getPoints(s),o=[],l=[];for(let u of i){let p=e[u[0]],c=e[u[1]],d=Gw(p,c),h=d[0],f=d[1];o.push(h),l.push(f)}t.push(o),a.push(l)}for(let s of Ma.all){let i=s===Ma.thumb?1:0,o=Ma.getPoints(s),l=e[o[i][0]],u=e[o[i+1][1]],p=e[o[3][1]],c=$he(l,u,p),d=Phe(l,u,p,t[s].slice(i));n[s]=c,r[s]=d}return{curls:n,directions:r}}function b0(e){if(!e||e.length===0)return null;let t=qw(e),a={};for(let n of Ma.all)a[Ma.getName(n)]={curl:gs.getName(t.curls[n]),direction:Et.getName(t.directions[n])};return a}function Xw(e){let t=[];if(!e||e.length===0)return t;let a=qw(e);for(let n of Ww){let r=n.matchAgainst(a.curls,a.directions);r>=Mhe&&t.push({name:n.name,confidence:r})}return t}var Kw=e=>{if(!e)return[];let t=[];for(let a=0;al.part==="leftWrist"),r=e[a].keypoints.find(l=>l.part==="rightWrist"),s=e[a].keypoints.find(l=>l.part==="nose");s&&n&&r&&n.position[1]l.part==="leftShoulder"),o=e[a].keypoints.find(l=>l.part==="rightShoulder");i&&o&&Math.abs(i.positionRaw[1]-o.positionRaw[1])>.1&&t.push({body:a,gesture:`leaning ${i.position[1]>o.position[1]?"left":"right"}`})}return t},Zw=e=>{if(!e)return[];let t=[];for(let a=0;a450){let n=(e[a].mesh[33][2]||0)-(e[a].mesh[263][2]||0),r=e[a].mesh[33][0]-e[a].mesh[263][0];Math.abs(n/r)<=.15?t.push({face:a,gesture:"facing center"}):t.push({face:a,gesture:`facing ${n<0?"left":"right"}`}),Math.abs(e[a].mesh[374][1]-e[a].mesh[386][1])/Math.abs(e[a].mesh[443][1]-e[a].mesh[450][1])<.2&&t.push({face:a,gesture:"blink left eye"}),Math.abs(e[a].mesh[145][1]-e[a].mesh[159][1])/Math.abs(e[a].mesh[223][1]-e[a].mesh[230][1])<.2&&t.push({face:a,gesture:"blink right eye"});let o=Math.min(100,500*Math.abs(e[a].mesh[13][1]-e[a].mesh[14][1])/Math.abs(e[a].mesh[10][1]-e[a].mesh[152][1]));o>10&&t.push({face:a,gesture:`mouth ${Math.trunc(o)}% open`});let l=e[a].mesh[152][2]||0;Math.abs(l)>10&&t.push({face:a,gesture:`head ${l<0?"up":"down"}`})}return t},Yw=e=>{var a,n,r,s;if(!e)return[];let t=[];for(let i=0;i.06||g>.06)&&(h=!1),m>g?m>.05&&t.push({iris:i,gesture:"looking right"}):g>.05&&t.push({iris:i,gesture:"looking left"});let x=Math.abs(e[i].mesh[145][1]-e[i].annotations.rightEyeIris[0][1])/e[i].box[3],A=Math.abs(e[i].mesh[374][1]-e[i].annotations.leftEyeIris[0][1])/e[i].box[3];(A<.01||x<.01||A>.022||x>.022)&&(h=!1),(A<.01||x<.01)&&t.push({iris:i,gesture:"looking down"}),(A>.022||x>.022)&&t.push({iris:i,gesture:"looking up"}),h&&t.push({iris:i,gesture:"looking center"})}return t},Jw=e=>{if(!e)return[];let t=[];for(let a=0;a0){let r=n.reduce((i,o)=>(i.position[2]||0)<(o.position[2]||0)?i:o);t.push({hand:a,gesture:`${r.name} forward`});let s=n.reduce((i,o)=>i.position[1][s[0]*t[0],s[1]*t[1]]);return{startPoint:a,endPoint:n,palmLandmarks:r,confidence:e.confidence}}function w0(e,t=1.5){let a=kp(e),n=v0(e),r=[t*n[0]/2,t*n[1]/2],s=[a[0]-r[0],a[1]-r[1]],i=[a[0]+r[0],a[1]+r[1]];return{startPoint:s,endPoint:i,palmLandmarks:e.palmLandmarks}}function k0(e){let t=kp(e),a=v0(e),r=Math.max(...a)/2,s=[t[0]-r,t[1]-r],i=[t[0]+r,t[1]+r];return{startPoint:s,endPoint:i,palmLandmarks:e.palmLandmarks}}function Ohe(e){return e-2*Math.PI*Math.floor((e+Math.PI)/(2*Math.PI))}function nk(e,t){let a=Math.PI/2-Math.atan2(-(t[1]-e[1]),t[0]-e[0]);return Ohe(a)}var Qw=(e,t)=>[[1,0,e],[0,1,t],[0,0,1]];function bs(e,t){let a=0;for(let n=0;n[i.x,i.y]),this.anchorsTensor=Xn(this.anchors),this.inputSize=((s=(r=(n=(a=this==null?void 0:this.model)==null?void 0:a.inputs)==null?void 0:n[0])==null?void 0:r.shape)==null?void 0:s[2])||0,this.inputSizeTensor=Ht([this.inputSize,this.inputSize]),this.doubleInputSizeTensor=Ht([this.inputSize*2,this.inputSize*2])}normalizeBoxes(t){let a={};a.boxOffsets=Pe(t,[0,0],[-1,2]),a.boxSizes=Pe(t,[0,2],[-1,2]),a.div=me(a.boxOffsets,this.inputSizeTensor),a.boxCenterPoints=be(a.div,this.anchorsTensor),a.halfBoxSizes=me(a.boxSizes,this.doubleInputSizeTensor),a.sub=fe(a.boxCenterPoints,a.halfBoxSizes),a.startPoints=ae(a.sub,this.inputSizeTensor),a.add=be(a.boxCenterPoints,a.halfBoxSizes),a.endPoints=ae(a.add,this.inputSizeTensor);let n=nu([a.startPoints,a.endPoints],1);return Object.keys(a).forEach(r=>Y(a[r])),n}normalizeLandmarks(t,a){let n={};n.reshape=J(t,[-1,7,2]),n.div=me(n.reshape,this.inputSizeTensor),n.landmarks=be(n.div,this.anchors[a]?this.anchors[a]:0);let r=ae(n.landmarks,this.inputSizeTensor);return Object.keys(n).forEach(s=>Y(n[s])),r}async predict(t,a){var o;let n={};n.resize=ge.resizeBilinear(t,[this.inputSize,this.inputSize]),n.div=me(n.resize,ze.tf127),n.image=fe(n.div,ze.tf1),n.batched=this.model.execute(n.image),n.predictions=_e(n.batched),n.slice=Pe(n.predictions,[0,0],[-1,1]),n.sigmoid=Da(n.slice),n.scores=_e(n.sigmoid);let r=await n.scores.data();n.boxes=Pe(n.predictions,[0,1],[-1,4]),n.norm=this.normalizeBoxes(n.boxes),n.nms=await ge.nonMaxSuppressionAsync(n.norm,n.scores,3*(((o=a.hand)==null?void 0:o.maxDetected)||1),a.hand.iouThreshold,a.hand.minConfidence);let s=await n.nms.array(),i=[];for(let l of s){let u={};u.box=Pe(n.norm,[l,0],[1,-1]),u.slice=Pe(n.predictions,[l,5],[1,14]),u.norm=this.normalizeLandmarks(u.slice,l),u.palmLandmarks=J(u.norm,[-1,2]);let p=await u.box.data(),c=p.slice(0,2),d=p.slice(2,4),h=await u.palmLandmarks.array(),f={startPoint:c,endPoint:d,palmLandmarks:h,confidence:r[l]},m=ak(f,[(t.shape[2]||1)/this.inputSize,(t.shape[1]||0)/this.inputSize]);i.push(m),Object.keys(u).forEach(g=>Y(u[g]))}return Object.keys(n).forEach(l=>Y(n[l])),i}};var Bhe=5,ok=1.65,lk=[0,5,9,13,17,1,2],Whe=0,Vhe=2,uk=0,S0=class{constructor(t,a){le(this,"handDetector");le(this,"handPoseModel");le(this,"inputSize");le(this,"storedBoxes");le(this,"skipped");le(this,"detectedHands");var n,r,s;this.handDetector=t,this.handPoseModel=a,this.inputSize=((s=(r=(n=this.handPoseModel)==null?void 0:n.inputs)==null?void 0:r[0].shape)==null?void 0:s[2])||0,this.storedBoxes=[],this.skipped=Number.MAX_SAFE_INTEGER,this.detectedHands=0}calculateLandmarksBoundingBox(t){let a=t.map(i=>i[0]),n=t.map(i=>i[1]),r=[Math.min(...a),Math.min(...n)],s=[Math.max(...a),Math.max(...n)];return{startPoint:r,endPoint:s}}getBoxForPalmLandmarks(t,a){let n=t.map(s=>U5([...s,1],a)),r=this.calculateLandmarksBoundingBox(n);return w0(k0(r),Bhe)}getBoxForHandLandmarks(t){let a=this.calculateLandmarksBoundingBox(t),n=w0(k0(a),ok);n.palmLandmarks=[];for(let r=0;r[i[0]*(h[0]-this.inputSize/2),i[1]*(h[1]-this.inputSize/2),i[2]*h[2]]),l=V5(n,[0,0]),u=o.map(h=>[...U5(h,l),h[2]]),p=rk(r),c=[...kp(a),1],d=[bs(c,p[0]),bs(c,p[1])];return u.map(h=>[Math.trunc(h[0]+d[0]),Math.trunc(h[1]+d[1]),Math.trunc(h[2])])}async estimateHands(t,a){let n=!1,r,s=(a.hand.skipTime||0)>te()-uk,i=this.skipped<(a.hand.skipFrames||0);a.skipAllowed&&s&&i&&(r=await this.handDetector.predict(t,a),this.skipped=0),a.skipAllowed&&this.skipped++,r&&r.length>0&&(r.length!==this.detectedHands&&this.detectedHands!==a.hand.maxDetected||!a.hand.landmarks)&&(this.detectedHands=0,this.storedBoxes=[...r],this.storedBoxes.length>0&&(n=!0));let o=[];for(let l=0;l=a.hand.minConfidence/4){let w=J(y,[-1,3]),S=await w.array();Y(y),Y(w);let C=this.transformRawCoords(S,m,p,f),E=this.getBoxForHandLandmarks(C);this.storedBoxes[l]={...E,confidence:b};let _={landmarks:C,confidence:b,boxConfidence:u.confidence,fingerConfidence:b,box:{topLeft:E.startPoint,bottomRight:E.endPoint}};o.push(_)}else this.storedBoxes[l]=null;Y(y)}else{let p=w0(k0(u),ok),c={confidence:u.confidence,boxConfidence:u.confidence,fingerConfidence:0,box:{topLeft:p.startPoint,bottomRight:p.endPoint},landmarks:[]};o.push(c)}}return this.storedBoxes=this.storedBoxes.filter(l=>l!==null),this.detectedHands=o.length,o.length>a.hand.maxDetected&&(o.length=a.hand.maxDetected),o}};var dk={thumb:[1,2,3,4],index:[5,6,7,8],middle:[9,10,11,12],ring:[13,14,15,16],pinky:[17,18,19,20],palm:[0]},Fo,Oo,pk;async function G5(e,t){let a=await pk.estimateHands(e,t);if(!a)return[];let n=[];for(let r=0;ra[r].landmarks[c]);let i=a[r].landmarks,o=[Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,0,0],l=[0,0,0,0];if(i&&i.length>0){for(let p of i)p[0]o[2]&&(o[2]=p[0]),p[1]>o[3]&&(o[3]=p[1]);o[2]-=o[0],o[3]-=o[1],l=[o[0]/(e.shape[2]||0),o[1]/(e.shape[1]||0),o[2]/(e.shape[2]||0),o[3]/(e.shape[1]||0)]}else o=a[r].box?[Math.trunc(Math.max(0,a[r].box.topLeft[0])),Math.trunc(Math.max(0,a[r].box.topLeft[1])),Math.trunc(Math.min(e.shape[2]||0,a[r].box.bottomRight[0])-Math.max(0,a[r].box.topLeft[0])),Math.trunc(Math.min(e.shape[1]||0,a[r].box.bottomRight[1])-Math.max(0,a[r].box.topLeft[1]))]:[0,0,0,0],l=[a[r].box.topLeft[0]/(e.shape[2]||0),a[r].box.topLeft[1]/(e.shape[1]||0),(a[r].box.bottomRight[0]-a[r].box.topLeft[0])/(e.shape[2]||0),(a[r].box.bottomRight[1]-a[r].box.topLeft[1])/(e.shape[1]||0)];let u=b0(i);n.push({id:r,score:Math.round(100*a[r].confidence)/100,boxScore:Math.round(100*a[r].boxConfidence)/100,fingerScore:Math.round(100*a[r].fingerConfidence)/100,label:"hand",box:o,boxRaw:l,keypoints:i,annotations:s,landmarks:u})}return n}async function ck(e){var a,n;ne.initial&&(Fo=null,Oo=null),!Fo||!Oo?[Fo,Oo]=await Promise.all([e.hand.enabled?Ee((a=e.hand.detector)==null?void 0:a.modelPath):null,e.hand.landmarks?Ee((n=e.hand.skeleton)==null?void 0:n.modelPath):null]):(e.debug&&K("cached model:",Fo.modelUrl),e.debug&&K("cached model:",Oo.modelUrl));let t=Fo?new I0(Fo):void 0;return t&&Oo&&(pk=new S0(t,Oo)),[Fo,Oo]}var Pt=[null,null],Ghe=["StatefulPartitionedCall/Postprocessor/Slice","StatefulPartitionedCall/Postprocessor/ExpandDims_1"],vs=[[0,0],[0,0]],Hhe=["hand","fist","pinch","point","face","tip","pinchtip"],fk=4,mk=1.6,jhe=512,qhe=1.4,T0=Number.MAX_SAFE_INTEGER,H5=0,Rr=[0,0],_t={boxes:[],hands:[]},gk={thumb:[1,2,3,4],index:[5,6,7,8],middle:[9,10,11,12],ring:[13,14,15,16],pinky:[17,18,19,20],base:[0],palm:[0,17,13,9,5,1,0]};async function xk(e){var t;if(ne.initial&&(Pt[0]=null),Pt[0])e.debug&&K("cached model:",Pt[0].modelUrl);else{Zh(["tensorlistreserve","enter","tensorlistfromtensor","merge","loopcond","switch","exit","tensorliststack","nextiteration","tensorlistsetitem","tensorlistgetitem","reciprocal","shape","split","where"],e),Pt[0]=await Ee((t=e.hand.detector)==null?void 0:t.modelPath);let a=Pt[0].executor?Object.values(Pt[0].modelSignature.inputs):void 0;vs[0][0]=Array.isArray(a)?parseInt(a[0].tensorShape.dim[1].size):0,vs[0][1]=Array.isArray(a)?parseInt(a[0].tensorShape.dim[2].size):0}return Pt[0]}async function Ak(e){var t;if(ne.initial&&(Pt[1]=null),Pt[1])e.debug&&K("cached model:",Pt[1].modelUrl);else{Pt[1]=await Ee((t=e.hand.skeleton)==null?void 0:t.modelPath);let a=Pt[1].executor?Object.values(Pt[1].modelSignature.inputs):void 0;vs[1][0]=Array.isArray(a)?parseInt(a[0].tensorShape.dim[1].size):0,vs[1][1]=Array.isArray(a)?parseInt(a[0].tensorShape.dim[2].size):0}return Pt[1]}async function Xhe(e,t){let a=[];if(!e||!Pt[0])return a;let n={},r=(e.shape[2]||1)/(e.shape[1]||1),s=Math.min(Math.round((e.shape[1]||0)/8)*8,jhe),i=Math.round(s*r/8)*8;n.resize=ge.resizeBilinear(e,[s,i]),n.cast=He(n.resize,"int32"),[n.rawScores,n.rawBoxes]=await Pt[0].executeAsync(n.cast,Ghe),n.boxes=_e(n.rawBoxes,[0,2]),n.scores=_e(n.rawScores,[0]);let o=Ta(n.scores,1);Y(o[fk]),o.splice(fk,1),n.filtered=sa(o,1),Y(o),n.max=pa(n.filtered,1),n.argmax=tr(n.filtered,1);let l=0;n.nms=await ge.nonMaxSuppressionAsync(n.boxes,n.max,(t.hand.maxDetected||0)+1,t.hand.iouThreshold||0,t.hand.minConfidence||1);let u=await n.nms.data(),p=await n.max.data(),c=await n.argmax.data();for(let d of Array.from(u)){let h=Pe(n.boxes,d,1),f=await h.data();Y(h);let m=[f[1],f[0],f[3]-f[1],f[2]-f[0]],g=s0(m,qhe),x=[Math.trunc(m[0]*Rr[0]),Math.trunc(m[1]*Rr[1]),Math.trunc(m[2]*Rr[0]),Math.trunc(m[3]*Rr[1])],A=p[d],y=Hhe[c[d]],b={id:l++,score:A,box:x,boxRaw:g,label:y};a.push(b)}return Object.keys(n).forEach(d=>Y(n[d])),a.sort((d,h)=>h.score-d.score),a.length>(t.hand.maxDetected||1)&&(a.length=t.hand.maxDetected||1),a}async function j5(e,t,a){let n={id:t.id,score:Math.round(100*t.score)/100,boxScore:Math.round(100*t.score)/100,fingerScore:0,box:t.box,boxRaw:t.boxRaw,label:t.label,keypoints:[],landmarks:{},annotations:{}};if(e&&Pt[1]&&a.hand.landmarks&&t.score>(a.hand.minConfidence||0)){let r={},s=[t.boxRaw[1],t.boxRaw[0],t.boxRaw[3]+t.boxRaw[1],t.boxRaw[2]+t.boxRaw[0]];r.crop=ge.cropAndResize(e,[s],[0],[vs[1][0],vs[1][1]],"bilinear"),r.div=me(r.crop,ze.tf255),[r.score,r.keypoints]=Pt[1].execute(r.div,["Identity_1","Identity"]);let i=(await r.score.data())[0],o=(100-Math.trunc(100/(1+Math.exp(i))))/100;if(o>=(a.hand.minConfidence||0)){n.fingerScore=o,r.reshaped=J(r.keypoints,[-1,3]);let p=(await r.reshaped.array()).map(c=>[c[0]/vs[1][1],c[1]/vs[1][0],c[2]||0]).map(c=>[c[0]*t.boxRaw[2],c[1]*t.boxRaw[3],c[2]||0]);n.keypoints=p.map(c=>[Rr[0]*(c[0]+t.boxRaw[0]),Rr[1]*(c[1]+t.boxRaw[1]),c[2]||0]),n.landmarks=b0(n.keypoints);for(let c of Object.keys(gk))n.annotations[c]=gk[c].map(d=>n.landmarks&&n.keypoints[d]?n.keypoints[d]:null)}Object.keys(r).forEach(l=>Y(r[l]))}return n}async function q5(e,t){var r,s;if(!((r=Pt[0])!=null&&r.executor)||!((s=Pt[1])!=null&&s.executor)||!Pt[0].inputs[0].shape||!Pt[1].inputs[0].shape)return[];Rr=[e.shape[2]||0,e.shape[1]||0],T0++;let a=(t.hand.skipTime||0)>te()-H5,n=T0<(t.hand.skipFrames||0);return t.skipAllowed&&a&&n?_t.hands:new Promise(async i=>{let o=3*(t.hand.skipTime||0)>te()-H5,l=T0<3*(t.hand.skipFrames||0);t.skipAllowed&&_t.hands.length===t.hand.maxDetected?_t.hands=await Promise.all(_t.boxes.map(p=>j5(e,p,t))):t.skipAllowed&&o&&l&&_t.hands.length>0?_t.hands=await Promise.all(_t.boxes.map(p=>j5(e,p,t))):(_t.boxes=await Xhe(e,t),H5=te(),_t.hands=await Promise.all(_t.boxes.map(p=>j5(e,p,t))),T0=0);let u=[..._t.boxes];if(_t.boxes.length=0,t.cacheSensitivity>0)for(let p=0;p<_t.hands.length;p++){let c=x9(_t.hands[p].keypoints,Rr);if(c.box[2]/(e.shape[2]||1)>.05&&c.box[3]/(e.shape[1]||1)>.05&&_t.hands[p].fingerScore&&_t.hands[p].fingerScore>(t.hand.minConfidence||0)){let d=s0(c.box,mk),h=s0(c.boxRaw,mk);_t.boxes.push({...u[p],box:d,boxRaw:h})}}for(let p=0;p<_t.hands.length;p++){let c=Cr(_t.hands[p].keypoints,Rr);_t.hands[p].box=c.box,_t.hands[p].boxRaw=c.boxRaw}i(_t.hands)})}var ir=(e=null)=>({face:[],body:[],hand:[],gesture:[],object:[],persons:[],performance:{},timestamp:0,width:0,height:0,error:e});var Ip={};cr(Ip,{connected:()=>N0,horizontal:()=>X5,kpt:()=>C0,relative:()=>Z5,vertical:()=>K5});var C0=["nose","leftEye","rightEye","leftEar","rightEar","leftShoulder","rightShoulder","leftElbow","rightElbow","leftWrist","rightWrist","leftHip","rightHip","leftKnee","rightKnee","leftAnkle","rightAnkle"],X5=[["leftEye","rightEye"],["leftEar","rightEar"],["leftShoulder","rightShoulder"],["leftElbow","rightElbow"],["leftWrist","rightWrist"],["leftHip","rightHip"],["leftKnee","rightKnee"],["leftAnkle","rightAnkle"]],K5=[["leftKnee","leftShoulder"],["rightKnee","rightShoulder"],["leftAnkle","leftKnee"],["rightAnkle","rightKnee"]],Z5=[[["leftHip","rightHip"],["leftShoulder","rightShoulder"]],[["leftElbow","rightElbow"],["leftShoulder","rightShoulder"]]],N0={leftLeg:["leftHip","leftKnee","leftAnkle"],rightLeg:["rightHip","rightKnee","rightAnkle"],torso:["leftShoulder","rightShoulder","rightHip","leftHip","leftShoulder"],leftArm:["leftShoulder","leftElbow","leftWrist"],rightArm:["rightShoulder","rightElbow","rightWrist"],head:[]};var xe=ir(),Y5=0;function bk(e,t){var i,o,l,u,p,c,d,h,f,m,g,x,A,y,b,w,S,C,E,_,$,M,I;let a=te();if(!e)return ir();let n=Date.now()-e.timestamp,r=n<1e3?8-Math.log(n+1):1;if(e.canvas&&(xe.canvas=e.canvas),e.error&&(xe.error=e.error),!xe.body||e.body.length!==xe.body.length)xe.body=JSON.parse(JSON.stringify(e.body));else for(let N=0;N((r-1)*xe.body[N].box[H]+U)/r),L=e.body[N].boxRaw.map((U,H)=>((r-1)*xe.body[N].boxRaw[H]+U)/r),B=e.body[N].keypoints.map((U,H)=>{var V,Q,Z,re,ee,he,oe,Ae,we;return{score:U.score,part:U.part,position:[xe.body[N].keypoints[H]?((r-1)*(xe.body[N].keypoints[H].position[0]||0)+(U.position[0]||0))/r:U.position[0],xe.body[N].keypoints[H]?((r-1)*(xe.body[N].keypoints[H].position[1]||0)+(U.position[1]||0))/r:U.position[1],xe.body[N].keypoints[H]?((r-1)*(xe.body[N].keypoints[H].position[2]||0)+(U.position[2]||0))/r:U.position[2]],positionRaw:[xe.body[N].keypoints[H]?((r-1)*(xe.body[N].keypoints[H].positionRaw[0]||0)+(U.positionRaw[0]||0))/r:U.positionRaw[0],xe.body[N].keypoints[H]?((r-1)*(xe.body[N].keypoints[H].positionRaw[1]||0)+(U.positionRaw[1]||0))/r:U.positionRaw[1],xe.body[N].keypoints[H]?((r-1)*(xe.body[N].keypoints[H].positionRaw[2]||0)+(U.positionRaw[2]||0))/r:U.positionRaw[2]],distance:[xe.body[N].keypoints[H]?((r-1)*(((V=xe.body[N].keypoints[H].distance)==null?void 0:V[0])||0)+(((Q=U.distance)==null?void 0:Q[0])||0))/r:(Z=U.distance)==null?void 0:Z[0],xe.body[N].keypoints[H]?((r-1)*(((re=xe.body[N].keypoints[H].distance)==null?void 0:re[1])||0)+(((ee=U.distance)==null?void 0:ee[1])||0))/r:(he=U.distance)==null?void 0:he[1],xe.body[N].keypoints[H]?((r-1)*(((oe=xe.body[N].keypoints[H].distance)==null?void 0:oe[2])||0)+(((Ae=U.distance)==null?void 0:Ae[2])||0))/r:(we=U.distance)==null?void 0:we[2]]}}),G={},j={connected:{}};(i=t.body.modelPath)!=null&&i.includes("efficientpose")?j=l0:(o=t.body.modelPath)!=null&&o.includes("blazepose")?j=n0:(l=t.body.modelPath)!=null&&l.includes("movenet")&&(j=Ip);for(let[U,H]of Object.entries(j.connected)){let V=[];for(let Q=0;Qee.part===H[Q]),re=B.find(ee=>ee.part===H[Q+1]);Z&&re&&V.push([Z.position,re.position])}G[U]=V}xe.body[N]={...e.body[N],box:O,boxRaw:L,keypoints:B,annotations:G}}if(!xe.hand||e.hand.length!==xe.hand.length)xe.hand=JSON.parse(JSON.stringify(e.hand));else for(let N=0;N((r-1)*xe.hand[N].box[U]+j)/r),L=e.hand[N].boxRaw.map((j,U)=>((r-1)*xe.hand[N].boxRaw[U]+j)/r);xe.hand[N].keypoints.length!==e.hand[N].keypoints.length&&(xe.hand[N].keypoints=e.hand[N].keypoints);let B=e.hand[N].keypoints&&e.hand[N].keypoints.length>0?e.hand[N].keypoints.map((j,U)=>j.map((H,V)=>((r-1)*(xe.hand[N].keypoints[U][V]||1)+(H||0))/r)):[],G={};if(Object.keys(xe.hand[N].annotations).length!==Object.keys(e.hand[N].annotations).length)xe.hand[N].annotations=e.hand[N].annotations,G=xe.hand[N].annotations;else if(e.hand[N].annotations)for(let j of Object.keys(e.hand[N].annotations))G[j]=(c=(p=(u=e.hand[N])==null?void 0:u.annotations)==null?void 0:p[j])!=null&&c[0]?e.hand[N].annotations[j].map((U,H)=>U.map((V,Q)=>((r-1)*xe.hand[N].annotations[j][H][Q]+V)/r)):null;xe.hand[N]={...e.hand[N],box:O,boxRaw:L,keypoints:B,annotations:G}}if(!xe.face||e.face.length!==xe.face.length)xe.face=JSON.parse(JSON.stringify(e.face));else for(let N=0;N((r-1)*xe.face[N].box[G]+B)/r),L=e.face[N].boxRaw.map((B,G)=>((r-1)*xe.face[N].boxRaw[G]+B)/r);if(e.face[N].rotation){let B={matrix:[0,0,0,0,0,0,0,0,0],angle:{roll:0,yaw:0,pitch:0},gaze:{bearing:0,strength:0}};B.matrix=(d=e.face[N].rotation)==null?void 0:d.matrix,B.angle={roll:((r-1)*(((f=(h=xe.face[N].rotation)==null?void 0:h.angle)==null?void 0:f.roll)||0)+(((g=(m=e.face[N].rotation)==null?void 0:m.angle)==null?void 0:g.roll)||0))/r,yaw:((r-1)*(((A=(x=xe.face[N].rotation)==null?void 0:x.angle)==null?void 0:A.yaw)||0)+(((b=(y=e.face[N].rotation)==null?void 0:y.angle)==null?void 0:b.yaw)||0))/r,pitch:((r-1)*(((S=(w=xe.face[N].rotation)==null?void 0:w.angle)==null?void 0:S.pitch)||0)+(((E=(C=e.face[N].rotation)==null?void 0:C.angle)==null?void 0:E.pitch)||0))/r},B.gaze={bearing:((r-1)*(((_=xe.face[N].rotation)==null?void 0:_.gaze.bearing)||0)+((($=e.face[N].rotation)==null?void 0:$.gaze.bearing)||0))/r,strength:((r-1)*(((M=xe.face[N].rotation)==null?void 0:M.gaze.strength)||0)+(((I=e.face[N].rotation)==null?void 0:I.gaze.strength)||0))/r},xe.face[N]={...e.face[N],rotation:B,box:O,boxRaw:L}}else xe.face[N]={...e.face[N],box:O,boxRaw:L}}if(!xe.object||e.object.length!==xe.object.length)xe.object=JSON.parse(JSON.stringify(e.object));else for(let N=0;N((r-1)*xe.object[N].box[G]+B)/r),L=e.object[N].boxRaw.map((B,G)=>((r-1)*xe.object[N].boxRaw[G]+B)/r);xe.object[N]={...e.object[N],box:O,boxRaw:L}}if(e.persons){let N=e.persons;if(!xe.persons||N.length!==xe.persons.length)xe.persons=JSON.parse(JSON.stringify(N));else for(let O=0;O((r-1)*xe.persons[O].box[B]+L)/r)}e.gesture&&(xe.gesture=e.gesture),xe.width=e.width,xe.height=e.height;let s=te();return Y5=ne.perfadd?Y5+Math.round(s-a):Math.round(s-a),e.performance&&(xe.performance={...e.performance,interpolate:Y5}),xe}var ma;async function J5(e){return!ma||ne.initial?ma=await Ee(e.segmentation.modelPath):e.debug&&K("cached model:",ma.modelUrl),ma}async function vk(e,t){var r;if(ma||(ma=await J5(t)),!(ma!=null&&ma.executor)||!((r=ma==null?void 0:ma.inputs)!=null&&r[0].shape))return null;let a={};a.resize=ge.resizeBilinear(e,[ma.inputs[0].shape?ma.inputs[0].shape[1]:0,ma.inputs[0].shape?ma.inputs[0].shape[2]:0],!1),a.norm=me(a.resize,ze.tf255),a.res=ma.execute(a.norm),a.squeeze=_e(a.res,[0]),[a.bgRaw,a.fgRaw]=Ta(a.squeeze,2),a.fg=mh(a.fgRaw),a.mul=ae(a.fg,ze.tf255),a.expand=Gt(a.mul,2),a.output=ge.resizeBilinear(a.expand,[e.shape[1]||0,e.shape[2]||0]);let n;switch(t.segmentation.mode||"default"){case"default":a.input=_e(e),a.concat=at([a.input,a.output],-1),n=He(a.concat,"int32");break;case"alpha":n=He(a.output,"int32");break;default:n=Be(0)}return Object.keys(a).forEach(s=>Y(a[s])),n}var E0={};cr(E0,{distance:()=>Q5,find:()=>Yhe,similarity:()=>Zhe});function Q5(e,t,a={order:2,multiplier:25}){if(!e||!e)return Number.MAX_SAFE_INTEGER;let n=0;for(let r=0;r{if(e===0)return 1;let s=(1-(t===2?Math.sqrt(e):e**(1/t))/100-a)/(n-a);return Math.max(Math.min(s,1),0)};function Zhe(e,t,a={order:2,multiplier:25,min:.2,max:.8}){let n=Q5(e,t,a);return kk(n,a.order||2,a.min||0,a.max||1)}function Yhe(e,t,a={order:2,multiplier:25,threshold:0,min:.2,max:.8}){if(!Array.isArray(e)||!Array.isArray(t)||e.length<64||t.length===0)return{index:-1,distance:Number.POSITIVE_INFINITY,similarity:0};let n=Number.MAX_SAFE_INTEGER,r=-1;for(let i=0;iCp,validateModel:()=>O0});var Ik=.005,an={keypoints:[],padding:[[0,0],[0,0],[0,0],[0,0]]};function eg(e){for(let t of X5){let a=e.keypoints.findIndex(r=>r.part===t[0]),n=e.keypoints.findIndex(r=>r.part===t[1]);if(e.keypoints[a]&&e.keypoints[n]&&e.keypoints[a].position[0]r&&r.part===t[0]),n=e.keypoints.findIndex(r=>r&&r.part===t[1]);e.keypoints[a]&&e.keypoints[n]&&e.keypoints[a].position[1]u&&u.part===t[0]),r=e.keypoints.findIndex(u=>u&&u.part===t[1]),s=e.keypoints.findIndex(u=>u&&u.part===a[0]),i=e.keypoints.findIndex(u=>u&&u.part===a[1]);if(!e.keypoints[s]||!e.keypoints[i])continue;let o=e.keypoints[n]?[Math.abs(e.keypoints[s].position[0]-e.keypoints[n].position[0]),Math.abs(e.keypoints[i].position[0]-e.keypoints[n].position[0])]:[0,0],l=e.keypoints[r]?[Math.abs(e.keypoints[i].position[0]-e.keypoints[r].position[0]),Math.abs(e.keypoints[s].position[0]-e.keypoints[r].position[0])]:[0,0];if(o[0]>o[1]||l[0]>l[1]){let u=e.keypoints[n];e.keypoints[n]=e.keypoints[r],e.keypoints[r]=u}}}function Sk(e){for(let t=0;te.shape[1]?Math.trunc((e.shape[2]-e.shape[1])/2):0,e.shape[2]>e.shape[1]?Math.trunc((e.shape[2]-e.shape[1])/2):0],[e.shape[1]>e.shape[2]?Math.trunc((e.shape[1]-e.shape[2])/2):0,e.shape[1]>e.shape[2]?Math.trunc((e.shape[1]-e.shape[2])/2):0],[0,0]],a.pad=nr(e,an.padding),a.resize=ge.resizeBilinear(a.pad,[t,t]);let n=He(a.resize,"int32");return Object.keys(a).forEach(i=>Y(a[i])),n}function Ck(e,t){e.keypoints=e.keypoints.filter(n=>n==null?void 0:n.position);for(let n of e.keypoints)n.position=[n.position[0]*(t[0]+an.padding[2][0]+an.padding[2][1])/t[0]-an.padding[2][0],n.position[1]*(t[1]+an.padding[1][0]+an.padding[1][1])/t[1]-an.padding[1][0]],n.positionRaw=[n.position[0]/t[0],n.position[1]/t[1]];let a=Cr(e.keypoints.map(n=>n.position),t);return e.box=a.box,e.boxRaw=a.boxRaw,e}var Vt,R0=0,tg=Number.MAX_SAFE_INTEGER,Do={boxes:[],bodies:[],last:0};async function Nk(e){var t;return ne.initial&&(Vt=null),Vt?e.debug&&K("cached model:",Vt.modelUrl):(Zh(["size"],e),Vt=await Ee(e.body.modelPath)),R0=(Vt==null?void 0:Vt.executor)&&((t=Vt==null?void 0:Vt.inputs)==null?void 0:t[0].shape)?Vt.inputs[0].shape[2]:0,R0<64&&(R0=256),Vt}function Qhe(e,t,a){let n=e[0][0],r=[],s=0;for(let p=0;pt.body.minConfidence){let c=[n[p][1],n[p][0]];r.push({score:Math.round(100*s)/100,part:C0[p],positionRaw:c,position:[Math.round((a.shape[2]||0)*c[0]),Math.round((a.shape[1]||0)*c[1])]})}s=r.reduce((p,c)=>c.score>p?c.score:p,0);let i=[],o=Cr(r.map(p=>p.position),[a.shape[2],a.shape[1]]),l={};for(let[p,c]of Object.entries(N0)){let d=[];for(let h=0;hg.part===c[h]),m=r.find(g=>g.part===c[h+1]);f&&m&&f.score>(t.body.minConfidence||0)&&m.score>(t.body.minConfidence||0)&&d.push([f.position,m.position])}l[p]=d}let u={id:0,score:s,box:o.box,boxRaw:o.boxRaw,keypoints:r,annotations:l};return eg(u),i.push(u),i}function e0e(e,t,a){let n=[];for(let r=0;rt.body.minConfidence){let o=[];for(let c=0;c<17;c++){let d=s[3*c+2];if(d>t.body.minConfidence){let h=[s[3*c+1],s[3*c+0]];o.push({part:C0[c],score:Math.round(100*d)/100,positionRaw:h,position:[Math.round((a.shape[2]||0)*h[0]),Math.round((a.shape[1]||0)*h[1])]})}}let l=Cr(o.map(c=>c.position),[a.shape[2],a.shape[1]]),u={};for(let[c,d]of Object.entries(N0)){let h=[];for(let f=0;fx.part===d[f]),g=o.find(x=>x.part===d[f+1]);m&&g&&m.score>(t.body.minConfidence||0)&&g.score>(t.body.minConfidence||0)&&h.push([m.position,g.position])}u[c]=h}let p={id:r,score:i,box:l.box,boxRaw:l.boxRaw,keypoints:[...o],annotations:u};eg(p),n.push(p)}}return n.sort((r,s)=>s.score-r.score),n.length>t.body.maxDetected&&(n.length=t.body.maxDetected),n}async function ag(e,t){var r;if(!(Vt!=null&&Vt.executor)||!((r=Vt==null?void 0:Vt.inputs)!=null&&r[0].shape))return[];t.skipAllowed||(Do.boxes.length=0),tg++;let a=(t.body.skipTime||0)>te()-Do.last,n=tg<(t.body.skipFrames||0);return t.skipAllowed&&a&&n?Do.bodies:new Promise(async s=>{let i={};tg=0,i.input=Tk(e,R0),i.res=Vt==null?void 0:Vt.execute(i.input),Do.last=te();let o=await i.res.array();Do.bodies=i.res.shape[2]===17?Qhe(o,t,e):e0e(o,t,e);for(let l of Do.bodies)Ck(l,[e.shape[2]||1,e.shape[1]||1]),Sk(l.keypoints);Object.keys(i).forEach(l=>Y(i[l])),s(Do.bodies)})}var $n,M0=[],Rk=0,ng=Number.MAX_SAFE_INTEGER,_0=0,$0=2.5;async function Mk(e){if(!$n||ne.initial){$n=await Ee(e.object.modelPath);let t=$n!=null&&$n.executor?Object.values($n.modelSignature.inputs):void 0;_0=Array.isArray(t)?parseInt(t[0].tensorShape.dim[2].size):416}else e.debug&&K("cached model:",$n.modelUrl);return $n}async function t0e(e,t,a){var u,p;let n=0,r=[],s=_0;for(let c of[1,2,4]){let d=c*13,h=_e(e.find(y=>y.shape[1]===d**2&&(y.shape[2]||0)===yu.length)),f=await h.array(),m=_e(e.find(y=>y.shape[1]===d**2&&(y.shape[2]||0)(a.object.minConfidence||0)&&b!==61){let S=(.5+Math.trunc(y%d))/d,C=(.5+Math.trunc(y/d))/d,E=A[y].map(B=>B*(d/c/s)),[_,$]=[S-$0/c*E[0],C-$0/c*E[1]],[M,I]=[S+$0/c*E[2]-_,C+$0/c*E[3]-$],N=[_,$,M,I];N=N.map(B=>Math.max(0,Math.min(B,1)));let O=[N[0]*t[0],N[1]*t[1],N[2]*t[0],N[3]*t[1]],L={id:n++,score:Math.round(100*w)/100,class:b+1,label:yu[b].label,box:O.map(B=>Math.trunc(B)),boxRaw:N};r.push(L)}}Y([h,m,g,x])}let i=r.map(c=>[c.boxRaw[1],c.boxRaw[0],c.boxRaw[3],c.boxRaw[2]]),o=r.map(c=>c.score),l=[];if(i&&i.length>0){let c=await ge.nonMaxSuppressionAsync(i,o,a.object.maxDetected||0,a.object.iouThreshold,a.object.minConfidence);l=Array.from(await c.data()),Y(c)}return r=r.filter((c,d)=>l.includes(d)).sort((c,d)=>d.score-c.score),r}async function rg(e,t){if(!($n!=null&&$n.executor))return[];let a=(t.object.skipTime||0)>te()-Rk,n=ng<(t.object.skipFrames||0);return t.skipAllowed&&a&&n&&M0.length>0?(ng++,M0):(ng=0,!ne.kernels.includes("mod")||!ne.kernels.includes("sparsetodense")?M0:new Promise(async r=>{let s=[e.shape[2]||0,e.shape[1]||0],i=ge.resizeBilinear(e,[_0,_0],!1),o=me(i,ze.tf255),l=Ls(o,[0,3,1,2]),u;t.object.enabled&&(u=$n.execute(l)),Rk=te();let p=await t0e(u,s,t);M0=p,Y([i,o,l,...u]),r(p)}))}var Tp=["nose","leftEye","rightEye","leftEar","rightEar","leftShoulder","rightShoulder","leftElbow","rightElbow","leftWrist","rightWrist","leftHip","rightHip","leftKnee","rightKnee","leftAnkle","rightAnkle"],a0e=Tp.length,Sp=Tp.reduce((e,t,a)=>(e[t]=a,e),{}),n0e=[["leftHip","leftShoulder"],["leftElbow","leftShoulder"],["leftElbow","leftWrist"],["leftHip","leftKnee"],["leftKnee","leftAnkle"],["rightHip","rightShoulder"],["rightElbow","rightShoulder"],["rightElbow","rightWrist"],["rightHip","rightKnee"],["rightKnee","rightAnkle"],["leftShoulder","rightShoulder"],["leftHip","rightHip"]],Mge=n0e.map(([e,t])=>[Sp[e],Sp[t]]),_k=[["nose","leftEye"],["leftEye","leftEar"],["nose","rightEye"],["rightEye","rightEar"],["nose","leftShoulder"],["leftShoulder","leftElbow"],["leftElbow","leftWrist"],["leftShoulder","leftHip"],["leftHip","leftKnee"],["leftKnee","leftAnkle"],["nose","rightShoulder"],["rightShoulder","rightElbow"],["rightElbow","rightWrist"],["rightShoulder","rightHip"],["rightHip","rightKnee"],["rightKnee","rightAnkle"]];function Pk(e){let t=e.reduce(({maxX:a,maxY:n,minX:r,minY:s},{position:{x:i,y:o}})=>({maxX:Math.max(a,i),maxY:Math.max(n,o),minX:Math.min(r,i),minY:Math.min(s,o)}),{maxX:Number.NEGATIVE_INFINITY,maxY:Number.NEGATIVE_INFINITY,minX:Number.POSITIVE_INFINITY,minY:Number.POSITIVE_INFINITY});return[t.minX,t.minY,t.maxX-t.minX,t.maxY-t.minY]}function Fk(e,[t,a],[n,r]){let s=t/n,i=a/r,o=(u,p)=>({id:p,score:u.score,boxRaw:[u.box[0]/r,u.box[1]/n,u.box[2]/r,u.box[3]/n],box:[Math.trunc(u.box[0]*i),Math.trunc(u.box[1]*s),Math.trunc(u.box[2]*i),Math.trunc(u.box[3]*s)],keypoints:u.keypoints.map(({score:c,part:d,position:h})=>({score:c,part:d,position:[Math.trunc(h.x*i),Math.trunc(h.y*s)],positionRaw:[h.x/n,h.y/n]})),annotations:{}});return e.map((u,p)=>o(u,p))}var P0=class{constructor(t,a){le(this,"priorityQueue");le(this,"numberOfElements");le(this,"getElementValue");this.priorityQueue=new Array(t),this.numberOfElements=-1,this.getElementValue=a}enqueue(t){this.priorityQueue[++this.numberOfElements]=t,this.swim(this.numberOfElements)}dequeue(){let t=this.priorityQueue[0];return this.exchange(0,this.numberOfElements--),this.sink(0),this.priorityQueue[this.numberOfElements+1]=null,t}empty(){return this.numberOfElements===-1}size(){return this.numberOfElements+1}all(){return this.priorityQueue.slice(0,this.numberOfElements+1)}max(){return this.priorityQueue[0]}swim(t){for(;t>0&&this.less(Math.floor(t/2),t);)this.exchange(t,Math.floor(t/2)),t=Math.floor(t/2)}sink(t){for(;2*t<=this.numberOfElements;){let a=2*t;if(aa?a:e}function Ok(e,t,a,n){let r=a-e,s=n-t;return r*r+s*s}function lg(e,t){return{x:e.x+t.x,y:e.y+t.y}}var nn,s0e=["MobilenetV1/offset_2/BiasAdd","MobilenetV1/heatmap_2/BiasAdd","MobilenetV1/displacement_fwd_2/BiasAdd","MobilenetV1/displacement_bwd_2/BiasAdd"],F0=1,Eu=16,i0e=50**2;function Dk(e,t,a,n,r,s,i=2){let o=x=>({y:s.get(x.y,x.x,e),x:s.get(x.y,x.x,s.shape[2]/2+e)}),l=(x,A,y)=>({y:og(Math.round(x.y/Eu),0,A-1),x:og(Math.round(x.x/Eu),0,y-1)}),[u,p]=n.shape,c=l(t.position,u,p),d=o(c),f=lg(t.position,d);for(let x=0;x[Sp[d],Sp[h]]),i=s.map(([,d])=>d),o=s.map(([d])=>d),l=t.shape[2],u=i.length,p=new Array(l),c=ig(e.part,Eu,a);p[e.part.id]={score:e.score,part:Tp[e.part.id],position:c};for(let d=u-1;d>=0;--d){let h=i[d],f=o[d];p[h]&&!p[f]&&(p[f]=Dk(d,p[h],f,t,a,r))}for(let d=0;dt){o=!1;break}if(!o)break}return o}function u0e(e,t){let[a,n,r]=t.shape,s=new P0(a*n*r,({score:i})=>i);for(let i=0;i{var i;let s=(i=r[n])==null?void 0:i.position;return s?Ok(a,t,s.y,s.x)<=i0e:!1})}function d0e(e,t){return t.reduce((n,{position:r,score:s},i)=>(zk(e,r,i)||(n+=s),n),0)/t.length}function p0e(e,t,a,n,r,s){let i=[],o=u0e(s,t);for(;i.lengthh.score>s);let c=d0e(i,p),d=Pk(p);c>s&&i.push({keypoints:p,box:d,score:Math.round(100*c)/100})}return i}async function ug(e,t){if(!(nn!=null&&nn.executor))return[];let a=$e(()=>{if(!nn.inputs[0].shape)return[];let i=ge.resizeBilinear(e,[nn.inputs[0].shape[2],nn.inputs[0].shape[1]]),o=fe(me(He(i,"float32"),127.5),1),u=nn.execute(o,s0e).map(p=>_e(p,[0]));return u[1]=Da(u[1]),u}),n=await Promise.all(a.map(i=>i.buffer()));for(let i of a)Y(i);let r=p0e(n[0],n[1],n[2],n[3],t.body.maxDetected,t.body.minConfidence);return nn.inputs[0].shape?Fk(r,[e.shape[1],e.shape[2]],[nn.inputs[0].shape[2],nn.inputs[0].shape[1]]):[]}async function Lk(e){return!nn||ne.initial?nn=await Ee(e.body.modelPath):e.debug&&K("cached model:",nn.modelUrl),nn}var or,c0e=["fgr","pha","r1o","r2o","r3o","r4o"],Ut={},pg=0;function Vk(e){Y([Ut.r1i,Ut.r2i,Ut.r3i,Ut.r4i,Ut.downsample_ratio]),Ut.r1i=Be(0),Ut.r2i=Be(0),Ut.r3i=Be(0),Ut.r4i=Be(0),pg=e.segmentation.ratio||.5,Ut.downsample_ratio=Be(pg)}async function cg(e){return!or||ne.initial?or=await Ee(e.segmentation.modelPath):e.debug&&K("cached model:",or.modelUrl),Vk(e),or}var Wk=e=>$e(()=>{let t=_e(e,[0]),a=ae(t,ze.tf255);return He(a,"int32")});function dg(e,t){let a=e?Wk(e):ar([t.shape[1]||0,t.shape[2]||0,3],255,"int32"),n=t?Wk(t):ar([e.shape[1]||0,e.shape[2]||0,1],255,"int32"),r=at([a,n],-1);return Y([a,n]),r}function h0e(e){return $e(()=>{let t={};return t.unstack=Ta(e,-1),t.concat=at(t.unstack,1),t.split=ka(t.concat,4,1),t.stack=at(t.split,2),t.squeeze=_e(t.stack,[0]),t.expand=Gt(t.squeeze,-1),t.add=be(t.expand,1),t.mul=ae(t.add,127.5),t.cast=He(t.mul,"int32"),t.tile=Vr(t.cast,[1,1,3]),t.alpha=ar([t.tile.shape[0]||0,t.tile.shape[1]||0,1],255,"int32"),at([t.tile,t.alpha],-1)})}async function Uk(e,t){if(or||(or=await cg(t)),!(or!=null&&or.executor))return null;Ut.src=me(e,255),pg!==t.segmentation.ratio&&Vk(t);let[a,n,r,s,i,o]=await or.executeAsync(Ut,c0e),l;switch(t.segmentation.mode||"default"){case"default":l=dg(a,n);break;case"alpha":l=dg(null,n);break;case"foreground":l=dg(a,null);break;case"state":l=h0e(r);break;default:l=Be(0)}return Y([Ut.src,a,n,Ut.r1i,Ut.r2i,Ut.r3i,Ut.r4i]),[Ut.r1i,Ut.r2i,Ut.r3i,Ut.r4i]=[r,s,i,o],l}var ga;async function hg(e){return!ga||ne.initial?ga=await Ee(e.segmentation.modelPath):e.debug&&K("cached model:",ga.modelUrl),ga}async function Hk(e,t){var r;if(ga||(ga=await hg(t)),!(ga!=null&&ga.executor)||!((r=ga==null?void 0:ga.inputs)!=null&&r[0].shape))return null;let a={};a.resize=ge.resizeBilinear(e,[ga.inputs[0].shape?ga.inputs[0].shape[1]:0,ga.inputs[0].shape?ga.inputs[0].shape[2]:0],!1),a.norm=me(a.resize,ze.tf255),a.res=ga.execute(a.norm),a.squeeze=_e(a.res,[0]),a.alpha=ge.resizeBilinear(a.squeeze,[e.shape[1]||0,e.shape[2]||0]),a.mul=ae(a.alpha,ze.tf255);let n;switch(t.segmentation.mode||"default"){case"default":a.input=_e(e),a.concat=at([a.input,a.mul],-1),n=He(a.concat,"int32");break;case"alpha":n=He(a.mul,"int32");break;default:n=Be(0)}return Object.keys(a).forEach(s=>Y(a[s])),n}function O0(e,t,a){var u,p;if(!t||!((u=e==null?void 0:e.config)!=null&&u.validateModels))return null;let n=["const","placeholder","noop","pad","squeeze","add","sub","mul","div"],r=["biasadd","fusedbatchnormv3","matmul","switch","shape","merge","split","broadcastto"],s=[],i=[],o=t.modelUrl,l=t.executor;if((p=l==null?void 0:l.graph)!=null&&p.nodes)for(let c of Object.values(l.graph.nodes)){let d=c.op.toLowerCase();s.includes(d)||s.push(d)}else!l&&e.config.debug&&K("model not loaded",a);for(let c of s)!n.includes(c)&&!r.includes(c)&&!e.env.kernels.includes(c)&&!e.env.kernels.includes(c.replace("_",""))&&!e.env.kernels.includes(c.replace("native",""))&&!e.env.kernels.includes(c.replace("v2",""))&&i.push(c);return e.config.debug&&i.length>0&&K("model validation failed:",a,i),i.length>0?{name:a,missing:i,ops:s,url:o}:null}var Cp=class{constructor(t){le(this,"instance");le(this,"models",{});this.models={},this.instance=t}stats(){let t=0,a=0,n=0;for(let s of Object.values(ha))t+=s.sizeFromManifest,a+=s.sizeLoadedWeights,n+=s.sizeDesired;let r=n>0?a/n:0;return{numLoadedModels:Object.values(ha).length,numDefinedModels:Object.keys(this.models).length,percentageLoaded:r,totalSizeFromManifest:t,totalSizeWeights:a,totalSizeLoading:n,modelStats:Object.values(ha)}}reset(){for(let t of Object.keys(this.models))this.models[t]=null}async load(t){var n,r,s,i,o,l,u,p,c,d,h,f,m,g,x,A,y,b,w,S,C,E,_,$,M,I,N;ne.initial&&this.reset(),t&&(this.instance=t);let a={};a.blazeface=this.instance.config.face.enabled&&!this.models.blazeface?B9(this.instance.config):null,a.antispoof=this.instance.config.face.enabled&&((n=this.instance.config.face.antispoof)==null?void 0:n.enabled)&&!this.models.antispoof?pw(this.instance.config):null,a.liveness=this.instance.config.face.enabled&&((r=this.instance.config.face.liveness)==null?void 0:r.enabled)&&!this.models.liveness?mw(this.instance.config):null,a.faceres=this.instance.config.face.enabled&&((s=this.instance.config.face.description)==null?void 0:s.enabled)&&!this.models.faceres?iw(this.instance.config):null,a.emotion=this.instance.config.face.enabled&&((i=this.instance.config.face.emotion)==null?void 0:i.enabled)&&!this.models.emotion?aw(this.instance.config):null,a.iris=this.instance.config.face.enabled&&((o=this.instance.config.face.iris)==null?void 0:o.enabled)&&!((l=this.instance.config.face.attention)!=null&&l.enabled)&&!this.models.iris?j9(this.instance.config):null,a.facemesh=this.instance.config.face.enabled&&((u=this.instance.config.face.mesh)==null?void 0:u.enabled)&&!this.models.facemesh?Y9(this.instance.config):null,a.gear=this.instance.config.face.enabled&&((p=this.instance.config.face.gear)==null?void 0:p.enabled)&&!this.models.gear?yw(this.instance.config):null,a.ssrnetage=this.instance.config.face.enabled&&((c=this.instance.config.face.ssrnet)==null?void 0:c.enabled)&&!this.models.ssrnetage?kw(this.instance.config):null,a.ssrnetgender=this.instance.config.face.enabled&&((d=this.instance.config.face.ssrnet)==null?void 0:d.enabled)&&!this.models.ssrnetgender?Cw(this.instance.config):null,a.mobilefacenet=this.instance.config.face.enabled&&((h=this.instance.config.face.mobilefacenet)==null?void 0:h.enabled)&&!this.models.mobilefacenet?$w(this.instance.config):null,a.insightface=this.instance.config.face.enabled&&((f=this.instance.config.face.insightface)==null?void 0:f.enabled)&&!this.models.insightface?Dw(this.instance.config):null,a.blazepose=this.instance.config.body.enabled&&!this.models.blazepose&&((m=this.instance.config.body.modelPath)==null?void 0:m.includes("blazepose"))?w9(this.instance.config):null,a.blazeposedetect=this.instance.config.body.enabled&&!this.models.blazeposedetect&&this.instance.config.body.detector&&this.instance.config.body.detector.modelPath?v9(this.instance.config):null,a.efficientpose=this.instance.config.body.enabled&&!this.models.efficientpose&&((g=this.instance.config.body.modelPath)==null?void 0:g.includes("efficientpose"))?N9(this.instance.config):null,a.movenet=this.instance.config.body.enabled&&!this.models.movenet&&((x=this.instance.config.body.modelPath)==null?void 0:x.includes("movenet"))?Nk(this.instance.config):null,a.posenet=this.instance.config.body.enabled&&!this.models.posenet&&((A=this.instance.config.body.modelPath)==null?void 0:A.includes("posenet"))?Lk(this.instance.config):null,a.handtrack=this.instance.config.hand.enabled&&!this.models.handtrack&&((b=(y=this.instance.config.hand.detector)==null?void 0:y.modelPath)==null?void 0:b.includes("handtrack"))?xk(this.instance.config):null,a.handskeleton=this.instance.config.hand.enabled&&this.instance.config.hand.landmarks&&!this.models.handskeleton&&((S=(w=this.instance.config.hand.detector)==null?void 0:w.modelPath)==null?void 0:S.includes("handtrack"))?Ak(this.instance.config):null,(E=(C=this.instance.config.hand.detector)==null?void 0:C.modelPath)!=null&&E.includes("handdetect")&&([a.handpose,a.handskeleton]=this.models.handpose?[null,null]:await ck(this.instance.config)),a.centernet=this.instance.config.object.enabled&&!this.models.centernet&&((_=this.instance.config.object.modelPath)==null?void 0:_.includes("centernet"))?S9(this.instance.config):null,a.nanodet=this.instance.config.object.enabled&&!this.models.nanodet&&(($=this.instance.config.object.modelPath)==null?void 0:$.includes("nanodet"))?Mk(this.instance.config):null,a.selfie=this.instance.config.segmentation.enabled&&!this.models.selfie&&((M=this.instance.config.segmentation.modelPath)==null?void 0:M.includes("selfie"))?hg(this.instance.config):null,a.meet=this.instance.config.segmentation.enabled&&!this.models.meet&&((I=this.instance.config.segmentation.modelPath)==null?void 0:I.includes("meet"))?J5(this.instance.config):null,a.rvm=this.instance.config.segmentation.enabled&&!this.models.rvm&&((N=this.instance.config.segmentation.modelPath)==null?void 0:N.includes("rvm"))?cg(this.instance.config):null,await Promise.all([...Object.values(a)]);for(let O of Object.keys(a))this.models[O]=a[O]||this.models[O]||null}list(){let t=Object.keys(this.models).map(a=>{var n;return{name:a,loaded:this.models[a]!==null,size:0,url:this.models[a]?(n=this.models[a])==null?void 0:n.modelUrl:null}});for(let a of t){let n=Object.keys(ha).find(r=>r.startsWith(a.name));!n||(a.size=ha[n].sizeLoadedWeights,a.url=ha[n].url)}return t}loaded(){return this.list().filter(n=>n.loaded).map(n=>n.name)}validate(){let t=[];for(let a of Object.keys(this.models)){let n=this.models[a];if(!n)continue;let r=O0(this.instance,n,a);r&&t.push(r)}return t}};function qk(e,t,a,n,r){var o,l,u,p,c,d;let s=0,i=[];for(let h of e){let f={id:s++,face:h,body:null,hands:{left:null,right:null},gestures:[],box:[0,0,0,0]};for(let b of t)h.box[0]>b.box[0]&&h.box[0]b.box[1]&&h.box[1]+h.box[3]f.body.box[0]&&b.box[0]+b.box[2]f.body.box[1]&&b.box[1]+b.box[3]f.body.box[0]&&b.box[1]+b.box[3]>f.body.box[1]&&b.box[1]+b.box[3]{b&&b.length===4&&(m.push(b[0],b[0]+b[2]),g.push(b[1],b[1]+b[3]))};x(f.face.box),x((p=f.body)==null?void 0:p.box),x((c=f.hands.left)==null?void 0:c.box),x((d=f.hands.right)==null?void 0:d.box);let A=Math.min(...m),y=Math.min(...g);f.box=[A,y,Math.max(...m)-A,Math.max(...g)-y],(r==null?void 0:r[1])&&(r==null?void 0:r[2])&&(f.boxRaw=[f.box[0]/r[2],f.box[1]/r[1],f.box[2]/r[2],f.box[3]/r[1]]),i.push(f)}return i}var D0=` + gaze: [gaze]\xB0`,body:"body [score]%",bodyPart:"[label] [score]%",object:"[label] [score]%",hand:"[label] [score]%",finger:"[label]",gesture:"[where] [who]: [what]"};var Y3=0;function Zce(e,t,a){let n=Ct($t,a);if(!t||!e)return;let r=gn(e);if(!!r){r.lineJoin="round",r.font=n.font;for(let s=0;se5,kpt:()=>Q3});var Q3=["nose","leftEyeInside","leftEye","leftEyeOutside","rightEyeInside","rightEye","rightEyeOutside","leftEar","rightEar","leftMouth","rightMouth","leftShoulder","rightShoulder","leftElbow","rightElbow","leftWrist","rightWrist","leftPinky","rightPinky","leftIndex","rightIndex","leftThumb","rightThumb","leftHip","rightHip","leftKnee","rightKnee","leftAnkle","rightAnkle","leftHeel","rightHeel","leftFoot","rightFoot","bodyCenter","bodyTop","leftPalm","leftHand","rightPalm","rightHand"],e5={shoulders:["leftShoulder","rightShoulder"],hips:["rightHip","leftHip"],mouth:["leftMouth","rightMouth"],leftLegUpper:["leftHip","leftKnee"],leftLegLower:["leftKnee","leftAnkle"],leftFoot:["leftAnkle","leftHeel","leftFoot"],leftTorso:["leftShoulder","leftHip"],leftArmUpper:["leftShoulder","leftElbow"],leftArmLower:["leftElbow","leftWrist"],leftHand:["leftWrist","leftPalm"],leftHandPinky:["leftPalm","leftPinky"],leftHandIndex:["leftPalm","leftIndex"],leftHandThumb:["leftPalm","leftThumb"],leftEyeOutline:["leftEyeInside","leftEyeOutside"],rightLegUpper:["rightHip","rightKnee"],rightLegLower:["rightKnee","rightAnkle"],rightFoot:["rightAnkle","rightHeel","rightFoot"],rightTorso:["rightShoulder","rightHip"],rightArmUpper:["rightShoulder","rightElbow"],rightArmLower:["rightElbow","rightWrist"],rightHand:["rightWrist","rightPalm"],rightHandPinky:["rightPalm","rightPinky"],rightHandIndex:["rightPalm","rightIndex"],rightHandThumb:["rightPalm","rightThumb"],rightEyeOutline:["rightEyeInside","rightEyeOutside"]};var xn,Eo=224,f9,Qce=5,r0=[8,16,32,32,32];function ehe(){let e=[],t=0;for(;ta.x)),y:Ht(e.map(a=>a.y))}}async function m9(e){if(ne.initial&&(xn=null),!xn&&e.body.detector&&e.body.detector.modelPath){xn=await Ee(e.body.detector.modelPath);let t=xn!=null&&xn.executor?Object.values(xn.modelSignature.inputs):void 0;Eo=Array.isArray(t)?parseInt(t[0].tensorShape.dim[1].size):0}else e.debug&&xn&&K("cached model:",xn.modelUrl);return ehe(),xn}var h9=[5,5];function the(e,t){return $e(()=>{let a=ka(e,12,1),n=_e(a[0]),r=_e(a[1]),s=_e(a[2]),i=_e(a[3]);n=be(me(n,Eo),t.x),r=be(me(r,Eo),t.y),s=ae(me(s,Eo),h9[0]),i=ae(me(i,Eo),h9[1]);let o=fe(n,me(s,2)),l=fe(r,me(i,2)),u=be(o,s),p=be(l,i);return sa([o,l,u,p],1)})}async function ahe(e,t,a,n){var u,p;let r=[],s={};s.boxes=the(e,f9),s.scores=Da(t),s.nms=await ge.nonMaxSuppressionAsync(s.boxes,s.scores,1,((u=a.body.detector)==null?void 0:u.minConfidence)||.1,((p=a.body.detector)==null?void 0:p.iouThreshold)||.1);let i=await s.nms.data(),o=await s.scores.data(),l=await s.boxes.array();for(let c of Array.from(i)){let d=o[c],h=l[c],f=[Math.round(h[0]*n[0]),Math.round(h[1]*n[1]),Math.round(h[2]*n[0]),Math.round(h[3]*n[1])],m={score:d,boxRaw:h,box:f};r.push(m)}return Object.keys(s).forEach(c=>Y(s[c])),r}async function g9(e,t,a){let n={};n.res=xn==null?void 0:xn.execute(e,["Identity"]),n.logitsRaw=Pe(n.res,[0,0,0],[1,-1,1]),n.boxesRaw=Pe(n.res,[0,0,1],[1,-1,-1]),n.logits=_e(n.logitsRaw),n.boxes=_e(n.boxesRaw);let r=await ahe(n.boxes,n.logits,t,a);return Object.keys(n).forEach(s=>Y(n[s])),r}function Cr(e,t=[1,1]){let a=[e.map(o=>o[0]),e.map(o=>o[1])],n=[Math.min(...a[0]),Math.min(...a[1])],r=[Math.max(...a[0]),Math.max(...a[1])],s=[n[0],n[1],r[0]-n[0],r[1]-n[1]],i=[s[0]/t[0],s[1]/t[1],s[2]/t[0],s[3]/t[1]];return{box:s,boxRaw:i}}function x9(e,t=[1,1]){let a=[e.map(u=>u[0]),e.map(u=>u[1])],n=[Math.min(...a[0]),Math.min(...a[1])],r=[Math.max(...a[0]),Math.max(...a[1])],s=[(n[0]+r[0])/2,(n[1]+r[1])/2],i=Math.max(s[0]-n[0],s[1]-n[1],-s[0]+r[0],-s[1]+r[1]),o=[Math.trunc(s[0]-i),Math.trunc(s[1]-i),Math.trunc(2*i),Math.trunc(2*i)],l=[o[0]/t[0],o[1]/t[1],o[2]/t[0],o[3]/t[1]];return{box:o,boxRaw:l}}function s0(e,t){let a=[e[2]*t,e[3]*t];return[e[0]-(a[0]-e[2])/2,e[1]-(a[1]-e[3])/2,a[0],a[1]]}var Ba,a5=256,t5=Number.MAX_SAFE_INTEGER,nhe={landmarks:["ld_3d","activation_segmentation","activation_heatmap","world_3d","output_poseflag"],detector:[]},o0=[],ps=[[0,0],[0,0],[0,0],[0,0]],A9=0,y9=e=>1-1/(1+Math.exp(e)),v9=e=>m9(e);async function w9(e){if(ne.initial&&(Ba=null),Ba)e.debug&&K("cached model:",Ba.modelUrl);else{Ba=await Ee(e.body.modelPath);let t=Ba!=null&&Ba.executor?Object.values(Ba.modelSignature.inputs):void 0;a5=Array.isArray(t)?parseInt(t[0].tensorShape.dim[1].size):0}return Ba}function b9(e,t,a){var s,i;let n={};if(!((s=e==null?void 0:e.shape)!=null&&s[1])||!((i=e==null?void 0:e.shape)!=null&&i[2]))return e;let r;if(a&&(n.cropped=ge.cropAndResize(e,[a],[0],[e.shape[1],e.shape[2]])),e.shape[1]!==e.shape[2]){let o=[e.shape[2]>e.shape[1]?Math.trunc((e.shape[2]-e.shape[1])/2):0,e.shape[2]>e.shape[1]?Math.trunc((e.shape[2]-e.shape[1])/2):0],l=[e.shape[1]>e.shape[2]?Math.trunc((e.shape[1]-e.shape[2])/2):0,e.shape[1]>e.shape[2]?Math.trunc((e.shape[1]-e.shape[2])/2):0];ps=[[0,0],o,l,[0,0]],n.pad=nr(n.cropped||e,ps),n.resize=ge.resizeBilinear(n.pad,[t,t]),r=me(n.resize,ze.tf255)}else e.shape[1]!==t?(n.resize=ge.resizeBilinear(n.cropped||e,[t,t]),r=me(n.resize,ze.tf255)):r=me(n.cropped||e,ze.tf255);return Object.keys(n).forEach(o=>Y(n[o])),r}function rhe(e,t,a){for(let n of e)n.position=[Math.trunc(n.position[0]*(t[0]+ps[2][0]+ps[2][1])/t[0]-ps[2][0]),Math.trunc(n.position[1]*(t[1]+ps[1][0]+ps[1][1])/t[1]-ps[1][0]),n.position[2]],n.positionRaw=[n.position[0]/t[0],n.position[1]/t[1],2*n.position[2]/(t[0]+t[1])];if(a){let n=a[2]-a[0],r=a[3]-a[1];for(let s of e)s.positionRaw=[s.positionRaw[0]/r+a[1],s.positionRaw[1]/n+a[0],s.positionRaw[2]],s.position=[Math.trunc(s.positionRaw[0]*t[0]),Math.trunc(s.positionRaw[1]*t[1]),s.positionRaw[2]]}return e}function she(e){let t=e.find(o=>o.part==="leftPalm"),a=e.find(o=>o.part==="leftWrist"),n=e.find(o=>o.part==="leftIndex");t.position[2]=((a.position[2]||0)+(n.position[2]||0))/2;let r=e.find(o=>o.part==="rightPalm"),s=e.find(o=>o.part==="rightWrist"),i=e.find(o=>o.part==="rightIndex");r.position[2]=((s.position[2]||0)+(i.position[2]||0))/2}async function ihe(e,t,a){if(!(Ba!=null&&Ba.executor))return null;let n={};[n.ld,n.segmentation,n.heatmap,n.world,n.poseflag]=Ba==null?void 0:Ba.execute(e,nhe.landmarks);let r=(await n.poseflag.data())[0],s=await n.ld.data(),i=await n.world.data();Object.keys(n).forEach(f=>Y(n[f]));let o=[],l=5;for(let f=0;ff.position),c=Cr(p,[a[0],a[1]]),d={};for(let[f,m]of Object.entries(e5)){let g=[];for(let x=0;xb.part===m[x]),y=u.find(b=>b.part===m[x+1]);A&&y&&g.push([A.position,y.position])}d[f]=g}return{id:0,score:Math.trunc(100*r)/100,box:c.box,boxRaw:c.boxRaw,keypoints:u,annotations:d}}async function n5(e,t){var s,i,o;let a=[e.shape[2]||0,e.shape[1]||0],n=(t.body.skipTime||0)>te()-A9,r=t5<(t.body.skipFrames||0);if(t.skipAllowed&&n&&r&&o0!==null)t5++;else{let l=[];if((i=(s=t.body)==null?void 0:s.detector)!=null&&i.enabled){let u=b9(e,224);l=await g9(u,t,a),Y(u)}else l=[{box:[0,0,0,0],boxRaw:[0,0,1,1],score:0}];for(let u=0;uY(n[u])),r}async function i5(e,t){if(!(Wa!=null&&Wa.executor))return[];let a=(t.object.skipTime||0)>te()-I9,n=s5<(t.object.skipFrames||0);return t.skipAllowed&&a&&n&&r5.length>0?(s5++,r5):(s5=0,new Promise(async r=>{let s=[e.shape[2]||0,e.shape[1]||0],i=ge.resizeBilinear(e,[Ro,Ro]),o=t.object.enabled?Wa==null?void 0:Wa.execute(i,["tower_0/detections"]):null;I9=te(),Y(i);let l=await ohe(o,s,t);r5=l,r(l)}))}var l0={};cr(l0,{connected:()=>l5,kpt:()=>o5});var o5=["head","neck","rightShoulder","rightElbow","rightWrist","chest","leftShoulder","leftElbow","leftWrist","bodyCenter","rightHip","rightKnee","rightAnkle","leftHip","leftKnee","leftAnkle"],l5={leftLeg:["leftHip","leftKnee","leftAnkle"],rightLeg:["rightHip","rightKnee","rightAnkle"],torso:["leftShoulder","rightShoulder","rightHip","leftHip","leftShoulder"],leftArm:["leftShoulder","leftElbow","leftWrist"],rightArm:["rightShoulder","rightElbow","rightWrist"],head:[]};var Nt,C9=0,Ra={id:0,keypoints:[],box:[0,0,0,0],boxRaw:[0,0,0,0],score:0,annotations:{}},u5=Number.MAX_SAFE_INTEGER;async function N9(e){return ne.initial&&(Nt=null),Nt?e.debug&&K("cached model:",Nt.modelUrl):Nt=await Ee(e.body.modelPath),Nt}async function lhe(e,t){let[a,n]=e.shape,r=J(e,[n*a]),s=pa(r,0),i=(await s.data())[0];if(i>t){let o=tr(r,0),l=ru(o,a),u=(await l.data())[0],p=me(o,a),c=(await p.data())[0];return Y([r,s,o,l,p]),[u,c,i]}return Y([r,s]),[0,0,i]}async function d5(e,t){if(!(Nt!=null&&Nt.executor)||!(Nt!=null&&Nt.inputs[0].shape))return[];let a=(t.body.skipTime||0)>te()-C9,n=u5<(t.body.skipFrames||0);return t.skipAllowed&&a&&n&&Object.keys(Ra.keypoints).length>0?(u5++,[Ra]):(u5=0,new Promise(async r=>{let s=$e(()=>{var f,m;let c=ge.resizeBilinear(e,[((f=Nt==null?void 0:Nt.inputs[0].shape)==null?void 0:f[2])||0,((m=Nt==null?void 0:Nt.inputs[0].shape)==null?void 0:m[1])||0],!1),d=ae(c,ze.tf2);return fe(d,ze.tf1)}),i;if(t.body.enabled&&(i=Nt==null?void 0:Nt.execute(s)),C9=te(),Y(s),i){Ra.keypoints.length=0;let c=_e(i);Y(i);let d=Ta(c,2);Y(c);for(let h=0;h(t.body.minConfidence||0)&&Ra.keypoints.push({score:Math.round(100*g)/100,part:o5[h],positionRaw:[f/Nt.inputs[0].shape[2],m/Nt.inputs[0].shape[1]],position:[Math.round(e.shape[2]*f/Nt.inputs[0].shape[2]),Math.round(e.shape[1]*m/Nt.inputs[0].shape[1])]})}d.forEach(h=>Y(h))}Ra.score=Ra.keypoints.reduce((c,d)=>d.score>c?d.score:c,0);let o=Ra.keypoints.map(c=>c.position[0]),l=Ra.keypoints.map(c=>c.position[1]);Ra.box=[Math.min(...o),Math.min(...l),Math.max(...o)-Math.min(...o),Math.max(...l)-Math.min(...l)];let u=Ra.keypoints.map(c=>c.positionRaw[0]),p=Ra.keypoints.map(c=>c.positionRaw[1]);Ra.boxRaw=[Math.min(...u),Math.min(...p),Math.max(...u)-Math.min(...u),Math.max(...p)-Math.min(...p)];for(let[c,d]of Object.entries(l5)){let h=[];for(let f=0;fx.part===d[f]),g=Ra.keypoints.find(x=>x.part===d[f+1]);m&&g&&m.score>(t.body.minConfidence||0)&&g.score>(t.body.minConfidence||0)&&h.push([m.position,g.position])}Ra.annotations[c]=h}r([Ra])}))}var bu=e=>[Math.abs(e.endPoint[0]-e.startPoint[0]),Math.abs(e.endPoint[1]-e.startPoint[1])],u0=e=>[e.startPoint[0]+(e.endPoint[0]-e.startPoint[0])/2,e.startPoint[1]+(e.endPoint[1]-e.startPoint[1])/2,1],d0=(e,t)=>e?[Math.trunc(Math.max(0,e.startPoint[0])),Math.trunc(Math.max(0,e.startPoint[1])),Math.trunc(Math.min(t.shape[2]||0,e.endPoint[0])-Math.max(0,e.startPoint[0])),Math.trunc(Math.min(t.shape[1]||0,e.endPoint[1])-Math.max(0,e.startPoint[1]))]:[0,0,0,0],p0=(e,t)=>e?[e.startPoint[0]/(t.shape[2]||0),e.startPoint[1]/(t.shape[1]||0),(e.endPoint[0]-e.startPoint[0])/(t.shape[2]||0),(e.endPoint[1]-e.startPoint[1])/(t.shape[1]||0)]:[0,0,0,0],$9=(e,t)=>{let a=[e.startPoint[0]*t[0],e.startPoint[1]*t[1]],n=[e.endPoint[0]*t[0],e.endPoint[1]*t[1]];return{startPoint:a,endPoint:n,landmarks:e.landmarks,confidence:e.confidence}},p5=(e,t,a)=>{let n=t.shape[1],r=t.shape[2],s=[e.startPoint[1]/n,e.startPoint[0]/r,e.endPoint[1]/n,e.endPoint[0]/r],i=ge.cropAndResize(t,[s],[0],a),o=me(i,ze.tf255);return Y(i),o},c0=(e,t)=>{let a=u0(e),n=bu(e),r=[t*n[0]/2,t*n[1]/2];return{startPoint:[a[0]-r[0],a[1]-r[1]],endPoint:[a[0]+r[0],a[1]+r[1]],landmarks:e.landmarks,confidence:e.confidence}},h0=e=>{let t=u0(e),a=bu(e),n=Math.max(...a)/2;return{startPoint:[Math.round(t[0]-n),Math.round(t[1]-n)],endPoint:[Math.round(t[0]+n),Math.round(t[1]+n)],landmarks:e.landmarks,confidence:e.confidence}},_9=e=>{let t=e.map(n=>n[0]),a=e.map(n=>n[1]);return{startPoint:[Math.min(...t),Math.min(...a)],endPoint:[Math.max(...t),Math.max(...a)],landmarks:e}},c5=[[1,0,0],[0,1,0],[0,0,1]],uhe=e=>e-2*Math.PI*Math.floor((e+Math.PI)/(2*Math.PI)),dhe=(e,t)=>uhe(Math.PI/2-Math.atan2(-(t[1]-e[1]),t[0]-e[0]));var R9=(e,t)=>[[1,0,e],[0,1,t],[0,0,1]],Mo=(e,t)=>{let a=0;for(let n=0;n{let a=[];for(let n=0;n{let a=[],n=e.length;for(let r=0;r{let a=Math.cos(e),n=Math.sin(e),r=[[a,-n,0],[n,a,0],[0,0,1]],s=R9(t[0],t[1]),i=M9(s,r),o=R9(-t[0],-t[1]);return M9(i,o)},che=e=>{let t=[[e[0][0],e[1][0]],[e[0][1],e[1][1]]],a=[e[0][2],e[1][2]],n=[-Mo(t[0],a),-Mo(t[1],a)];return[t[0].concat(n[0]),t[1].concat(n[1]),[0,0,1]]},hhe=(e,t)=>[Mo(e,t[0]),Mo(e,t[1])];function F9(e){let t=e===192?{strides:[4],anchors:[1]}:{strides:[e/16,e/8],anchors:[2,6]},a=[];for(let n=0;n[s[0]/r*(h[0]-r/2),s[1]/r*(h[1]-r/2),h[2]||0]),o=a&&a!==0&&Math.abs(a)>.2,l=o?P9(a,[0,0]):c5,u=o?i.map(h=>[...hhe(h,l),h[2]]):i,p=o?che(n):c5,c=u0(t),d=[Mo(c,p[0]),Mo(c,p[1])];return u.map(h=>[Math.trunc(h[0]+d[0]),Math.trunc(h[1]+d[1]),Math.trunc(h[2]||0)])}function D9(e,t,a,n){let r=t.landmarks.length>=X3.count?X3.symmetryLine:So.symmetryLine,s=0,i=c5,o;if(e&&ne.kernels.includes("rotatewithoffset"))if(s=dhe(t.landmarks[r[0]],t.landmarks[r[1]]),s&&s!==0&&Math.abs(s)>.2){let u=u0(t),p=[u[0]/a.shape[2],u[1]/a.shape[1]],c=ge.rotateWithOffset(a,s,0,[p[0],p[1]]);i=P9(-s,u),o=p5(t,c,[n,n]),Y(c)}else o=p5(t,a,[n,n]);else o=p5(t,a,[n,n]);return[s,i,o]}var fhe=e=>{let t=e.map(n=>n[0]),a=e.map(n=>n[1]);return[Math.min(...t)+(Math.max(...t)-Math.min(...t))/2,Math.min(...a)+(Math.max(...a)-Math.min(...a))/2]},z9=(e,t)=>{let a=fhe(e),n=bu(t);return{startPoint:[a[0]-n[0]/2,a[1]-n[1]/2],endPoint:[a[0]+n[0]/2,a[1]+n[1]/2]}};var L9=6,mhe=1.4,zn,f5=null,cs=0,vu=null,wu=()=>cs;async function B9(e){var t;return ne.initial&&(zn=null),zn?e.debug&&K("cached model:",zn.modelUrl):zn=await Ee((t=e.face.detector)==null?void 0:t.modelPath),cs=zn.executor&&zn.inputs[0].shape?zn.inputs[0].shape[2]:256,vu=Fe(cs,"int32"),f5=Xn(F9(cs)),zn}function ghe(e){if(!f5||!vu)return hn([0,0]);let t={};t.boxStarts=Pe(e,[0,1],[-1,2]),t.centers=be(t.boxStarts,f5),t.boxSizes=Pe(e,[0,3],[-1,2]),t.boxSizesNormalized=me(t.boxSizes,vu),t.centersNormalized=me(t.centers,vu),t.halfBoxSize=me(t.boxSizesNormalized,ze.tf2),t.starts=fe(t.centersNormalized,t.halfBoxSize),t.ends=be(t.centersNormalized,t.halfBoxSize),t.startNormalized=ae(t.starts,vu),t.endNormalized=ae(t.ends,vu);let a=nu([t.startNormalized,t.endNormalized],1);return Object.keys(t).forEach(n=>Y(t[n])),a}async function W9(e,t){var o,l,u,p;if(!e||e.isDisposedInternal||e.shape.length!==4||e.shape[1]<1||e.shape[2]<1)return[];let a={};a.resized=ge.resizeBilinear(e,[cs,cs]),a.div=me(a.resized,ze.tf127),a.normalized=fe(a.div,ze.tf05);let n=zn==null?void 0:zn.execute(a.normalized);if(Array.isArray(n)&&n.length>2){let c=n.sort((d,h)=>d.size-h.size);a.concat384=at([c[0],c[2]],2),a.concat512=at([c[1],c[3]],2),a.concat=at([a.concat512,a.concat384],1),a.batch=_e(a.concat,[0])}else Array.isArray(n)?a.batch=_e(n[0]):a.batch=_e(n);Y(n),a.boxes=ghe(a.batch),a.logits=Pe(a.batch,[0,0],[-1,1]),a.sigmoid=Da(a.logits),a.scores=_e(a.sigmoid),a.nms=await ge.nonMaxSuppressionAsync(a.boxes,a.scores,((o=t.face.detector)==null?void 0:o.maxDetected)||0,((l=t.face.detector)==null?void 0:l.iouThreshold)||0,((u=t.face.detector)==null?void 0:u.minConfidence)||0);let r=await a.nms.array(),s=[],i=await a.scores.data();for(let c=0;c(((p=t.face.detector)==null?void 0:p.minConfidence)||0)){let h={};h.bbox=Pe(a.boxes,[r[c],0],[1,-1]),h.slice=Pe(a.batch,[r[c],L9-1],[1,-1]),h.squeeze=_e(h.slice),h.landmarks=J(h.squeeze,[L9,-1]);let f=await h.bbox.data(),m={startPoint:[f[0],f[1]],endPoint:[f[2],f[3]],landmarks:await h.landmarks.array(),confidence:d},g=$9(m,[(e.shape[2]||0)/cs,(e.shape[1]||0)/cs]),x=c0(g,t.face.scale||mhe),A=h0(x);s.push(A),Object.keys(h).forEach(y=>Y(h[y]))}}return Object.keys(a).forEach(c=>Y(a[c])),s}var Ja,hs=0,xhe=2.3,m5=En.leftEyeLower0,g5=En.rightEyeLower0,ku={leftBounds:[m5[0],m5[m5.length-1]],rightBounds:[g5[0],g5[g5.length-1]]},Iu={upperCenter:3,lowerCenter:4,index:71,numCoordinates:76};async function j9(e){var t,a;return ne.initial&&(Ja=null),Ja?e.debug&&K("cached model:",Ja.modelUrl):Ja=await Ee((t=e.face.iris)==null?void 0:t.modelPath),hs=(Ja==null?void 0:Ja.executor)&&((a=Ja.inputs)==null?void 0:a[0].shape)?Ja.inputs[0].shape[2]:0,hs===-1&&(hs=64),Ja}function f0(e,t,a,n){for(let r=0;r{let t=e[ku.leftBounds[0]][2],a=e[ku.rightBounds[0]][2];return t-a},U9=(e,t,a,n,r,s=!1)=>{let i=h0(c0(_9([e[a],e[n]]),xhe)),o=bu(i),l=ge.cropAndResize(t,[[i.startPoint[1]/r,i.startPoint[0]/r,i.endPoint[1]/r,i.endPoint[0]/r]],[0],[hs,hs]);if(s&&ne.kernels.includes("flipleftright")){let u=ge.flipLeftRight(l);Y(l),l=u}return{box:i,boxSize:o,crop:l}},G9=(e,t,a,n=!1)=>{let r=[];for(let s=0;s{let n=e[En[`${a}EyeUpper0`][Iu.upperCenter]][2],r=e[En[`${a}EyeLower0`][Iu.lowerCenter]][2],s=(n+r)/2;return t.map((i,o)=>{let l=s;return o===2?l=n:o===4&&(l=r),[i[0],i[1],l]})};async function q9(e,t,a){if(!(Ja!=null&&Ja.executor))return e;let{box:n,boxSize:r,crop:s}=U9(e,t,ku.leftBounds[0],ku.leftBounds[1],a,!0),{box:i,boxSize:o,crop:l}=U9(e,t,ku.rightBounds[0],ku.rightBounds[1],a,!0),u=at([s,l]);Y(s),Y(l);let p=Ja.execute(u);Y(u);let c=await p.data();Y(p);let d=c.slice(0,Iu.numCoordinates*3),{rawCoords:h,iris:f}=G9(d,n,r,!0),m=c.slice(Iu.numCoordinates*3),{rawCoords:g,iris:x}=G9(m,i,o,!1),A=Ahe(e);Math.abs(A)<30?(f0(e,h,"left",null),f0(e,g,"right",null)):A<1?f0(e,h,"left",["EyeUpper0","EyeLower0"]):f0(e,g,"right",["EyeUpper0","EyeLower0"]);let y=H9(e,f,"left"),b=H9(e,x,"right");return e.concat(y).concat(b)}async function K9(e,t){var s,i,o,l,u,p,c,d,h,f;let a={lips:await((i=(s=t.filter(m=>m.size===160))==null?void 0:s[0])==null?void 0:i.data()),irisL:await((l=(o=t.filter(m=>m.size===10))==null?void 0:o[0])==null?void 0:l.data()),eyeL:await((p=(u=t.filter(m=>m.size===142))==null?void 0:u[0])==null?void 0:p.data()),irisR:await((d=(c=t.filter(m=>m.size===10))==null?void 0:c[1])==null?void 0:d.data()),eyeR:await((f=(h=t.filter(m=>m.size===142))==null?void 0:h[1])==null?void 0:f.data())};for(let m of Object.values(a))if(!m)return e;let n=Co.reduce((m,g)=>m+=e[g][2],0)/Co.length;for(let m=0;mm+=e[g][2],0)/No.length;for(let m=0;mte()-sr.timestamp,n=sr.skipped<(((u=t.face.detector)==null?void 0:u.skipFrames)||0);!t.skipAllowed||!a||!n||sr.boxes.length===0?(sr.boxes=await W9(e,t),sr.timestamp=te(),sr.skipped=0):sr.skipped++;let r=[],s=[],i=0,o=wp;for(let A=0;A$.shape[$.shape.length-1]===1).data();if(S.faceScore=Math.round(100*_[0])/100,S.faceScore<(((f=t.face.detector)==null?void 0:f.minConfidence)||1)){if(y.confidence=S.faceScore,t.face.mesh.keepInvalid){S.box=d0(y,e),S.boxRaw=p0(y,e),S.score=S.boxScore,S.mesh=y.landmarks.map($=>[(y.startPoint[0]+y.endPoint[0])/2+(y.endPoint[0]+y.startPoint[0])*$[0]/wu(),(y.startPoint[1]+y.endPoint[1])/2+(y.endPoint[1]+y.startPoint[1])*$[1]/wu()]),S.meshRaw=S.mesh.map($=>[$[0]/(e.shape[2]||1),$[1]/(e.shape[1]||1),($[2]||0)/o]);for(let $ of Object.keys(So))S.annotations[$]=[S.mesh[So[$]]]}}else{let $=C.find(O=>O.shape[O.shape.length-1]===1404),M=J($,[-1,3]),I=await M.array();Y(M),(m=t.face.attention)!=null&&m.enabled?I=await K9(I,C):(g=t.face.iris)!=null&&g.enabled&&(I=await q9(I,S.tensor,wp)),S.mesh=O9(I,y,b,w,wp),S.meshRaw=S.mesh.map(O=>[O[0]/(e.shape[2]||0),O[1]/(e.shape[1]||0),(O[2]||0)/o]);for(let O of Object.keys(En))S.annotations[O]=En[O].map(L=>S.mesh[L]);S.score=S.faceScore;let N={...z9(S.mesh,y),confidence:y.confidence,landmarks:y.landmarks};S.box=d0(N,e),S.boxRaw=p0(N,e),s.push(N)}Y(C)}else{S.box=d0(y,e),S.boxRaw=p0(y,e),S.score=S.boxScore,S.mesh=y.landmarks.map(C=>[(y.startPoint[0]+y.endPoint[0])/2+(y.endPoint[0]+y.startPoint[0])*C[0]/wu(),(y.startPoint[1]+y.endPoint[1])/2+(y.endPoint[1]+y.startPoint[1])*C[1]/wu()]),S.meshRaw=S.mesh.map(C=>[C[0]/(e.shape[2]||0),C[1]/(e.shape[1]||0),(C[2]||0)/o]);for(let C of Object.keys(So))S.annotations[C]=[S.mesh[So[C]]]}S.score>(((x=t.face.detector)==null?void 0:x.minConfidence)||1)?r.push(S):Y(S.tensor)}return sr.boxes=s,r}async function Y9(e){var t,a,n,r,s,i;return ne.initial&&(wt=null),((t=e.face.attention)==null?void 0:t.enabled)&&(wt==null?void 0:wt.signature)&&Object.keys(((a=wt==null?void 0:wt.signature)==null?void 0:a.outputs)||{}).length<6&&(wt=null),wt?e.debug&&K("cached model:",wt.modelUrl):(n=e.face.attention)!=null&&n.enabled?wt=await Ee(e.face.attention.modelPath):wt=await Ee((r=e.face.mesh)==null?void 0:r.modelPath),wp=wt.executor&&((s=wt==null?void 0:wt.inputs)==null?void 0:s[0].shape)?(i=wt==null?void 0:wt.inputs)==null?void 0:i[0].shape[2]:256,wt}var J9=To,Q9=bp;var bhe=["angry","disgust","fear","happy","sad","surprise","neutral"],An,m0=[],ew=0,tw=0,A5=Number.MAX_SAFE_INTEGER;async function aw(e){var t;return ne.initial&&(An=null),An?e.debug&&K("cached model:",An.modelUrl):An=await Ee((t=e.face.emotion)==null?void 0:t.modelPath),An}async function y5(e,t,a,n){var i,o;if(!An)return[];let r=A5<(((i=t.face.emotion)==null?void 0:i.skipFrames)||0),s=(((o=t.face.emotion)==null?void 0:o.skipTime)||0)>te()-tw;return t.skipAllowed&&s&&r&&ew===n&&m0[a]&&m0[a].length>0?(A5++,m0[a]):(A5=0,new Promise(async l=>{var p;let u=[];if((p=t.face.emotion)!=null&&p.enabled){let c={},d=An!=null&&An.inputs[0].shape?An.inputs[0].shape[2]:0;c.resize=ge.resizeBilinear(e,[d,d],!1),c.channels=ae(c.resize,ze.rgb),c.grayscale=tt(c.channels,3,!0),c.grayscaleSub=fe(c.grayscale,ze.tf05),c.grayscaleMul=ae(c.grayscaleSub,ze.tf2),c.emotion=An==null?void 0:An.execute(c.grayscaleMul),tw=te();let h=await c.emotion.data();for(let f=0;f(t.face.emotion.minConfidence||0)&&u.push({score:Math.min(.99,Math.trunc(100*h[f])/100),emotion:bhe[f]});u.sort((f,m)=>m.score-f.score),Object.keys(c).forEach(f=>Y(c[f]))}m0[a]=u,ew=n,l(u)}))}var fa,fs=[],rw=0,sw=0,b5=Number.MAX_SAFE_INTEGER;async function iw(e){var t;return ne.initial&&(fa=null),fa?e.debug&&K("cached model:",fa.modelUrl):fa=await Ee((t=e.face.description)==null?void 0:t.modelPath),fa}function vhe(e){let t=e.image||e.tensor||e;if(!(fa!=null&&fa.inputs[0].shape))return t;let a=ge.resizeBilinear(t,[fa.inputs[0].shape[2],fa.inputs[0].shape[1]],!1),n=ae(a,ze.tf255);return Y(a),n}async function v5(e,t,a,n){var o,l,u,p;let r={age:0,gender:"unknown",genderScore:0,descriptor:[]};if(!(fa!=null&&fa.executor))return r;let s=b5<(((o=t.face.description)==null?void 0:o.skipFrames)||0),i=(((l=t.face.description)==null?void 0:l.skipTime)||0)>te()-rw;return t.skipAllowed&&s&&i&&sw===n&&((u=fs==null?void 0:fs[a])==null?void 0:u.age)>0&&((p=fs==null?void 0:fs[a])==null?void 0:p.genderScore)>0?(b5++,fs[a]):(b5=0,new Promise(async c=>{var d;if((d=t.face.description)!=null&&d.enabled){let h=vhe(e),f=fa==null?void 0:fa.execute(h);rw=te(),Y(h);let g=await f.find(E=>E.shape[1]===1).data(),x=Math.trunc(200*Math.abs(g[0]-.5))/100;x>(t.face.description.minConfidence||0)&&(r.gender=g[0]<=.5?"female":"male",r.genderScore=Math.min(.99,x));let A=tr(f.find(E=>E.shape[1]===100),1),y=(await A.data())[0];Y(A);let w=await f.find(E=>E.shape[1]===100).data();r.age=Math.round(w[y-1]>w[y+1]?10*y-100*w[y-1]:10*y+100*w[y+1])/10,(Number.isNaN(g[0])||Number.isNaN(w[0]))&&K("faceres error:",{model:fa,result:f});let S=f.find(E=>E.shape[1]===1024),C=S?await S.data():[];r.descriptor=Array.from(C),f.forEach(E=>Y(E))}fs[a]=r,sw=n,c(r)}))}var Su=.1,w5=.5;function whe(e,t,a){let n=!1,r=a.length-1;for(let s=0;st!=a[r].y>t&&e<(a[r].x-a[s].x)*(t-a[s].y)/(a[r].y-a[s].y)+a[s].x&&(n=!n);return n}async function lw(e){if(!e.tensor||!e.mesh||e.mesh.length<100)return e.tensor;let t=e.tensor.shape[2]||0,a=e.tensor.shape[1]||0,n=await e.tensor.buffer(),r=[];for(let i of En.silhouette)r.push({x:(e.mesh[i][0]-e.box[0])/e.box[2],y:(e.mesh[i][1]-e.box[1])/e.box[3]});Su&&Su>0&&(r=r.map(i=>({x:i.x>.5?i.x+Su:i.x-Su,y:i.y>.5?i.y+Su:i.y-Su})));for(let i=0;ite()-dw,s=k5<(((o=t.face.antispoof)==null?void 0:o.skipFrames)||0);return t.skipAllowed&&r&&s&&uw===n&&g0[a]?(k5++,g0[a]):(k5=0,new Promise(async l=>{let u=ge.resizeBilinear(e,[ea!=null&&ea.inputs[0].shape?ea.inputs[0].shape[2]:0,ea!=null&&ea.inputs[0].shape?ea.inputs[0].shape[1]:0],!1),p=ea==null?void 0:ea.execute(u),c=(await p.data())[0];g0[a]=Math.round(100*c)/100,uw=n,dw=te(),Y([u,p]),l(g0[a])}))}var ta,x0=[],S5=Number.MAX_SAFE_INTEGER,hw=0,fw=0;async function mw(e){var t;return ne.initial&&(ta=null),ta?e.debug&&K("cached model:",ta.modelUrl):ta=await Ee((t=e.face.liveness)==null?void 0:t.modelPath),ta}async function T5(e,t,a,n){var i,o;if(!(ta!=null&&ta.executor))return 0;let r=(((i=t.face.liveness)==null?void 0:i.skipTime)||0)>te()-fw,s=S5<(((o=t.face.liveness)==null?void 0:o.skipFrames)||0);return t.skipAllowed&&r&&s&&hw===n&&x0[a]?(S5++,x0[a]):(S5=0,new Promise(async l=>{let u=ge.resizeBilinear(e,[ta!=null&&ta.inputs[0].shape?ta.inputs[0].shape[2]:0,ta!=null&&ta.inputs[0].shape?ta.inputs[0].shape[1]:0],!1),p=ta==null?void 0:ta.execute(u),c=(await p.data())[0];x0[a]=Math.round(100*c)/100,hw=n,fw=te(),Y([u,p]),l(x0[a])}))}var Rn,C5=[],Ihe=["white","black","asian","indian","other"],She=[15,23,28,35.5,45.5,55.5,65],xw=0,Aw=0,N5=Number.MAX_SAFE_INTEGER;async function yw(e){var t;return ne.initial&&(Rn=null),Rn?e.debug&&K("cached model:",Rn.modelUrl):Rn=await Ee((t=e.face.gear)==null?void 0:t.modelPath),Rn}async function E5(e,t,a,n){var i,o;if(!Rn)return{age:0,gender:"unknown",genderScore:0,race:[]};let r=N5<(((i=t.face.gear)==null?void 0:i.skipFrames)||0),s=(((o=t.face.gear)==null?void 0:o.skipTime)||0)>te()-Aw;return t.skipAllowed&&s&&r&&xw===n&&C5[a]?(N5++,C5[a]):(N5=0,new Promise(async l=>{var x,A;if(!(Rn!=null&&Rn.inputs[0].shape))return;let u={},p=[[0,.1,.9,.9]];u.resize=ge.cropAndResize(e,p,[0],[Rn.inputs[0].shape[2],Rn.inputs[0].shape[1]]);let c={age:0,gender:"unknown",genderScore:0,race:[]};(x=t.face.gear)!=null&&x.enabled&&([u.age,u.gender,u.race]=Rn.execute(u.resize,["age_output","gender_output","race_output"]));let d=await u.gender.data();c.gender=d[0]>d[1]?"male":"female",c.genderScore=Math.round(100*(d[0]>d[1]?d[0]:d[1]))/100;let h=await u.race.data();for(let y=0;y(((A=t.face.gear)==null?void 0:A.minConfidence)||.2)&&c.race.push({score:Math.round(100*h[y])/100,race:Ihe[y]});c.race.sort((y,b)=>b.score-y.score);let m=Array.from(await u.age.data()).map((y,b)=>[She[b],y]).sort((y,b)=>b[1]-y[1]),g=m[0][0];for(let y=1;yY(u[y])),C5[a]=c,xw=n,Aw=te(),l(c)}))}var Qa,A0=[],vw=0,ww=0,R5=Number.MAX_SAFE_INTEGER;async function kw(e){return ne.initial&&(Qa=null),Qa?e.debug&&K("cached model:",Qa.modelUrl):Qa=await Ee(e.face.ssrnet.modelPathAge),Qa}async function M5(e,t,a,n){var i,o,l,u;if(!Qa)return{age:0};let r=R5<(((i=t.face.ssrnet)==null?void 0:i.skipFrames)||0),s=(((o=t.face.ssrnet)==null?void 0:o.skipTime)||0)>te()-ww;return t.skipAllowed&&r&&s&&vw===n&&((l=A0[a])==null?void 0:l.age)&&((u=A0[a])==null?void 0:u.age)>0?(R5++,A0[a]):(R5=0,new Promise(async p=>{var h;if(!(Qa!=null&&Qa.inputs)||!Qa.inputs[0]||!Qa.inputs[0].shape)return;let c={};c.resize=ge.resizeBilinear(e,[Qa.inputs[0].shape[2],Qa.inputs[0].shape[1]],!1),c.enhance=ae(c.resize,ze.tf255);let d={age:0};if((h=t.face.ssrnet)!=null&&h.enabled&&(c.age=Qa.execute(c.enhance)),c.age){let f=await c.age.data();d.age=Math.trunc(10*f[0])/10}Object.keys(c).forEach(f=>Y(c[f])),A0[a]=d,vw=n,ww=te(),p(d)}))}var Mn,y0=[],Sw=0,Tw=0,$5=Number.MAX_SAFE_INTEGER,_5=[.2989,.587,.114];async function Cw(e){var t;return ne.initial&&(Mn=null),Mn?e.debug&&K("cached model:",Mn.modelUrl):Mn=await Ee((t=e.face.ssrnet)==null?void 0:t.modelPathGender),Mn}async function P5(e,t,a,n){var i,o,l,u;if(!Mn)return{gender:"unknown",genderScore:0};let r=$5<(((i=t.face.ssrnet)==null?void 0:i.skipFrames)||0),s=(((o=t.face.ssrnet)==null?void 0:o.skipTime)||0)>te()-Tw;return t.skipAllowed&&r&&s&&Sw===n&&((l=y0[a])==null?void 0:l.gender)&&((u=y0[a])==null?void 0:u.genderScore)>0?($5++,y0[a]):($5=0,new Promise(async p=>{var f;if(!(Mn!=null&&Mn.inputs[0].shape))return;let c={};c.resize=ge.resizeBilinear(e,[Mn.inputs[0].shape[2],Mn.inputs[0].shape[1]],!1),c.enhance=$e(()=>{let[m,g,x]=ka(c.resize,3,3),A=ae(m,_5[0]),y=ae(g,_5[1]),b=ae(x,_5[2]),w=uh([A,y,b]);return ae(fe(w,ze.tf05),2)});let d={gender:"unknown",genderScore:0};(f=t.face.ssrnet)!=null&&f.enabled&&(c.gender=Mn.execute(c.enhance));let h=await c.gender.data();d.gender=h[0]>h[1]?"female":"male",d.genderScore=h[0]>h[1]?Math.trunc(100*h[0])/100:Math.trunc(100*h[1])/100,Object.keys(c).forEach(m=>Y(c[m])),y0[a]=d,Sw=n,Tw=te(),p(d)}))}var en,F5=[],Ew=0,Rw=0,Mw=Number.MAX_SAFE_INTEGER;async function $w(e){var t;return ne.initial&&(en=null),en?e.debug&&K("cached model:",en.modelUrl):en=await Ee((t=e.face.mobilefacenet)==null?void 0:t.modelPath),en}async function O5(e,t,a,n){var i,o;if(!(en!=null&&en.executor))return[];let r=Mw<(((i=t.face.mobilefacenet)==null?void 0:i.skipFrames)||0),s=(((o=t.face.mobilefacenet)==null?void 0:o.skipTime)||0)>te()-Rw;return t.skipAllowed&&s&&r&&Ew===n&&F5[a]?(Mw++,F5[a]):new Promise(async l=>{var p;let u=[];if(((p=t.face.mobilefacenet)==null?void 0:p.enabled)&&(en==null?void 0:en.inputs[0].shape)){let c={};c.crop=ge.resizeBilinear(e,[en.inputs[0].shape[2],en.inputs[0].shape[1]],!1),c.data=en.execute(c.crop);let d=await c.data.data();u=Array.from(d),Object.keys(c).forEach(h=>Y(c[h]))}F5[a]=u,Ew=n,Rw=te(),l(u)})}var tn,D5=[],Pw=0,Fw=0,Ow=Number.MAX_SAFE_INTEGER;async function Dw(e){return ne.initial&&(tn=null),tn?e.debug&&K("cached model:",tn.modelUrl):tn=await Ee(e.face.insightface.modelPath),tn}async function z5(e,t,a,n){var i,o;if(!(tn!=null&&tn.executor))return[];let r=Ow<(((i=t.face.insightface)==null?void 0:i.skipFrames)||0),s=(((o=t.face.insightface)==null?void 0:o.skipTime)||0)>te()-Fw;return t.skipAllowed&&s&&r&&Pw===n&&D5[a]?(Ow++,D5[a]):new Promise(async l=>{var p;let u=[];if(((p=t.face.insightface)==null?void 0:p.enabled)&&(tn==null?void 0:tn.inputs[0].shape)){let c={};c.crop=ge.resizeBilinear(e,[tn.inputs[0].shape[2],tn.inputs[0].shape[1]],!1),c.data=tn.execute(c.crop);let d=await c.data.data();u=Array.from(d),Object.keys(c).forEach(h=>Y(c[h]))}D5[a]=u,Pw=n,Fw=te(),l(u)})}var The=e=>{let t=(c,d)=>Math.atan2(c[1]-d[1],c[0]-d[0]);if(!e.annotations.rightEyeIris||!e.annotations.leftEyeIris)return{bearing:0,strength:0};let a=[0,-.1],n=1,r=(e.mesh[33][2]||0)>(e.mesh[263][2]||0),s=r?e.mesh[473]:e.mesh[468],i=r?[(e.mesh[133][0]+e.mesh[33][0])/2,(e.mesh[133][1]+e.mesh[33][1])/2]:[(e.mesh[263][0]+e.mesh[362][0])/2,(e.mesh[263][1]+e.mesh[362][1])/2],o=r?[e.mesh[133][0]-e.mesh[33][0],e.mesh[23][1]-e.mesh[27][1]]:[e.mesh[263][0]-e.mesh[362][0],e.mesh[253][1]-e.mesh[257][1]],l=[(i[0]-s[0])/o[0]-a[0],n*(s[1]-i[1])/o[1]-a[1]],u=Math.sqrt(l[0]*l[0]+l[1]*l[1]);return u=Math.min(u,e.boxRaw[2]/2,e.boxRaw[3]/2),{bearing:(t([0,0],l)+Math.PI/2)%Math.PI,strength:u}},Lw=(e,t)=>{let a=m=>{let g=Math.sqrt(m[0]*m[0]+m[1]*m[1]+m[2]*m[2]);return m[0]/=g,m[1]/=g,m[2]/=g,m},n=(m,g)=>{let x=m[0]-g[0],A=m[1]-g[1],y=m[2]-g[2];return[x,A,y]},r=(m,g)=>{let x=m[1]*g[2]-m[2]*g[1],A=m[2]*g[0]-m[0]*g[2],y=m[0]*g[1]-m[1]*g[0];return[x,A,y]},s=m=>{let[g,x,A,y,b,w,S,C,E]=m,_,$,M;return y<1?y>-1?(M=Math.asin(y),$=Math.atan2(-S,g),_=Math.atan2(-w,b)):(M=-Math.PI/2,$=-Math.atan2(C,E),_=0):(M=Math.PI/2,$=Math.atan2(C,E),_=0),Number.isNaN(_)&&(_=0),Number.isNaN($)&&($=0),Number.isNaN(M)&&(M=0),{pitch:2*-_,yaw:2*-$,roll:2*-M}},i=e.meshRaw;if(!i||i.length<300)return{angle:{pitch:0,yaw:0,roll:0},matrix:[1,0,0,0,1,0,0,0,1],gaze:{bearing:0,strength:0}};let o=Math.max(e.boxRaw[2]*t[0],e.boxRaw[3]*t[1])/1.5,l=[i[10],i[152],i[234],i[454]].map(m=>[m[0]*t[0]/o,m[1]*t[1]/o,m[2]]),u=a(n(l[1],l[0])),p=a(n(l[3],l[2])),c=a(r(p,u));p=r(u,c);let d=[p[0],p[1],p[2],u[0],u[1],u[2],c[0],c[1],c[2]],h=s(d),f=i.length===478?The(e):{bearing:0,strength:0};return{angle:h,matrix:d,gaze:f}};function Bw(e,t){let a=e==null?void 0:e.annotations;if(!a)return 0;let n=Math.max(Math.abs(a.leftEyeIris[3][0]-a.leftEyeIris[1][0]),Math.abs(a.rightEyeIris[3][0]-a.rightEyeIris[1][0]))/t;return Math.round(1.17/n)/100}var L5=async(e,t)=>{var f,m,g,x,A,y,b,w,S,C,E,_,$,M,I,N,O,L,B,G,j,U,H;let a=te(),n,r,s,i,o,l,u,p,c,d=[];e.state="run:face";let h=await Z9(t,e.config);if(e.performance.face=ne.perfadd?(e.performance.face||0)+Math.trunc(te()-a):Math.trunc(te()-a),!t.shape||t.shape.length!==4)return[];if(!h)return[];for(let V=0;V200?Lw(h[V],[t.shape[2],t.shape[1]]):null;e.analyze("Start Emotion:"),e.config.async?i=(m=e.config.face.emotion)!=null&&m.enabled?y5(h[V].tensor||Be([]),e.config,V,h.length):[]:(e.state="run:emotion",a=te(),i=(g=e.config.face.emotion)!=null&&g.enabled?await y5(h[V].tensor||Be([]),e.config,V,h.length):[],e.performance.emotion=ne.perfadd?(e.performance.emotion||0)+Math.trunc(te()-a):Math.trunc(te()-a)),e.analyze("End Emotion:"),e.analyze("Start AntiSpoof:"),e.config.async?u=(x=e.config.face.antispoof)!=null&&x.enabled?I5(h[V].tensor||Be([]),e.config,V,h.length):0:(e.state="run:antispoof",a=te(),u=(A=e.config.face.antispoof)!=null&&A.enabled?await I5(h[V].tensor||Be([]),e.config,V,h.length):0,e.performance.antispoof=ne.perfadd?(e.performance.antispoof||0)+Math.trunc(te()-a):Math.trunc(te()-a)),e.analyze("End AntiSpoof:"),e.analyze("Start Liveness:"),e.config.async?p=(y=e.config.face.liveness)!=null&&y.enabled?T5(h[V].tensor||Be([]),e.config,V,h.length):0:(e.state="run:liveness",a=te(),p=(b=e.config.face.liveness)!=null&&b.enabled?await T5(h[V].tensor||Be([]),e.config,V,h.length):0,e.performance.liveness=ne.perfadd?(e.performance.antispoof||0)+Math.trunc(te()-a):Math.trunc(te()-a)),e.analyze("End Liveness:"),e.analyze("Start GEAR:"),e.config.async?r=(w=e.config.face.gear)!=null&&w.enabled?E5(h[V].tensor||Be([]),e.config,V,h.length):null:(e.state="run:gear",a=te(),r=(S=e.config.face.gear)!=null&&S.enabled?await E5(h[V].tensor||Be([]),e.config,V,h.length):null,e.performance.gear=Math.trunc(te()-a)),e.analyze("End GEAR:"),e.analyze("Start SSRNet:"),e.config.async?(n=(C=e.config.face.ssrnet)!=null&&C.enabled?M5(h[V].tensor||Be([]),e.config,V,h.length):null,s=(E=e.config.face.ssrnet)!=null&&E.enabled?P5(h[V].tensor||Be([]),e.config,V,h.length):null):(e.state="run:ssrnet",a=te(),n=(_=e.config.face.ssrnet)!=null&&_.enabled?await M5(h[V].tensor||Be([]),e.config,V,h.length):null,s=($=e.config.face.ssrnet)!=null&&$.enabled?await P5(h[V].tensor||Be([]),e.config,V,h.length):null,e.performance.ssrnet=Math.trunc(te()-a)),e.analyze("End SSRNet:"),e.analyze("Start MobileFaceNet:"),e.config.async?o=(M=e.config.face.mobilefacenet)!=null&&M.enabled?O5(h[V].tensor||Be([]),e.config,V,h.length):null:(e.state="run:mobilefacenet",a=te(),o=(I=e.config.face.mobilefacenet)!=null&&I.enabled?await O5(h[V].tensor||Be([]),e.config,V,h.length):null,e.performance.mobilefacenet=Math.trunc(te()-a)),e.analyze("End MobileFaceNet:"),e.analyze("Start InsightFace:"),e.config.async?l=(N=e.config.face.insightface)!=null&&N.enabled?z5(h[V].tensor||Be([]),e.config,V,h.length):null:(e.state="run:mobilefacenet",a=te(),l=(O=e.config.face.insightface)!=null&&O.enabled?await z5(h[V].tensor||Be([]),e.config,V,h.length):null,e.performance.mobilefacenet=Math.trunc(te()-a)),e.analyze("End InsightFace:"),e.analyze("Start Description:"),e.config.async?c=v5(h[V].tensor||Be([]),e.config,V,h.length):(e.state="run:description",a=te(),c=await v5(h[V].tensor||Be([]),e.config,V,h.length),e.performance.description=ne.perfadd?(e.performance.description||0)+Math.trunc(te()-a):Math.trunc(te()-a)),e.analyze("End Description:"),e.config.async&&([n,s,i,o,l,c,r,u,p]=await Promise.all([n,s,i,o,l,c,r,u,p])),e.analyze("Finish Face:"),((L=e.config.face.ssrnet)==null?void 0:L.enabled)&&n&&s&&(c={...c,age:n.age,gender:s.gender,genderScore:s.genderScore}),((B=e.config.face.gear)==null?void 0:B.enabled)&&r&&(c={...c,age:r.age,gender:r.gender,genderScore:r.genderScore,race:r.race}),((G=e.config.face.mobilefacenet)==null?void 0:G.enabled)&&o&&(c.descriptor=o),((j=e.config.face.insightface)==null?void 0:j.enabled)&&l&&(c.descriptor=l);let Z=(U=e.config.face.iris)!=null&&U.enabled?Bw(h[V],t.shape[2]):0,re=(H=e.config.face.detector)!=null&&H.return?_e(h[V].tensor):null;Y(h[V].tensor),h[V].tensor&&delete h[V].tensor;let ee={...h[V],id:V};c.age&&(ee.age=c.age),c.gender&&(ee.gender=c.gender),c.genderScore&&(ee.genderScore=c.genderScore),c.descriptor&&(ee.embedding=c.descriptor),c.race&&(ee.race=c.race),i&&(ee.emotion=i),u&&(ee.real=u),p&&(ee.live=p),Z>0&&(ee.distance=Z),Q&&(ee.rotation=Q),re&&(ee.tensor=re),d.push(ee),e.analyze("End Face")}return e.analyze("End FaceMesh:"),e.config.async&&(e.performance.face&&delete e.performance.face,e.performance.age&&delete e.performance.age,e.performance.gender&&delete e.performance.gender,e.performance.emotion&&delete e.performance.emotion),d};var Ma={thumb:0,index:1,middle:2,ring:3,pinky:4,all:[0,1,2,3,4],nameMapping:{0:"thumb",1:"index",2:"middle",3:"ring",4:"pinky"},pointsMapping:{0:[[0,1],[1,2],[2,3],[3,4]],1:[[0,5],[5,6],[6,7],[7,8]],2:[[0,9],[9,10],[10,11],[11,12]],3:[[0,13],[13,14],[14,15],[15,16]],4:[[0,17],[17,18],[18,19],[19,20]]},getName:e=>Ma.nameMapping[e],getPoints:e=>Ma.pointsMapping[e]},gs={none:0,half:1,full:2,nameMapping:{0:"none",1:"half",2:"full"},getName:e=>gs.nameMapping[e]},Et={verticalUp:0,verticalDown:1,horizontalLeft:2,horizontalRight:3,diagonalUpRight:4,diagonalUpLeft:5,diagonalDownRight:6,diagonalDownLeft:7,nameMapping:{0:"verticalUp",1:"verticalDown",2:"horizontalLeft",3:"horizontalRight",4:"diagonalUpRight",5:"diagonalUpLeft",6:"diagonalDownRight",7:"diagonalDownLeft"},getName:e=>Et.nameMapping[e]},ms=class{constructor(t){le(this,"name");le(this,"curls");le(this,"directions");le(this,"weights");le(this,"weightsRelative");this.name=t,this.curls={},this.directions={},this.weights=[1,1,1,1,1],this.weightsRelative=[1,1,1,1,1]}curl(t,a,n){typeof this.curls[t]=="undefined"&&(this.curls[t]=[]),this.curls[t].push([a,n])}direction(t,a,n){this.directions[t]||(this.directions[t]=[]),this.directions[t].push([a,n])}weight(t,a){this.weights[t]=a;let n=this.weights.reduce((r,s)=>r+s,0);this.weightsRelative=this.weights.map(r=>r*5/n)}matchAgainst(t,a){let n=0;for(let r in t){let s=t[r],i=this.curls[r];if(typeof i=="undefined"){n+=this.weightsRelative[r];continue}for(let[o,l]of i)if(s===o){n+=l*this.weightsRelative[r];break}}for(let r in a){let s=a[r],i=this.directions[r];if(typeof i=="undefined"){n+=this.weightsRelative[r];continue}for(let[o,l]of i)if(s===o){n+=l*this.weightsRelative[r];break}}return n/10}};var{thumb:Ln,index:Nr,middle:Er,ring:$o,pinky:_o}=Ma,{none:Bn,half:Nhe,full:Wn}=gs,{verticalUp:Tu,verticalDown:z5e,horizontalLeft:B5,horizontalRight:Ehe,diagonalUpRight:Rhe,diagonalUpLeft:Cu,diagonalDownRight:L5e,diagonalDownLeft:B5e}=Et,xs=new ms("thumbs up");xs.curl(Ln,Bn,1);xs.direction(Ln,Tu,1);xs.direction(Ln,Cu,.25);xs.direction(Ln,Rhe,.25);for(let e of[Ma.index,Ma.middle,Ma.ring,Ma.pinky])xs.curl(e,Wn,1),xs.direction(e,B5,1),xs.direction(e,Ehe,1);var Wt=new ms("victory");Wt.curl(Ln,Nhe,.5);Wt.curl(Ln,Bn,.5);Wt.direction(Ln,Tu,1);Wt.direction(Ln,Cu,1);Wt.curl(Nr,Bn,1);Wt.direction(Nr,Tu,.75);Wt.direction(Nr,Cu,1);Wt.curl(Er,Bn,1);Wt.direction(Er,Tu,1);Wt.direction(Er,Cu,.75);Wt.curl($o,Wn,1);Wt.direction($o,Tu,.2);Wt.direction($o,Cu,1);Wt.direction($o,B5,.2);Wt.curl(_o,Wn,1);Wt.direction(_o,Tu,.2);Wt.direction(_o,Cu,1);Wt.direction(_o,B5,.2);Wt.weight(Nr,2);Wt.weight(Er,2);var As=new ms("point");As.curl(Ln,Wn,1);As.curl(Nr,Bn,.5);As.curl(Er,Wn,.5);As.curl($o,Wn,.5);As.curl(_o,Wn,.5);As.weight(Nr,2);As.weight(Er,2);var ys=new ms("middle finger");ys.curl(Ln,Bn,1);ys.curl(Nr,Wn,.5);ys.curl(Er,Wn,.5);ys.curl($o,Wn,.5);ys.curl(_o,Wn,.5);ys.weight(Nr,2);ys.weight(Er,2);var Nu=new ms("open palm");Nu.curl(Ln,Bn,.75);Nu.curl(Nr,Bn,.75);Nu.curl(Er,Bn,.75);Nu.curl($o,Bn,.75);Nu.curl(_o,Bn,.75);var Ww=[xs,Wt,As,ys,Nu];var Mhe=.7,Po={HALF_CURL_START_LIMIT:60,NO_CURL_START_LIMIT:130,DISTANCE_VOTE_POWER:1.1,SINGLE_ANGLE_VOTE_POWER:.9,TOTAL_ANGLE_VOTE_POWER:1.6};function Vw(e,t,a,n){let r=(t-n)/(e-a),s=Math.atan(r)*180/Math.PI;return s<=0?s=-s:s>0&&(s=180-s),s}function Gw(e,t){if(!e||!t)return[0,0];let a=Vw(e[0],e[1],t[0],t[1]);if(e.length===2)return a;let n=Vw(e[1],e[2],t[1],t[2]);return[a,n]}function Uw(e,t=1){let a=0,n=0,r=0;return e>=75&&e<=105?a=1*t:e>=25&&e<=155?n=1*t:r=1*t,[a,n,r]}function $he(e,t,a){let n=e[0]-t[0],r=e[0]-a[0],s=t[0]-a[0],i=e[1]-t[1],o=e[1]-a[1],l=t[1]-a[1],u=e[2]-t[2],p=e[2]-a[2],c=t[2]-a[2],d=Math.sqrt(n*n+i*i+u*u),h=Math.sqrt(r*r+o*o+p*p),f=Math.sqrt(s*s+l*l+c*c),m=(f*f+d*d-h*h)/(2*f*d);m>1?m=1:m<-1&&(m=-1);let g=Math.acos(m);g=57.2958*g%180;let x;return g>Po.NO_CURL_START_LIMIT?x=gs.none:g>Po.HALF_CURL_START_LIMIT?x=gs.half:x=gs.full,x}function Hw(e,t,a,n){let r;return n===Math.abs(e)?e>0?r=Et.horizontalLeft:r=Et.horizontalRight:n===Math.abs(t)?t>0?r=Et.horizontalLeft:r=Et.horizontalRight:a>0?r=Et.horizontalLeft:r=Et.horizontalRight,r}function jw(e,t,a,n){let r;return n===Math.abs(e)?e<0?r=Et.verticalDown:r=Et.verticalUp:n===Math.abs(t)?t<0?r=Et.verticalDown:r=Et.verticalUp:a<0?r=Et.verticalDown:r=Et.verticalUp,r}function _he(e,t,a,n,r,s,i,o){let l,u=jw(e,t,a,n),p=Hw(r,s,i,o);return u===Et.verticalUp?p===Et.horizontalLeft?l=Et.diagonalUpLeft:l=Et.diagonalUpRight:p===Et.horizontalLeft?l=Et.diagonalDownLeft:l=Et.diagonalDownRight,l}function Phe(e,t,a,n){let r=e[0]-t[0],s=e[0]-a[0],i=t[0]-a[0],o=e[1]-t[1],l=e[1]-a[1],u=t[1]-a[1],p=Math.max(Math.abs(r),Math.abs(s),Math.abs(i)),c=Math.max(Math.abs(o),Math.abs(l),Math.abs(u)),d=0,h=0,f=0,m=c/(p+1e-5);m>1.5?d+=Po.DISTANCE_VOTE_POWER:m>.66?h+=Po.DISTANCE_VOTE_POWER:f+=Po.DISTANCE_VOTE_POWER;let g=Math.sqrt(r*r+o*o),x=Math.sqrt(s*s+l*l),A=Math.sqrt(i*i+u*u),y=Math.max(g,x,A),b=e[0],w=e[1],S=a[0],C=a[1];y===g?(S=a[0],C=a[1]):y===A&&(b=t[0],w=t[1]);let $=Gw([b,w],[S,C]),M=Uw($,Po.TOTAL_ANGLE_VOTE_POWER);d+=M[0],h+=M[1],f+=M[2];for(let N of n){let O=Uw(N,Po.SINGLE_ANGLE_VOTE_POWER);d+=O[0],h+=O[1],f+=O[2]}let I;return d===Math.max(d,h,f)?I=jw(l,o,u,c):f===Math.max(h,f)?I=Hw(s,r,i,p):I=_he(l,o,u,c,s,r,i,p),I}function qw(e){let t=[],a=[],n=[],r=[];if(!e)return{curls:n,directions:r};for(let s of Ma.all){let i=Ma.getPoints(s),o=[],l=[];for(let u of i){let p=e[u[0]],c=e[u[1]],d=Gw(p,c),h=d[0],f=d[1];o.push(h),l.push(f)}t.push(o),a.push(l)}for(let s of Ma.all){let i=s===Ma.thumb?1:0,o=Ma.getPoints(s),l=e[o[i][0]],u=e[o[i+1][1]],p=e[o[3][1]],c=$he(l,u,p),d=Phe(l,u,p,t[s].slice(i));n[s]=c,r[s]=d}return{curls:n,directions:r}}function b0(e){if(!e||e.length===0)return null;let t=qw(e),a={};for(let n of Ma.all)a[Ma.getName(n)]={curl:gs.getName(t.curls[n]),direction:Et.getName(t.directions[n])};return a}function Xw(e){let t=[];if(!e||e.length===0)return t;let a=qw(e);for(let n of Ww){let r=n.matchAgainst(a.curls,a.directions);r>=Mhe&&t.push({name:n.name,confidence:r})}return t}var Kw=e=>{if(!e)return[];let t=[];for(let a=0;al.part==="leftWrist"),r=e[a].keypoints.find(l=>l.part==="rightWrist"),s=e[a].keypoints.find(l=>l.part==="nose");s&&n&&r&&n.position[1]l.part==="leftShoulder"),o=e[a].keypoints.find(l=>l.part==="rightShoulder");i&&o&&Math.abs(i.positionRaw[1]-o.positionRaw[1])>.1&&t.push({body:a,gesture:`leaning ${i.position[1]>o.position[1]?"left":"right"}`})}return t},Zw=e=>{if(!e)return[];let t=[];for(let a=0;a450){let n=(e[a].mesh[33][2]||0)-(e[a].mesh[263][2]||0),r=e[a].mesh[33][0]-e[a].mesh[263][0];Math.abs(n/r)<=.15?t.push({face:a,gesture:"facing center"}):t.push({face:a,gesture:`facing ${n<0?"left":"right"}`}),Math.abs(e[a].mesh[374][1]-e[a].mesh[386][1])/Math.abs(e[a].mesh[443][1]-e[a].mesh[450][1])<.2&&t.push({face:a,gesture:"blink left eye"}),Math.abs(e[a].mesh[145][1]-e[a].mesh[159][1])/Math.abs(e[a].mesh[223][1]-e[a].mesh[230][1])<.2&&t.push({face:a,gesture:"blink right eye"});let o=Math.min(100,500*Math.abs(e[a].mesh[13][1]-e[a].mesh[14][1])/Math.abs(e[a].mesh[10][1]-e[a].mesh[152][1]));o>10&&t.push({face:a,gesture:`mouth ${Math.trunc(o)}% open`});let l=e[a].mesh[152][2]||0;Math.abs(l)>10&&t.push({face:a,gesture:`head ${l<0?"up":"down"}`})}return t},Yw=e=>{var a,n,r,s;if(!e)return[];let t=[];for(let i=0;i.06||g>.06)&&(h=!1),m>g?m>.05&&t.push({iris:i,gesture:"looking right"}):g>.05&&t.push({iris:i,gesture:"looking left"});let x=Math.abs(e[i].mesh[145][1]-e[i].annotations.rightEyeIris[0][1])/e[i].box[3],A=Math.abs(e[i].mesh[374][1]-e[i].annotations.leftEyeIris[0][1])/e[i].box[3];(A<.01||x<.01||A>.022||x>.022)&&(h=!1),(A<.01||x<.01)&&t.push({iris:i,gesture:"looking down"}),(A>.022||x>.022)&&t.push({iris:i,gesture:"looking up"}),h&&t.push({iris:i,gesture:"looking center"})}return t},Jw=e=>{if(!e)return[];let t=[];for(let a=0;a0){let r=n.reduce((i,o)=>(i.position[2]||0)<(o.position[2]||0)?i:o);t.push({hand:a,gesture:`${r.name} forward`});let s=n.reduce((i,o)=>i.position[1][s[0]*t[0],s[1]*t[1]]);return{startPoint:a,endPoint:n,palmLandmarks:r,confidence:e.confidence}}function w0(e,t=1.5){let a=kp(e),n=v0(e),r=[t*n[0]/2,t*n[1]/2],s=[a[0]-r[0],a[1]-r[1]],i=[a[0]+r[0],a[1]+r[1]];return{startPoint:s,endPoint:i,palmLandmarks:e.palmLandmarks}}function k0(e){let t=kp(e),a=v0(e),r=Math.max(...a)/2,s=[t[0]-r,t[1]-r],i=[t[0]+r,t[1]+r];return{startPoint:s,endPoint:i,palmLandmarks:e.palmLandmarks}}function Ohe(e){return e-2*Math.PI*Math.floor((e+Math.PI)/(2*Math.PI))}function nk(e,t){let a=Math.PI/2-Math.atan2(-(t[1]-e[1]),t[0]-e[0]);return Ohe(a)}var Qw=(e,t)=>[[1,0,e],[0,1,t],[0,0,1]];function bs(e,t){let a=0;for(let n=0;n[i.x,i.y]),this.anchorsTensor=Xn(this.anchors),this.inputSize=((s=(r=(n=(a=this==null?void 0:this.model)==null?void 0:a.inputs)==null?void 0:n[0])==null?void 0:r.shape)==null?void 0:s[2])||0,this.inputSizeTensor=Ht([this.inputSize,this.inputSize]),this.doubleInputSizeTensor=Ht([this.inputSize*2,this.inputSize*2])}normalizeBoxes(t){let a={};a.boxOffsets=Pe(t,[0,0],[-1,2]),a.boxSizes=Pe(t,[0,2],[-1,2]),a.div=me(a.boxOffsets,this.inputSizeTensor),a.boxCenterPoints=be(a.div,this.anchorsTensor),a.halfBoxSizes=me(a.boxSizes,this.doubleInputSizeTensor),a.sub=fe(a.boxCenterPoints,a.halfBoxSizes),a.startPoints=ae(a.sub,this.inputSizeTensor),a.add=be(a.boxCenterPoints,a.halfBoxSizes),a.endPoints=ae(a.add,this.inputSizeTensor);let n=nu([a.startPoints,a.endPoints],1);return Object.keys(a).forEach(r=>Y(a[r])),n}normalizeLandmarks(t,a){let n={};n.reshape=J(t,[-1,7,2]),n.div=me(n.reshape,this.inputSizeTensor),n.landmarks=be(n.div,this.anchors[a]?this.anchors[a]:0);let r=ae(n.landmarks,this.inputSizeTensor);return Object.keys(n).forEach(s=>Y(n[s])),r}async predict(t,a){var o;let n={};n.resize=ge.resizeBilinear(t,[this.inputSize,this.inputSize]),n.div=me(n.resize,ze.tf127),n.image=fe(n.div,ze.tf1),n.batched=this.model.execute(n.image),n.predictions=_e(n.batched),n.slice=Pe(n.predictions,[0,0],[-1,1]),n.sigmoid=Da(n.slice),n.scores=_e(n.sigmoid);let r=await n.scores.data();n.boxes=Pe(n.predictions,[0,1],[-1,4]),n.norm=this.normalizeBoxes(n.boxes),n.nms=await ge.nonMaxSuppressionAsync(n.norm,n.scores,3*(((o=a.hand)==null?void 0:o.maxDetected)||1),a.hand.iouThreshold,a.hand.minConfidence);let s=await n.nms.array(),i=[];for(let l of s){let u={};u.box=Pe(n.norm,[l,0],[1,-1]),u.slice=Pe(n.predictions,[l,5],[1,14]),u.norm=this.normalizeLandmarks(u.slice,l),u.palmLandmarks=J(u.norm,[-1,2]);let p=await u.box.data(),c=p.slice(0,2),d=p.slice(2,4),h=await u.palmLandmarks.array(),f={startPoint:c,endPoint:d,palmLandmarks:h,confidence:r[l]},m=ak(f,[(t.shape[2]||1)/this.inputSize,(t.shape[1]||0)/this.inputSize]);i.push(m),Object.keys(u).forEach(g=>Y(u[g]))}return Object.keys(n).forEach(l=>Y(n[l])),i}};var Bhe=5,ok=1.65,lk=[0,5,9,13,17,1,2],Whe=0,Vhe=2,uk=0,S0=class{constructor(t,a){le(this,"handDetector");le(this,"handPoseModel");le(this,"inputSize");le(this,"storedBoxes");le(this,"skipped");le(this,"detectedHands");var n,r,s;this.handDetector=t,this.handPoseModel=a,this.inputSize=((s=(r=(n=this.handPoseModel)==null?void 0:n.inputs)==null?void 0:r[0].shape)==null?void 0:s[2])||0,this.storedBoxes=[],this.skipped=Number.MAX_SAFE_INTEGER,this.detectedHands=0}calculateLandmarksBoundingBox(t){let a=t.map(i=>i[0]),n=t.map(i=>i[1]),r=[Math.min(...a),Math.min(...n)],s=[Math.max(...a),Math.max(...n)];return{startPoint:r,endPoint:s}}getBoxForPalmLandmarks(t,a){let n=t.map(s=>U5([...s,1],a)),r=this.calculateLandmarksBoundingBox(n);return w0(k0(r),Bhe)}getBoxForHandLandmarks(t){let a=this.calculateLandmarksBoundingBox(t),n=w0(k0(a),ok);n.palmLandmarks=[];for(let r=0;r[i[0]*(h[0]-this.inputSize/2),i[1]*(h[1]-this.inputSize/2),i[2]*h[2]]),l=V5(n,[0,0]),u=o.map(h=>[...U5(h,l),h[2]]),p=rk(r),c=[...kp(a),1],d=[bs(c,p[0]),bs(c,p[1])];return u.map(h=>[Math.trunc(h[0]+d[0]),Math.trunc(h[1]+d[1]),Math.trunc(h[2])])}async estimateHands(t,a){let n=!1,r,s=(a.hand.skipTime||0)>te()-uk,i=this.skipped<(a.hand.skipFrames||0);a.skipAllowed&&s&&i&&(r=await this.handDetector.predict(t,a),this.skipped=0),a.skipAllowed&&this.skipped++,r&&r.length>0&&(r.length!==this.detectedHands&&this.detectedHands!==a.hand.maxDetected||!a.hand.landmarks)&&(this.detectedHands=0,this.storedBoxes=[...r],this.storedBoxes.length>0&&(n=!0));let o=[];for(let l=0;l=a.hand.minConfidence/4){let w=J(y,[-1,3]),S=await w.array();Y(y),Y(w);let C=this.transformRawCoords(S,m,p,f),E=this.getBoxForHandLandmarks(C);this.storedBoxes[l]={...E,confidence:b};let _={landmarks:C,confidence:b,boxConfidence:u.confidence,fingerConfidence:b,box:{topLeft:E.startPoint,bottomRight:E.endPoint}};o.push(_)}else this.storedBoxes[l]=null;Y(y)}else{let p=w0(k0(u),ok),c={confidence:u.confidence,boxConfidence:u.confidence,fingerConfidence:0,box:{topLeft:p.startPoint,bottomRight:p.endPoint},landmarks:[]};o.push(c)}}return this.storedBoxes=this.storedBoxes.filter(l=>l!==null),this.detectedHands=o.length,o.length>a.hand.maxDetected&&(o.length=a.hand.maxDetected),o}};var dk={thumb:[1,2,3,4],index:[5,6,7,8],middle:[9,10,11,12],ring:[13,14,15,16],pinky:[17,18,19,20],palm:[0]},Fo,Oo,pk;async function G5(e,t){let a=await pk.estimateHands(e,t);if(!a)return[];let n=[];for(let r=0;ra[r].landmarks[c]);let i=a[r].landmarks,o=[Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,0,0],l=[0,0,0,0];if(i&&i.length>0){for(let p of i)p[0]o[2]&&(o[2]=p[0]),p[1]>o[3]&&(o[3]=p[1]);o[2]-=o[0],o[3]-=o[1],l=[o[0]/(e.shape[2]||0),o[1]/(e.shape[1]||0),o[2]/(e.shape[2]||0),o[3]/(e.shape[1]||0)]}else o=a[r].box?[Math.trunc(Math.max(0,a[r].box.topLeft[0])),Math.trunc(Math.max(0,a[r].box.topLeft[1])),Math.trunc(Math.min(e.shape[2]||0,a[r].box.bottomRight[0])-Math.max(0,a[r].box.topLeft[0])),Math.trunc(Math.min(e.shape[1]||0,a[r].box.bottomRight[1])-Math.max(0,a[r].box.topLeft[1]))]:[0,0,0,0],l=[a[r].box.topLeft[0]/(e.shape[2]||0),a[r].box.topLeft[1]/(e.shape[1]||0),(a[r].box.bottomRight[0]-a[r].box.topLeft[0])/(e.shape[2]||0),(a[r].box.bottomRight[1]-a[r].box.topLeft[1])/(e.shape[1]||0)];let u=b0(i);n.push({id:r,score:Math.round(100*a[r].confidence)/100,boxScore:Math.round(100*a[r].boxConfidence)/100,fingerScore:Math.round(100*a[r].fingerConfidence)/100,label:"hand",box:o,boxRaw:l,keypoints:i,annotations:s,landmarks:u})}return n}async function ck(e){var a,n;ne.initial&&(Fo=null,Oo=null),!Fo||!Oo?[Fo,Oo]=await Promise.all([e.hand.enabled?Ee((a=e.hand.detector)==null?void 0:a.modelPath):null,e.hand.landmarks?Ee((n=e.hand.skeleton)==null?void 0:n.modelPath):null]):(e.debug&&K("cached model:",Fo.modelUrl),e.debug&&K("cached model:",Oo.modelUrl));let t=Fo?new I0(Fo):void 0;return t&&Oo&&(pk=new S0(t,Oo)),[Fo,Oo]}var Pt=[null,null],Ghe=["StatefulPartitionedCall/Postprocessor/Slice","StatefulPartitionedCall/Postprocessor/ExpandDims_1"],vs=[[0,0],[0,0]],Hhe=["hand","fist","pinch","point","face","tip","pinchtip"],fk=4,mk=1.6,jhe=512,qhe=1.4,T0=Number.MAX_SAFE_INTEGER,H5=0,Rr=[0,0],_t={boxes:[],hands:[]},gk={thumb:[1,2,3,4],index:[5,6,7,8],middle:[9,10,11,12],ring:[13,14,15,16],pinky:[17,18,19,20],base:[0],palm:[0,17,13,9,5,1,0]};async function xk(e){var t;if(ne.initial&&(Pt[0]=null),Pt[0])e.debug&&K("cached model:",Pt[0].modelUrl);else{Zh(["tensorlistreserve","enter","tensorlistfromtensor","merge","loopcond","switch","exit","tensorliststack","nextiteration","tensorlistsetitem","tensorlistgetitem","reciprocal","shape","split","where"],e),Pt[0]=await Ee((t=e.hand.detector)==null?void 0:t.modelPath);let a=Pt[0].executor?Object.values(Pt[0].modelSignature.inputs):void 0;vs[0][0]=Array.isArray(a)?parseInt(a[0].tensorShape.dim[1].size):0,vs[0][1]=Array.isArray(a)?parseInt(a[0].tensorShape.dim[2].size):0}return Pt[0]}async function Ak(e){var t;if(ne.initial&&(Pt[1]=null),Pt[1])e.debug&&K("cached model:",Pt[1].modelUrl);else{Pt[1]=await Ee((t=e.hand.skeleton)==null?void 0:t.modelPath);let a=Pt[1].executor?Object.values(Pt[1].modelSignature.inputs):void 0;vs[1][0]=Array.isArray(a)?parseInt(a[0].tensorShape.dim[1].size):0,vs[1][1]=Array.isArray(a)?parseInt(a[0].tensorShape.dim[2].size):0}return Pt[1]}async function Xhe(e,t){let a=[];if(!e||!Pt[0])return a;let n={},r=(e.shape[2]||1)/(e.shape[1]||1),s=Math.min(Math.round((e.shape[1]||0)/8)*8,jhe),i=Math.round(s*r/8)*8;n.resize=ge.resizeBilinear(e,[s,i]),n.cast=He(n.resize,"int32"),[n.rawScores,n.rawBoxes]=await Pt[0].executeAsync(n.cast,Ghe),n.boxes=_e(n.rawBoxes,[0,2]),n.scores=_e(n.rawScores,[0]);let o=Ta(n.scores,1);Y(o[fk]),o.splice(fk,1),n.filtered=sa(o,1),Y(o),n.max=pa(n.filtered,1),n.argmax=tr(n.filtered,1);let l=0;n.nms=await ge.nonMaxSuppressionAsync(n.boxes,n.max,(t.hand.maxDetected||0)+1,t.hand.iouThreshold||0,t.hand.minConfidence||1);let u=await n.nms.data(),p=await n.max.data(),c=await n.argmax.data();for(let d of Array.from(u)){let h=Pe(n.boxes,d,1),f=await h.data();Y(h);let m=[f[1],f[0],f[3]-f[1],f[2]-f[0]],g=s0(m,qhe),x=[Math.trunc(m[0]*Rr[0]),Math.trunc(m[1]*Rr[1]),Math.trunc(m[2]*Rr[0]),Math.trunc(m[3]*Rr[1])],A=p[d],y=Hhe[c[d]],b={id:l++,score:A,box:x,boxRaw:g,label:y};a.push(b)}return Object.keys(n).forEach(d=>Y(n[d])),a.sort((d,h)=>h.score-d.score),a.length>(t.hand.maxDetected||1)&&(a.length=t.hand.maxDetected||1),a}async function j5(e,t,a){let n={id:t.id,score:Math.round(100*t.score)/100,boxScore:Math.round(100*t.score)/100,fingerScore:0,box:t.box,boxRaw:t.boxRaw,label:t.label,keypoints:[],landmarks:{},annotations:{}};if(e&&Pt[1]&&a.hand.landmarks&&t.score>(a.hand.minConfidence||0)){let r={},s=[t.boxRaw[1],t.boxRaw[0],t.boxRaw[3]+t.boxRaw[1],t.boxRaw[2]+t.boxRaw[0]];r.crop=ge.cropAndResize(e,[s],[0],[vs[1][0],vs[1][1]],"bilinear"),r.div=me(r.crop,ze.tf255),[r.score,r.keypoints]=Pt[1].execute(r.div,["Identity_1","Identity"]);let i=(await r.score.data())[0],o=(100-Math.trunc(100/(1+Math.exp(i))))/100;if(o>=(a.hand.minConfidence||0)){n.fingerScore=o,r.reshaped=J(r.keypoints,[-1,3]);let p=(await r.reshaped.array()).map(c=>[c[0]/vs[1][1],c[1]/vs[1][0],c[2]||0]).map(c=>[c[0]*t.boxRaw[2],c[1]*t.boxRaw[3],c[2]||0]);n.keypoints=p.map(c=>[Rr[0]*(c[0]+t.boxRaw[0]),Rr[1]*(c[1]+t.boxRaw[1]),c[2]||0]),n.landmarks=b0(n.keypoints);for(let c of Object.keys(gk))n.annotations[c]=gk[c].map(d=>n.landmarks&&n.keypoints[d]?n.keypoints[d]:null)}Object.keys(r).forEach(l=>Y(r[l]))}return n}async function q5(e,t){var r,s;if(!((r=Pt[0])!=null&&r.executor)||!((s=Pt[1])!=null&&s.executor)||!Pt[0].inputs[0].shape||!Pt[1].inputs[0].shape)return[];Rr=[e.shape[2]||0,e.shape[1]||0],T0++;let a=(t.hand.skipTime||0)>te()-H5,n=T0<(t.hand.skipFrames||0);return t.skipAllowed&&a&&n?_t.hands:new Promise(async i=>{let o=3*(t.hand.skipTime||0)>te()-H5,l=T0<3*(t.hand.skipFrames||0);t.skipAllowed&&_t.hands.length===t.hand.maxDetected?_t.hands=await Promise.all(_t.boxes.map(p=>j5(e,p,t))):t.skipAllowed&&o&&l&&_t.hands.length>0?_t.hands=await Promise.all(_t.boxes.map(p=>j5(e,p,t))):(_t.boxes=await Xhe(e,t),H5=te(),_t.hands=await Promise.all(_t.boxes.map(p=>j5(e,p,t))),T0=0);let u=[..._t.boxes];if(_t.boxes.length=0,t.cacheSensitivity>0)for(let p=0;p<_t.hands.length;p++){let c=x9(_t.hands[p].keypoints,Rr);if(c.box[2]/(e.shape[2]||1)>.05&&c.box[3]/(e.shape[1]||1)>.05&&_t.hands[p].fingerScore&&_t.hands[p].fingerScore>(t.hand.minConfidence||0)){let d=s0(c.box,mk),h=s0(c.boxRaw,mk);_t.boxes.push({...u[p],box:d,boxRaw:h})}}for(let p=0;p<_t.hands.length;p++){let c=Cr(_t.hands[p].keypoints,Rr);_t.hands[p].box=c.box,_t.hands[p].boxRaw=c.boxRaw}i(_t.hands)})}var ir=(e=null)=>({face:[],body:[],hand:[],gesture:[],object:[],persons:[],performance:{},timestamp:0,width:0,height:0,error:e});var Ip={};cr(Ip,{connected:()=>N0,horizontal:()=>X5,kpt:()=>C0,relative:()=>Z5,vertical:()=>K5});var C0=["nose","leftEye","rightEye","leftEar","rightEar","leftShoulder","rightShoulder","leftElbow","rightElbow","leftWrist","rightWrist","leftHip","rightHip","leftKnee","rightKnee","leftAnkle","rightAnkle"],X5=[["leftEye","rightEye"],["leftEar","rightEar"],["leftShoulder","rightShoulder"],["leftElbow","rightElbow"],["leftWrist","rightWrist"],["leftHip","rightHip"],["leftKnee","rightKnee"],["leftAnkle","rightAnkle"]],K5=[["leftKnee","leftShoulder"],["rightKnee","rightShoulder"],["leftAnkle","leftKnee"],["rightAnkle","rightKnee"]],Z5=[[["leftHip","rightHip"],["leftShoulder","rightShoulder"]],[["leftElbow","rightElbow"],["leftShoulder","rightShoulder"]]],N0={leftLeg:["leftHip","leftKnee","leftAnkle"],rightLeg:["rightHip","rightKnee","rightAnkle"],torso:["leftShoulder","rightShoulder","rightHip","leftHip","leftShoulder"],leftArm:["leftShoulder","leftElbow","leftWrist"],rightArm:["rightShoulder","rightElbow","rightWrist"],head:[]};var xe=ir(),Y5=0;function bk(e,t){var i,o,l,u,p,c,d,h,f,m,g,x,A,y,b,w,S,C,E,_,$,M,I;let a=te();if(!e)return ir();let n=Date.now()-e.timestamp,r=n<1e3?8-Math.log(n+1):1;if(e.canvas&&(xe.canvas=e.canvas),e.error&&(xe.error=e.error),!xe.body||e.body.length!==xe.body.length)xe.body=JSON.parse(JSON.stringify(e.body));else for(let N=0;N((r-1)*xe.body[N].box[H]+U)/r),L=e.body[N].boxRaw.map((U,H)=>((r-1)*xe.body[N].boxRaw[H]+U)/r),B=e.body[N].keypoints.map((U,H)=>{var V,Q,Z,re,ee,he,oe,Ae,we;return{score:U.score,part:U.part,position:[xe.body[N].keypoints[H]?((r-1)*(xe.body[N].keypoints[H].position[0]||0)+(U.position[0]||0))/r:U.position[0],xe.body[N].keypoints[H]?((r-1)*(xe.body[N].keypoints[H].position[1]||0)+(U.position[1]||0))/r:U.position[1],xe.body[N].keypoints[H]?((r-1)*(xe.body[N].keypoints[H].position[2]||0)+(U.position[2]||0))/r:U.position[2]],positionRaw:[xe.body[N].keypoints[H]?((r-1)*(xe.body[N].keypoints[H].positionRaw[0]||0)+(U.positionRaw[0]||0))/r:U.positionRaw[0],xe.body[N].keypoints[H]?((r-1)*(xe.body[N].keypoints[H].positionRaw[1]||0)+(U.positionRaw[1]||0))/r:U.positionRaw[1],xe.body[N].keypoints[H]?((r-1)*(xe.body[N].keypoints[H].positionRaw[2]||0)+(U.positionRaw[2]||0))/r:U.positionRaw[2]],distance:[xe.body[N].keypoints[H]?((r-1)*(((V=xe.body[N].keypoints[H].distance)==null?void 0:V[0])||0)+(((Q=U.distance)==null?void 0:Q[0])||0))/r:(Z=U.distance)==null?void 0:Z[0],xe.body[N].keypoints[H]?((r-1)*(((re=xe.body[N].keypoints[H].distance)==null?void 0:re[1])||0)+(((ee=U.distance)==null?void 0:ee[1])||0))/r:(he=U.distance)==null?void 0:he[1],xe.body[N].keypoints[H]?((r-1)*(((oe=xe.body[N].keypoints[H].distance)==null?void 0:oe[2])||0)+(((Ae=U.distance)==null?void 0:Ae[2])||0))/r:(we=U.distance)==null?void 0:we[2]]}}),G={},j={connected:{}};(i=t.body.modelPath)!=null&&i.includes("efficientpose")?j=l0:(o=t.body.modelPath)!=null&&o.includes("blazepose")?j=n0:(l=t.body.modelPath)!=null&&l.includes("movenet")&&(j=Ip);for(let[U,H]of Object.entries(j.connected)){let V=[];for(let Q=0;Qee.part===H[Q]),re=B.find(ee=>ee.part===H[Q+1]);Z&&re&&V.push([Z.position,re.position])}G[U]=V}xe.body[N]={...e.body[N],box:O,boxRaw:L,keypoints:B,annotations:G}}if(!xe.hand||e.hand.length!==xe.hand.length)xe.hand=JSON.parse(JSON.stringify(e.hand));else for(let N=0;N((r-1)*xe.hand[N].box[U]+j)/r),L=e.hand[N].boxRaw.map((j,U)=>((r-1)*xe.hand[N].boxRaw[U]+j)/r);xe.hand[N].keypoints.length!==e.hand[N].keypoints.length&&(xe.hand[N].keypoints=e.hand[N].keypoints);let B=e.hand[N].keypoints&&e.hand[N].keypoints.length>0?e.hand[N].keypoints.map((j,U)=>j.map((H,V)=>((r-1)*(xe.hand[N].keypoints[U][V]||1)+(H||0))/r)):[],G={};if(Object.keys(xe.hand[N].annotations).length!==Object.keys(e.hand[N].annotations).length)xe.hand[N].annotations=e.hand[N].annotations,G=xe.hand[N].annotations;else if(e.hand[N].annotations)for(let j of Object.keys(e.hand[N].annotations))G[j]=(c=(p=(u=e.hand[N])==null?void 0:u.annotations)==null?void 0:p[j])!=null&&c[0]?e.hand[N].annotations[j].map((U,H)=>U.map((V,Q)=>((r-1)*xe.hand[N].annotations[j][H][Q]+V)/r)):null;xe.hand[N]={...e.hand[N],box:O,boxRaw:L,keypoints:B,annotations:G}}if(!xe.face||e.face.length!==xe.face.length)xe.face=JSON.parse(JSON.stringify(e.face));else for(let N=0;N((r-1)*xe.face[N].box[G]+B)/r),L=e.face[N].boxRaw.map((B,G)=>((r-1)*xe.face[N].boxRaw[G]+B)/r);if(e.face[N].rotation){let B={matrix:[0,0,0,0,0,0,0,0,0],angle:{roll:0,yaw:0,pitch:0},gaze:{bearing:0,strength:0}};B.matrix=(d=e.face[N].rotation)==null?void 0:d.matrix,B.angle={roll:((r-1)*(((f=(h=xe.face[N].rotation)==null?void 0:h.angle)==null?void 0:f.roll)||0)+(((g=(m=e.face[N].rotation)==null?void 0:m.angle)==null?void 0:g.roll)||0))/r,yaw:((r-1)*(((A=(x=xe.face[N].rotation)==null?void 0:x.angle)==null?void 0:A.yaw)||0)+(((b=(y=e.face[N].rotation)==null?void 0:y.angle)==null?void 0:b.yaw)||0))/r,pitch:((r-1)*(((S=(w=xe.face[N].rotation)==null?void 0:w.angle)==null?void 0:S.pitch)||0)+(((E=(C=e.face[N].rotation)==null?void 0:C.angle)==null?void 0:E.pitch)||0))/r},B.gaze={bearing:((r-1)*(((_=xe.face[N].rotation)==null?void 0:_.gaze.bearing)||0)+((($=e.face[N].rotation)==null?void 0:$.gaze.bearing)||0))/r,strength:((r-1)*(((M=xe.face[N].rotation)==null?void 0:M.gaze.strength)||0)+(((I=e.face[N].rotation)==null?void 0:I.gaze.strength)||0))/r},xe.face[N]={...e.face[N],rotation:B,box:O,boxRaw:L}}else xe.face[N]={...e.face[N],box:O,boxRaw:L}}if(!xe.object||e.object.length!==xe.object.length)xe.object=JSON.parse(JSON.stringify(e.object));else for(let N=0;N((r-1)*xe.object[N].box[G]+B)/r),L=e.object[N].boxRaw.map((B,G)=>((r-1)*xe.object[N].boxRaw[G]+B)/r);xe.object[N]={...e.object[N],box:O,boxRaw:L}}if(e.persons){let N=e.persons;if(!xe.persons||N.length!==xe.persons.length)xe.persons=JSON.parse(JSON.stringify(N));else for(let O=0;O((r-1)*xe.persons[O].box[B]+L)/r)}e.gesture&&(xe.gesture=e.gesture),xe.width=e.width,xe.height=e.height;let s=te();return Y5=ne.perfadd?Y5+Math.round(s-a):Math.round(s-a),e.performance&&(xe.performance={...e.performance,interpolate:Y5}),xe}var ma;async function J5(e){return!ma||ne.initial?ma=await Ee(e.segmentation.modelPath):e.debug&&K("cached model:",ma.modelUrl),ma}async function vk(e,t){var r;if(ma||(ma=await J5(t)),!(ma!=null&&ma.executor)||!((r=ma==null?void 0:ma.inputs)!=null&&r[0].shape))return null;let a={};a.resize=ge.resizeBilinear(e,[ma.inputs[0].shape?ma.inputs[0].shape[1]:0,ma.inputs[0].shape?ma.inputs[0].shape[2]:0],!1),a.norm=me(a.resize,ze.tf255),a.res=ma.execute(a.norm),a.squeeze=_e(a.res,[0]),[a.bgRaw,a.fgRaw]=Ta(a.squeeze,2),a.fg=mh(a.fgRaw),a.mul=ae(a.fg,ze.tf255),a.expand=Gt(a.mul,2),a.output=ge.resizeBilinear(a.expand,[e.shape[1]||0,e.shape[2]||0]);let n;switch(t.segmentation.mode||"default"){case"default":a.input=_e(e),a.concat=at([a.input,a.output],-1),n=He(a.concat,"int32");break;case"alpha":n=He(a.output,"int32");break;default:n=Be(0)}return Object.keys(a).forEach(s=>Y(a[s])),n}var E0={};cr(E0,{distance:()=>Q5,find:()=>Yhe,similarity:()=>Zhe});function Q5(e,t,a={order:2,multiplier:25}){if(!e||!e)return Number.MAX_SAFE_INTEGER;let n=0;for(let r=0;r{if(e===0)return 1;let s=(1-(t===2?Math.sqrt(e):e**(1/t))/100-a)/(n-a);return Math.max(Math.min(s,1),0)};function Zhe(e,t,a={order:2,multiplier:25,min:.2,max:.8}){let n=Q5(e,t,a);return kk(n,a.order||2,a.min||0,a.max||1)}function Yhe(e,t,a={order:2,multiplier:25,threshold:0,min:.2,max:.8}){if(!Array.isArray(e)||!Array.isArray(t)||e.length<64||t.length===0)return{index:-1,distance:Number.POSITIVE_INFINITY,similarity:0};let n=Number.MAX_SAFE_INTEGER,r=-1;for(let i=0;iCp,validateModel:()=>O0});var Ik=.005,an={keypoints:[],padding:[[0,0],[0,0],[0,0],[0,0]]};function eg(e){for(let t of X5){let a=e.keypoints.findIndex(r=>r.part===t[0]),n=e.keypoints.findIndex(r=>r.part===t[1]);if(e.keypoints[a]&&e.keypoints[n]&&e.keypoints[a].position[0]r&&r.part===t[0]),n=e.keypoints.findIndex(r=>r&&r.part===t[1]);e.keypoints[a]&&e.keypoints[n]&&e.keypoints[a].position[1]u&&u.part===t[0]),r=e.keypoints.findIndex(u=>u&&u.part===t[1]),s=e.keypoints.findIndex(u=>u&&u.part===a[0]),i=e.keypoints.findIndex(u=>u&&u.part===a[1]);if(!e.keypoints[s]||!e.keypoints[i])continue;let o=e.keypoints[n]?[Math.abs(e.keypoints[s].position[0]-e.keypoints[n].position[0]),Math.abs(e.keypoints[i].position[0]-e.keypoints[n].position[0])]:[0,0],l=e.keypoints[r]?[Math.abs(e.keypoints[i].position[0]-e.keypoints[r].position[0]),Math.abs(e.keypoints[s].position[0]-e.keypoints[r].position[0])]:[0,0];if(o[0]>o[1]||l[0]>l[1]){let u=e.keypoints[n];e.keypoints[n]=e.keypoints[r],e.keypoints[r]=u}}}function Sk(e){for(let t=0;te.shape[1]?Math.trunc((e.shape[2]-e.shape[1])/2):0,e.shape[2]>e.shape[1]?Math.trunc((e.shape[2]-e.shape[1])/2):0],[e.shape[1]>e.shape[2]?Math.trunc((e.shape[1]-e.shape[2])/2):0,e.shape[1]>e.shape[2]?Math.trunc((e.shape[1]-e.shape[2])/2):0],[0,0]],a.pad=nr(e,an.padding),a.resize=ge.resizeBilinear(a.pad,[t,t]);let n=He(a.resize,"int32");return Object.keys(a).forEach(i=>Y(a[i])),n}function Ck(e,t){e.keypoints=e.keypoints.filter(n=>n==null?void 0:n.position);for(let n of e.keypoints)n.position=[n.position[0]*(t[0]+an.padding[2][0]+an.padding[2][1])/t[0]-an.padding[2][0],n.position[1]*(t[1]+an.padding[1][0]+an.padding[1][1])/t[1]-an.padding[1][0]],n.positionRaw=[n.position[0]/t[0],n.position[1]/t[1]];let a=Cr(e.keypoints.map(n=>n.position),t);return e.box=a.box,e.boxRaw=a.boxRaw,e}var Vt,R0=0,tg=Number.MAX_SAFE_INTEGER,Do={boxes:[],bodies:[],last:0};async function Nk(e){var t;return ne.initial&&(Vt=null),Vt?e.debug&&K("cached model:",Vt.modelUrl):(Zh(["size"],e),Vt=await Ee(e.body.modelPath)),R0=(Vt==null?void 0:Vt.executor)&&((t=Vt==null?void 0:Vt.inputs)==null?void 0:t[0].shape)?Vt.inputs[0].shape[2]:0,R0<64&&(R0=256),Vt}function Qhe(e,t,a){let n=e[0][0],r=[],s=0;for(let p=0;pt.body.minConfidence){let c=[n[p][1],n[p][0]];r.push({score:Math.round(100*s)/100,part:C0[p],positionRaw:c,position:[Math.round((a.shape[2]||0)*c[0]),Math.round((a.shape[1]||0)*c[1])]})}s=r.reduce((p,c)=>c.score>p?c.score:p,0);let i=[],o=Cr(r.map(p=>p.position),[a.shape[2],a.shape[1]]),l={};for(let[p,c]of Object.entries(N0)){let d=[];for(let h=0;hg.part===c[h]),m=r.find(g=>g.part===c[h+1]);f&&m&&f.score>(t.body.minConfidence||0)&&m.score>(t.body.minConfidence||0)&&d.push([f.position,m.position])}l[p]=d}let u={id:0,score:s,box:o.box,boxRaw:o.boxRaw,keypoints:r,annotations:l};return eg(u),i.push(u),i}function e0e(e,t,a){let n=[];for(let r=0;rt.body.minConfidence){let o=[];for(let c=0;c<17;c++){let d=s[3*c+2];if(d>t.body.minConfidence){let h=[s[3*c+1],s[3*c+0]];o.push({part:C0[c],score:Math.round(100*d)/100,positionRaw:h,position:[Math.round((a.shape[2]||0)*h[0]),Math.round((a.shape[1]||0)*h[1])]})}}let l=Cr(o.map(c=>c.position),[a.shape[2],a.shape[1]]),u={};for(let[c,d]of Object.entries(N0)){let h=[];for(let f=0;fx.part===d[f]),g=o.find(x=>x.part===d[f+1]);m&&g&&m.score>(t.body.minConfidence||0)&&g.score>(t.body.minConfidence||0)&&h.push([m.position,g.position])}u[c]=h}let p={id:r,score:i,box:l.box,boxRaw:l.boxRaw,keypoints:[...o],annotations:u};eg(p),n.push(p)}}return n.sort((r,s)=>s.score-r.score),n.length>t.body.maxDetected&&(n.length=t.body.maxDetected),n}async function ag(e,t){var r;if(!(Vt!=null&&Vt.executor)||!((r=Vt==null?void 0:Vt.inputs)!=null&&r[0].shape))return[];t.skipAllowed||(Do.boxes.length=0),tg++;let a=(t.body.skipTime||0)>te()-Do.last,n=tg<(t.body.skipFrames||0);return t.skipAllowed&&a&&n?Do.bodies:new Promise(async s=>{let i={};tg=0,i.input=Tk(e,R0),i.res=Vt==null?void 0:Vt.execute(i.input),Do.last=te();let o=await i.res.array();Do.bodies=i.res.shape[2]===17?Qhe(o,t,e):e0e(o,t,e);for(let l of Do.bodies)Ck(l,[e.shape[2]||1,e.shape[1]||1]),Sk(l.keypoints);Object.keys(i).forEach(l=>Y(i[l])),s(Do.bodies)})}var $n,M0=[],Rk=0,ng=Number.MAX_SAFE_INTEGER,_0=0,$0=2.5;async function Mk(e){if(!$n||ne.initial){$n=await Ee(e.object.modelPath);let t=$n!=null&&$n.executor?Object.values($n.modelSignature.inputs):void 0;_0=Array.isArray(t)?parseInt(t[0].tensorShape.dim[2].size):416}else e.debug&&K("cached model:",$n.modelUrl);return $n}async function t0e(e,t,a){var u,p;let n=0,r=[],s=_0;for(let c of[1,2,4]){let d=c*13,h=_e(e.find(y=>y.shape[1]===d**2&&(y.shape[2]||0)===yu.length)),f=await h.array(),m=_e(e.find(y=>y.shape[1]===d**2&&(y.shape[2]||0)(a.object.minConfidence||0)&&b!==61){let S=(.5+Math.trunc(y%d))/d,C=(.5+Math.trunc(y/d))/d,E=A[y].map(B=>B*(d/c/s)),[_,$]=[S-$0/c*E[0],C-$0/c*E[1]],[M,I]=[S+$0/c*E[2]-_,C+$0/c*E[3]-$],N=[_,$,M,I];N=N.map(B=>Math.max(0,Math.min(B,1)));let O=[N[0]*t[0],N[1]*t[1],N[2]*t[0],N[3]*t[1]],L={id:n++,score:Math.round(100*w)/100,class:b+1,label:yu[b].label,box:O.map(B=>Math.trunc(B)),boxRaw:N};r.push(L)}}Y([h,m,g,x])}let i=r.map(c=>[c.boxRaw[1],c.boxRaw[0],c.boxRaw[3],c.boxRaw[2]]),o=r.map(c=>c.score),l=[];if(i&&i.length>0){let c=await ge.nonMaxSuppressionAsync(i,o,a.object.maxDetected||0,a.object.iouThreshold,a.object.minConfidence);l=Array.from(await c.data()),Y(c)}return r=r.filter((c,d)=>l.includes(d)).sort((c,d)=>d.score-c.score),r}async function rg(e,t){if(!($n!=null&&$n.executor))return[];let a=(t.object.skipTime||0)>te()-Rk,n=ng<(t.object.skipFrames||0);return t.skipAllowed&&a&&n&&M0.length>0?(ng++,M0):(ng=0,!ne.kernels.includes("mod")||!ne.kernels.includes("sparsetodense")?M0:new Promise(async r=>{let s=[e.shape[2]||0,e.shape[1]||0],i=ge.resizeBilinear(e,[_0,_0],!1),o=me(i,ze.tf255),l=Ls(o,[0,3,1,2]),u;t.object.enabled&&(u=$n.execute(l)),Rk=te();let p=await t0e(u,s,t);M0=p,Y([i,o,l,...u]),r(p)}))}var Tp=["nose","leftEye","rightEye","leftEar","rightEar","leftShoulder","rightShoulder","leftElbow","rightElbow","leftWrist","rightWrist","leftHip","rightHip","leftKnee","rightKnee","leftAnkle","rightAnkle"],a0e=Tp.length,Sp=Tp.reduce((e,t,a)=>(e[t]=a,e),{}),n0e=[["leftHip","leftShoulder"],["leftElbow","leftShoulder"],["leftElbow","leftWrist"],["leftHip","leftKnee"],["leftKnee","leftAnkle"],["rightHip","rightShoulder"],["rightElbow","rightShoulder"],["rightElbow","rightWrist"],["rightHip","rightKnee"],["rightKnee","rightAnkle"],["leftShoulder","rightShoulder"],["leftHip","rightHip"]],Mge=n0e.map(([e,t])=>[Sp[e],Sp[t]]),_k=[["nose","leftEye"],["leftEye","leftEar"],["nose","rightEye"],["rightEye","rightEar"],["nose","leftShoulder"],["leftShoulder","leftElbow"],["leftElbow","leftWrist"],["leftShoulder","leftHip"],["leftHip","leftKnee"],["leftKnee","leftAnkle"],["nose","rightShoulder"],["rightShoulder","rightElbow"],["rightElbow","rightWrist"],["rightShoulder","rightHip"],["rightHip","rightKnee"],["rightKnee","rightAnkle"]];function Pk(e){let t=e.reduce(({maxX:a,maxY:n,minX:r,minY:s},{position:{x:i,y:o}})=>({maxX:Math.max(a,i),maxY:Math.max(n,o),minX:Math.min(r,i),minY:Math.min(s,o)}),{maxX:Number.NEGATIVE_INFINITY,maxY:Number.NEGATIVE_INFINITY,minX:Number.POSITIVE_INFINITY,minY:Number.POSITIVE_INFINITY});return[t.minX,t.minY,t.maxX-t.minX,t.maxY-t.minY]}function Fk(e,[t,a],[n,r]){let s=t/n,i=a/r,o=(u,p)=>({id:p,score:u.score,boxRaw:[u.box[0]/r,u.box[1]/n,u.box[2]/r,u.box[3]/n],box:[Math.trunc(u.box[0]*i),Math.trunc(u.box[1]*s),Math.trunc(u.box[2]*i),Math.trunc(u.box[3]*s)],keypoints:u.keypoints.map(({score:c,part:d,position:h})=>({score:c,part:d,position:[Math.trunc(h.x*i),Math.trunc(h.y*s)],positionRaw:[h.x/n,h.y/n]})),annotations:{}});return e.map((u,p)=>o(u,p))}var P0=class{constructor(t,a){le(this,"priorityQueue");le(this,"numberOfElements");le(this,"getElementValue");this.priorityQueue=new Array(t),this.numberOfElements=-1,this.getElementValue=a}enqueue(t){this.priorityQueue[++this.numberOfElements]=t,this.swim(this.numberOfElements)}dequeue(){let t=this.priorityQueue[0];return this.exchange(0,this.numberOfElements--),this.sink(0),this.priorityQueue[this.numberOfElements+1]=null,t}empty(){return this.numberOfElements===-1}size(){return this.numberOfElements+1}all(){return this.priorityQueue.slice(0,this.numberOfElements+1)}max(){return this.priorityQueue[0]}swim(t){for(;t>0&&this.less(Math.floor(t/2),t);)this.exchange(t,Math.floor(t/2)),t=Math.floor(t/2)}sink(t){for(;2*t<=this.numberOfElements;){let a=2*t;if(aa?a:e}function Ok(e,t,a,n){let r=a-e,s=n-t;return r*r+s*s}function lg(e,t){return{x:e.x+t.x,y:e.y+t.y}}var nn,s0e=["MobilenetV1/offset_2/BiasAdd","MobilenetV1/heatmap_2/BiasAdd","MobilenetV1/displacement_fwd_2/BiasAdd","MobilenetV1/displacement_bwd_2/BiasAdd"],F0=1,Eu=16,i0e=50**2;function Dk(e,t,a,n,r,s,i=2){let o=x=>({y:s.get(x.y,x.x,e),x:s.get(x.y,x.x,s.shape[2]/2+e)}),l=(x,A,y)=>({y:og(Math.round(x.y/Eu),0,A-1),x:og(Math.round(x.x/Eu),0,y-1)}),[u,p]=n.shape,c=l(t.position,u,p),d=o(c),f=lg(t.position,d);for(let x=0;x[Sp[d],Sp[h]]),i=s.map(([,d])=>d),o=s.map(([d])=>d),l=t.shape[2],u=i.length,p=new Array(l),c=ig(e.part,Eu,a);p[e.part.id]={score:e.score,part:Tp[e.part.id],position:c};for(let d=u-1;d>=0;--d){let h=i[d],f=o[d];p[h]&&!p[f]&&(p[f]=Dk(d,p[h],f,t,a,r))}for(let d=0;dt){o=!1;break}if(!o)break}return o}function u0e(e,t){let[a,n,r]=t.shape,s=new P0(a*n*r,({score:i})=>i);for(let i=0;i{var i;let s=(i=r[n])==null?void 0:i.position;return s?Ok(a,t,s.y,s.x)<=i0e:!1})}function d0e(e,t){return t.reduce((n,{position:r,score:s},i)=>(zk(e,r,i)||(n+=s),n),0)/t.length}function p0e(e,t,a,n,r,s){let i=[],o=u0e(s,t);for(;i.lengthh.score>s);let c=d0e(i,p),d=Pk(p);c>s&&i.push({keypoints:p,box:d,score:Math.round(100*c)/100})}return i}async function ug(e,t){if(!(nn!=null&&nn.executor))return[];let a=$e(()=>{if(!nn.inputs[0].shape)return[];let i=ge.resizeBilinear(e,[nn.inputs[0].shape[2],nn.inputs[0].shape[1]]),o=fe(me(He(i,"float32"),127.5),1),u=nn.execute(o,s0e).map(p=>_e(p,[0]));return u[1]=Da(u[1]),u}),n=await Promise.all(a.map(i=>i.buffer()));for(let i of a)Y(i);let r=p0e(n[0],n[1],n[2],n[3],t.body.maxDetected,t.body.minConfidence);return nn.inputs[0].shape?Fk(r,[e.shape[1],e.shape[2]],[nn.inputs[0].shape[2],nn.inputs[0].shape[1]]):[]}async function Lk(e){return!nn||ne.initial?nn=await Ee(e.body.modelPath):e.debug&&K("cached model:",nn.modelUrl),nn}var or,c0e=["fgr","pha","r1o","r2o","r3o","r4o"],Ut={},pg=0;function Vk(e){Y([Ut.r1i,Ut.r2i,Ut.r3i,Ut.r4i,Ut.downsample_ratio]),Ut.r1i=Be(0),Ut.r2i=Be(0),Ut.r3i=Be(0),Ut.r4i=Be(0),pg=e.segmentation.ratio||.5,Ut.downsample_ratio=Be(pg)}async function cg(e){return!or||ne.initial?or=await Ee(e.segmentation.modelPath):e.debug&&K("cached model:",or.modelUrl),Vk(e),or}var Wk=e=>$e(()=>{let t=_e(e,[0]),a=ae(t,ze.tf255);return He(a,"int32")});function dg(e,t){let a=e?Wk(e):ar([t.shape[1]||0,t.shape[2]||0,3],255,"int32"),n=t?Wk(t):ar([e.shape[1]||0,e.shape[2]||0,1],255,"int32"),r=at([a,n],-1);return Y([a,n]),r}function h0e(e){return $e(()=>{let t={};return t.unstack=Ta(e,-1),t.concat=at(t.unstack,1),t.split=ka(t.concat,4,1),t.stack=at(t.split,2),t.squeeze=_e(t.stack,[0]),t.expand=Gt(t.squeeze,-1),t.add=be(t.expand,1),t.mul=ae(t.add,127.5),t.cast=He(t.mul,"int32"),t.tile=Vr(t.cast,[1,1,3]),t.alpha=ar([t.tile.shape[0]||0,t.tile.shape[1]||0,1],255,"int32"),at([t.tile,t.alpha],-1)})}async function Uk(e,t){if(or||(or=await cg(t)),!(or!=null&&or.executor))return null;Ut.src=me(e,255),pg!==t.segmentation.ratio&&Vk(t);let[a,n,r,s,i,o]=await or.executeAsync(Ut,c0e),l;switch(t.segmentation.mode||"default"){case"default":l=dg(a,n);break;case"alpha":l=dg(null,n);break;case"foreground":l=dg(a,null);break;case"state":l=h0e(r);break;default:l=Be(0)}return Y([Ut.src,a,n,Ut.r1i,Ut.r2i,Ut.r3i,Ut.r4i]),[Ut.r1i,Ut.r2i,Ut.r3i,Ut.r4i]=[r,s,i,o],l}var ga;async function hg(e){return!ga||ne.initial?ga=await Ee(e.segmentation.modelPath):e.debug&&K("cached model:",ga.modelUrl),ga}async function Hk(e,t){var r;if(ga||(ga=await hg(t)),!(ga!=null&&ga.executor)||!((r=ga==null?void 0:ga.inputs)!=null&&r[0].shape))return null;let a={};a.resize=ge.resizeBilinear(e,[ga.inputs[0].shape?ga.inputs[0].shape[1]:0,ga.inputs[0].shape?ga.inputs[0].shape[2]:0],!1),a.norm=me(a.resize,ze.tf255),a.res=ga.execute(a.norm),a.squeeze=_e(a.res,[0]),a.alpha=ge.resizeBilinear(a.squeeze,[e.shape[1]||0,e.shape[2]||0]),a.mul=ae(a.alpha,ze.tf255);let n;switch(t.segmentation.mode||"default"){case"default":a.input=_e(e),a.concat=at([a.input,a.mul],-1),n=He(a.concat,"int32");break;case"alpha":n=He(a.mul,"int32");break;default:n=Be(0)}return Object.keys(a).forEach(s=>Y(a[s])),n}function O0(e,t,a){var u,p;if(!t||!((u=e==null?void 0:e.config)!=null&&u.validateModels))return null;let n=["const","placeholder","noop","pad","squeeze","add","sub","mul","div"],r=["biasadd","fusedbatchnormv3","matmul","switch","shape","merge","split","broadcastto"],s=[],i=[],o=t.modelUrl,l=t.executor;if((p=l==null?void 0:l.graph)!=null&&p.nodes)for(let c of Object.values(l.graph.nodes)){let d=c.op.toLowerCase();s.includes(d)||s.push(d)}else!l&&e.config.debug&&K("model not loaded",a);for(let c of s)!n.includes(c)&&!r.includes(c)&&!e.env.kernels.includes(c)&&!e.env.kernels.includes(c.replace("_",""))&&!e.env.kernels.includes(c.replace("native",""))&&!e.env.kernels.includes(c.replace("v2",""))&&i.push(c);return e.config.debug&&i.length>0&&K("model validation failed:",a,i),i.length>0?{name:a,missing:i,ops:s,url:o}:null}var Cp=class{constructor(t){le(this,"instance");le(this,"models",{});this.models={},this.instance=t}stats(){let t=0,a=0,n=0;for(let s of Object.values(ha))t+=s.sizeFromManifest,a+=s.sizeLoadedWeights,n+=s.sizeDesired;let r=n>0?a/n:0;return{numLoadedModels:Object.values(ha).length,numDefinedModels:Object.keys(this.models).length,percentageLoaded:r,totalSizeFromManifest:t,totalSizeWeights:a,totalSizeLoading:n,modelStats:Object.values(ha)}}reset(){for(let t of Object.keys(this.models))this.models[t]=null}async load(t){var n,r,s,i,o,l,u,p,c,d,h,f,m,g,x,A,y,b,w,S,C,E,_,$,M,I,N;ne.initial&&this.reset(),t&&(this.instance=t);let a={};a.blazeface=this.instance.config.face.enabled&&!this.models.blazeface?B9(this.instance.config):null,a.antispoof=this.instance.config.face.enabled&&((n=this.instance.config.face.antispoof)==null?void 0:n.enabled)&&!this.models.antispoof?pw(this.instance.config):null,a.liveness=this.instance.config.face.enabled&&((r=this.instance.config.face.liveness)==null?void 0:r.enabled)&&!this.models.liveness?mw(this.instance.config):null,a.faceres=this.instance.config.face.enabled&&((s=this.instance.config.face.description)==null?void 0:s.enabled)&&!this.models.faceres?iw(this.instance.config):null,a.emotion=this.instance.config.face.enabled&&((i=this.instance.config.face.emotion)==null?void 0:i.enabled)&&!this.models.emotion?aw(this.instance.config):null,a.iris=this.instance.config.face.enabled&&((o=this.instance.config.face.iris)==null?void 0:o.enabled)&&!((l=this.instance.config.face.attention)!=null&&l.enabled)&&!this.models.iris?j9(this.instance.config):null,a.facemesh=this.instance.config.face.enabled&&((u=this.instance.config.face.mesh)==null?void 0:u.enabled)&&!this.models.facemesh?Y9(this.instance.config):null,a.gear=this.instance.config.face.enabled&&((p=this.instance.config.face.gear)==null?void 0:p.enabled)&&!this.models.gear?yw(this.instance.config):null,a.ssrnetage=this.instance.config.face.enabled&&((c=this.instance.config.face.ssrnet)==null?void 0:c.enabled)&&!this.models.ssrnetage?kw(this.instance.config):null,a.ssrnetgender=this.instance.config.face.enabled&&((d=this.instance.config.face.ssrnet)==null?void 0:d.enabled)&&!this.models.ssrnetgender?Cw(this.instance.config):null,a.mobilefacenet=this.instance.config.face.enabled&&((h=this.instance.config.face.mobilefacenet)==null?void 0:h.enabled)&&!this.models.mobilefacenet?$w(this.instance.config):null,a.insightface=this.instance.config.face.enabled&&((f=this.instance.config.face.insightface)==null?void 0:f.enabled)&&!this.models.insightface?Dw(this.instance.config):null,a.blazepose=this.instance.config.body.enabled&&!this.models.blazepose&&((m=this.instance.config.body.modelPath)==null?void 0:m.includes("blazepose"))?w9(this.instance.config):null,a.blazeposedetect=this.instance.config.body.enabled&&!this.models.blazeposedetect&&this.instance.config.body.detector&&this.instance.config.body.detector.modelPath?v9(this.instance.config):null,a.efficientpose=this.instance.config.body.enabled&&!this.models.efficientpose&&((g=this.instance.config.body.modelPath)==null?void 0:g.includes("efficientpose"))?N9(this.instance.config):null,a.movenet=this.instance.config.body.enabled&&!this.models.movenet&&((x=this.instance.config.body.modelPath)==null?void 0:x.includes("movenet"))?Nk(this.instance.config):null,a.posenet=this.instance.config.body.enabled&&!this.models.posenet&&((A=this.instance.config.body.modelPath)==null?void 0:A.includes("posenet"))?Lk(this.instance.config):null,a.handtrack=this.instance.config.hand.enabled&&!this.models.handtrack&&((b=(y=this.instance.config.hand.detector)==null?void 0:y.modelPath)==null?void 0:b.includes("handtrack"))?xk(this.instance.config):null,a.handskeleton=this.instance.config.hand.enabled&&this.instance.config.hand.landmarks&&!this.models.handskeleton&&((S=(w=this.instance.config.hand.detector)==null?void 0:w.modelPath)==null?void 0:S.includes("handtrack"))?Ak(this.instance.config):null,(E=(C=this.instance.config.hand.detector)==null?void 0:C.modelPath)!=null&&E.includes("handdetect")&&([a.handpose,a.handskeleton]=this.models.handpose?[null,null]:await ck(this.instance.config)),a.centernet=this.instance.config.object.enabled&&!this.models.centernet&&((_=this.instance.config.object.modelPath)==null?void 0:_.includes("centernet"))?S9(this.instance.config):null,a.nanodet=this.instance.config.object.enabled&&!this.models.nanodet&&(($=this.instance.config.object.modelPath)==null?void 0:$.includes("nanodet"))?Mk(this.instance.config):null,a.selfie=this.instance.config.segmentation.enabled&&!this.models.selfie&&((M=this.instance.config.segmentation.modelPath)==null?void 0:M.includes("selfie"))?hg(this.instance.config):null,a.meet=this.instance.config.segmentation.enabled&&!this.models.meet&&((I=this.instance.config.segmentation.modelPath)==null?void 0:I.includes("meet"))?J5(this.instance.config):null,a.rvm=this.instance.config.segmentation.enabled&&!this.models.rvm&&((N=this.instance.config.segmentation.modelPath)==null?void 0:N.includes("rvm"))?cg(this.instance.config):null;for(let[O,L]of Object.entries(a))L!=null&&L.then&&L.then(B=>this.models[O]=B);await Promise.all(Object.values(a))}list(){let t=Object.keys(this.models).map(a=>{var n;return{name:a,loaded:this.models[a]!==null,size:0,url:this.models[a]?(n=this.models[a])==null?void 0:n.modelUrl:null}});for(let a of t){let n=Object.keys(ha).find(r=>r.startsWith(a.name));!n||(a.size=ha[n].sizeLoadedWeights,a.url=ha[n].url)}return t}loaded(){return this.list().filter(n=>n.loaded).map(n=>n.name)}validate(){let t=[];for(let a of Object.keys(this.models)){let n=this.models[a];if(!n)continue;let r=O0(this.instance,n,a);r&&t.push(r)}return t}};function qk(e,t,a,n,r){var o,l,u,p,c,d;let s=0,i=[];for(let h of e){let f={id:s++,face:h,body:null,hands:{left:null,right:null},gestures:[],box:[0,0,0,0]};for(let b of t)h.box[0]>b.box[0]&&h.box[0]b.box[1]&&h.box[1]+h.box[3]f.body.box[0]&&b.box[0]+b.box[2]f.body.box[1]&&b.box[1]+b.box[3]f.body.box[0]&&b.box[1]+b.box[3]>f.body.box[1]&&b.box[1]+b.box[3]{b&&b.length===4&&(m.push(b[0],b[0]+b[2]),g.push(b[1],b[1]+b[3]))};x(f.face.box),x((p=f.body)==null?void 0:p.box),x((c=f.hands.left)==null?void 0:c.box),x((d=f.hands.right)==null?void 0:d.box);let A=Math.min(...m),y=Math.min(...g);f.box=[A,y,Math.max(...m)-A,Math.max(...g)-y],(r==null?void 0:r[1])&&(r==null?void 0:r[2])&&(f.boxRaw=[f.box[0]/r[2],f.box[1]/r[1],f.box[2]/r[2],f.box[3]/r[1]]),i.push(f)}return i}var D0=` /9j/4AAQSkZJRgABAQEAYABgAAD/4QBoRXhpZgAATU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUA AAABAAAARgEoAAMAAAABAAIAAAExAAIAAAARAAAATgAAAAAAAABgAAAAAQAAAGAAAAABcGFpbnQu bmV0IDQuMi4xMwAA/9sAQwAGBAUGBQQGBgUGBwcGCAoQCgoJCQoUDg8MEBcUGBgXFBYWGh0lHxob @@ -8124,4 +8124,4 @@ AAAAAAJAAAAAAAAAAAAAABAJEAAAAAAAAAAAAAAAIEoBKAAAAAAAAAAAAAAABAlAAAAAAAIAAAAA BAkBAkBAkBAlACEgMZjdjbFW8bWrEx8YWANb6Fp+bfwab+vLDKMFK9qxH5L0bAr8OPRPKz2AY7J2 SbAjYZAI2E7AIEgIEgIEgMdkSy2NgY7MdlmyNoBXsxmFuyNgVTVjNV3KjlBRNTlXTVHKCrlIqt5T lBhEMohlFerLlBjEMohMVTEARDKCITsAk2AEgAAAkAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAD/ -2Q==`;async function g0e(e){let t=(r,s="application/octet-stream")=>fetch(`data:${s};base64,${r}`).then(i=>i.blob()),a,n;switch(e.config.warmup){case"face":a=await t(D0);break;case"body":case"full":a=await t(z0);break;default:a=null}if(a){let r=await createImageBitmap(a);n=await e.detect(r,e.config),r.close()}return n}async function x0e(e){return new Promise(t=>{let a;switch(e.config.warmup){case"face":a="data:image/jpeg;base64,"+D0;break;case"full":case"body":a="data:image/jpeg;base64,"+z0;break;default:a=""}let n;if(typeof Image!="undefined")n=new Image;else if(ne.Image)n=new ne.Image;else return;n.onload=async()=>{let r=Cn(n.naturalWidth,n.naturalHeight);if(!r)K("Warmup: Canvas not found"),t(void 0);else{let s=r.getContext("2d");s&&s.drawImage(n,0,0);let i=await e.image(r,!0),o=i.tensor?await e.detect(i.tensor,e.config):void 0;t(o)}},a?n.src=a:t(void 0)})}async function A0e(e){let t=r=>Buffer.from(r,"base64"),a;e.config.warmup==="face"?a=t(D0):a=t(z0);let n;if("node"in Ue&&ia()==="tensorflow"){let r=(void 0).decodeJpeg(a),s=Gt(r,0);e.tf.dispose(r),n=await e.detect(s,e.config),e.tf.dispose(s)}else e.config.debug&&K("Warmup tfjs-node not loaded");return n}async function y0e(e){let t;return typeof createImageBitmap=="function"?t=await g0e(e):typeof Image!="undefined"||ne.Canvas!==void 0?t=await x0e(e):t=await A0e(e),t}async function b0e(e){var o,l,u,p;if(!W().flagRegistry.ENGINE_COMPILE_ONLY)return;let t=ia(),a=er();if(t!=="webgl"&&t!=="humangl"||!(a!=null&&a.checkCompileCompletion))return;W().set("ENGINE_COMPILE_ONLY",!0);let n=kt().state.numTensors,r=[];for(let[c,d]of Object.entries(e.models).filter(([h,f])=>h!==null&&f!==null)){let h=(d==null?void 0:d.modelSignature)&&((l=(o=d==null?void 0:d.inputs)==null?void 0:o[0])==null?void 0:l.shape)?[...d.inputs[0].shape]:[1,64,64,3],f=(d==null?void 0:d.modelSignature)&&((p=(u=d==null?void 0:d.inputs)==null?void 0:u[0])==null?void 0:p.dtype)?d.inputs[0].dtype:"float32";for(let g=0;gY(x)):Y(g)}catch(g){e.config.debug&&K("compile fail model:",c)}Y(m)}let s=await a.checkCompileCompletionAsync();a.getUniformLocations(),e.config.debug&&K("compile pass:",{models:r,kernels:s.length}),W().set("ENGINE_COMPILE_ONLY",!1);let i=kt().state.numTensors;i-n>0&&K("tensor leak:",i-n)}async function Xk(e,t){await yp(e,!1);let a=te();return e.state="warmup",t&&(e.config=Ct(e.config,t)),!e.config.warmup||e.config.warmup.length===0||e.config.warmup==="none"?ir():new Promise(async n=>{await e.models.load(),await b0e(e);let r=await y0e(e),s=te();e.config.debug&&K("warmup",e.config.warmup,Math.round(s-a),"ms"),e.emit("warmup"),n(r)})}var Ru,Np,Ep,L0,ws,mg=class{constructor(t){le(this,"version");le(this,"config");le(this,"result");le(this,"state");le(this,"process");le(this,"tf");le(this,"env",ne);le(this,"draw",a0);le(this,"match",E0);le(this,"models");le(this,"events");le(this,"faceTriangulation");le(this,"faceUVMap");le(this,"performance");Xo(this,Ru,void 0);Xo(this,Np,void 0);Xo(this,Ep,void 0);le(this,"analyze",(...t)=>{if(!Un(this,Np))return;let a=this.tf.engine().state.numTensors,n=Un(this,Ru);Bu(this,Ru,a);let r=a-n;r!==0&&K(...t,r)});Xo(this,L0,t=>{if(!Un(this,Ep))return null;if(!t)return"input is not defined";if(this.env.node&&!(t instanceof pt))return"input must be a tensor";try{this.tf.getBackend()}catch(a){return"backend not loaded"}return null});le(this,"webcam",new Kh);le(this,"emit",t=>{var a;(a=this.events)!=null&&a.dispatchEvent&&this.events.dispatchEvent(new Event(t))});Xo(this,ws,{});let a=(xp.tfjs||m2).replace(/-(.*)/,"");wo.wasmPath=`https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-wasm@${a}/dist/`,wo.modelBasePath=ne.browser?"../models/":"file://models/",this.version=H3,Object.defineProperty(this,"version",{value:H3}),this.config=JSON.parse(JSON.stringify(wo)),Object.seal(this.config),this.config.cacheModels=typeof indexedDB!="undefined",t&&(this.config=Ct(this.config,t)),i9(this.config),this.tf=Ue,this.state="idle",Bu(this,Ru,0),Bu(this,Np,!1),Bu(this,Ep,!1),this.performance={},this.events=typeof EventTarget!="undefined"?new EventTarget:void 0,this.models=new Cp(this),J3(),this.result=ir(),this.process={tensor:null,canvas:null},this.faceTriangulation=J9,this.faceUVMap=Q9,O0(this,null,""),this.emit("create"),(this.config.debug||this.env.browser)&&K(`version: ${this.version}`),this.config.debug&&K(`tfjs version: ${this.tf.version["tfjs-core"]}`);let n=JSON.parse(JSON.stringify(this.env));delete n.kernels,delete n.initial,delete n.perfadd,this.config.debug&&K("environment:",n)}reset(){let t=this.config.backend;this.config=JSON.parse(JSON.stringify(wo)),this.config.backend=t,U3(),ne.initial=!0}validate(t){let a=B3(wo,t||this.config);return a.length===0&&(this.config=Ct(this.config,t)),a}now(){return te()}image(t,a=!1){return qh(t,this.config,a)}async segmentation(t,a){var s,i,o;if(a&&(this.config=Ct(this.config,a)),!this.config.segmentation.enabled)return null;let n=await qh(t,this.config);if(!n.tensor)return null;let r=null;return(s=this.config.segmentation.modelPath)!=null&&s.includes("rvm")&&(r=await Uk(n.tensor,this.config)),(i=this.config.segmentation.modelPath)!=null&&i.includes("meet")&&(r=await vk(n.tensor,this.config)),(o=this.config.segmentation.modelPath)!=null&&o.includes("selfie")&&(r=await Hk(n.tensor,this.config)),Y(n.tensor),r}compare(t,a){return s9(this.config,t,a)}async init(){await yp(this,!0),await this.tf.ready(),U3()}async load(t){this.state="load";let a=te(),n=Object.values(this.models.models).filter(i=>i).length;t&&(this.config=Ct(this.config,t)),this.env.initial&&(await yp(this,!1)||K("error: backend check failed"),await Kd(),this.env.browser&&(this.config.debug&&K("configuration:",this.config),this.config.debug&&K("tf flags:",this.tf.ENV.flags))),await this.models.load(this),this.env.initial&&this.config.debug&&K("tf engine state:",this.tf.engine().state.numBytes,"bytes",this.tf.engine().state.numTensors,"tensors"),this.env.initial=!1,Object.values(this.models.models).filter(i=>i).length!==n&&(this.models.validate(),this.emit("load"));let s=Math.trunc(te()-a);s>(this.performance.loadModels||0)&&(this.performance.loadModels=this.env.perfadd?(this.performance.loadModels||0)+s:s)}next(t=this.result){return bk(t,this.config)}async warmup(t){let a=te(),n=await Xk(this,t),r=te();return this.performance.warmup=Math.trunc(r-a),n}async profile(t,a){let n=await this.tf.profile(()=>this.detect(t,a)),r={},s=0;for(let o of n.kernels){let l=Number(o.kernelTimeMs)||0;r[o.name]?r[o.name]+=l:r[o.name]=l,s+=l}let i=[];Object.entries(r).forEach(o=>i.push({kernel:o[0],time:o[1],perc:0}));for(let o of i)o.perc=Math.round(1e3*o.time/s)/1e3,o.time=Math.round(1e3*o.time)/1e3;return i.sort((o,l)=>l.time-o.time),i.length=20,i}async detect(t,a){return this.state="detect",new Promise(async n=>{var g,x,A,y,b,w,S,C,E,_,$,M,I,N,O,L,B,G,j,U,H;this.state="config";let r;this.config=Ct(this.config,a),this.state="check";let s=Un(this,L0).call(this,t);s&&(K(s,t),this.emit("error"),n(ir(s)));let i=te();await this.load(),r=te(),this.state="image";let o=await qh(t,this.config);if(this.process=o,this.performance.inputProcess=this.env.perfadd?(this.performance.inputProcess||0)+Math.trunc(te()-r):Math.trunc(te()-r),this.analyze("Get Image:"),!o.tensor){this.config.debug&&K("could not convert input to tensor"),this.emit("error"),n(ir("could not convert input to tensor"));return}this.emit("image"),r=te(),this.config.skipAllowed=await r9(this.config,o.tensor),this.config.filter.autoBrightness=(this.config.filter.autoBrightness||!1)&&this.config.skipAllowed,this.performance.totalFrames||(this.performance.totalFrames=0),this.performance.cachedFrames||(this.performance.cachedFrames=0),this.performance.totalFrames++,this.config.skipAllowed&&this.performance.cachedFrames++,this.performance.cacheCheck=this.env.perfadd?(this.performance.cacheCheck||0)+Math.trunc(te()-r):Math.trunc(te()-r),this.analyze("Check Changed:");let l=[],u=[],p=[],c=[];this.state="detect:face",this.config.async?(l=this.config.face.enabled?L5(this,o.tensor):[],this.performance.face&&delete this.performance.face):(r=te(),l=this.config.face.enabled?await L5(this,o.tensor):[],this.performance.face=this.env.perfadd?(this.performance.face||0)+Math.trunc(te()-r):Math.trunc(te()-r)),this.config.async&&(this.config.body.maxDetected===-1||this.config.hand.maxDetected===-1)&&(l=await l),this.analyze("Start Body:"),this.state="detect:body";let d=this.config.body.maxDetected===-1?Ct(this.config,{body:{maxDetected:this.config.face.enabled?1*l.length:1}}):this.config;this.config.async?((g=this.config.body.modelPath)!=null&&g.includes("posenet")?u=this.config.body.enabled?ug(o.tensor,d):[]:(x=this.config.body.modelPath)!=null&&x.includes("blazepose")?u=this.config.body.enabled?n5(o.tensor,d):[]:(A=this.config.body.modelPath)!=null&&A.includes("efficientpose")?u=this.config.body.enabled?d5(o.tensor,d):[]:(y=this.config.body.modelPath)!=null&&y.includes("movenet")&&(u=this.config.body.enabled?ag(o.tensor,d):[]),this.performance.body&&delete this.performance.body):(r=te(),(b=this.config.body.modelPath)!=null&&b.includes("posenet")?u=this.config.body.enabled?await ug(o.tensor,d):[]:(w=this.config.body.modelPath)!=null&&w.includes("blazepose")?u=this.config.body.enabled?await n5(o.tensor,d):[]:(S=this.config.body.modelPath)!=null&&S.includes("efficientpose")?u=this.config.body.enabled?await d5(o.tensor,d):[]:(C=this.config.body.modelPath)!=null&&C.includes("movenet")&&(u=this.config.body.enabled?await ag(o.tensor,d):[]),this.performance.body=this.env.perfadd?(this.performance.body||0)+Math.trunc(te()-r):Math.trunc(te()-r)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.state="detect:hand";let h=this.config.hand.maxDetected===-1?Ct(this.config,{hand:{maxDetected:this.config.face.enabled?2*l.length:1}}):this.config;this.config.async?((_=(E=this.config.hand.detector)==null?void 0:E.modelPath)!=null&&_.includes("handdetect")?p=this.config.hand.enabled?G5(o.tensor,h):[]:(M=($=this.config.hand.detector)==null?void 0:$.modelPath)!=null&&M.includes("handtrack")&&(p=this.config.hand.enabled?q5(o.tensor,h):[]),this.performance.hand&&delete this.performance.hand):(r=te(),(N=(I=this.config.hand.detector)==null?void 0:I.modelPath)!=null&&N.includes("handdetect")?p=this.config.hand.enabled?await G5(o.tensor,h):[]:(L=(O=this.config.hand.detector)==null?void 0:O.modelPath)!=null&&L.includes("handtrack")&&(p=this.config.hand.enabled?await q5(o.tensor,h):[]),this.performance.hand=this.env.perfadd?(this.performance.hand||0)+Math.trunc(te()-r):Math.trunc(te()-r)),this.analyze("End Hand:"),this.analyze("Start Object:"),this.state="detect:object",this.config.async?((B=this.config.object.modelPath)!=null&&B.includes("nanodet")?c=this.config.object.enabled?rg(o.tensor,this.config):[]:(G=this.config.object.modelPath)!=null&&G.includes("centernet")&&(c=this.config.object.enabled?i5(o.tensor,this.config):[]),this.performance.object&&delete this.performance.object):(r=te(),(j=this.config.object.modelPath)!=null&&j.includes("nanodet")?c=this.config.object.enabled?await rg(o.tensor,this.config):[]:(U=this.config.object.modelPath)!=null&&U.includes("centernet")&&(c=this.config.object.enabled?await i5(o.tensor,this.config):[]),this.performance.object=this.env.perfadd?(this.performance.object||0)+Math.trunc(te()-r):Math.trunc(te()-r)),this.analyze("End Object:"),this.state="detect:await",this.config.async&&([l,u,p,c]=await Promise.all([l,u,p,c])),this.state="detect:gesture";let f=[];this.config.gesture.enabled&&(r=te(),f=[...Zw(l),...Kw(u),...Jw(p),...Yw(l)],this.config.async?this.performance.gesture&&delete this.performance.gesture:this.performance.gesture=this.env.perfadd?(this.performance.gesture||0)+Math.trunc(te()-r):Math.trunc(te()-r)),this.performance.total=this.env.perfadd?(this.performance.total||0)+Math.trunc(te()-i):Math.trunc(te()-i);let m=((H=this.process.tensor)==null?void 0:H.shape)||[0,0,0,0];this.result={face:l,body:u,hand:p,gesture:f,object:c,performance:this.performance,canvas:this.process.canvas,timestamp:Date.now(),error:null,width:m[2],height:m[1],get persons(){return qk(l,u,p,f,m)}},Y(o.tensor),this.emit("detect"),this.state="idle",n(this.result)})}async sleep(t){return new Promise(a=>{setTimeout(a,t)})}async video(t,a=!0,n=0){a?(Un(this,ws)[t.id]||(this.config.debug&&K("video start",t.id),Un(this,ws)[t.id]=!0),!t.paused&&Un(this,ws)[t.id]&&t.readyState>=2&&await this.detect(t),n>0&&await this.sleep(n),Un(this,ws)[t.id]&&requestAnimationFrame(()=>this.video(t,a,n))):(this.config.debug&&K("video stop",t.id),Un(this,ws)[t.id]=!1)}};Ru=new WeakMap,Np=new WeakMap,Ep=new WeakMap,L0=new WeakMap,ws=new WeakMap;return _I(w0e);})(); +2Q==`;async function g0e(e){let t=(r,s="application/octet-stream")=>fetch(`data:${s};base64,${r}`).then(i=>i.blob()),a,n;switch(e.config.warmup){case"face":a=await t(D0);break;case"body":case"full":a=await t(z0);break;default:a=null}if(a){let r=await createImageBitmap(a);n=await e.detect(r,e.config),r.close()}return n}async function x0e(e){return new Promise(t=>{let a;switch(e.config.warmup){case"face":a="data:image/jpeg;base64,"+D0;break;case"full":case"body":a="data:image/jpeg;base64,"+z0;break;default:a=""}let n;if(typeof Image!="undefined")n=new Image;else if(ne.Image)n=new ne.Image;else return;n.onload=async()=>{let r=Cn(n.naturalWidth,n.naturalHeight);if(!r)K("Warmup: Canvas not found"),t(void 0);else{let s=r.getContext("2d");s&&s.drawImage(n,0,0);let i=await e.image(r,!0),o=i.tensor?await e.detect(i.tensor,e.config):void 0;t(o)}},a?n.src=a:t(void 0)})}async function A0e(e){let t=r=>Buffer.from(r,"base64"),a;e.config.warmup==="face"?a=t(D0):a=t(z0);let n;if("node"in Ue&&ia()==="tensorflow"){let r=(void 0).decodeJpeg(a),s=Gt(r,0);e.tf.dispose(r),n=await e.detect(s,e.config),e.tf.dispose(s)}else e.config.debug&&K("Warmup tfjs-node not loaded");return n}async function y0e(e){let t;return typeof createImageBitmap=="function"?t=await g0e(e):typeof Image!="undefined"||ne.Canvas!==void 0?t=await x0e(e):t=await A0e(e),t}async function b0e(e){var o,l,u,p;if(!W().flagRegistry.ENGINE_COMPILE_ONLY)return;let t=ia(),a=er();if(t!=="webgl"&&t!=="humangl"||!(a!=null&&a.checkCompileCompletion))return;W().set("ENGINE_COMPILE_ONLY",!0);let n=kt().state.numTensors,r=[];for(let[c,d]of Object.entries(e.models.models)){if(!d)continue;let h=(d==null?void 0:d.modelSignature)&&((l=(o=d==null?void 0:d.inputs)==null?void 0:o[0])==null?void 0:l.shape)?[...d.inputs[0].shape]:[1,64,64,3],f=(d==null?void 0:d.modelSignature)&&((p=(u=d==null?void 0:d.inputs)==null?void 0:u[0])==null?void 0:p.dtype)?d.inputs[0].dtype:"float32";for(let g=0;gY(x)):Y(g)}catch(g){e.config.debug&&K("compile fail model:",c)}Y(m)}let s=await a.checkCompileCompletionAsync();a.getUniformLocations(),e.config.debug&&K("compile pass:",{models:r,kernels:s.length}),W().set("ENGINE_COMPILE_ONLY",!1);let i=kt().state.numTensors;i-n>0&&K("tensor leak:",i-n)}async function Xk(e,t){await yp(e,!1);let a=te();return e.state="warmup",t&&(e.config=Ct(e.config,t)),!e.config.warmup||e.config.warmup.length===0||e.config.warmup==="none"?ir():new Promise(async n=>{await e.models.load(),await b0e(e);let r=await y0e(e),s=te();e.config.debug&&K("warmup",e.config.warmup,Math.round(s-a),"ms"),e.emit("warmup"),n(r)})}var Ru,Np,Ep,L0,ws,mg=class{constructor(t){le(this,"version");le(this,"config");le(this,"result");le(this,"state");le(this,"process");le(this,"tf");le(this,"env",ne);le(this,"draw",a0);le(this,"match",E0);le(this,"models");le(this,"events");le(this,"faceTriangulation");le(this,"faceUVMap");le(this,"performance");Xo(this,Ru,void 0);Xo(this,Np,void 0);Xo(this,Ep,void 0);le(this,"analyze",(...t)=>{if(!Un(this,Np))return;let a=this.tf.engine().state.numTensors,n=Un(this,Ru);Bu(this,Ru,a);let r=a-n;r!==0&&K(...t,r)});Xo(this,L0,t=>{if(!Un(this,Ep))return null;if(!t)return"input is not defined";if(this.env.node&&!(t instanceof pt))return"input must be a tensor";try{this.tf.getBackend()}catch(a){return"backend not loaded"}return null});le(this,"webcam",new Kh);le(this,"emit",t=>{var a;(a=this.events)!=null&&a.dispatchEvent&&this.events.dispatchEvent(new Event(t))});Xo(this,ws,{});let a=(xp.tfjs||m2).replace(/-(.*)/,"");wo.wasmPath=`https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-wasm@${a}/dist/`,wo.modelBasePath=ne.browser?"../models/":"file://models/",this.version=H3,Object.defineProperty(this,"version",{value:H3}),this.config=JSON.parse(JSON.stringify(wo)),Object.seal(this.config),this.config.cacheModels=typeof indexedDB!="undefined",t&&(this.config=Ct(this.config,t)),i9(this.config),this.tf=Ue,this.state="idle",Bu(this,Ru,0),Bu(this,Np,!1),Bu(this,Ep,!1),this.performance={},this.events=typeof EventTarget!="undefined"?new EventTarget:void 0,this.models=new Cp(this),J3(),this.result=ir(),this.process={tensor:null,canvas:null},this.faceTriangulation=J9,this.faceUVMap=Q9,O0(this,null,""),this.emit("create"),(this.config.debug||this.env.browser)&&K(`version: ${this.version}`),this.config.debug&&K(`tfjs version: ${this.tf.version["tfjs-core"]}`);let n=JSON.parse(JSON.stringify(this.env));delete n.kernels,delete n.initial,delete n.perfadd,this.config.debug&&K("environment:",n)}reset(){let t=this.config.backend;this.config=JSON.parse(JSON.stringify(wo)),this.config.backend=t,U3(),ne.initial=!0}validate(t){let a=B3(wo,t||this.config);return a.length===0&&(this.config=Ct(this.config,t)),a}now(){return te()}image(t,a=!1){return qh(t,this.config,a)}async segmentation(t,a){var s,i,o;if(a&&(this.config=Ct(this.config,a)),!this.config.segmentation.enabled)return null;let n=await qh(t,this.config);if(!n.tensor)return null;let r=null;return(s=this.config.segmentation.modelPath)!=null&&s.includes("rvm")&&(r=await Uk(n.tensor,this.config)),(i=this.config.segmentation.modelPath)!=null&&i.includes("meet")&&(r=await vk(n.tensor,this.config)),(o=this.config.segmentation.modelPath)!=null&&o.includes("selfie")&&(r=await Hk(n.tensor,this.config)),Y(n.tensor),r}compare(t,a){return s9(this.config,t,a)}async init(){await yp(this,!0),await this.tf.ready(),U3()}async load(t){this.state="load";let a=te(),n=Object.values(this.models.models).filter(i=>i).length;t&&(this.config=Ct(this.config,t)),this.env.initial&&(await yp(this,!1)||K("error: backend check failed"),await Kd(),this.env.browser&&(this.config.debug&&K("configuration:",this.config),this.config.debug&&K("tf flags:",this.tf.ENV.flags))),await this.models.load(this),this.env.initial&&this.config.debug&&K("tf engine state:",this.tf.engine().state.numBytes,"bytes",this.tf.engine().state.numTensors,"tensors"),this.env.initial=!1,Object.values(this.models.models).filter(i=>i).length!==n&&(this.models.validate(),this.emit("load"));let s=Math.trunc(te()-a);s>(this.performance.loadModels||0)&&(this.performance.loadModels=this.env.perfadd?(this.performance.loadModels||0)+s:s)}next(t=this.result){return bk(t,this.config)}async warmup(t){let a=te(),n=await Xk(this,t),r=te();return this.performance.warmup=Math.trunc(r-a),n}async profile(t,a){let n=await this.tf.profile(()=>this.detect(t,a)),r={},s=0;for(let o of n.kernels){let l=Number(o.kernelTimeMs)||0;r[o.name]?r[o.name]+=l:r[o.name]=l,s+=l}let i=[];Object.entries(r).forEach(o=>i.push({kernel:o[0],time:o[1],perc:0}));for(let o of i)o.perc=Math.round(1e3*o.time/s)/1e3,o.time=Math.round(1e3*o.time)/1e3;return i.sort((o,l)=>l.time-o.time),i.length=20,i}async detect(t,a){return this.state="detect",new Promise(async n=>{var g,x,A,y,b,w,S,C,E,_,$,M,I,N,O,L,B,G,j,U,H;this.state="config";let r;this.config=Ct(this.config,a),this.state="check";let s=Un(this,L0).call(this,t);s&&(K(s,t),this.emit("error"),n(ir(s)));let i=te();await this.load(),r=te(),this.state="image";let o=await qh(t,this.config);if(this.process=o,this.performance.inputProcess=this.env.perfadd?(this.performance.inputProcess||0)+Math.trunc(te()-r):Math.trunc(te()-r),this.analyze("Get Image:"),!o.tensor){this.config.debug&&K("could not convert input to tensor"),this.emit("error"),n(ir("could not convert input to tensor"));return}this.emit("image"),r=te(),this.config.skipAllowed=await r9(this.config,o.tensor),this.config.filter.autoBrightness=(this.config.filter.autoBrightness||!1)&&this.config.skipAllowed,this.performance.totalFrames||(this.performance.totalFrames=0),this.performance.cachedFrames||(this.performance.cachedFrames=0),this.performance.totalFrames++,this.config.skipAllowed&&this.performance.cachedFrames++,this.performance.cacheCheck=this.env.perfadd?(this.performance.cacheCheck||0)+Math.trunc(te()-r):Math.trunc(te()-r),this.analyze("Check Changed:");let l=[],u=[],p=[],c=[];this.state="detect:face",this.config.async?(l=this.config.face.enabled?L5(this,o.tensor):[],this.performance.face&&delete this.performance.face):(r=te(),l=this.config.face.enabled?await L5(this,o.tensor):[],this.performance.face=this.env.perfadd?(this.performance.face||0)+Math.trunc(te()-r):Math.trunc(te()-r)),this.config.async&&(this.config.body.maxDetected===-1||this.config.hand.maxDetected===-1)&&(l=await l),this.analyze("Start Body:"),this.state="detect:body";let d=this.config.body.maxDetected===-1?Ct(this.config,{body:{maxDetected:this.config.face.enabled?1*l.length:1}}):this.config;this.config.async?((g=this.config.body.modelPath)!=null&&g.includes("posenet")?u=this.config.body.enabled?ug(o.tensor,d):[]:(x=this.config.body.modelPath)!=null&&x.includes("blazepose")?u=this.config.body.enabled?n5(o.tensor,d):[]:(A=this.config.body.modelPath)!=null&&A.includes("efficientpose")?u=this.config.body.enabled?d5(o.tensor,d):[]:(y=this.config.body.modelPath)!=null&&y.includes("movenet")&&(u=this.config.body.enabled?ag(o.tensor,d):[]),this.performance.body&&delete this.performance.body):(r=te(),(b=this.config.body.modelPath)!=null&&b.includes("posenet")?u=this.config.body.enabled?await ug(o.tensor,d):[]:(w=this.config.body.modelPath)!=null&&w.includes("blazepose")?u=this.config.body.enabled?await n5(o.tensor,d):[]:(S=this.config.body.modelPath)!=null&&S.includes("efficientpose")?u=this.config.body.enabled?await d5(o.tensor,d):[]:(C=this.config.body.modelPath)!=null&&C.includes("movenet")&&(u=this.config.body.enabled?await ag(o.tensor,d):[]),this.performance.body=this.env.perfadd?(this.performance.body||0)+Math.trunc(te()-r):Math.trunc(te()-r)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.state="detect:hand";let h=this.config.hand.maxDetected===-1?Ct(this.config,{hand:{maxDetected:this.config.face.enabled?2*l.length:1}}):this.config;this.config.async?((_=(E=this.config.hand.detector)==null?void 0:E.modelPath)!=null&&_.includes("handdetect")?p=this.config.hand.enabled?G5(o.tensor,h):[]:(M=($=this.config.hand.detector)==null?void 0:$.modelPath)!=null&&M.includes("handtrack")&&(p=this.config.hand.enabled?q5(o.tensor,h):[]),this.performance.hand&&delete this.performance.hand):(r=te(),(N=(I=this.config.hand.detector)==null?void 0:I.modelPath)!=null&&N.includes("handdetect")?p=this.config.hand.enabled?await G5(o.tensor,h):[]:(L=(O=this.config.hand.detector)==null?void 0:O.modelPath)!=null&&L.includes("handtrack")&&(p=this.config.hand.enabled?await q5(o.tensor,h):[]),this.performance.hand=this.env.perfadd?(this.performance.hand||0)+Math.trunc(te()-r):Math.trunc(te()-r)),this.analyze("End Hand:"),this.analyze("Start Object:"),this.state="detect:object",this.config.async?((B=this.config.object.modelPath)!=null&&B.includes("nanodet")?c=this.config.object.enabled?rg(o.tensor,this.config):[]:(G=this.config.object.modelPath)!=null&&G.includes("centernet")&&(c=this.config.object.enabled?i5(o.tensor,this.config):[]),this.performance.object&&delete this.performance.object):(r=te(),(j=this.config.object.modelPath)!=null&&j.includes("nanodet")?c=this.config.object.enabled?await rg(o.tensor,this.config):[]:(U=this.config.object.modelPath)!=null&&U.includes("centernet")&&(c=this.config.object.enabled?await i5(o.tensor,this.config):[]),this.performance.object=this.env.perfadd?(this.performance.object||0)+Math.trunc(te()-r):Math.trunc(te()-r)),this.analyze("End Object:"),this.state="detect:await",this.config.async&&([l,u,p,c]=await Promise.all([l,u,p,c])),this.state="detect:gesture";let f=[];this.config.gesture.enabled&&(r=te(),f=[...Zw(l),...Kw(u),...Jw(p),...Yw(l)],this.config.async?this.performance.gesture&&delete this.performance.gesture:this.performance.gesture=this.env.perfadd?(this.performance.gesture||0)+Math.trunc(te()-r):Math.trunc(te()-r)),this.performance.total=this.env.perfadd?(this.performance.total||0)+Math.trunc(te()-i):Math.trunc(te()-i);let m=((H=this.process.tensor)==null?void 0:H.shape)||[0,0,0,0];this.result={face:l,body:u,hand:p,gesture:f,object:c,performance:this.performance,canvas:this.process.canvas,timestamp:Date.now(),error:null,width:m[2],height:m[1],get persons(){return qk(l,u,p,f,m)}},Y(o.tensor),this.emit("detect"),this.state="idle",n(this.result)})}async sleep(t){return new Promise(a=>{setTimeout(a,t)})}async video(t,a=!0,n=0){a?(Un(this,ws)[t.id]||(this.config.debug&&K("video start",t.id),Un(this,ws)[t.id]=!0),!t.paused&&Un(this,ws)[t.id]&&t.readyState>=2&&await this.detect(t),n>0&&await this.sleep(n),Un(this,ws)[t.id]&&requestAnimationFrame(()=>this.video(t,a,n))):(this.config.debug&&K("video stop",t.id),Un(this,ws)[t.id]=!1)}};Ru=new WeakMap,Np=new WeakMap,Ep=new WeakMap,L0=new WeakMap,ws=new WeakMap;return _I(w0e);})(); diff --git a/dist/human.node-gpu.js b/dist/human.node-gpu.js index 9c7da48b..0e3d6a63 100644 --- a/dist/human.node-gpu.js +++ b/dist/human.node-gpu.js @@ -286,7 +286,7 @@ var config = { modelPath: "handtrack.json" }, skeleton: { - modelPath: "handlandmark-full.json" + modelPath: "handlandmark-lite.json" } }, object: { @@ -13862,9 +13862,11 @@ var Models = class { m.selfie = this.instance.config.segmentation.enabled && !this.models.selfie && ((_y = this.instance.config.segmentation.modelPath) == null ? void 0 : _y.includes("selfie")) ? load21(this.instance.config) : null; m.meet = this.instance.config.segmentation.enabled && !this.models.meet && ((_z = this.instance.config.segmentation.modelPath) == null ? void 0 : _z.includes("meet")) ? load16(this.instance.config) : null; m.rvm = this.instance.config.segmentation.enabled && !this.models.rvm && ((_A = this.instance.config.segmentation.modelPath) == null ? void 0 : _A.includes("rvm")) ? load20(this.instance.config) : null; - await Promise.all([...Object.values(m)]); - for (const model23 of Object.keys(m)) - this.models[model23] = m[model23] || this.models[model23] || null; + for (const [model23, promise] of Object.entries(m)) { + if (promise == null ? void 0 : promise["then"]) + promise["then"]((val) => this.models[model23] = val); + } + await Promise.all(Object.values(m)); } list() { const models3 = Object.keys(this.models).map((model23) => { @@ -14789,7 +14791,9 @@ async function runCompile(instance) { tf37.env().set("ENGINE_COMPILE_ONLY", true); const numTensorsStart = tf37.engine().state.numTensors; const compiledModels = []; - for (const [modelName, model23] of Object.entries(instance.models).filter(([key, val]) => key !== null && val !== null)) { + for (const [modelName, model23] of Object.entries(instance.models.models)) { + if (!model23) + continue; const shape = (model23 == null ? void 0 : model23.modelSignature) && ((_b = (_a = model23 == null ? void 0 : model23.inputs) == null ? void 0 : _a[0]) == null ? void 0 : _b.shape) ? [...model23.inputs[0].shape] : [1, 64, 64, 3]; const dtype = (model23 == null ? void 0 : model23.modelSignature) && ((_d = (_c = model23 == null ? void 0 : model23.inputs) == null ? void 0 : _c[0]) == null ? void 0 : _d.dtype) ? model23.inputs[0].dtype : "float32"; for (let dim = 0; dim < shape.length; dim++) { diff --git a/dist/human.node-wasm.js b/dist/human.node-wasm.js index 00f17911..7a17a899 100644 --- a/dist/human.node-wasm.js +++ b/dist/human.node-wasm.js @@ -288,7 +288,7 @@ var config = { modelPath: "handtrack.json" }, skeleton: { - modelPath: "handlandmark-full.json" + modelPath: "handlandmark-lite.json" } }, object: { @@ -13864,9 +13864,11 @@ var Models = class { m.selfie = this.instance.config.segmentation.enabled && !this.models.selfie && ((_y = this.instance.config.segmentation.modelPath) == null ? void 0 : _y.includes("selfie")) ? load21(this.instance.config) : null; m.meet = this.instance.config.segmentation.enabled && !this.models.meet && ((_z = this.instance.config.segmentation.modelPath) == null ? void 0 : _z.includes("meet")) ? load16(this.instance.config) : null; m.rvm = this.instance.config.segmentation.enabled && !this.models.rvm && ((_A = this.instance.config.segmentation.modelPath) == null ? void 0 : _A.includes("rvm")) ? load20(this.instance.config) : null; - await Promise.all([...Object.values(m)]); - for (const model23 of Object.keys(m)) - this.models[model23] = m[model23] || this.models[model23] || null; + for (const [model23, promise] of Object.entries(m)) { + if (promise == null ? void 0 : promise["then"]) + promise["then"]((val) => this.models[model23] = val); + } + await Promise.all(Object.values(m)); } list() { const models3 = Object.keys(this.models).map((model23) => { @@ -14791,7 +14793,9 @@ async function runCompile(instance) { tf37.env().set("ENGINE_COMPILE_ONLY", true); const numTensorsStart = tf37.engine().state.numTensors; const compiledModels = []; - for (const [modelName, model23] of Object.entries(instance.models).filter(([key, val]) => key !== null && val !== null)) { + for (const [modelName, model23] of Object.entries(instance.models.models)) { + if (!model23) + continue; const shape = (model23 == null ? void 0 : model23.modelSignature) && ((_b = (_a = model23 == null ? void 0 : model23.inputs) == null ? void 0 : _a[0]) == null ? void 0 : _b.shape) ? [...model23.inputs[0].shape] : [1, 64, 64, 3]; const dtype = (model23 == null ? void 0 : model23.modelSignature) && ((_d = (_c = model23 == null ? void 0 : model23.inputs) == null ? void 0 : _c[0]) == null ? void 0 : _d.dtype) ? model23.inputs[0].dtype : "float32"; for (let dim = 0; dim < shape.length; dim++) { diff --git a/dist/human.node.js b/dist/human.node.js index 674be4a3..a350f71a 100644 --- a/dist/human.node.js +++ b/dist/human.node.js @@ -286,7 +286,7 @@ var config = { modelPath: "handtrack.json" }, skeleton: { - modelPath: "handlandmark-full.json" + modelPath: "handlandmark-lite.json" } }, object: { @@ -13862,9 +13862,11 @@ var Models = class { m.selfie = this.instance.config.segmentation.enabled && !this.models.selfie && ((_y = this.instance.config.segmentation.modelPath) == null ? void 0 : _y.includes("selfie")) ? load21(this.instance.config) : null; m.meet = this.instance.config.segmentation.enabled && !this.models.meet && ((_z = this.instance.config.segmentation.modelPath) == null ? void 0 : _z.includes("meet")) ? load16(this.instance.config) : null; m.rvm = this.instance.config.segmentation.enabled && !this.models.rvm && ((_A = this.instance.config.segmentation.modelPath) == null ? void 0 : _A.includes("rvm")) ? load20(this.instance.config) : null; - await Promise.all([...Object.values(m)]); - for (const model23 of Object.keys(m)) - this.models[model23] = m[model23] || this.models[model23] || null; + for (const [model23, promise] of Object.entries(m)) { + if (promise == null ? void 0 : promise["then"]) + promise["then"]((val) => this.models[model23] = val); + } + await Promise.all(Object.values(m)); } list() { const models3 = Object.keys(this.models).map((model23) => { @@ -14789,7 +14791,9 @@ async function runCompile(instance) { tf37.env().set("ENGINE_COMPILE_ONLY", true); const numTensorsStart = tf37.engine().state.numTensors; const compiledModels = []; - for (const [modelName, model23] of Object.entries(instance.models).filter(([key, val]) => key !== null && val !== null)) { + for (const [modelName, model23] of Object.entries(instance.models.models)) { + if (!model23) + continue; const shape = (model23 == null ? void 0 : model23.modelSignature) && ((_b = (_a = model23 == null ? void 0 : model23.inputs) == null ? void 0 : _a[0]) == null ? void 0 : _b.shape) ? [...model23.inputs[0].shape] : [1, 64, 64, 3]; const dtype = (model23 == null ? void 0 : model23.modelSignature) && ((_d = (_c = model23 == null ? void 0 : model23.inputs) == null ? void 0 : _c[0]) == null ? void 0 : _d.dtype) ? model23.inputs[0].dtype : "float32"; for (let dim = 0; dim < shape.length; dim++) { diff --git a/models/handlandmark-full.bin b/models/handlandmark-full.bin deleted file mode 100644 index 363b4688de2a480d498921ace088fe4a6ffbf92f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5431368 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 z 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

WAiS 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ξ) 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
{2d4&Tj!-qOy9*ek8NJb8NT1 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 z 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

|IsVC; z=$Fo8lUGFju3e!W{Z+KE@14RAoZFmih5cgBF84IdM0TRXwqeoTZ#tf9|0R^bY@U~U z&u*NQ8Z-7a1>;}DFKC0Yi0@ku!OUc>;tRzL%dvkrbHyUHOnW4LQT+k&a&r1=UF!p5 z=()xR!Zq|`^8Q4#xKa5gIU1$Y^jH~v<9nmWFZT2OtdyY+jebn5Bk@P(RP$=BT)1rc zRFyuctx+shE_R-U){Z~557(V-d(ghrU6fSC4UuODf9`1zGa8D;xABWTFUJd-&vadB z|GEz&N!1PF(uQT;EtqwuFS}XQ$rs-4N&gl(?en1oz7Ec*ilswJkHgLZbvb{$^Qp%0xWsxdC6Ja`2<60=}%x<>Omb z&gntUM=lmvFI3c_PeLDoM>E9)qyv4(%h-pVAddj&QPn(>VKlCaXLzqgdc2wt*OU1O z_@)aJ(twO`-Pk4r;Z(2^Bz*o(<|7uF#p1`V*5b%0ed~DXy{cI>HDS>!M$DlZ5M?+e#mF`tUB?=!ko( zHssLj{Tmd_KkV!YPDvJvW=FT{Q1`ck30FrbpFVaDS}|%h{af_zNDd963@;aLm|Lv@ zc|RSVrX-Scl+?;c(W?4(C$*&1+5o>R`#Q^m6__h%h39W%C zdp;5Qd<@hGvrkY`Qp-RMi~t*$jG6UWW=OLX?Zza<8tga~Ng3R531gC{p^*8Jj==KH zj`Usn25NB3XX&i2fypq-v352_R%*l)x-)PN4T+@pl`>_x;gmshn2npIWxSDE5<>*t8L^Bw!+BO9U2C{hBCKanSuLqI95=K$ z8A-F$pg7FZtiz6W?~-EQaE89rVw8qN9I{j*|2y0hh4N5*8I!rJjzLSr;8@3SjAf+; z#Tt^9dLy-1I&x<%Lx*XDlbGQ%I$V;~V~QQ=JL|LK(4Zy9zI28}$|Wahq3f`oM28}v z<~+y~hqMNh=<_O|^=RLZjw_Fjq4zxlEw4lcYO{5s-SKMsOwVc2W^qqjGu;#ZPq0WF z?Mw_{3V*RMIX+?aJ`~*$YxJoYHUH({4Hkz`12%C|s@&ERd%S5?|7qI1MW&)qfM}tdn>Ts{Y%S_(R9nhk=tWO)wC<6ViuLC7*j|en@i#^g1R|)7OW0_&r3xE zuG#dpa&zb(;a8On@w1eJ>DZQ|J#NvQ-t5Xtj25@`bA6>KUIBYeFCEx@egB4Jx3b-K zfj3_)biUMdO2C4(yzgVQr(-qP z%zmiX+-t`HVEOiZY&7MH>)biw@ZhDLr$^3qz0!*rH@xFJ+5)8%)ShjIF0# zJ%#FlbTl2Q71A>IYSoN2gWA-6{9NzKq2smYWNCC;&?+*aa(YC4E7?SU#6L`*n<^I% z`PcdW;yK3gb!J7PfezTzk$I-pLXU^4=<;!&Y5B=()x)Ch#HMk#I{p^;Lo9av9=g$1 zjW6n9nCatc^tY7I6R>jIpg!S0H9k4x5P{TVjm_eTND(#C{Y{UW&%pYy7SuXNt7W3! zH92`nZ0f*+@rzb}KmO9#7jAdpLhtD=?jN~3W5fNwJ=4}yqtwuP_Xnt3KfNX$e+zSF ztzF@m$aJ?(pJVy-p<_0Vxx%SbPiT7BsMnwU>u2a-z8by9l>=@;JA-Y2gYOC=V z^ILm+Y)A4BtmGiX*`8xV8rEArCG_fzU-UfNJbG|#YZ|K*_%?RepA{(5&hj--zW7`G z7Ga@{_x{>cDE6WCAv^l6{bO>(W2N`{o^n>X$~&s*uI?`Pbh^E1|BJYu<317_7QbJK?!4P-7;{n?~H;#4WAdQpV$c zk-JcbVoKm$LTv+~-Zq6?&5kY1_-G~iS-_T-hFZ}C&O_(;xF)11Tl(~Nar|4L<`10h z{D$6XaF_{1z#;GP{{Y(ba9(nQMkbdUStr6U2&Gr9sQGp|{ z&E4+$KkM%20bRLfvK(J_I<99#7ZMQwPq+<`kHh z=V9o8V+WkyI@yZMmZG{XB?R0O&Bv1OlZ-8Mx1Itt`5O34OPA zW^Y(|TrG7SLHBtdaG%s}6X&>Ri1*#^`D2-;*dt+U{1fN#uJ!J=oa)TE_G48$&gLse zt4P=i@UHIa!+7dV(S|9}S5p^>u2`|nE=sg^lp$ZIK6hK!xv3QI>ecAE-l2@M1vJqy zPkT@~*w?UjaqEMjPOBqahEn!)d@qGKrR{O8Kx+`cSl>^f*S>eG{fvQfakBbv&-;!Y z!N2!i;+#Tv)P0U`@;2qJ_ByYH-oy8$Q2ZU^Az)o2E{;DQ8lN1WJi7TBTLb+gx_4}x z>q^XpRwQQky&t;|vriop?CLXjy>1D2Ezi6h611Qftw^bXd#+B_(OKdp%LQ0PVRqnY zMTXbG%DmQp{yH z#6d&H0d;Ju`@UhNk_8YaLkYyn4vwK&thUk zS`s&WmT_wA%S|4UX~X?DmDOdL+zp>Y!;wzNv?MJh+0}|zUtj2t1JbPI_v4Wh=u-rl;E>~)1YZZo(|7oMrCiRNK%;MwxPK8eHvWRJK7U;} zRebk|dG1A&{gE6)rlx-ziDitL;B#NBe*ORofwLZ8GpCG=L%AD%HZ&+hgLGY}!x=P( zS=x|DgqYRiWO>F$a#BNTvQ+Y{V{AG&zJx!^{n53jmRwi-DOBw4*M+TvX9A9cPWo#^BS~?lBFL$XW zHHM>57)n7>?8`V3mmKMs^cmSxCS#B;k<#5H2->}qek_(T#*PumambDl(y6Q`5kry< z#cpk>!7+wY%*mZ4hKvNp-0>ev4*JPhpWiMAl>lkQJEQ-V0Ob|fD`{vZLgIN`c@`#& z4nlmM2eAf!v0NVMGt>&C!8^*7BJ?}tlUY=whoykpq3sprR0cgco<|>jAlO!?5IbgR z;+RwisY%ztn=SM{4{+S)!!tFNkQ;N|=8D6_D1kLH(1#=6c^-WVYf1E}@Lx|A&Y62* z_+97ohea;V5d9*Mae2Y#Ury)+K}iCqQyibIBX~AD9#6%8kz-IRGD8~z?1k8QRx193 zEEGI$jC)s#aWoV9j|6mZ=Ya7&;gEZw@Xv`I?dOQuh}5}6!`%7^s{~q~sXOy-^(Y!l zKK4K%%@s=qa>dMhmSe=;hv`D)pa7o_#_%O4+Li}@!%R6lZz&a>+Vimz>TU@6b0T%( zP4`=gzo)NAj2}F&dtZ9Y`qn*LLJhQFoI-&~bpf~k5A9@if=?Sfe$$Cji}*xo+q5*p z)*)YFwUW0tRib@E_1`x3QQO&@KC}L0Un1%QN^%UH7OlWj%Ne_`cG|ddw96NZ_DH2T zLVd*Xd1n6L)4q=)*ZU{dA2UJq?XS#LO~NeHj0IQoa^^_?Qt%tp>0u!zx~F$6R3{5- zM~_mUxY&PL=r(NvT`=}*d#gAtdA8>x*dM-|oPt&)Kk~+t=5EgzEkETFFJXMxChH?u)AGQ6)217u6U9~Q zuaD1h{26}2c3aPdVoCB}p>NjI(_4vs#D_7bdU*JN)IS`n`ya5T6Vn{CX^P|0;AuW? zvpCB#LD(|o=tG?64B2O;wy7J;i>;%C*Y$%T-q?IW>TGLHQuvCKV?;odhxnU+t(LK!rj=kE>}j?fn%wvN>b7-@#3a`V zy)VZ$r9bVPYP&?d5q;a4C%%dP)B9PCk47bPMTIyvP$NcR6|vQ}ZLTe@9hEy{cR1>V z$3Cq$;{M%IiafYF7*zN2mD5L|ZBBFaoe*JW<(;VlG0h!FyzieJd~ic9a`|KNMRbse z)SM7Q4->r>t)*OXNn1W$Y%7cg`(IYeY?EkA>i6!Wd@gaF?LLgJnABoRJ8g&ukw1e)1u;D74(w>2;IalNVW#Y?YEFK@6@p?eJO%4d-p?Nd)B@!V;zq8EEz{a>6H-!&$4 zW1vC#Q2Eh0S@HMG3qF|;v=D8nHMsw`tHrJWX0^#DMsEL!vCJlcIj~Vu)r(ziX7A-)J7a||m!*no+Ang~2ex#v zE$t~APikrGC=>6v$FzNBu2+5z9c7=7^`f8eSrK!t)RgLeto0(!3$LIYv=SeO(ExaF z(f5`oYBj8|8nn4;dY+HH7Hts!_S~b*uE-UqxxaOCd8BVbcepRRL#7QG(}puJ$r~Jp z>KoJz+3NfRf~A%-AZ@5TKw96lXs=PvpXHLsMBdfKX=J1HIQv*YU=Zx`bJ@Iig0(H)t~ zUCrXVSXAA$zK*^MU5NF`>tl~+O6Vl_OU^d5=f0lE6(6c^jV=-UcdYW(!-mF$C+1YH z4IJ-(ZGDw^qcu-VPwutOMEjX{+HS)63rW13qBE3SnicvdY>C>mP~vx=MLgESvtw?H z@p$SS`q{HJ_J^C)d4qp7o5Tl-%h3~Ch4wKaZrLzFofk!KdOYI$)lwEaCw9BC6CqgwAbS*PKualU;B@N+Ni1=j!{ylrkvU-T8r2a z{d?Sm`-{|(K5C43JNO%he^&4&lVdH& zW&M%=Px&92>wEkMYy!?lfgUuu4v6&OOrW@)m9Jy+-w;QDLz?;-G0pmXWVXEFS}Ind z0nP23`2z6?X~EZz32Mj=7`nJ3`20tT8A_qSN9Gie7Rz)RsNo3z$vBQYzkD)5r+}r1 zB`xUn*z!1(4?W(n+6>N!laSY@-wTez5K`px#TaJXD|yxE6Jd!kNgcx3Qy~GsQRH8@ zq*=}z9|t>g>^Ma-iF{lU-#0uRfiu-p;Jyo_p&y6O2y4~|wj9QFKtpic>=iSDjqkEt zp+p`FsNg$aKrJed}N%g?nn*h_LND4 z_P{02x=cw<(tvbyq)*Jk(a_Gc!I4f&o>MY5ma~j^>Hjyyh}?(!jLA((q4Zz8#H5_# z8cxQeA(lf%vOY+iV`MlgIf+7`I~vlFdb9^>@C-{$4yBVJqXxn_)5PyEe97_q!3ZRJ z8y=(j#%+iC8;vNeqn8DE?>N*`(cfGnu6&1C%3lusi-7l(6}dFw)Q64@f}I?jp=025 zxvs%w?vOUe=d^G*ntaKT4b%!J9@i{i>Ws=}_5Y~dzb>&f|w(hegu~g@> zw8RWlYDrA$8k&a2p1gpQm<*XVbcZ91WhGJrkgl7>r4IAMHJFx&foC}>WBEwO8itIe zl9nNB4o3``foA1QNk@9Xu_VR1(n%zXGiq=o#7)kVG4faRK9i{xmGmrn)GqR2z7uh+ zvMT;Dw~8Ql2JEk=j)`|-#hmU9?ZRjFC^h2c#Qn~V#hX}}(Me~-D7G(bDBJOU{yXNZIw!Naw^MsNHrDxYcwXrG_Bn~) zx}R0%`wHm}SlJ(rt9jeDSveB(ukPbsfKi`s1`l-qoR~muN@r^4+GSd#|903ft=Vv@ z*F;~ItPI^1uN8mOc_4^VugW=@X3QqLQeCCxM=?Kk%QGtKyn^2n)H87Q(r!f79V+-elTQj#p5cXS3yjGA z7hd~}xpLGn*!D!GgPHO;4uA70A5;N!N(8r)V*Nj0um{m=A9_hd1;E*1t}gw3MtacW z8RPZ$Q*fQB5FF>1QtU_#DZmy8l2W|WZJ^k$oE_I`xOI}tEYymj%XJ?Ur$k%_#=0`_ znUghPuJ3Yfg{`)D6*K8jOGPY}u&jYh2y1i=PKoX0xxUM@>htyBo`FIP%B4!y5++?& zuixl0F3SmIyg#ve%LPRt*-7d?ts;Q-etM~*l#(X{c> zH2z_r|JlYR71!3?j8;!?LlGUSyr{tDUfHMj3(Tg~n|Rnw&aLt9ZR64=y1KJyeN`7m zJjYtZZ_#PiFVxqaU&bEx{$W4TyRKm(75G*qRE!ZHg&BUzux3jG?)Jj)vE8kXP+v!D zAga>Ik)kG5)MD1d3FOcynD$rd_w5~fzW64w%I1xA2Vae(J&$bsO*tlUXxl&iuVWPZ zA=H9V*Mc-}Z^YbQK=(UZZxfeKg zb1o;>6{4l=VA!42BA-m^w6+unn(W@#6Tt#;xqGp7^}racWmH7waGP2aD5A7E6{=Eg z_6GNvQ4z_fTikx<8R~_p5{zG|qo3VAob7|oMeB1gbH;Sc4>v}P!%C_TX9~1$d#`PN zKt+ktvrXIOolWi0xE*awgjQ;SF9v*m5BT4O^Nxx5e~zCY>iATEd{_#U^QF|}=Z~jA zCCCXpKSn)q4ulOJ(&9QYaxAn*3I2!SwHG*L&c%37n9}`xgq&9^k&{f&;1u{zLcSfG zr_u5W4c5oIg5#iNUgYBl}*+Oo@&h}qytH8B-JuT>R$Rz{6!N{%9!jXV+ zF9z!8I>P4)2YD`XKduVb!QW=A0f)F8k0tWWf(+-#cWh{mGQl+!-IfdS^n0Tt90zw6 znmnQ-7x$9iX5@QZZ>fGfw({bY0##sarwB(VJ+OY8iTEuo;g|#fS5tsK2I%3u_|BPt z^9mDuH2$h%^$O%2z7OpV zvMN!4>uVMK)VObkpAh%5@SR~f_l2;}PlGM!_^*$3in)vss#fPqO;j^TA z)&{ZmU)xsu{hl4REzxVbpNu@@&!tvzSadF~>BGpe&3DIYM8JI&?13DXT6@HCfcV4t zhW!-lX7%{c7JQ|5CGJqB3U7K;s#V*YW+rNJmrv9dBHvsi8bX`H)4Y`(%awolX49MA zdDi(#9p(}%6~W#^-I+*%XpH^Mc1QRI>s12}B%Vo@(TVB|`?}Z%T^`x%hOH5bNQ(;`jkyut@P#j7f(kbTu7h>Qn%kGTQ?jx{7@=O`HqyY@+NnD~? z-_U1ic9W=~#i8K{gw&Jae{+UrR?Y}z;US8?_8lLq5LaY=iynzS;ICVX>7V_J8_<_i zf1L9#johPKF80FrrYQCp<^jp?$N0xc0cNOrQhPI2gPPUV$}vigWlZ$K#0-~19Fe#> z6e=yE1qq*+ps#|A)a*C(LE4WTY;{kKY*0(ks{B1>L43y9XMG3OaPI!xwIcSxrfD1InhV9|=veba z@wnCy`P=$tu~;>sG}+r_MHw=Yo;FWZepc>rJsLX`E3wb@y&LXve}cJE%joirOX5GO zCFG2)MZ347`F!=5@b_J?E_Zy^eN*6kTijbK4iQ&&V-z9v#~b@lqS7qPf~$}TW2x$# zU)HSYF%8_O<%&bHw?|me4nm>B6h-6`7>0@XlVdIJ~zAM;^p;p5a!azBs<; z7>PAnoYcspw+g8vO@62_s*~DxZapBzieKg&JkC|-?N_8^Qb+g zeiPk<*6h3DN7tRB{iYu2&BgqQ_0j!Nsz2h}8~-F_^l2Quyka5x&9!ueV}VVi&T|)u z#VvMETd-O5wV#9D#=P+7VU<$-=VHaw3h|OJM;z1PK)?D5>rVSOP98}LD+b%G+70Rk z^wgcA6w@iOdA<3xE!j5M&{aqe_N?#^YI*kS##X7YrVlv1y^c||3@h~P3?EVdVDjF~ z1L@n76FXP5y&wDxANZZhmEKa$|BlHb)HN1!o?RMU;e01`erlXH4s-6D>FElW3AMcu zU$jpn-=wCdN{L%BPIKACukLxi!Il=qY`;(2XY7BPZ(n<*W=)r3{hbL^=vjjIdw%Dp zOnIV$cHX%vnIqQre;WKy@zG56w%F%N+`ZCqforzdCz=Dh%Vlexh%M~EY}T-KEud&W zYCd$lDCr-t+?TndZ>y`8 zd0XV|=ozX1VC1?-Xv+SW(e!@r+%B#?75YcxTf5McCytJNuO1zH54kZ%+#0iWT&7JS zQ&MT=FE~mf8uBG2Ilwxa#aL51)*z6EZ=j5fL|H>(tix1RE@e`#3x?!UZzN7qL66OH z=6RQndATvlo8d;%EahGL1|@Y3Orla}I6Yi0V;E8+KF2Y%vUC<gc;&4@aMgD%TvVJd${^`$#b(z84+gI=^p>eV6)D`+b&ec2my*+LPiu_k+$& z8(dUMJ1_^p*~qg+;)CiR`}&iAZS{JW1?zGa2Y>Ifh<))-Xr`A#3+f+r&!Q8=Vf3x) z#CY;E&86ynv4@nqTmR@O?720Qsj1CvqE2p%?uuARAp^Xg@^Z(=PJ>aV<()aO6a+44sA%p-4q~6@# z0|;1Ax}c)2UBoWx+Iv~`Ma5phLJ6eZa&FBHU|GAe*44GI6~F4*yK7my|K~ZA!%fiN zf6ixS-uHRmnKP%&nLa*JJ9g%vj`xMVLs?~K|c(N>QDeZ1kx!jg;vs!|+-S9_^ zKJ95&-PxVHrv{bU9p&j)n;Js%jidZ%)4?d5R|4%uGuDH@!+UpfXG!{$WB>G1*-`!V zp}dSY#JPKHC-o&(1ADRk9HVaS5upRR4v4=NKRotv%~BP2-q^7`+kijbPxcd3Q{YhK zKckapHH}&|-oD=0Xtb%0^jBz=dC9&H+E1LG(_;@rt7Ild!G92Ss2gv-x9tt%nWS&R zbBSFNJG)lpUI`_WH(-6*ak9IewU^LJ@H`FEW>S>Hu zcF(_Ywz@R)_q7XDhv&lRu-omDG|H7j?cv>3VZUTGJGRs6Cf6CgwW(tQ7-`jO^AC57 z_6)Y$wMtE{D%btlBf`UPmn*apnnBrzgpIFcr6o(bVti)78s zYKfu(c~f7grE4y1c`;KA32VTtE791@co_omBR=|UC8kvOKbB}5C{w^Z9Vuk0OkJqK znBjq%E#i=|Zppe5cLD0F&koMOPNi0US2cL&eZBKIJ*!mRaX6(XJ#5$E64nb z$jWT9OmEF%9T10{kSUVay(c75Q;p3@Jc+RZlkguO73&H-?z>`rm7L%hugbkM(Ykj< zZO^R-8>6Kp(Bz(OR3`U|pVwWcTB6$pS|(JfUwu=hDB9?Iv-<&OKJ%q-BX)$i*wd_D zv2W--7i&yoCGVb*>fDTyy)oY6r&aG}r}^7_hj=mP&G|%hv^f2vzRCN$w+~*f{t>i$E9K){ef)HHy@c^k9i{fFx2s0X^J}^-e&aF5 z>crf@B6o?j_M8!WB6w;$$6t-}m3qFxPS(-*#^4R{U1E2+M#URDOVkJUMcKzv*M~m9 z$iaG5;X4~O^yPtfeI;tNyo#Dzi7dwWp{1Fpv+n43sqeds)tJyGL*Yx`(PiL1$707e zIMqLcw?%!ZBR8YPsMY^nX1L4<9vrKPDm4eS{d2FotM5ARsYaPv?Xt=HslDqkZp-WO zlzK3}D>~iSCD89$Vz)bnD|`0W^)IyTpxiFI`l)rHt1^3c+t;a0{)W)4uIv2OYC${_ z$_BKOkKJ(E;F_5j0f7Tu2E3%FOUD1RsY z!`1zfzorlAndRAg+?A;xobyt#uC{b-^JN%KHCO#+pNlt6eEWpfUtg^*&K#R8QZst$ zj6M4r)m^AtZ*h$?RwU2y&z4(~zXpe^&3#Ke4?F7Q)c{+N{@YZH)-#)oNxYeQx@VX8 zhSYm~4f1h5k~}7LEOuEgQQI5;2$gQYc$L_8Ef0+J-+q~+BtPF%E?;KO=w6pOCbDef z2pOk#a4*LClV2t0U}ukJIXlvX_O~onV0mZ!k?vQ!pX!hMYSfyB<6I|UuI|@ecXhIT zX6yGS12i!j+3MoTw(`XFLCP|uh*}saZN&5jy96wrz7A($mT#dJU+@vc45Kx448$xA zF=@?d9nwTCmkOkb(P(-wqES;gpe3drb+sw@7DZgsbQ#-VSMz|jN=T_)yvIA;%I5qL z^|#&C&%MLsx4QosBh>}H(fE`!^WzG&B>&TfiI@jlq3YVktKYlcF^VM>?hNej8m6A> ze<<>u_hkQT?d=|{xE?$$b9%f&&g`y{)3OVF5A`ov_e1{wdhYYz>^{#JuTIIF;C(gF zEH*hb)+DvQ5o)qr&~a_@`Q$#CC*r@R@qcqIxBKP%ELvJ*^TZP4>0ptJMJefNtn%|J z_5(jJuw8FDcZFx~Rnr5V?TMBX12Zuzw?P)*%f)Eo+;q=mZ<*Y(W&-+OQoT#VUt+XT zDpeVHw0=k9kd80yQ`K3~G2TWMiI4GKiao=(L+#e4Heg&UR+>_)(~re!vyt0>b3K4s z#M8<0`g^dxYb9FT#a&`W$@%Lmn!eVZX zO_W^kyB4#Xu`7yq7+MPrjO1P3bV7Kqx`X?E4~>wULMpXm8mk+-7Q|U*fI*l6e=u#K zT7wd8hw5lf2Bg%XAuj_IIU2gOLtP6mNGwXWhOm&qy2PlV{cR->4#-Gp+R_yh(T=7q zgg&+O0S1)iYKjOc%~=?Ltwzf&mYjgGP>bG*?w09Gj>d@TS9-_EEV&NjwoVAI54I_H zBp$y9{V!n^R&HlW@?)buU#{+5J3`I&UDG>Ey|S?;wRmH(9K8X1%cOqKT$KOVGhZU% zp#P{_s^uY!mVL|q_srDwdx!UQzwg}3@p0hT$h-2xrs1xmyV*Onx@WBVIA4l7$45q+ z^FO)G##{ZZlV-@-eK&>crPon|+Wfx)=l6e>7%ugwo8E(#kt;&~3f~w#z<<5t`s~-4 z0|OEF!u+wu+&J5>*JA~lBI(@V3b#autG71oiju_df!o^Ms0TmW{6_dc*?ZfUx^k(R z*zczqV`VQ6z8<}7Ek+lIN2C0*o@>k?{FUL^-bdQYz550CZ^0ab)TM#0zMLN|^=h&A zEbp`ZMe5z;Ie~+*j@H8P1Hqs0&;3hgYUapfJUcIGLrv*x|88h2{jA>}szj^C51Glz zt;WY}>gvP=v3HIC3r99It55yI0wwrnr=~p^S;w9+mK96+L{KJT9|_B3dUSw(cBLpG zKoc@PNtWYScGUAT`1Rud1Qem@1J|WRj*4Rs3{jT#SlY6IGs}i3v9X2@7Wyo`GFD1- z@1S`m=;$&YxpGr(GgHW&uaO#6p;!V%oRDkF_It#Fn92ZgToj~CpLyV%&@;=H2*+#C z=hS_r6tahe<-;=J{U|eILn_UK*Tym>%e+iA&&BZUk>uz)1jqTPYl9AblT(OEQOhj3 z0%tj!65csz(ej|tuH|cv?qE4-&HtGX!w1to^*ufNOZ5SuD=xU#ownHhvrV+Tb zG%{c{ErY^Qrg_RNBPL+RUI9fcKLpajCS`<94%Vq# zF(U%~UM@HGn%*%G3f_9!z=_!@t96MwqQ*5%b`IN37*L<0{+Id!F{Uq!plzqZ^R^rFB5BmePtG?J| zRWGmSHlx(sAkR#yRAbeLu@Y4q+&}ocv0Gp}()j z#lA{)fJ)s`CSUdK-D6YVXZCC9!1$8@>h@O$J+2!!_+pLHfn9}OZFWSR7@y*GT+!-O zpQ2x2W$MC^+jD@oT>Z^clXqn`Da<*|x3_bqHZAw%({uleW zCVMXT-PYg-5oQpq0bI|FWyS~N$ZQXEbYKiz-V`F5RVauB3AN?&2{*nsc$+i@A z3#LGm(snRKn&!_!S(x_e%7Es!lrkkc9=bF##Oe^lX~5Mt}#oS zdIeogQ-fx(YXUI7C%@D)d4+CQKw)Ahby2uJbB8s(V803G$j_LY4X|-rzyCkEKW-;MEe$}Ohaz4 zVTi(^Oqy~rEhQEWVjGmw!SVuc;X|cX4D{93xC)dGFQ!zZ1wBnsrY+rqVMrRfv_q+F zrPLs1`Q$7+n6l)SuGWF7sXsV`g;2IFF6NnJki^m`_&Su-6Q4I*pt3;HLd&F+z0+9wX+wyQ3X4b zr#OGh*wqVx9*2LzFm-WqxcV;txM!C>f9yN^p`L@orODTl)6{91Yn^DBlrs6YVFz{8 zx(W%ZDehn6zWAKvYko(STTn{FDy;Da)as;V;;oLGV%WJ-Mu`(UKQB$~lxcE&ki6*j zb7E)Y6Up_t>7hH5o9x9XxvWl(L`pZOtFlj^)#^3RtkuP8u5qYq2Kv{(PbN}JT}wB9 zX58!^uD*)yk*iTlQ@5q3=3CSj)Ilq;5)sG4dF7yNv1f_#N%*7WRJ7+jV^n7L@i?MY z7?ZWx-Q;~PioLk5FODDNpXfd`-x{}hm3lri+P{x|zYSwOqoh{$kDi0^S$~OM=NT@g z>QL`k>?yetJwPM<2gmnu9ozp4TASVr-I#sT>y*19Q_=Q1@JI^2^=xo8IA{up=7?C< zl355fD3bw~zSh-ff!7qJLrozpadLk=3KDA2($(}IeHoBgz7LKd%sU2Ap|&?QY(RDU0_*j7qfDI&ydfh6HEh(PIVx}j zP>esO9CPlu9)eAw{RA=(o;r<9SPMtF9q$B30do9kld%1v615!|ylrOvA8xszzJL-o zW{C;=iBP*2wpDNxHP@4Y0m4zyTos$KvMyhXm^gBgZ8Mac=M~f|fN>ls`@J|ynlkp0 z4ab-loC9d7dBqsVq%i6b*AK|V=?_P&rMRvUQh{(4XnDdoa!^dU9>Z!AwrQ|^gQMao z!JWd@Knon(J`gA3A!n{%C`gZT3a_piF2`VE6gzyj+AxG})nF?HW8?j2DmluOV<3rf zgpy5c1Dx4{BUts1u?e3HTVpW05ORbO-a9_iQpAk=h1j^}c?o2U3#}h;c`rE@XdB6a0;djx@IVZ)OXb;d;>VAkMr5kD+ZqkuUV&*tC-^1BVFX#GQ+!ChE%bK zld+lSM?8Ec1LMz?b)`5T&kCGZ!L=c6c*=+gq4-8J9lRd40&(;x-!i7M3{Q+&ymNdP zbbP$?=G}q@@3vkelD(C9ayYwA3B!S=K4NK0lqiXDUEB|giJ@al9pT}nk$4VP--Bq!N}G~Ou~vmqgrn$#yAS` zXwK56FI!VPl+rRSFVN&Qr?oX#(9#r9%4xLwN2-7qbcpG2boHS_S{(LSh+vhJ5y1|O z-t?;_u44IX`to40^v2q9wHSX=gqaQ#`%cPKw;i6_QB7|sSK-X9&e5uLQ>^dJzB)Cd ze`4Piz2`+I$EN1aRCgI2&C|R5a$0nI8JT~7^+f;7Rjo0b@qS>r{iJsE^zy4p*LLFS4G@9gxRFi5^k9s!wro~v&DVG^utjOU$ z#C2it|ALJHPiT2#QT&G7p85S#CpK3phdkZt$2I*e6KcOFJ4&6DzZmVGcX^-d%3)om zd!si7-M;JccgGJkrb(lJKVPeK$9^^DW6kmY5POgJ42{7bw@4l6Xfd`=P3wK%f3tt0 zIxly2Tc7V-l=_R+eU1^{#eF66mi?<_dHNC0TK|!rIXUj!JKR+kTF|#2dIu}S+jSyR z`|&!rfmw^{JD(lBcxPsc)U|=d0f*5&;naMQs`8%IemQ0r-(t#R`n68D%KzJ>ojMj3smPP>T(lB?HqlOKZB(Bub1X zhu%c^EP+wRSzerxgq0V-v1ga1E?Sm3*>cZvWjW+#X%pdCGS}rvT|VO(QKCcqd>h!; zfs!ZUVl28hljlKbXs{H_QatypMr{BGQl_YDgPe!1FR=8;vM$%4V@X?IkM5haiHV6# zvHYjY|2j?jZXn%?*JGAJ#Vj3z*0J%rZHSd+NUp-oG_kzOdWZtYGvV4ml4Bi*aWX7N z0qT3kxOp%6y}O^>fW@I0N@D3@xIlTS=t^K-<8DWhC4t)G4sioeC-& zX8M(ZGvkrbkfDwN_dqF^DWDEhoc~pV`VZFSL24@D^SN28)m35E7}sg9g3Hu;5Y`5Y z<^O>?Aaw0O#|WQfJ8Cd(*ej}DYLPciLJt$qsI3z+mc6TG8lYh~#(^utwN~TmF`o=v zgR%+deN6|shY|NOUg2Fpf7nROsR&a8=f%u6_((rygbhPm#c<)7N2&2r ztLDg_W-Qf=2sOLy;3}*XNDe8-U1&h9rPxHgYP4{*zR?)_igo3@wXqRuQS6|u;izeJ zqDA6$-(wgTlQz;#C*_p{c()juPYmiQ89P>N2$w`r*GIYd9*SDH#&Cr zpYQ+3vro{aHfF-1Vc>3J<>k}X?~9$o{~PK~pkIH&-!|Tk)t7IN&dII! z?AOr|f493vHMU_5B`FJ>7y80baz1)PG43bBr`;m8#__&``>%^#ovc_>uVS8iZ~i3t zIp$`M#Au1c#oTAnU&C01{$qtXdU*HC@g?h;Zk4IW zT#R2<4Zb+$UoJdf&hO?vnyi7BBNn|w80T!_OT?2!>_{t&=sc!MA%`+GOYzQQmbaHFEP6MY$MUL&^Ll|}mXxUtl12tx zVGJg(5iQXOX$ysl$!SE(N&k_jCXFSLt(>OFYD#NpO(GiAJlL&922l*74}ybftt6&L zoKkJ!nRLOG0bV2ItfPRC(lOAraP1d3Q#25ITUtzDa4fR-`db{0vV7v=)EvAaFRv&U zZ*~zz@Xho*+4EMG|FyA#R^+}S-xaGP^62PRwNt~mYpU@5{yjY(YbM_0dC~qxY;5MA zj>?9y>gU#joIiIJNjTo3=0)qHPo>}YE_J;glibAGX9>~-qEP+cyl}bHS%y^>e_|wm+hyf zZ};97offypzt8;F`2@yF@1`!oR#?mV>--lK}O+Fc!tbhu=Xq55%{9U z10ssKWccQpL*cK4@1{if_r`x59OiW^mP^nA1rDVJSVe<>R}pe8mWa51s=4m1Vk?yS zt(zK%O&EqNB8-F#d5x4YS5nBsV7Ny}6$wFp1sUTWhFpX~I|wTr2+D!kmgD%xw5~GG>;#*j~r^ z*C_3%kxH+K!GFUDa)^^BCerb<_||%~7iL3hrP;(*-RZo8~nw z@N`(s)5SMd3Kw6gm>}G8VJ^eE0>2g>taGsTVCvwD=eN#K{C?OfP8q*f{WbG@qb~mU zieLG_S0*;nI>5!n_qp+UNux3uVs1)09)iP37;!iZ@5XVjmEpe7~yuqf@Dq9HL3 z)}xN4p{W8-+|ngFn6|ir4k;RHS-uWo>1v53HeW4Xw+(gkkvg zG8UeZu9+6`E-1~v~ zy7`t2q>gtP_e;z&qbfysUJ-g)71DrEOqYHVrMMfVknyU`dqN8FF&+HRP{P%pSk5$c zfa19cOOfSx+fXvaRk1wEmWEQR#*Sdr(N6#^Q7|^)|7{d-o7fcjGP8VY{%asJW2a9_ zTa8(~n7GEY#!x+S1w(BCYgtXv@5smM%4D;XbhDZ1l1`nY|=akN19hV~MPGzuY)R zX0`7Y{wb!EOT4Nw_K)!0Eq-4O)>3JdEr~j`2W0aiZq z?e2IV^O^oqQYm+M-|hZBv@+8io!_^@5l*(Z-zO5kB=Z_p5h+ub`8{$}q!H~eYf~xL zzp4&RzTD*qIK-J3tV;Boff9)NW!*o$qdY9}Opu3ru%C49dY=m1=l`YWf=o8`Y~W<$ zOy|vkqk`3Hsv2(R7kpm4D&3o_7RQF2-AcV%|FL&>%noQamee2PeL1y6yUXQZXA$a|J7f0VSQV7_lhdlcPw#1zhhBD!l2pqAXI=O#ta@0i{?Yn{ z$ASF{E(kx9dOy%-pYQ2PI(?<;y!=<5<-x;~%hC=N!rY=IYDX1K&gv~!ZIVXc&j@)T zpk!_GQ}?f3K7S8d1J?&#Js)>ZkYA#uok4t)%n2~-$9x+2qLdBR{NC}UnFe=)vx1n@ z!GNR7+?aCau>6v20!DE(5x+`We#2#mA2FL8d6v0s@L}LuF|mb{xiK`v2HY~{7jK5< z7t9dMJ20jNu`(xP9?bl}G?1FPB4ZWvONTDb4_xPpHU)jiSf*r7qyHStt@t;CfhJvC zk=T$TrjO~>XNJB>F~?(Arq)a^fGu!5QXR1M0f*u%Sh4&1w za3wbWRm`?|h5rRo%lpq!LVOc!;3}AIgvClp2%*FAePLSI`oP)_{+Hmew+=#@e<^5} z!}6~2Ug3U%628Xpzr&Rwy$Hd-7RM>FeRq`N^}^7F&i{iN zEQ88cJ&jwTEXhz`OLg3o=+IV3;<62DvO{pKp~F}%wTR20@T7?mrPYV#G_Psm+Gw9H zvB4am0fcD5T6!9xYZ)D023Y#q4yFbpq-kVxS3}(tmF`PB+;WgQwhjBPg#Ux}Zx2eH z;d~!`*fW${He`-#J=C$c)27~EJzDMF8cnoHU7#h&-2`svzPWP``IU~D8Iil7d4ccF)GW_~K3C?|^*#Pp z&(vT7E7;mqyo7J!Pwu(?x3Nd)HR%Idm1=NL^c)oksCVME!OvD5@2I_fXQu=6zm`-^ zQ*-^_B=7aMspa93QXwZ|zt0Nv!<`ja*?C}~)7Z~#!>XNQLRW?Nh)=w&N=C_tu@h4_ zdP`Jf;yLRNh-Z7Yi@y-K9&^VQCr(IQlAW8e<61_j2kMVg$iG@fXKGM7^Z8oPOE(sC zzUn=9v>lw7lxd5Vs@G%Q?$xe^>PE-IfnxbK!1Ny&IIVXA)?v8}YmEJz_PH>JHTYxf zERT}i@ZJ0+*zbQnzA{*@{t>NFcIQ?8O4*zl)A|7X8{0SdN4c8gYZA-+VfCEjKSnWD zrC7Swu0HqNo2~Wy7@gcTHn}9dF1)m7nlvOY57ye)+8lUjE8#iLjHmoJ)oE<1b zsbIeA7|*yhzScvAyKa5aH9~#oNn}UGvzf;**4ZKNqQ!ZXBmzdDL^Y|YlTj*{7gyWl zk@drZcO@&rLCpC2SM|EgdyaB7H}aqUaq6vn8`clW3FR2WnON>9 zQ=i3_$colq^EYL834b1FFcuk=;jhz2;r)L$b+N%7(0wOVtLBtnO_wUqSN=7=hr&lT z?S$PsRyxb_hsxz>Grv?mFb;~Y%i6G`Ymtm}RjG4)$0hDsk+6F+mwDS97dgFs2W5T@ zPBzM9s=C;7ExzWd;UyE6VC?(!;P*&-(($YRevB-+7UR7=-gjD_bxm+wqjt`W3e1#Z z&n4aK!{|*mxV!gCtTu2M_H^6DyKnI1Ks+-gb!m6C8r%G`=aksrSFwC@c(c#=%{5xR znjtoYo-0r$F zu*X$j#V^8Ib>I4zxP$FBHNN+Mxk}ZLy}5mY#M19gnW$E%)}T#YFy)kVwcOJk;=kw6Q*OBBhF}Z6!!g+L*5B_}v-{8YKA0%Z_`T<6{c2b5;{4z64*aiu zvAS#WZ^?dNLvWnC&-J5skI1@=TXK<_{F*HO!>VuPZtCf9E&jCoCV$)Tq4Qk#!t|W> zL)68_+gN2}7)H|<$-3Yr{+lokhhwOp!d%z$`+c|k#d~Gf4ekEEtNWJLyt1*wyD4-) zbs1XPo7yniSUnIq*mYWdn5x+HSpqqm|E9j%eRi3JU93LKW?KH+a%NEE*37D)UH0;X zGcRu}QRi%`#5?u~R%$2{taKCJD>Xg8KK^a`LDz7V$?P0C)w4qcGgRf*h8vtSux{Vu zk*7NKV`X?g=PQu-synmEf`*p#RD&pOnK=rpsZhJCfJ`c$UEU ze`g&NZJ@YYMdSo^Z0MM!8{}MOz0>4%of0KL(eX1DGbY8hQ?o3`Pzo{Oj38j3y_L2> zpK-9P7=u~<#M#X-)Psg;v~TJR zphPU5RKbEYjldnMp?M0m?9VA3hB6v4-N7NXoH!|Mw6A$Bx1^dYNT^S33)hsz7dT5# z`wXFtz$;kUN*6*B(;5YzQd)h0G>r`Smc;U@rRf4fN?UlQkwJ*2EqtgRQPHBU@fN~b zA?aIM1Ingn;aW-!3n4X>qeP<`2eUO!O0*Hvqbmc_ZD}eH(?;M?lLskUy4nal^7J(| z*wrYJp+@Tub%%x%@%|O_ziwLhMaF|a_q*8=InaLn>JjRkKkAq)|4#KA8?b-lJsYNtyFKx6^r1u`c#wP__|5xJOQSm4QLXmvf5vlJ z>S@p0*-IP?9QNd*zQfeszI&U_ZAGm}Fk(~!kqNR;-Z9EkvDBrW33-3qp{7J157^{> z&qx`rTAZC(><5n=6?0cGGU>S73xP{QdxiGt?#W%%H~W?YHVn@%Oe(YjxMcB0)~1GK zPYwQp8SRnGvZ#`ee50bb8%63R_nF;KddBCwn%~AOvGY@P7ON}#QE(vSYqn8f#DOzu0?vB#pf)Q*C#K ziak5YW66h8I)5B^X!<#kkwFOQ!Tf*-m`3SpYf*pXEd;7CG7!?@w6Ae7nZd3Ot6hfV zQ81(}jI`#qbqDj*)_NMXIQo=n{*N>fZQ+@e{E5r(Jg8|Mq%BKI(*ynz&*S-OIWU*Q zJ26bQ^WrUYq%nH;)ac0vogO+dYIY} zSZ@51cs;ba?ef$T`E25XfOYZ>elR$i5W&sGSPlr_s8BVd%ufZr7rdUl=~_ zvk`j}db3A&ZSUzx;@_#3u6r%{-w^6*fy;djfh&@KP44IFYc5g;wM*}Zb#+trMp?2# z?UvtPmB|jtS5jqIS;U$2cuV*iJMr(``7 zF`o|I!4iwtm?_*EZZId?Jo9b!$DoZOs6BUa%-ws^02ujEtA7RLQy#s<-cyctD+# zO5gZ&UiZeF(ROOH>U{%wdaS8dhR4qGy3{AZkoz^%7IqBU1DChl>w6}+207{JEyv|P z>uOP-te+z@#{TBt9Inpp<*Cbcc~@n|We=7y-s96>WU;rldb4e~>`^yK?JBpmzR?`@ zS42M!e3Ny_7lHA8JIdQ>j_sL}sj%OPF;3&~Wv=s~%`Nj{?p$M3KI^^7eNXK4q$mE* z@M=#-s7CBEAvFotcy{p8-02h1>Nn{TL#Y$e{e3&TCdp~NDsz?aw>OX)>;FRJK0#x2|YbrETiuz)ME2*Ms>H#YpQZo`WJa zGCBTM;+e!{@iEEgQacAqsK2{NXDDXebkSJ0oqGf!N>hxfh ztk`w!uC}K#lfz|VH&T6-Nz~PRe{V;5l*W2KmQTb&x1}H$@-!)@k*$Z8%T`p&3OWUT zFjb(p4Jm_CQ;0>Q=1I1u$I{es>3Fscq0xd&>(aF-5Chjjibl3^#guEjKx-{ib!%)E zMlBk;v=&9$vLHc|(}uKwq}8tGH75huV7ZnM(V9bD;)AW0G7M2M{lPRbjcUK3p#~&G z2BVs@kU}Vn(vpH)!BD2U72Q?lRd}R ziWQH(!HW20xsSY9>(u*Z$Cy@yG1=J2)z{=3ojD@dD6^tt)h?;~+a^hC_lEZ3Oh6_@ zdV^Dj{m-3po$I#Cc+bCF2X~E=o-|f&jeM2ubH0n+q&t&)WbaR1m2OmL<+}qfW4{Nq zeH&xcM_p~Qi&|=*mVLZ=T)x7;Zqgh%)wR2SgnAXLaqXi%_x`=}YLq+e_=~N>*l(L} zt?^>=n+@}B`=H^y_$22J-D@{)^p!X!sKu%y<;4|VZ~yq_uY2pH-MI(a%4*ZQ2SeQx z)GsL`z92R%_I-R&*96%VIwU+v=KA|%i*Kt^&!F^*vGQ%z=u4FYedJAd>AQ?Dm?lW#H`R;^BP zcbu=fC(4PzCe+ElZaFtLJ2f)BPplJth3|IlHQ``cY1q)3GPm`5BaL?5Y0$qS&>|7f z>+#3!JH$@R{m*f)Gj3d(pAft|v?N`u8r8QkCt43a%`P^&javDS{XUmcpY%=(e%Kq4 z#hE)hzYR{zKfQWE{AR56upm5HJ=pY%YjdCqD?YM~;|i|3rrOo4{s%iAHzqkxaLnb} z%BwzzkGIFs%2TFJTK{OE18bpO5I8#B>bI}k-SKIx2CMo1nmsapRI59FV4CyQk8sSu zjE#KTrC2?y2(^%MRVBNieeiGVn}eI1PS13rwR>FX%-o0AEg%^EHJ&q7Z(oaw;T6Re-ZvP-NTs_t~LcNik-&%{^b#CkbFis+7qEtD4DN9o(wmLcvlB@@3fm)BU%Xabmv+my}C3?)6;IJu-Nq=bJ#ix;phn z@6N`SevZ0WXn!boX{b_Nm%hmNtZP$Z+?WUb7v_p&lj|AJ$PIVIM>xu4r22gs_jhW` z?cc)@ysd!>6_84_N1oXJQ26atPo$QIeQJ15P5cO~ihQHj>*nk&v;v_9SYhT*Wr}@p zHX!KDP&RNh>|-2gp%SpB<<4HD%~8F=-6PnVRDoJ6zgCXfL#vvyiB0LgWA;QU7{*1P zS`0zAOp1i9V>kyw*@XR+ipC60U$>Jnt-ANshG&8`A62=DP;SPBH_&V|LyWu{_P#y7|`I5Dw|UL2X_a&&w-i|1$3iTkdSY*s_NHUl8oaWc!;%2T2bQ+Vri^kP+7xJw5vQdQ)1}Wt8;jDs=15ySDSZGmsRE*P$ZMnZw5zrL zh*N4AO=)B+jyY|LZyn!Qj3$C*YcTfiQzMmGJA;({*9~~i)WCs!N{>5oDkUwdOkw>; z!5)r~xMULE5RSW7C{;s-7@P2RRA4S!5%4OsicEnFEwTtpO}68r2VVG|a0Zu6I5({x zxbFWhCjq<-){A&XVMbG%sz86eo_SD>v(T8Xu)iJcK=^mCH=qP@^ZmyTlxi&g`NIWs zn-Bxv$dSVgW`B3p$c?glTamgU zb0zv$7Ni=Q-oX0&Hk1o?>7E+6qNNhEMO18tdOUiKyFq@)ycawUJ%7*DZ|FTB_L{%V zdul48CiUMLc(J=h{g{|9EB!0ullo522E6{%2k9x^ov`o4r0}TmUxX&$j=$78Txx^k zk^lE+g8}jW!?-s6YjBi$r}_8f2-#_3HSW%Vp7wZp9Y;A=3)c+Zlv?dMJ2@|PSFqUm zSg<*4Pu>@5%DtPzS|n=JYL4)@Ft{Ptk{qk*92Xi&4vucgUY)kdv)*`Dr}ryg+7Y>V zynLOgN9#bu^LOKsbgOJaxvE^A_Kv|5a$*0fTLV8E`vt!3igy$#kH4zRn_o16_juuL z@1*ZXe{3*tR_dhK9`WOHpTw~%m)z*9cVzqC@BE^5m}-?_b(N}Ja>@OAY!|Eep@h{jKYy)@R2ytKoe|w*R9KJKSYo$Nw8f%)_Dv^Q5(*Pdiwud5sOmEm{WR z)jnMDqVcbEh9OjahS?w zW1$CAzhaKm!scPJW4sEzn;&F9>#bW}ESZ*HomaWGcb*XV$g`hHwZ7teX?>mad+jp4 z$sTzjGu=1GSe15W&gz?;*h`K~HhWe^IC7|Q4R(4+wjj^>8&>b$J~5*8nf~W9qm-n( z(MP&tC(20J8RMrvHXFKQv${6c(Lc1 z)4a6qgmu#cHEQQXTXT^d+EAN1)EC5#7e~3TSa(yT+4TjogoWt?ddI5ole>7%2r1Qy zcH)VpK z!>CRy&M0+9WODXcUt9c6lt0I+Cw1yQ z$Kw9~a7$h5TAGZdKwBI!jl&xxABIY;PFe-bJyM!Cy#d@p z!~}=NF<4K_2ggRK)-U)v1o^>+95s2+XkV_0?vGWXr-wcbm8eBB&0VZ=Yp&`arg}Ud zBpjp_)x99-0@KO0*?`Haz1MGs{aNq zOL}_h)$h$0$WLv1w%~uxdxw znW15kD{_K9t&7!vvMljDUcF|*sjbCoQ`HSUN=1!B``_@^%D0i-GWEt~uH(Bt=s^i6 zeL|{QtqXY4cNxX%dxN9JznO&D*y<8>Q}@lu+T7EDW!|&Ljh5QmRwRmo?Fp9sE=_$9 zPIO}}0Qc$PDXyENfA3q;cW8f!9I)|*zz^-2%p>lJSfSyYL>i@@eFFqqagNyzr4k=8yb+JdV& zODd+ecC`-W7OxS_10FDxYK%UOnAUPB*9Tx2F|CCaB*eAU($TyOK`9%2P)8e$Qf`?7 zLW+{1u9j;|OG#TsKxj)>8&T@qhM5@GR_4DmK1-I!$?jq5ywFF%TD2weV(V{dmeWVe z8}1QyO*$+um$9wYKR__J+EI8|eKo#zOnzWx%!o{7dUxBoLdB{`wxkw7ih zySU81y%Z@&<}qIa{TVyuFUw-@;^1Dvmj3gwXVIEKRq9IrEe+47FO1JI)Whn+pg2j!}d*DekRRb}<}xH&mbwG&5AK#>q?vcG)sIvz6;# z=-AvpPC6a8w>;U0J+_RDF&s}|t06tqYHnK>YD4tM@zB1-6?hA=eA!0V!s%O<)SuxR zwIo8;3}q63pan89MRYY~vRml_uBDca4rjST!)VTO8N$+|Z}CHY>S&{Vtp{{%etLd{ zn(03R?Wg7Hp>;)acIZsEOibcZ>XATouuZMW+!3e@ zRmofKJ6$U>oG68pg|I*u&`3%CRg2Tskqf9qM0K80YwR@Q##Y)0-NLWQ_BI z{0x7Ew5+|%U*meB|A*El)Z$j={+FDn4vW2(IwL(?-dHwLmC0m`nW(^5c2&hUO>_De z#_w~z8Xu1Rd*5t$IdBKY^OmSX5(&qbz1Z0>e0sXG<4ODc{L&EU<>e=W>wVQwWRbEvV+niLLT)m@0{*^f=cj1(M63sHX$%j1>4@*bn z!_0@t#(b^xxfb=*<~+I1)NB115w^*meW|HZ-fo_%zE9oaK5Xjf$v5|((fo*SSnT#m z&;_h)rj)|#}su%WFq!lJjii=>|^g49m&vj@eG^T%30pd#S~Zr}mATR4I@8ZAi`O?nYIKvii<7 z(_FhblJ+X!V>z3=6+Sg}L@?FBGRW_3djY;t7&Fk_ecpEF+=n^9U?acf7{$=y}rPSmNJS~lEzMc13zMb6^jBe~aI zXIj*PEy+gWOeT9*&ZjAq&(Q#X5 zyo^B(oiS|c1@CFeqg-!h-VIz5yDRo^*PQN%x5s@XM&Y2XIk_jk>8A8U4KF9k)SZDV zFoO3yPr`psq(#2!c%kEK*9*B1qkEv&`K!LO(NnbNx=?OWH}>Gh=n3os;wY6`%p6*7 z?A^4e>ov#jnVH!2?n1vO?rVD$JvpeIIgaR!Cri~8o~TjNwtLT8T{jpl=>Of~HGD_5 z?C4q;A1MuL^SCKeEBo62(#`gu&yqG^;ocJYEgJ4~PFxg!zG)oFnt#tE?F*1sv_$IF z9qF?@Uh?}c{5ns-0@rUz&GlPxl4L(^Zzq-w0!P+4Ee`36Y8*5)MG8jH#E1^ z57KXTm$d9!mkpfTvM}~aa#PEm=NHWW!>Hvl6Q998(84`AD+x}zH3_N zgboPg6Kxm;e}BfM#>)vkGo9!SkXvtULI2_YXyuuic_4F1{2Sk*^hor@PYgUX5q(w8 zS24B#iMA|A(1nA%mTFf9IBE>W!I(U8>(Geh64i!&!IC0RUt7ziud#w_VbteAiFP%m zInvq`d{PCgaZ8&LEh}ggv6; z#h_pi60^7Pg`<51wC;(Zi!p)V*hj%*pmzcx`AjLXDaOiKYgV5K+nCw5OT)Hjwgc0} zsA;s8m_0#iU{o=18iqB`YQ~5Xg0MHG4CgC{l&fi>2Sza#@X*8v;{i>cMfZB}Tu7fP zgA}n5g(k0?A@%&Pfhz@8gli>E9nSbFH?_^H=9P&JF8Yh0$retYxmvM*k}1=@L`;YI zUIQhDn2;viPo@JA!rKDpbZ@Ej__%lo{@EpYE?s#PX{3+SnpV zWHw4{m5Pow<|I49Zw4-yfE|&Nw@sLxzr@Rb;JIyAjDN7NM6FNV<(psk znB$#f-1%q>JMZOZdVh<4>-~3N7-qp{JwEgdoa%Ybi}@82!+y;ZWG42My5IBf%*!o@ z8J7l1)WO{qz889mWw(xdomGlYoKK8zhWS?FdGRUny&a|~;Twvlu546*DWW6jg(HHL zp=S;ne9G**gaeEBABKH%oDslxe&F2$1x>*{etlG|$WUb!rfX8so=Vgd8U~$*+?T4;uc;huaECP!}3cdM;9#O!vR`b#z$?&rN0-( zLY`M->Znpk$RRM}fdLMhXQEHe{PqxYDQLd^HsHK-3Zt`DV7~K`?3s;aYKDB;Q=xvu zN`06MVpKOjfetXPdVieb`e?Doj{o9royBUG%&*<^)d9K7IH z{OxkF@5jKxwb)N}La*acm0c3@`;!5GkFrJQ0v-EmFV-#zEu zx?^gX^U0po$w|Wh8HIz9~@ z;k-PxNIuRi3pGfyYjbKltVURjaeqpMqU_UZQI8m-yq_j_UvpCDyj2yL%{{Se_v~xf z8$-#muERacyeK)WUtsLxd?hw6`eMS@UabD-{U*)6H^-~y*ltx7-aX%Uou@hrGXnE8|uht40Flj3a# z&s>e`OQ4662G0}E4HB$o50)|-=8DWQu?~lcvWJgrezNxpy^xAuf~k%0P@qA)jNb;| zoI#`bzOb*7ZyP0iQ_VMuI1qkid~fj$p_YSmD(r%wpn(vI26Fx#$npE&`wtF!3~#>I zkPQ=?;9Ej0l;NsynAZTG*JiHlppZ%_!`aADgZTlkkZ0w+;d~mVAFGNY9`j$I%&!n} zBAuX_3K-l6o`ru%rk>x3IRXIpgjb3j3>ZfBfM$x>AIoov-=U2d4x|MJ_s^vCb@0yc zN|`=>+xlwEaMXq_{!(TLT&WCvy%3--Nx9;EHSaQbrib(5ZP3RZ6jP%3WSCZ+23~uq z@LWhMLgEU|>o%W1W#FmFl)yK`F@76h8?^DY11%P6@V?_IA|}%S<8|v$e4b1TW8rn- z8ADDDK6(Al@VVg03ghN8rmL@tG}8iK%rptF0&fE_GrWRQ52yyL$oST0G?S)Ur_YGooU|Em(v7dMK_5@^h?g`(= zPNkZl)9yNWLtXrp+$i;I%Lq9mP!w=T)Tl`RALa>Mf5)f6rH;3QqqFYFzOtz05Mz%O z5tZ+9%B_JzTK?VMmim0vN4`D7W!~}aTjZ8o&y2sGuag?}Bxb-?VxOgERqw8M9_Q)G z)FemeYUJ+hPp(=y6LW-ZvUl>q;PlC(FbBLwZpYb=GG1;zI{sE@mtc=K6LK|Idv4!U z6yC$f@pL;zFm6J|1pe*X4keMUg(iaHA3yI_71pv`ZNF6f4^s0c8n~HRFByb+Bg|GvD({NpIwGo zIkR$)rWW*^@A_d~B=KCR*z?@^1Adp@I1CY6Wnq>As&OxP{iW2mc?267ODo~ zuwv3aT^+*G(+J?L`b22NwA!_#^oh`DO19E}#uF>xT9*MVRMX_OwfLbvwKYOtb96Ol zNyurVWwMo1rY`xRR_jqsQ(8)zh-I{FFk;b^XxgI4(}-y;mr_kz5{ONsagr9LeHnyM zrsb6B1HgbO@B&0zx`Sy;hj_ti>W?yw(4`s7S=dmNoYvH?6{4V}DT^P_D#L#P|4LOZ zJO}9-DTm9yCjYol6C3_%*w=|6!08YiZNq;a*CZ*2W*N#A_~YQe#eW(9nxhp)EJ-C| z!ygR)E|vrMZ%6Df_#5g2x*UJSdIJB8C|$tS=PDOnV`M5Sp*>P;!jcl#YQ_4nhy!IA z>OwwT!3h71Bj9s=Dx?DCT*5XS499;i%i`2$DGHhjW4>UhP1J^KLRkiy{MWK9#2U7O zjO7>P7Vyh~@h@Kkmxit5#RKtBldFF5&(F3?%6Tu?x>Sz%aL0sg3AlQtOKvxNzHYLq zowLhs=NQiJ$T0a&cQ7zQJ~ysPor+n3EP;F-^LPC%5WM{8H(EvHuUI8XsaN_=ZfV8bl6d(4(Ehf@eTw7Y zDaWgeqrQ%hx_9+I1fCwIZ$YL#nDxKhpxY{pER z8~VR#Z;;LMIaWP>A-&WYP$%VXbw1_iyMwW6sj0!!dRIm2RC%HlJN8}NS*6|&Esu=B z{LRNbv%Tkb*X27hhkDSDkQ+Ps>E`irKq?~c$W6|FWhB@d`LJYa|6lyov0IBy$UhJ} z%QsQR$qKYG>=+t>w#W9{k9F=5yCD8S?<=95WJ}N7)O2-Hczev;nd};wS=P^$i$}}v zebeQr{1R8FWjn{X#SzCGoTFHlB=&Js`ul^k z`z~u9sSXN69Oc-11tS;LC*7BIJcX6$j|+|WeiU7{c2-BRa~ayplY!I2TY?W{FUfKZ z^j%_}qIz|On>{t7Wqk&-XfdW5wW939oBlt(z5_mv;`)CipCqeTa*<@&>eBV5lPd;e z(|hQ>*U&=8v``*3p%_yPxLf6V)5$i376?5M2qBmdT0*FSP!dXLf&9PUog3}R;rD<0 znVI*#@6GJ&-tFw{)T#cn!w*ISvRklg@sy&&76 zyiynFb-l6v!^q;`O{ob|*MIlMqvhK8blF;M8hK>K%O32=fRf^nslD=zcU8}4k*i0C zLi;A3@PCoqIC{dyN&VZmRbx!(3BCom|L#aW@R0_Uuq z^^MG24)9Om*V<`^5K~ zY&CWuC|5ssUz07YpC~fu&0jRs<-DM;F8oEGL;a$EQtpoY-60QpHLy-f{#5){7v^W? zn#CbEcdit6xnvIjk zYiMCxYn_&vHXVI^XqmhwhT3V2eklg^ID|4uijKT3F|L%zT4zv7hBPLYNZ)XpH@-$~ zttyhnjn7c?3~kBAU;q-!8K0KqiH{F8_G3Qnw4-l$lL9drml_dGf`B^X>rf*AEuthv zPU~%-u+~`yC7wphsu@PJ54?gojLSC;pO3Hqc>$9>O0Tn^Eb)9{^iLP*j;RbT!*m%mw11Q zw|jZ&Ps7J}9(Sz_j--#2e@8!$qsJU$BqmE@$lcrOF2^oDt!j0qSY-c@?#e*&f=sKoQoZD#ol#hg=$e_0{ucQzTkgDW+6B4A zgP(Mttga31HmgSl-4g@H`s&qB@*Ls68grvq&+^9}_PiUs&--rnOw85e)XQLIirP1` zJyxmw#mHGVot|TT9ChR2Xy%3FmBA``I@YG1iBG?|R^49zm1{-TArE5@kQYPR%HduY-9jV^zOw4#LR~N6t*pFV1 znkcog+w%u?{WNoR%Nc_^$uY5OR(7c4k&mq<nU`~oHZMV?jP(6 zed+qmTAzBwcRfZDobQ`n_#X9>Te6jcJu342o~e_?-M@0a9{MJ=Z0J>Qw>muZk*_cF zSvOmP%Z49Jp3{jHaR+L6d~8RxzBvH1H$#85Fm;`x zZf#^MC}oG04j81sw3s6th{tb2#wNxV8GZ?|_0h_wwi4uBA$`k^t&-&U#fUig8q(*s zdsLXyO6X~!&jOvYdU!09?Xoz?E98Y7($p5rHP6KMZuY-YXPprk?jt4S9zJE9AJ+zZ z#$auVlD@X9W-SfXsEG5U!E)85eh4~LcklD@3b{J@X37&li$2oM_WUt(yX$9x-PL<{ zwaXLT=k&IzO9ls{H}$ltk>rBV?md4Wem|V*K0=+G`BTn?aVV$w9cszYce$nB3%d77 z`wOSX7H69i2gxn2N7fwI9mX@YVdwz0KDD*lMvnI%+PW(DeRNUmuR{)TrdNcT)GPjG zoc9M;r*|4=|8sq@_)wdwjC<14ebwP}yWWhxf|}v)d>4f}+os~1@lY8ax&YUCb>Z27 z8(%eLsg41xt(Sf`F@U|szlg>IzsN+Qfq}-vdup-ohU_`g;@Z>`&Nax9?k1FU+v5M& zqIOcZr5xUWx8Kz?p+XAX|x z%+8<34opl9{X5jG+9Zglbw{;L{}1UYC|RRe-=IpC<0)Am{+;X9_Fm_u*?BV4y8-*Z zG-8*kjVb&?@Jm>ZzRep+hs5=vZHQ_OQO#?;_5l@9>co;XrzP7bN4*Y>C1p)IG}Xz&B+K&H`cy0X@%2pB~6UbjXy1B_`8k z*#UxVIRw07ZOzh0_elXJX>0gasyY>1Wf|;vk9aRpDk24zjb{(+h*|Xw{+|T4S98?* zzKP-*9dI|R8IiidrTB*LmL`dIyb~H7`IEm(ecDy6W(=*5O~Lw^R|W3v=~nlr>jpf5 zO7ADJ9lWQh72SQIZ3aT}LZ(Zd7`QIlvp%2NI}~g`x_@fbM!56Y9sUZr zG=x50*)=*6oaH?@vUv3-?`+i;$P7=Hb3I&hsz0z`?SQix)*7kJ&jbFYlI@U8WA~vO zx9a`aw_Fa({oOxXQn?emz0q3b;g~9MtmYX1!zDI!nrpCYdFZm}{kb~T8myY}e&!L3 zWxxul!@K*QMNP{en3ijf-Q6`Ycu8=V6?JNx_*02F5l`;Ah#PnJqu>;As6zhr1bZbv zz$mOH`LrFoJLM0Z)tkC4`@C-t?Bcpt=DPlfgxw$9z9YW6`G({Ei2UU$@Qch8B53(T z3i=mkn<8br1%dFL#C_k^W zl=Z)~5Zbbxlm9ceLRKLL$JFr5yfa8m$k)T?TKvof_RCcmlZjZ|^#SQY&;JtBx1MMG zcKpBciNZ?Kh=(3pXt+WEpAG$=$Jig(SUn&}k+J#I^M3G6%PXA3E%9n7q(Vl zWdfwdJhR6eZ%DyCfemXSB&}gPD2e~|I_q2wmc9Y?TxzTt?2N@j6sYFoW~rp@G-9VXKDNen`cjO%rLD5^Wc$>U=xaxxM2%P>C7Yzk z8m$hMWlP`I8;OX)ZQkafF6xbykr`@dd~K`s)ENsYo>zxP(t1kzup(Hz8bicNgT74y zRy)SiWXl>EuQBOq9b=F)PHT+~6ws6&rHIxU#8@&knC1+kQ9G7p29H)^9R{&w;w1XU zX$}BL#yJ_2sWFGP8!r)~jiyo^5wV;`jTJGH{2z`Q9;FtglF@4`?ZeoL!BBI=$>~sY zwybgO>llV-EMsSQjnF62Qj?COW#boBMH_8t+i96LMJyF=%uH2(^2cVkq5t_YpHf$Z zZa@ox3|;S?x`usD6>9h3$sK18cdnkH3N5vmRnU$1%Jjmq;X>b3^{bIi@68=gw%?xL z)pf4C5Zt>Zp*V1HYWTRUf{zRbgdNW=AH= z?pU4q-ob&M`$CTJ{JsuZ8U8$Uh`2l$*&~nT%K}~gT6K_WQnRs7`02Svy-DYi{_?^q z?`rQUtM}csEc^R(yVrsD^MQSse}{FCSKaYVtWi$%d=gahxaXOHOEJgbgS;m*JN_8^SoFNyA21`Z2cy@gsyX2-F;jQP?9uJ} zja1={@UN~NdiI)AqwdVr`u~>vD7dOndU|#qEsj9x~zv+SoK{6 zZHu&`7Od;{?C)o4(@-;J{n?MQk?mV-C*s;JY)520oN2Mei}hoE>2Z_y|a_ptsbpYm9CvLqx~mf9?c)(WisMC1UnL3GJHbegpuhIowdX* z-DUY7`meeJJ5*#tbN@XUl%wMgxnS1j#-UluvWJFuiH=Nd%sbr^WP0edq!%O0YE)-@ zYq@`fd+!|K-8202p_fAEWWK{1o`2l1Ypy}v>E=2=YolMb#Z&0XRxR>Y5NmyTXRW-^ zwPE0wsX4j&?KL zdUs1L&z|I&H9aJErOUB9du3vm?8T8DwRofvBlcsi8vMub6`6cCxW;w6^IvGyZdDJr z4Fu*#zK!z^PmB+Q{VOJ@U-vC`ojq9abfosmUz90Vt;y^C|8x%oUqFqcOs?p=1HZ&U z-W@RpyIy|q)}sC3L#$kS_26!ut^R=Xbj>*2gY9v_b2w;WOk$m7i%)j919A|QJ{`$c2etgEybYlgypQhU7Fi+Qpe_#&v{e9j2 zdxlP5en;=N1dQS06Q)R*h`%-+BD3bYEoklf8vBOklBLC$+(zxCdfYf>(msvgFwD6!=3 zYxW%)3C>J9u<}o1qNgPjKXqgfV>YT0kKdHpWHz-s=6=Sak>N6Rs`qgJhk+h>{H{lQ z1Kv%et9!QT#vISyQ~cAUCH_YCzP@Sd8H}NsAlrEO?b{}0xn*t3(;p1)oSz@V3M|RZ zu@~KakqSHwfAe1(pSq?(E_8XE54L^Wby@bW?oXR1si$0Lg?8#)8Cr~fgeI(NfZ3*{O^x+tF3$9cjIfG&j<<6LNPSF zkr`^OMzmxQqou45m|JOSjh4t0<)O7k(wN4z4ShobM(fCt#PSVCNjqBUL+i$)+RA8* z9Yc+2JtaCrMo-in)QM%F5iJ?*cuea`Eey|)spyof}T1$SsOgn>Uo<1?{>(CO4 zo<>UJP+?GVhS#CijmId_Zc7V|Lpe^XCHlrmF(wfbWf=>Nmbh`H9QFEu8YGsZPo9Uy zw5F(n4ElpOPkHFA(W85w&G)V`ExpqlQyk#G;JS-GLB$5m~Vu@X_W7 zd@@Q!s}&MF#-E{AnPnAf1*j{qb~6KIF6$=fpJxozMPQ9O0o%n{mU5lBNqFP4wlY)d z@it;y?k}guT(hpj8Wl0tk7nR}oae(B951OgSosa9lDB-M-GsL#Yf4x<54II*lB&1# z(=3YyRj!yTUCUy-EmpjPJ=-xkUX$1AP;6&q>nC$*)mxAX5st~MMSdqK)`Qq`iFM_a zU!V~Oa|@fPz*sM9!aJGwrv-7!p|J7@oLn>R2SdxpmGizd;`&%;;z(A96{8$=NTzHZ zmObO(Fg`KO6V->7wZ`U4wK|U05jV6YN7*>AAXtdnpg@%Ov}cWp+Tr4U+PoRHWplBO^u03p3ca2s5whD z=8478mtuOx-e|OrsL_Ba;TcaXdAy#ICWhM4k{n6%#@DjekS9@RcoPC+Pby0~lwpuq zMst)q%gid}AO`2KeD)EQiB-13=i0ygj%5EY=7)+k;vQvWGh}@K!UErs@F%He#a>|t zOGBxZN~`SSmnKVM6247Q@}r+gRlpv7Wup6xbPuVO2jJ)xgN6skkML{Rfp-JuB(m&= z4sQX3#q^m9B=lo3H{cyWSnl$y?1|;KH^)_seS-sG0#;8htaTq5_eQf;VucnOLAkHk z_ss8ZzI}L=ybBzAgEeVEJS*=F?-k>a=+`2@>?1}z+}}#v72e?@!O}XrSTcR%EWq-J z7@Ry~=n#U%F*IbfMk7X1jAzS6@#Ba_ZJj=+PSrk#k#%TNWJsIR&{!DMSZF(q8XK)M z8iv&CQ1g_u+tMdK9+95G^Gw84F`yYW4rKH+HmP-0`Uav=AG|)4=-R z6x8Zyjj~9rdDVFGu&NO;P#IQlZnvHtmQNMR0lYy~!G`tFN~`6h5p`6yds(Y1<5^=& zw#!XIO^x%05DN&`Qevx}^;81mIcre|5*~-a! zssl3i+{E=N)rxfVJ!0!2N-o4?S;g|0d1qP3RLFDW9Mfj`RV=4j#(}u{2S)JljFfP1 z9D?5nu{d&o+=+<`;ib*8P$$13~+$eDFUmd6gn#T^21`~u$w$b+f_iW&7d zuy+P>%ROxViyT>M zG`LmHYERD@n)tCFk8U+t~S0vNm$GHxsF$C)jLW3H+gj1 zn!@GbRN?+~D7mz8)xbHC?m|sxHTM77oaGa`pzop4L$G4myOWL>E>}AaZ4O?5cGJa~ zYmzSw?&VtI+R@uCC-{CJ?pBvZx6kg}j~#=tzT$NCbQ14lth4xe`l$7{kNnm*!8beC ztS%j$pL;EkScfk|>=ye>+K=5UcJNG!9@Xx3cDsMG=FCEwJm&d%-x;}+yH=!Y@wDva zItgEVxAQ(RCsVT{h!qU*lrnH*oomaRcx}Az(_VW?fFN;4?_{=+F;D)ug6()Lj^Ijz4 z-0VK9fV`8w#~bbbxo1J}>i!;?zizLgR{6fYK^o-E(2UdvBek*% zp02a~RjN7vN&1#m)8lUqbc{Tb?G2=2zX+`uX%Dfd;gmsq-^$4=pN}}P67&9%mwn}O zWBbQ_7jN{csr_>Yk4(Lg{L|1ff3+IQKbZB&h86FRJXJkk&cp1w8LB_rs=6?K`Ia?Z zzFhFs@Ghfq?18gGe9_7D)`lrx8xe+Sf8MgKA#OTjHu{g=8$w=oy#1Ms1&nCaoRM3&c`D7+-7Jf|2WKO)k9vQg zR{ef;V)X>cMh|Gc-et}2mFIfjO}r4_Hrl7kS9GYo*FEZNl}O-=?(?JV@<{Z|)FaVq z*Xr=}^g^ssp7LHa;8icAXUgR46~6m2JzYolJup<&bW*l2dz!q{^_cI)yEtd~1m_gh zlU%5Flx@66ulY80ocrsHBXx=Fll&)Uxm|llJ)Xwo@Kw&*m;-GrO>zZB4m=UQB=O}y zefTPGKD9LQ*4l>P%HW5=mYxc{VGoJ4;d%~_U+rG!s#05}4#WJ@k76gTy*}F_k0;YZ z{@z!jgRyp3Cw9@UN;SwH-EVsP+o#AQ0hand!@2-`qc6z5(*4R{ZDxM33?;$rz}a0l z2T}uk$DBNPfVXFPh0KpGiXPy6rD>9PX*7ye26jvbeR~JO*#!1~_NnLndtlwnO9wVM zv5$n>ZcVl77JrLFu5tVNZb)Xc`(TvxK0Rmj?&7P)x>I#{W~^Vq{2JCTVtyI^I%7QT zw4{AXba?j^LrQpeL9)2wJJd+f860++h=|1+pP`Lvo(38(%Efcg&b9z+#Z+TCAi~@c z*Thh?6*;Zry&bdA9Biyq#w1G*)Uqt~VPRdr#-JV}0Y^s?y0M%{F&*ZOygq10nXc5= z7~mpNYYswUIpZ_bm#{N68>Mv?a#V2W@yTG(?V0 z`&w%dhSX_icoP!WJWR&OXiGJvb~0v3hLX{eHzxTN#}# z*_;|nNn<(%+t+%^ByA%_ZoEv%AUcFtB(Y-J78(`=)QtBb65Bnpd_|cW_0J1#h3}wU zQVw;+vc^!Cy4p2k-HM>X+Bj3yWPe5A?&L0gVc9TPCMQStz_`7><#T*VUzysm?{B`{ zB7aZ6>DmE%*sSwyn@nMS;Xh&|!#>>&Gyfe};(9b3&E1yjO6{53M_rlSzHfQ9QLw6d zW0`D!N0T~MZSv0b-ZT7#_pGEh?Ni5&Tojn1d@0TfdM#Pi@m|)2`uSwJJT?P;_BE+% z*I$@-6c%R=a^JM>+EgUB#PtqVk*<)foeOb2M+Ebe06Fn zk~uUwA-i+BIaY=>cuzoI{VCozV~6EBq%Og+^_#*|FcW`*N_n4L;|xgVx4z#yQScgiF zOP0w}?=5{@Qk&`y-h}yIn8&29YkzL^Kaoe0bL3yQFIL+Gj>=9~*ZV#mndz=pb7uL% z&#qaL`8Yd&&9>^~;LUwsw{@z4?p@VkvCH!h`tAw8HgsHU!>kk6y`B7(e4P7B>~gHZ zfSD4>X|g`=mD!TReg|KNJ_!6Yx_xLXb$EInzKG83Sfut)Wxks1HTee2KXs_yH1>0y zy(Ry;g`W8|0^O0$z`7R{`zE0F@KJ-p&Z_f3q zDW0z~$9SuAd!+95&XnhxVSI}3O3;A}RvUFv(+w*$ZJ-M6(&Lh(C2bA9u&KVap~F3hvw z2&8XE>#zp(40UU83cjT83YM$ic#m6oaQYwKLn4!8$G+^W{ji(#*TJ9rQU6D-ttWvY zIg%8e&1=NAH5%I5sJ5a`lNe@9Hb`k4Vq40LK#V#~Vg=f#PV0@Y5zAyuV{|fR%~&KN zVuhO5nD&X2r09%=Ekj|EPGh{@#!9UWYHX>~7|I;hLDAYK#2i4a*&E7%Iyzb@NI+^8 z+TEdJZH==%*t(-z#;PGtP;4ECtgu=-WYnl(%U*#hd_7M`+X!0CAv4xQ-6{ngED(c) z`8lvFM>?!ATJ22GG8MK0f*`SdrCcV$=jw;mSQm|bxOFVUK((xjhem%Iu9tz(EwRgzUk7gwKIL5~^HyCMI?COxKHcEN&a|hG zyqtd|9LO&jI;wD;_xG{Q>ZOruW?dMpz<<1|YnIwE<5c^~h5ml`jonuc&vpMK_YM<3?>pb?JEXr-zR!0Rnq*<*lD>&*yG;A+iE5KthqVEIUZ{yw$quPk{S$IZ`J_gD zncC$4OYV#QN_AXvqMAH#OJA$Jnooo_rQ5JaYtp^Mzir2w;pcrjsPwEwn|^^7%bT-v zRdxS4`77LSyQ_Te(5=3Sg}JH2<}iMuB{ukPDh z&B;x{IuTo8HJ!QgjH^F8l$oHq@T|H}GaH$GcJBe9RlXkr4-O0#ejT0_D!b?N%x26v z>{Q2k_Y>{H9+4-ZwRWp;XS`Nz6MTOC6(Os) zQi=2U8bv8q&W zdRN&g{l{g$%l{B;4ZWW_I`K32L!nOfa`pxPX(7xXl>c^z)bQXmtnzS`_ssS`WbW}^ znO;=rQorlD1Z(jhiP@>Wa!MkUYet=~RyC=$O;zfi?47|K{2OL%PVdxyfd8oBjp6fh z`^L8Na$LJIx4zvWJ<6{mgat0U_U^~VM-;2y3{gdmyAOwl{#Z_(Kzjmu9Pd~sW+rKTP9A4PLpj-P9H{NY}8mB0YpcV5}%Tm zHD`1Tjk7pw{J%o49TZj^;f^otPbyQ^$TDHQ18;oG=eu0b^~P5Vc=o?l;BW}W7(nFA zShOpVN6CWmW8#1XzmG6dLG<`C2STe>V5P`f4tkQrfrFz4P=67vr3N)Cv2tbAbYO$p z1m7O4B{>xP{@5P|5}kk6DNtiVZKO)0f*KNt>2R%gus9oPAvlk&2kCkX#>@d@-K5NN z+LHZT6}tX|95NN=1@{0rd+bJ&;dmt$2`hZg3tD&w!ph#Ae^6zCv2FPR4WU z>qAIR6LB6So723;ELBmfd2MI=v^E;U6QR>&Y$=K5=xfqCBN>dLSVC!BVnl6?Wnv-P zuGB&!2B(HJ9wnv`9hOQqqT^}bSQ|{h5F^poyzz+|B4!R{*&24 zt!!&!MQy30R4QxU0*juMq+@tm@vuot8ZkQCg1FW(G#o&S3?h)|NMbqqnrI_nwKKd9 zX+duMLDa@IXCp>a44uhJd}&{s=MHeKvLsX|sovePSQmQT*4~$g`9$_&c52Z5aWvFA zL3uEB;=uUP=p|m@+p6$Rs7jqu=t(TgoOPEJ*7+J0cJ3)eI$FfzQ}WMn)OD!u-o94~ z1L=pnj|Jb#9U>P-BDvSIRd~uDMNi04dAB-Fdees|gQcMO+?U7CXiDVgPFys@fF?cKjZFpf}vLA^%)>JO5{a zM$JS2Q0BbUcc--o}WNWXzE>wss7ISxU=VBU&~n?R8utwxl^?BqK4@yy3K@w!pOv ze-htD3U5zAAp9b3vfeP}OIxQ_r#SY57JPqz!y872hz$+jRD3&e*JRq^-7IVoV7mn0 zhkUE)_YmKpNQc&z<6G8&GXl3_TI~rq8`O9|@f`~ip2KQg5C_iBafK~N2YC?2gC18v z;(iG{Kdj*6EiDej<5)@75{mD3Ri$W&S_5LD1_bR z3SW5d6>h|clta8_@pV|qYG>qU-&Lo_mgf`wGvtKf9yL9E48Ab`QkYg)hCL^%GD-I) z_x8(kzFN$byW5)@xn<1+^&VE}+c&Z>GsAmK=;OkZYxWL4mVP^RfK>PWDfvO~WaQ+z z;h?0$PMI%H3{MQM4_=yF;+hb_Z2Rc#!}GAaHg-vniRs(3o4fhzw#boaA)b(qd-h9D zN`CL%Jg_mocklY#+`M!*qV3Wt`?cfuR%d!^l85J&yzctiSth?+9STnH_G0g@Ik}C| zzF?;NoZ;=U$6qqrD=&Axl6o{$AwThzNrOyT97oRqUx%^;kFSJI_we ztnV(ABGu|w(J#GEWNYQK^$#T8>7DJ0cU+f!%Y$`^qt%|Ha@&XA3i7wwKN`e+jRp6{ z9xC-}|FjEt_|TY=(bT7zMe*lzhli%%8?W6xJ=Ltv^R%-3&fJ34V9$%K#5#eq<(ZB$ z`LwXW)vTT_?C<<(TFF7GOzqk6ig!ZtOn-wqW6d;m&WejY)8q-?jLfYemrAVtP2bAo z*E63e9Gc9j>YiJ{a zW0_CVo7X=a+2OV&>0P|JfvGbZ@c*qT%*XwA1P*pB#`oB5fz$nE7+W%T&9_09x-ELq zjH3pcecgBbp=-XJAKH-KO}#gK;QF_H&8j9n5l`yup(!}uVigZQoqe_Yt@U3G9qFE- zQqiX{YG_3tM|vGIP#0SotWiHn9Pc_rUERIeRU5t@Yx8~;{YP?X`r_RESY>aTy1`Yc zww1HI-OgIH+@IJv3GalZDTh2C$c&yauzzMBeDOY>+&{D+ST29{UxsxajtG8TXpld- zD)N4{i`zS^X z^HZcoT{*Kxb{;ttvrNBn?YDN1?t|{=^j+zjCw+l^@ow6A#HqHE3tXr4-q?qgywx=H zue8WtVh0b-UVEi`hZ$!Eo^xN7_)Rh!+m!tPyY_5{m8tQZ%g(NUB{Hru>=LyA^B>Ri zMKk+)r>KJhhp!5!p3f%Q-Wt42ZRdTqDXex{c~Z~nT#LM(uSbtbWp9I;AT!mwPPO8> zwywc#GIcrZxg7g^Fc`il=1@(_nYbi<@QiA;V(6k^XV=lrJ>9#fPspRy)^lX&?(hM* zXGgK(q-wxkd3E9oJ%yH)nX-q+iB_yYZlXG3bpPOX(dR;kXRs@7__(#t4p3}QlqN!KL6mD$&BSz^eFPx@xeaOpV%@TOOaNYTSnx&cymX zze!%=y)d@S_t@a-;AzmZdl(xx6qxvEE02G6KYUPf^T?t zz)C)?>YuI#wRNf=wVc_h#?*@Sk-|;B9<&_S_r4o#mJ^0*@vBS^{KtI{_ONfqeevbc zelzg#%IDA?|IP5bzCbD%eWmZ}bq(u2jMS@L)w$8RqOgunER6b>tc~n>3tB^G_%e@l zSE^-LGxXcc)6snr6Z~CR)vpybiP^b%uHT~<_Ny@4xw0eZQxmkaW}MNb*_}ggq&iZ~ z@wgJ}2nU-5aY=m-hz-wsmfotqb8ROYNL# z5wA+87NUoLs(fAORXw6Y=!tjNwLX%Hhx7RMJklKuOa_*6J&pB&K=>7KXkw@(awMaZ zqGTiFv}8h>ND(!>Eo&=U7}7dQhLa+1LZh+uMnmL(c|-?osnNC?H5Rs==5(wrEd@$D zUa6!l8JDCbV`+3+wk2idSjQ;FdMC9HS`#jgpPCHd8Q+Auvu8!X(~Wk3=IGfNDIUR7 zzE@|N_nBNRTFc9aLh52qB8D*ofwS{h_f_Fn?CwhW!>PUf&nLE3zeu;P3P+pdUuln8 z(p5dsoV+pI>vK0pay`kIxLRm8QXdBHK%B!zb(1W z3*QF1tr%ah3gtRdVL!UY*fPsrZfo8d-X(mSu=m<38!c;=pKM{`9B|HftAxzC*w%Z- zO2ulmMm(OCUy+=D!C3t6wPeM)AtZiT61Q5%d1lD``etfueb&AGki_~XR!o65`l_t< zVx&?D6dI|NGFak#h|9ZA!WT3!t0fs{aVWH6LB@Lt8h(k>1_TUe)1f893KH|jSiCmO zF+s?C3Txn&qfcHRnztYeF|yH{P+MrNSOPVrWMrar+BYaAqI4umJPeW3GC7+cFIlQ$ zETf^Vw%4JN$A?-nJ|YxjnNX~=GX>j*5*>XWhBT)!!&CQTHX4Vng1;av(Bgsv{|4b~ zApR>c2VYsK6#G!EwHV?!CY~q3g#bKY1N{io2lUJuwW|< z+n%svIO6la%KtZeFdfLZZnI&}3C@ZuWG>k{gKLIIV!sNl^i^;b1O2bp^{+~#%rPwv z!Sjk7@qdmLwvoQxUCa8HBQ@R5WR(I)6YWQM<{ObRcY9(A^@2MKp3e?*$(%a`ED>;g zV#pzX7Rq~KwH*O7_86le4#?~q<#T1F2Ca_Gm?(Q7X?vCmysu1|xdy?)0S68!OD|l7 zh0=~%=E2IL#anq1TJjEIh8Bz*;B-l2T{&aGf^l_P#gtS9(qZYyYoZO(0*5(t@Gair zh%t2?G8Km4s;{}ldSzz{0zk?0B6 zNM9DLW%=eOahMGD0x;N6NP}eP!!*6?~^UM4_*q!nFM3p=hdL!DaR(ZNc z{@GO}yT-GL?GiVpH>P`s4paMY>?k;5{p#6Fqq=SFM`*n|a?Ztxvi#LKUvQVcE7S&O zCR2&swX4;iQay6raHmX{!<*(NADz{bI5zv`hS@SVJvkIqcl1_aJi<+`=X)0ft5N61 zuG{{Z(vrBL`{B@mn=bG;Jm&^~?Rz{tx&LG5PNS7_y-bV!6jyVhGoL>ZU-dWm*>>`1 z>i*yhnG@BsgXd@WO64=JckPpDS5IWOTQ^zW3XSHkEI6@7k^}LM!bs3og;w5BV>lUH zocqf6KyZ>;6~55DCi1&(&X@arqA$von6??7I&h-v2G`Q~Q9XAhE7a!Bh57mY_31^C zCe@+x7k?Gx2T?ZRda1e^-}N-2QJ1`^38><9{pdR4+wN z8=WY@{(oVA;~x1GeHXQ}c5zLVy9a;g-f2{c7w0bbtqfe~=r!5L;&teqxkYBit_fe29*jJdc|6#@@$%k9qi>2Y z8O|)iSc58c;NWCg6>JudIwF48fG@i_RS56uZH^;@l^{XQEENLLW?>x;5D>Qx*1JX&TAi z8yF5B7C#j0hyFg?xy1{?B{)q9$^OC>nTH?I)&aEO#vTtL3|D~Rv_U!Mj z?$3=j;2U=4ip5Cfr2ezg_|8!A5zckoJ*3oOiAVD1MsLf#nC+2wW=+Vx+&5XRb8gkg z^4@wv@E<7Q$Qwt!kpP0kavCR3lA_O$nk|Wl?Py^nC@hJxu_3Q5Oh`oY#3_|Jh-0YH zZ)rh$gORuGh--}wsWGy#B0`dJ{&*_R5luoY036WIr2ufQ`nNDY%DderP7!h7c0H-)&h}E z`{ZcFLvsi$PW!^Z(rN9F$;4zV1qdawj!Ug3hDOq%kqk~*W7=0%T*H@2IxUSbb=vSC zN76n+a`eps(ZaN^wdBd!L|J1-BV$U<8C+R0$J=UCVj5SL4SoA4mB`yNV^h|M;Vobc z66c ztwYU`*Rsax>jMf9dHS0BF$t&XkU+(yD3r$ znePki{tCYa?Q*PJ2l2kCgtkrUp`R~(sB5tv%@w-18bpm^U+Q$!dGUpTHYxO$DiCVp zY^@}5+(iwvwOBWSF&%Q=EN_NTBOdA869Zfv{qhVJ0~m} zgzJqdv_~@idevctT>Sx~D+S*Hu+e=UtOGDd`n!J;V}rOpML;#9zq0|BGo%9d#RraU zv1kE+MV+ceUL5%9=;iez9|6U2RlFBgT^oKI?h)g3)5p78p)F#rDi@z+#cy~AF!a4a z@58JQ=9@KB)QQ34iw4?OZA*{6-wbwv+l{fmBGg^20}kCu8!BtZ>{N89;~k-gG1xnm1sz60EBLlShwCQ)l_V8jPa;zYG3h&dBum`kSA~Y>OUQx4Jj}n6Fo^#0E0` z{S%Zsa%=bs-_dDJ--$|mIcHP=~Z1le2OEdQcdi%I0^Y(ow;hGvfY5(z|3F_XForkc$ zb>jB}+hKRzJyK`)ZBABgxY;$!Gf4)MXJx0#xq;h*M+B# zzVv*btx$)m*JBH@7tl66OHx>27dtOkF+HOTxe+8S`~26v+|S&Tv`=Jcd(aqvVJf2i8J}YK*>3Qe?HB zl0k}!Es*i4Xj}Rk2eSo7oyH7DNxL7jHCD1kIwl69S{mv#Z)-GSP)lujwADKLS~8f{ zjK|cNO)1Buw4Di=n&BCi5+xbK$Z4q*w^3zTY74_N)YeF9Om8r1NK*7QPFZt0w6&HQ zy#LkP2({yhx>D3g3^h*9IIvdw3`tVdFceEBMn}IiG!ivhD}+ic$!pn!5J57AYiT?t zV;00U2?EB_q2`UREwpcJs3Xy*BgvQ(@J6!rP#0}&9WjlH6_&=MhD1!pLc?o~_O*r9 z7{r7EhK{}oEz$C9Omp;Ur9;Ef)ZpYvvV~7sW7?MX`kKt;xI*yg0pQZgKR=TUMl%3@IxBEgpiK6?^OChYbfiWL$IVG4mAAP3pBwh+lQd4^- z7OLeab!c^q|uj=U6uV5dk#FE zzbAdR|9an>VMnY*Eo!UY=*CJ^H~4l`yTtbD{(Jw0-rvPeNbMiGw|jb^TU{Pl7dva1 zYb?JXZ&8za7ovXO5I@-U%XBKa^Y9T)hisJ^^47>XsT$OgFNq)RndQfo;6D)aG%3G3 z*R|Ypbneu^f>=5{b$B%RZniRbKzx$)s|r7B^Qq9`-g}(&>Nf8-Abk5$4)zWd-gaM_crC+uIjuqLm!UR? z-x$E0KzV!JG~B&gu*<>T!NjbKook|<7_rzEOY~mZQz@qpeb~*fJY?IDmW+@8lclh2 zY>n0#nRc4DB8*A4o))yxz7EIpwADC$Eg9Kph#MUkiv&LPIwVA{lmvpd7|$8Y|3!&t zt%;`*3$`>`rq+h5@}t4(N#*GkHmmv!6T1U@oxVp%&lukKvoTb{se^cXKB;@bI3| z=MS!P-jziEh1$uv0N2*-eRl2qwi>y$aQdBPvT^0-y?;$lk+K_&g0J0A9|4F_DCy*+Yay3V=3ck3W~Bcsmu zoY$jIXQ*zS|8!SH{Df>x>Lfo_c9`(ZZHM@m_&*9%${g9&H4nMHCD)#tidKl9V;|EN zIi;~m9hCfc=waubzO69-w3b(UjNYE^J6_EHHZa)rWO`#F zsLtMSNujrMf?SZ8DgH?1pk()sbOrZ}ug=`xwsmlcOufs|{Zy(G?MWLk_Tnt8AJU-? z8kictHLz=B(Yia=In~e8Wzd`utCN*#@v24P$$@flq0Q#;D8{UN_fJO>ZJEb2Pv%15 z*ho|KTK9gTOE6p6Da|7b@GpBib@#w#l>gTcwPOa(TIZVV@sZhTZfY0bFFl*QcMdc+ z^~v#FKZ~}=&4IkT9A8$4#j(DkJd3?)n$%u$;oxa*PsdXuljA=G>gCs&b8qN%e$vAc z@W&+{OJzsP)uZuQ{%dbJ-TB*mLwA1`GfQ(z!Y{fmDeQ`Uxp(I_YZt7b*a%FO_)KdInXRY5kd4Sg=%iRz5Iq;vc$bK>?YDtP3EBHUXQY*%z zY(gDLO9m%K-uN~rWJ`3EwG%5vh#;|ihU3vvsnpK!c09%{B@Dmaqy=lXFFKGHU`!1-(tG!}zvq7v6V+&mZCC9Rwz89n~NArA1x{OL0>4q}{T#HcqRM2j>g z;I&Spwoi?%(-LKpjzQjb1|wofEJpie$>U!Bd;}55)!jX zESA2_5z><3q?l$Ysxf217`BzR(}=-oNh(FRcS}h&rtLEb!xe@ zTK4b_#lFvRweB)`&pppIJ(u!Nm4B|UQkM?CG_^yjnwGgwU+a>1>ceGsHElO^dCUGz zhupAcN%H7{DeB4Wu4>!St+HRv`oecoZiCn1JSKH*ms4%XH~UuSW~0V8*)>~@ggR8G z{K|7rG8B%sALbkgEl?xb6l$7ZcqgKNV`=;4*|$2YF#e}bLWw5zU~a_yLD$Yx7I*(6 zn2hxe9-Q6Jzap>@qks>TTUN36W|ywd;x*B7HGg3DK$*I!)8kF_^~ytCpJpEH^5tt| zrzQ@Oy;6Imr>M30cl`CKIyq>VYd?8oPSie+Rr{x2^ED(c&&^FdHqtDyK-~Qc?_LSc zv`jcx4L*vsK(a&EW&hZ9x^uT&$mztF?Wge%Tn~o_TlWgiKrQ%_*mQN8Jeupn47sUt zJ?1bqt52{mVE1rM=(_a}=HDCWRE@c1sk3}LtC3)p4{N6B-@yv-o0-u5^~l*Me=}Pm zubs9cZxgZ7gBmRx8%m@teag1eoQ|nuXr4B)sGT&#u?6* z?bxLlqKu_V+>n5g;@Qy0iC#Xb61RmqfVZN?&zc2RUMgC#4p6Sxv&#NS)IH#Lt4>v` z*jvf|;ECwXV>(^JU68F&m4ccOVz8!wHO|C=G`L#;+iCzS)ODnu4D?OVW7lFUU2Bao zJabHiEh^k+ihL{liGunJ`<+pb=vP(JiKo+n|1C(^-^l(?t0snXv2MW;hV0>}Q5eUG zedq>uSh9xF$ll!|a{KJRUV2H6N}~QXvk6{Nk_(F?fYzJQ;)7x-AhY z+SAr1ZEqvwOiXQMbS4~+YRUF>T$8FD8VjSREJe`9Y(Hj=P9vs53|34*P;*B-j%wzZ zSEj~)tWJqMW9V~Mh$ULKMETuN)FHIevt+Br4_k9hI(43bcLKF~a1Q91Pk!f^>(yy8 z9h{dwY!%4L3pkyg&J(YoIM$arwydeg$YJmYM;C`?sGD4EgOk<4@@iPgJN*&&O!d=j zE80hBJzWL!JsX!e|ASS>9v_$@A9y$V8q|LaZx2V@5l!8hI*v zd%k7xvHtDl>%kRi?2OxAg_h}8L(ydGUD&HT4Pf58#?*gM;Gvif&E zi*d7qlmF;{w}6%%?892Ae#t%Fr9#Rh<*{Gnt_a=f|I$BEF7^I1{PDz$*n z;cTsng!c}fKG^Qv;A;x!f@N5}{e{f0ldjyxaHFbH59gdxCJ&4pgW1PbYIURmW$LG0 z4z%)oz3D^Wd!y|mJ?bCXO9FR|PL+p~w{Xs|urzPQY-ikSw3aIDLfZ(w9xWFrpMbGc zb)kH>$~K7DK@eCU+UIG#v*P#Ubi6;df;1O(0G6&y0s97{KsvuAtY079mRuzY%xDD&1kla-2IFqOPLqV6zSM75Hz|E4-IPzi|)) z=jw%w_H*bbs5TXWu0vsOShW!OnTS-7BK#`YFh?kzVPRb!ik%H|{y!8NPy;#BTdltA z_j;RU^~@8~4;B>K9??VPy{*|ernQr?sN4f18WHnfsYRo({%`U76Mf8&N=DmO#QRTi@Z?pxoi z4v>@lD|=o@e;E4Dnr8z|>b2;+b?AHPt5Z#KQs<(Xze{7sO{rJY&_CDH*5dri>CZH! zP6}@~@^{an>9XW+{oD0%=akwM|67{_{>b6EO0`>PA`+Jn7#rccA-X?>Wg}5Blr!8xo&HZY@m2n4M<%cCZI6&gc4C(Ek-s z(*m`s2J20f$sckJh2Q4NT#p4?q%d$vW{1pl^<8Mr$V~Ou+^WcQv`?=YouKwsOZsco zs>oqzS4|Wy{eN_Q2YejG_5VmZNmg@_i)5>vq$_)Odqr}gW3T}mQ*1C8FugZZO%LVK zd$B3TO;$Nc*H4lOfe=a{AtdzBA%qq%ozVGF|KIP?mzRj@duV z@JkP7KF($q2Sc5YrVsb2#K)=sgr~G$Al1V=xnIQmN>2H^w?!S}?2v`h>)SlEZ=!Y9 z360^AY3jkgl2ozkXu-Pb@`%INIcr0moT8?wDag}NDPPy6YmbialI$@b4`&mz<1f$l z4)$RFkR#M~aekHC>el)Hg!#Jz(Zl^k%Dw5h5wGEsf3LsFoELj(WNoyeyHwp{+!U== z#jex5nW#^W%+#rI>dGee@l)y@|2|W9&HgSmSoaT%gg9X8Ly5JU)n>M?Z8j=W52VZ0 ziulQ%iq?yqwF4c=6EaFI_04LV>b-dLH^ZHHzchEBCQh|JF}1M@Z{&v(Gw`0h4quxO zHvhikxs(~4jq#<2MLLo{Oy5dWk&f#7pUif)|;`sYUA>)EfgYxJ>ym)idNzl*(?2w_WF?7WHl)_Q%muA2~m8 zabJzP1!t?fwZ`WN-W5F4sOUEXyWR18e@brlACSDSNJcc*e@CW=c|-9G>J_WmB< z2IpMY4su886Jwg%&OHIwy(jsy|J86k?x8ZZFILDge0!SH;y)*MbvK4zY?~7(Pqk)? z%~LQxXRVr?D#iJ`&ikeD1k%4WWa9tthdp=r_K23NM`uh;-so|6R<|6Ju99x!>h7>C zPi6*x@?uO4=AWsMzxA+(X``C$DvwR_oow9SUp2W>O-=3RZcO)j`Og2Bv(0mCrbZr$ z&v5;#f5)~1j9n6c!E7e3_|x7mW3QMq*5N%bhd2!}lry|ER-wFV=j;UWOF8EH+{=75 zy&!R2dI-ebd1O{CX8m#m7kOskD9=cjs)vW(9l%;lk$b$0N7$pb zLcXdk>X>9M4A!f6nmzJWY6p~1PBQ;8+?=eEYf@hsf#8>+Rl`r2yQ)9Nuj(mlt&*=> zx0f3?W%?H1(;s{(Tx&FjmAPom6!m3x)`lB~npK0G)jnB{$DBF4sOB{;*G=)xt|_T| z15P<4_H(~e&d3zwi}sYq>GNia&>OQ-4r{`^P@9YUBFWcUugyM}x+m<v6aG&Xt9N_9j9!zfRLjh7 zjGek?4UFq*8b~J{(inRTJ^pSOc_lLg-__+k%kh2pCRPNd;F?{FS!T-AA0k)**|%5t zxZaCmYuDAwkHL-3ilK6OEpU#v4fhP3jCxJwc?iZhoLsZ zV$pVJ$CTSNW6f*K=7`yzlERHTbi^3aF{Ee6SbI%tjP$QjC|anNXwJqcv1!{3{QA)8mu_e561);K^_Izq$5fSVC!$=qm3d~OcPJKH>YLiTmpUUd$3I(IgX82t z^+YP>-ouY|M)4M{aL-UxcV8I(sppQFE6k5Vzl{9H|3v2F;fLJYL~E2s-PJh{$CT>W zw(~*ExARqIOLwunFgTJrXLzCdFVgJkjd!lUtXj%iPa& zz${(wMGx$~Ke zaOjkd39{GFj>zf6{+mN?nHI0{*NH=Y)LbGTrtTSZ$%3IP>$gdv4Fe_D=JqX~KoIjW zsc)iF)qC-u`da1g%*ENuLo?Kz!E1xTo@D!f5~rmb|k!jyaJ>~wwx3%n# zIh3}S?-M)4?#2AfTnqQzu4;8&W~->N@ff3Ha7A#R_`ZV;#tK(StU5ADU8JrGutt#_ zJkfY4RieVFHEl)e!@&>xKSjIg2ky4shxVv3fe~8J@Obp34{*hczOW zC2v3v;Fn{&W1e$70=5(DS+O}B4M<`-v}3SvVtFn7UmSJl#0oWKYZE1|eIC_X3~dcf zY0lPToTrtQ3PZ81Xi?~FO&cRGVCZ#7%Jv{FxfIB4%#MWwoLJ#lN?R9(g<4FtaHF1b zh3hg^YEkSZtVK9g{m0F@B3ziWt2O)1n%7W`j*2v2@Ojh0I1I|hr zG|%h5!H1dC{kOX25B@3srcvT7lB3OkrjG8bRtMml6-u~MzZ)6~T|M|-e@*&@#-}nh zYJumvSj#|-LWwS3FVj(VJxnHL+EpGg!84La`jLAffz3zHtyejShPy9 zgqSg^BxStbn+o}d*M|DskEaiAekd`iud-tXdQnuOrrL~SOD2yDe&BP+Cw-NEr4|`C z`(O74)TZ?A!SLX7@fL4AR!(`})7m{rUEp78d_7Pq-v=D3Sne7chq`oy+|_?&e}k{L zeU5SVhGI#W6M|=?ckblB?pusMq#M!xZ?v77E;6q1d|*2L-i{*G=_^icJ9LQgQm9(F z0w2wWf|q=OqwY z&PK<|WQ{+dIWu&xfA!?y8%bysR+wt znBz5`N>w>eHrvqKYNlG%y09-I-o6KtlTqh8By+3loWNG8&W-c3r(-Ndo4K+Aql02A zd?R`?bqp3I&g zT^mlstoExn)u|b>Z|m~Zy#7kGl+>y}B4=+WjaA!te;0e#-x>PMe~Ndj;Nsveo->1$ zXxsm!qYZD|*ZX%GYQ{*Cr&6m>|Gn3FPxioQP%U+BXKe7cXWnbf7{612j=yJX)m`x^ zhPfFt&tSy^hbl!HUbGW^SigJ!KHb}QZE=0zEmHo}tezKUD)g5`Ila}JnviwK8qZm4 zn>Rk=I>z|LyLGlqT@+|d9T57&+=3@|nsOQScnTJ}5{Y`LQXg`C1F4^e_kW~1Q|fyu zaY=iTObR~Mvj;|IyyM@?&9VJ_Qc6+7gcFBg3=_Wg98XosRwPhp$C7&0X|-DwgJXX& zT5v@b&c}sTCmE-zEvxa!LkV<{rl7?RI7Zc@{ebDQ?F%&-Skm!p$#y*U&6p&d!DAYv zz{CN}`s)JQQk+vbVOucU%&PE>#0&{ij&?E5^2NH7)vl-TC4(Jni`A$4yFiw-dVZ%$9Qat_TwSttRZYKv&Q?OwX79dXeCtTsso%e4}_~`M;(FQq6J2dL9{bX0_ibe(gERj&0n`6Zh@F z1`f3D%R;P5aBc*%qC&!1+RKF3uT-c9Yr$VCL3_7y;EZ5yAHmTow!<^lZTAi*<}b86t%3sK(OOA=lx*q+u|v;^Fb?~7apJ1 zq9*si{p2>tEqfq5MlHo&Ejz7G1xs7UHYXNJj!v*?XU93#!YS4G|BCaN8cl_ijoY;5 znU3~jd99^GTSsdaVvDF=^Xc<74$GE0k+mjiNBmIkDn=NXpi>L{>mlJIVy49h0(s9;dVr z1(S1P#db(NTUTSW`t4>JjpDWrQR?R7JWa~>AmJnz(n4< zh^<#>OI$|NvN^^Yr!3EDjA7o9rVeA9Dx@uVRHC`Ow#_pxM8)EX=F`-2hMH2jSS%e| zld+aajv}Xho|4~Sc|>d5Hu+d{aV-7XRKwK%5%1b z9YYaLtT3;YV@D;F(}K>9HElr!_IVAhCje}UG@V$X4k)wvLdsU5ERU1c-VVX$FiPme z4*6~6H-TRS{T1c}INaPqP<@N!ZjyQ9!bIGr2P@98#`&N1JfplbSvItKx519R#&rFw5`U>UHvvZPq3x9YAy8LCde){&RfDpQ zgn3u!{f4~pX(~c4$1B!E09&;!&KwO*V6;R?ht$R^))BG#133Pf8Lu!u31~hEtVgnb zz*-)9?15q(asqNPp812bjz}h=jL%fjzYi$ydDZ|aWsMbcA;KC*ggTQ_?$-Yc)ya;| z8PToPT2+*+QrBgSRJGd8xFK+VH+p7BKz<3V4yRIQIOnLVH`b_f<4w%2cd);?b9vIK zS~}|nuW7j?TAw~Ae4={G_oMf#zD9Y~I9<&TUhkP}+!P9Dx9`8JH9fc_bC#@6E{#3o znyhN&*nwg(jR~kfr`p#iuIu>R_eJ!v)Nb;u@44PO^;W7vq3=lC<=iJSS-E7AS`(;M z@$j-4pU38PyzHA2J7TEM^V7(RSjS*}wi@$Uf8#wDN4uN3eds{^(b_4v6#u{WG-eOI z6kaN`jpm_iS~|_L4MEp_;!T%_C(E_*TcZ-2sJ_EW1vT;>A|-i^kM&dJ#l_5I+ko|&$1JtssfRlPhE zZIe#9Eqgk~VAiRU80Vtdt*u<<_aB}*e{gwVPxo~BgK>ZMQqR_Mf_Y>c-;b=5-4^-9aWef<c6>M*xyPXBho_Bd`_(|3lP>(9k8qhO1Yxb6zQ?PP!8d!K54pN%ZcQ1(%Rb; zfC8tj#X<^c0^~JDnx3I{Hmzd;X!}A+>*{c<1+{*?X^h&UO>!ai=oo5GgcO}vUWXt@ zanj@@7mw8>s%5foa-y$X)`vSbHsR{sgs1k1;MbWZb&B!$q?KW`qM`liGULY1x#_nz zPmq&b_}Aw?BH>U~oqJ{cot0RR_50X0u{GvZSWl~1N&1V(-rk9-wX;O6NLQF^I{b+# zo%{P|WbX>^5ISDnmzvu38d?!2tE=4Q>f$WMjjFf(A7(yHPmWv>KmV?&>Q;YCqEanK zPoN#;Hgl@?nBg+K=O@T9nFcjGa76l1V@}+Y-LvHI=ku&-aFgw-$o_XeE^-7}JJ)Cx^#lxj| zyG_FX!e$j#WxjA=hwOXl8;pgKdU-tcNxC+EK3e@tWykojLyv`O)W^w_Jw2Xm_hsG_ zdfveLnMJ`(1Cu%~N!N_9hxG^jtJM@aY~)(ZbK_8tg{ow{`UiRj{4MoO_^y^qBF)3& z<*d#}x|d-5#L%9jc7U_7HVn@hIv%eVj&DEVQh!LMJS~cE7Y;3 zX+uhfc1%uhIfGF-c^UPE6!o>t*3dk|-#TgwVD0l15puS~B6FOkwOnk0B_n6sQDD== zwG%|zGt{(2ShTHAypaCinzn{mwpvHiwuG2=f{4D*Q7gYuBBP#E-ibw0*LK>jkRvTQ zuPKIk1R^*o@HR(`P6|SDdb24zCYpDeW0*%ZW%D+NFVA$vR(#znmE#av@pWOjjP2l- zy-c!NvZ)6F9KX9IYBIl+;!-R-vUJH382;c0zn%Q1bKJpnl=A8o%Xu?o0z%G#U4>Yu z%da8Jscra*Hz8G6DXY}0EFD#iZ!Pj7)W+8vt@@mMuM*!>2UaZM`lSvvRk^8w(h~Jh zkHq(ovnF%=1i!cV#i`JT1K&uN0hn`#v_hZdY5em*Us@* z6NL2INkMF-$26^NtX5vnrgDbA(xok(4(*sIH#$4aBNm*K|5{4kwxk|;9TMfHdB*fQ zBt>tBcC4{qp5?z(BXhcH43_lq8(gS!xS z2OZPET?bbon6nUd7WVUD>a0)I3MJ*hdB-xh{HujO9@xfXPsO;e%aML1_QLX={tw4e zDgG6LgC)RX|GpFx!S;P913$fuIED9eF%z_Wyivw}4E+_V9)&Vm{b ztXy&acn2hyGZO-iPvnR!>=n*BHmP9@U7iW6gp0Gs@c%i2N|8yo%J;wz;zl9BBZ@`Lbk496YZ#G~pR@qYmwv zD{AMC0~94%2k$CyOd0Jcz)H2Q(wu$d+&@xQ`IZ(3ZJ=*?rU2ePKE@UTD{C*XWG-|* zbiS-B0vl`3I@Wm=M=mXD^K2oaB~U8`#LS7_1NV|k8Jf8~TKmyjJW|UNp>^$%N9)*O zpGz^PVef_Kk$WqJXAUeq*jPuxl!a%(Izo*ikIZK-SC)QG7b)>-TDby6%iPhB0$}9; zmKJVl>my)jAFHKhX)mr+QAgx>Jw1p*urapQ*m0UcUDwBef(XCJ-mduvwI0ubJ)EVnFC%@Sf zaXPWQ9a7JxA;{5%F{N}e#?wk847HS@Mr}k$jOvloayzu8c1#VeZxIFQi3V~~ZBK}l z{7+QN?2xfdOU?#>h1s!;a)nf$h8WJamQl_kavUSEXiZUDBl*})L2KwRucx(%YA1-a zG#}?FO6er$No%e!*0fmZFrZIrMr}LI6USDXZg5VPebehUjKe&$UVn{xIG&6d@?l&V9~rv0 z#4PVRUnp^Bf0J6UsaQ?i^sH}!9N#@D69~5`pL^GJ+sA$x{K7xi)2J@(-8H&P`!xAE zQLFAB+5X0Po)n&D(yo-t16Y}_{=e>esf*0&dM3u6 zP*t*WV0hr@de1QWKWz-DXWgF|4(S@&DYK?=iu^IQW4kx|NdGJSYZJRlk8jWPL#~PP zWavcoV`rD=*~s6*eddBxoB#CgOlGy5-*Mm25mC%*E?0W$)XrF?Zx3~G{f&Ls#52uv zvOd!zCk=Q;#z``R)nH|XcXG!r9@fpOw89#RFJL^t}>^q z{RbDMr}s^hJ24WXRvIz0o>Mv00n^X$J)7FSwI=mez#(tg zrjC{|wm0hLQHz@_xCSU=S*0R8gKWvJh7O-fJZ;oRJ!G0VSSMmBOB}+I6Km?If1oC9 z^+SUdTMx=mW^)L~yP~x~v0jGJ(|E4Rr9!3xpPr0ua`-${?nc zsabV0(s*L+u{@~zOvYA*5p&gwGhxy3D5x>bN~cD+mH^i%U>gJfS+U;4bnMdM zc(GRD60|O0vuc{KU>`8ls6bT!trgbWtUp^g2j~qc5C~czgf%+;Prx3ji=67RCeH|u zUjHj8v-Ekq<=8{+e>!6R4`DqJ`%sCfD^P}24BLbAWP-XqP$OUY-V0*Y?4AbCl}@ZE zDj5CQ`a|&i! zc%6DF*3w#~e#Xf1LuFC_Q<N2TKOz`A1=Vjp_iK8=sZcP%-3RfHyxAyzI}6ivbsKcbsYUI z2a^8Ap6OTsp%`cO-?2$5EW63Sqc!p42cK=7>D{xvSlw^j>tC??K_C9G$lk^c?bk$V zW&h|_t*<0+_rGbH9koH!`^}37zYNSzUJ`Z)#(pO;He2p@w|dc@C3iGTkQUi7RH{CX z{W)GT_)_?-jZ@|S1~<0dogOa>L;G)J%?Hj7aXl?g#~L4t*t$@&T;9Uw8EaHiHcm|A zg|Qk%ZAvTyt&pI+6J{jTsOX7_&$O}xUqL8pF0bMgwGvYKq$9n*?^7pMo|t}(K*0V z%Cy+#$=Wj0W^Ixw>)IdoLrQ={8!ZW-v>x*Whg5Q*73)2-tpa_Yv3K5=)>{lxz6X#i zDYbHC9fM`h_X5*q`-?s@eb4Dsa&J1Z_9xI3Y_PD>6TD54<5K1VI9mqv5s@axm`CQY za9UYu1JQ4zGR6FBO9#^Bxzf4e8Afivb-7xDwc<5*oi$NyqaJsa$noKi-BYE;JZM8E z!*<hk7vka`I!0 zp}!)#qgpbYO}`qyC9*td_I!}~X22D{O!c_8goDu;crR~uVGK>|0=#W&2C6bg#V$5` z;+M2zhS!Y~`|zI^<3})pCbpI9JdBhYk9Tc7=JR~^veTRDj3tr3Z8W`qX*;@Yc`P#U zL!h`H`i#%ip*<*d{IM^9pZK$ z+`FZJ(06F!ug2V1u{x>Y8{=I6`zfc{jxXM`gL6>gxh{DL{;c~XVYK5rbarcr?Bseg z(b0OLacG@SZN`Y!B>vHjbH9m^vx?Wq4jI$Qs4tXhTFdhqU`{2y?@BH~v#$YL1+)18O`DrUeLVWutl7Sh7WZC`(4p8Dgz0b;KhIw& zLI-kU*@I?lHssiJ$&3=cUMSBZ)8V?Rh*6GGa#C#S&^Yz9e`#iGb+y{yE0cx358G?i zhvu=VUO)R=6w9RM3wp0lJb|&>ySVDrfO*Zd?bMFmeTQ0l%VF^c^P<44p@;q3G(0O; z#QQv3eD!L6Y?1n9WQW8d#xLQ$Mt%-e`1)_(65mGcpZJe^OBN+jIiNnI_6{1dwRE)H z>*^mmAhOZj7H?MW{$*Hi`ggt>%%5ckfmEjj79@X6*Qw>}=e8HA?|ZLKPV>9v#r7AYuSa)J-0YrY z%vKkr-x7I>Bi`Ub~IL;N`J>1+4GoJf_j zXIr-Y$V832*YldsothhbCip^fMY2R4lsPi>itqi{qv)>Lze|7$|_^uY)NO4`YC)<$9QoMbG&{iJ~G%U<5V}sD$P#4l4_BE z`c9hiPQ$pY4!2j`+?wb?y|uL@_$1~;s>?had?HmD-pRkjcOWL< zFN$4)mAKFG9U-eT4ZUBbYFl>?9nhYPJrh5q=?eKaazo%H)D0c7I@%z9tZ7=M9ycmH z&->r@P4sUQD^g7@CGF$oJ)aZr{GE+1|M4cvfs{e&(Yy7TteH*_ITrGp) z@68F)ylG0u{rwHsa;*ing_VIaZea}3bPhmGqfVLBI6C+5-@T8ZV962klK{3^Owj3lsxNEC!S`O zsx6TRBg>*kjQoOm^arfeO?bXsc1V>w&?TU1LJ($cmjM<< zLMOV6$L=X&H!4m3!~}dBE#=D|>AF%EZp;Q=)oYdhU)js-D!-v3B)Ytj)h|yjCt4 zWW99$K&dihdv(sng9FQ(LeY7NwXssUq5ib!%GFbDXASqT)<1f$jg_jcdl$Cs=D(@Y zHP{z-dP>wSs3A`5Y08|5x!8);wCHlw%#Xa~CA5&$$d+USEPo0Vt92WWa%RlMsZ}no zdffD6P8}##$Am-vR(ZEQf>kVDj*Voi)pg2@JJi-)=LgHw(L*akJK)XNrmEFE^i(`8 zytg0gY;Bk!=_=x`#Xs?>~rT?7%%7NdHJm6fZKJ>4S9P2ETKMw7t?sLDC zJSO(8Yd9QSy=wh+sc(}D)vM_rox5Zj@uVL+FkS7HT86LL=Pe%_O`V<5b3(Vq_ESM) zQ!=F94%T5EkK1CGWdDwt2BvWtk05!*i@_ed5bauh*X*|1kU79n01@hPV>p zRpv6mIv?RfHa?sxmj~iEZ75P3y4nJJ^`9!Yr~aKfxAoZgoBe~)9o6K}!^sjkD%do< zm(i?V2vsTkL(a70o)|9&4A%GW)Um_R^q8})M4c1L7(Zt(Nbv9QICsXi0pqR9W54h5 z_;xeQ*e+(XStgIBck~=$&M=+vNvc^6^Nq(DpE;$%@50PyMRAvMs`*%1`L6bP=3o0y za@9L0sx!OK@%}v#RyTDo>tsm+-+q~jbg*F8?L=QBraHsd%@9)O>UFB;o_CIA_SV?*fyd=37zGgXutum@5Ow6mZW zC*HB+z;iZQtNerzEkm$?6P7kuqGG>HtGx;5tQKi;JgU{pn0tpSmuiJpE5UeHgjj(M z=~{of6O&0+re1+`>yT^OWA$oq*gsOlh)dY9C5f#*>( zWm5doa_w*hoaGw!ujUm~Xj@^|MP6LM2p<60Ar$~WkjpZn-?F=ED zB_YAGfdhMDiI8^4Gt$$gLyqBOPRnq1AQS8jF;io0&jH%%cOxvj@x1DOxQb4vkC44- z*we=W9hCAQ;ffGGc2 zC{wZenB(4p0**#ImJ=OTzM+YY$BHWt4VHb87hwDvv!9VZ+bkV$&OY9YaFBBkIZcaq z0O6UoN~u7Ka327}hBWBJ@)kmtl3&FdBdTQ#HAh8K+R13FDTcNOnbV|g9<}MQD7EP% z=WWX78EdEQ1Pr~c$JpM+qInHVJr__{OEh5fV`Iu}Bu{G#9cn4Hw5A<9HT=m{{5MTl#0=lv{hktCRL-hMfxo&M7iJ#ijaNr*b@{p0m96o z%8(;|fyN`(Wq4~-XBxkYaHZk^$Nx0^SHzG#HYW(@yT=R<=pOU+~($gu&`~BKg_bFCPB=a*=*=dgq>AVQ4CRDK+Lb5 z9{0j8nDq?;!cu{5=Rm5sR=f&WjToBzuCd1}TL^(d3&#jo4h^&nAq|H{AjJ_u6Ky?I zPzZ%zbB54?RJX^_hDS-q@n1}pj{8KOEKPpj$`rr9)McKm^gv^uR>~+%krSq@_sV<1 z+8;C=(02f*wRI0jIS@LQ0dUmNL~cQ`jKq?cy>A>LHhh6KP7~19QBsTh24a2L!IxPa z@8)vQ*gFw;ohz%Q%F?io09xG7=tfB%(UcuBwxv3@B~l5#bXeoGM<_12XkZzB*|91*=~ z#117Vrxv}fLr(J+VbSEZCnh+X|P1&IxD>$(>9h28q8WoEht3iy;))0%f5gpr7 z#NkzsxetC(~Rk!TGchUt5KO&Vv0j;<-W+%5xvNRR)P(sa-8q-^%K>% z-s0wT=OndL_}uu5;Y0jy#)l#Ys6_CF?5A$b0K3sA;(tCKiCon&uXBF%HNRmlOg5^8 zo{x+(daF?axE3=m|2Q}e<$|90oX7y`TT<)cz4qUnxpE`_`fbKxRgl$8PV%*FSMcP^nY< zujqcFuUJjVe9*c&@Q!y&+i-8S3c0@v%usu~A282B�T+)hK)2jh6jtw4BXtd((AE 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ĂOz+3 zDOCS5E(*VhQTV@&PQ-tGb&4ebj2W47N#bPRy+KFU$r!tES8_^VXnnEQhVN)E=WoMP z+iWtsbz11B$Q_Pw^4+SFG1H_cern*O%|CT~iuoFia;Cdl>g1!$)HKRFQW)Y4(B*vv za_rERcP{qbncg?uB!3>O3``s=lYOHrN7@t&z7!l5W${F`L`yB2C@o#>lOj*wGQZ}i zLHqy1e;qETX@$@TW63vKYRR;(##16t)z;F;ml4y(qAabPPq~W`GQBMKzlf!& zeSv~ysY_1icB(0G8`P2H(b}W1lRWY-@u@PI2cJiac<>cCK{03Jd?2jLf&2{lsLWAC z$e{}G?`NrO8uCKsY7Xe~53q|EnAheKn`%>hKQY$?F)0|7HIW}e3l?J|)da+f+!1HM zN^h#blr$hO-hmVl3rRh*kN8eWe~%A^O@(SJTkV z8dBQkv?wA*H{ZADoJ7lWI4NQpCrzslO##@3r-n9SdepTvNb7@$w(v~K!ikEB5dXh) zw5FIct!wG!b6U%isJu8WiH?C19yvds$`7B@16t#cc_*p&66dC|a*8aA7RjUT1pbiG z!1?RX#sBvLj9>P-{=KQcS528LcC<`PZMaokZ_GtYn zabMKwxgb<)zj?G!9Ve&6@dc}$-53^$`FBJ8OR-<`hq3(rvXe>ik`0{b{7E4rqqM|&zz ztGh2U94ibI%N?;ZHf(X6x^Zvc>(LY3EL97LEp(8pLh9cbr7jjSJD2-T^mVKKdMniDgH`>N>TmJ2@y9SXwAk=C{~EqA z)#OTf+vWD)jF58JRQL5et7Z1z*U^p>)osC(A4HoL*m4-F7;&O(td^6-*tF$%e#IFf0@SWFRDiE`OjE(`1&d(YL|RgPN23@6%YP?jA_?U1ZgPj5^P6v$7*m!{9yT#2>jXS(0M zZ8ygyz596la!~TCG)8>f@H^K|{%To+)%7OHz8daS{3lVIZ~ zZp=WF6R;9*v3!p5<)34>C8zqPg%@^J$*JKLuI(c&vX3`D%s(j(8oIRFh(*A+H1Z|+ z^8XF1r3^<(TaA&^CsSTgz+YK0)5v!rOmbaNDWZRu(w7Ge723%t zi_0PTT9i^-8|vtTJgJ%>FaQ2U^wJxEeYl1Y4ct3ISHv8LJ5t=auj(X z3!~|LM5C1C4CTKz`C%-n|Z(Q4YFh*`8nnNU_!G?R5Tm%~U| z@tKqj0NPzmnt8bH7iE7xB`~6Ug3a7akVnEY-(&8@(iBJD^4rrnW;Py3Fgn4Em+>*D zWWLWFS?B)@t@B4SJY$1C&&7CXnG&VvC*+{EmYCy)cQKOhz(6Q;T(6O$L=cA@M&LJB{UpLdk zxEK>$(=Ze{8(dx~IUYPK&%=L_Mo62ZElk9`H^S>?3^rIZ1@L)h^1KV?KMh)(8E9U$ znOfdE8|2h6QwE<1o*uM#eI>&9i$Ou6F~p^HkuqrVI(YBct4|+K5!y@(Q=?-s?*K52 zCV|X+VsM!b^Dc_kwSnb1&CrlgW{y7*rh$J=K8+GnoAI0X181Zrua9B*FXa`OS_&~j zV)gce15Yj97tSkXEW973!0--HBD~u+eHHv~Lry85yN-?5&bPJ%dJJzThoVFLmqEE}POf`eyZe+SM5n(1V0q+yY6 zJOPw8YE^}rpwLzZ8m)h(tkiUQ-^nvZULg+n{JM4N3Jf%AMBkAzL7aq83NQ^g+$ZRo zcNpd-B7Ll1V%=f^NQ>B*S`e@{QwCjJ8~SAw-w2y< zy)BkB@x-W$Zq`IGE3MEx7GJgYg4 zS~xjN3(7DSpYt^)S=qKeWi)hU{2*dUG$r&*BXILAL59@6>A?|`uyBo%Bd+~?mvZu! zPl{Hf7G(maV<8Nq4@*W)jiZ(<=TnxmAhR4X9@-~LqcO=+M6|Iqb3ApmrOSiH@-1ql@ zHg3trqH%JRX{?0xlYe>OiuIFak?-c%PR@J1caN#ep4i*=QTvgb-*;|}<9`Cj%B>1Rb(KOw@JBc%-`mR!@sNoky%HWs3NH7=K5 z$tkf8O;cf8t!$8N9F*x0IeiPU!sR3yvBDr|Hg1iO*GAycS|K&9F)`0)Nh}>|Xq%%n zqBVbwlDFcJU!BY1O_l7~wv8p96H_f0hP-99p5`?z+nme7avB!JNEwSZVtRDNJWSS< zYo4xUG?mk{G_*WlQ)Oe*A#!pn21`y~+ng)EIy-r-Wl;!{#pr8JQ{-e^W{U9t&rHJn zuLInf^p2`h?HjVmsmUYVGgND9rT3^1$5OPaYtdG?wc(pYyhV!$*UyPqaiLO`C64$ER$``Eq!uRCTHu!wZe&ZtO9K^28Zf z1$# zz=nYO$#{6Q(DQs?pLXBm8LHU%!5Bt@M2;M7@}V^^iFSR}cl%`JM32Dz-Ocs)58OKP zR$#)^V!6fVG9Gh3eY*|im1Q@3?6rMm>TCb>_8B8Ldn+S}@Ikj1ir+ikSmIyOb=I^h z)rCFX9q5mq?LO0qRW#JITYTslIK8`2<|Vr`vnM?2-+9C)#hD+HM|(W|`yr4YVYM&xwWB=OkS)`(R5xEaP^v;H7`9W{pv5xQPT;2EtV%HRT8a^Bf^4r? z^23-J2_ip4X&fs&aO6!d`V-MVqgZ-`5tNMueIn4q>WhNi;t?aue7eNW^DvewJbh|& zmmc(-NHxZ*Ohv31C5&E4w49-zrPtK$Hr*EV_MnuAGo#-I_q9gN1Kxx(B3on26-s=_ zm%HF%lnC;B_US;86kP7x)1^vLLYxfCw#Rn71w1p;i+y&X!E!9ue4U7S7NrQ&hAa33J*Fa~cN2FA!*CTlXR-|(Jd_KD(HILMJ21OQSaHSpWav~i>p zQ-%A4xHu*bT7uMqx8b}P^MM!{JFXNoYZ)Bb&ed#f;JHRt8T#BPE2buVjG|Cx>$1XH zyx>_wC|1=-H>9e74m5dZ%xi>;?^0}dYq|a{?=M22M8P*0cTK1WLrP4awB{`etchqp zpU#ERx>h(#N6aA9;$az5v@}{`No5<%WbzP;&xMh!l%9oJl*UYjtV0bN%gy&mYiqgm zEu%xy6%(>t%g=?i5G#bKp6BQ|^5QwcxHMUe@u%zTHrYe%j9In|0t;NlD!TR)H?l9Z zthdT#{!_wE<0nt8{L(*JP6(WW@h2szjp^!JC#fy|_3qn^qf;T*d6=_XJ>2g79J{W* z5N?#`LLUu2Xq=Z>8u-Yeoc5vq;X3uw=qv8^==G^p`>w50PeiAw-KF)~t78)D_rDXE zjCT1)Z@Oi5A=aTWNH7S(Khs+mdWRB4plyUOMHrb*620yNzv_sH%41iYx^(o z&mFB%PIW{zbF)v}r>}Y$e~Polws$GDw5=f7=W@!+$%)CLTmIqR-d%>BbGuUKwN}Yj zfj=exoAj!WN6{yw+E5DRT&)Y;;nj}>io8!GzDE21Ky>%s{{-fwD)AjHt#)?#P)2`c zQ=Pvre4KB$ZVJPh%p zM@z1mbh4)-epQ=K{F^4KSJy3D(;)A9?+gALdmEhZ{iS19;~`^3_s({g{L6QU*@7{8J|7l6?Br!>@ys1DgiY7|O+`+*)_Un@)EhDbKB~ID6 z+O-(#^BgBG_iWt%hm#9}4&Nm7ajXg#$aRrJJu?iC?3O68ztml|W_hnl?Ib(6-*Hb; z7kk6;Ld=4DJH|V;eFVK*cmnT5ukUy^S?GSC>uYzdTotXEu!E-}&i1eE!l~$BvPdoH zA4;6vxuE@>_{(cfP87;#k!Amnt?z)3qImxvdM5z_>B-*RUd^S^iy$3Ax(Fg5s352) z2&gCugCHn^bVB;x-Cn;-LPwfXEU2I;qJUsSMZ|*G8}Ij-xg+>{|FfT+oq3*T+B45Q zQ+KzhiE^~y@k;bA><7n8=-{u+3OJX}#@pK>=a0UK?{DOpEV-Vm#gnWp+2Pz4xd(LY zdHH^JO5KU}K`laFvaxUhBY51zu>_%;OdKX%5)y~Uss3*og2pN2llu%1TZ(E{>kT;_l|Jy+>Y#FhiciCZeu6u`>$ID_@~%L2aa#qVDIcrFL=GO z9e-C@mcIe-`qW`#ysi1i_@~GSek70`=xfOD(Wy-L{p8MPb!Cl`E^j?oQ0Chp)>Fa5MI~ zeX;EYC7&%1Y;XIc|F`PSsXy5}@M$%d?D#Wc>c$P9MAF#e>iQUQyp)T#!O^2WV)@&A zx_p)WOm-r6>Q~qFvkuEKK{qww-?i)KU7FLJ7n)u$ABiT|w^wvD?@z76dYQfMKMU?_ zdrv_tjL4>HSP$htg>J<+h3m4u#^x9qbG*}algApEYQD$r&1lP~Y;n0#vGZ8Rnwf+C zI$lT8g$j$+54og4x#CVdrH>%wl23AzA)9V8T-fxCUlJgF1SccyxQlSLZi$sJ36JCc z|EI(gExDxqU#kC75RT~LwB)MwQ+R^JpX8E8J|$M-%h8(YQ&DBCnnV_Wi2ND5o!)X77 zW=4Vn<6xq~e;1H0jR0vxS&y4QA;+3nGlr`%Xp%Xt%eR2P1t>8RgdMwpr+o#CdJzN0 zoY3JZD3eH^iBUFUM`=OP0A<8T8Rfz{KHPHrDMzyn81Yfeaqt8c%K|-}*`RSL{bvHa z!c9~(n*c2nHb;9P7vQ+1AuNYe-ei*@N-kWCcH;zp;HU7y@R*IKq?D=LfTQq|O2%~E zEz*y}xCjl(>rfer;IWu*h%<(xm}RQhQxHTkpDb}a9+57^7Bd`Ac?$}Zj-J9Dvn631 zhFnMvT*qFgm9dJPi~Ph=k$8kc2-F?bg^*@E=^S1Pr};%PqqjO_oLQKIV4edgwEl8c@H~4rq4O0yUk)EzpR`aG3zZo(!}sgTYKhN)~GX{Y(2Q z8GVMCE~YPofB!in(I&ZtG*L@j~kio7QR zN2OF4$sWz!>Vt;q@FOQao8Fdz5b}GL#^b{c}FEKYk;)Yyt zynIT3+@@#T9e43q2nm-^5D7!L8{v|+77}+6oD4nVmjJ||(oGl^!xJR#ldiZOhsU2p z6?eyJ{tJs^xrn=#CQe0gY2weA_lCR>F#fm5PbLl{*3o&C+Kg6agmUu(n;nJ3`uLd!L;XOW>X@8fOh_$Rbu^Bm)2 zH7ogP-#nY*ZO88o=JBt>{UVLZd)7piQRR)J?+5xu#<5XpCVTc7udJQ^HUmF_eYq+|RuPVJ4Jr;WWk#*{V|u;QP3 ze3Xr`M=W_^Pr&Br?Xa*X+rMkwW$(u8IC|L(EKz8JI?xPAL)vGytbnAj&gJ z1n$w7bFtP5EK!kutq*-r2Q;`johE<*l+GkzWf3KWhT(V{kJU$Ngrl`5TCb~*GSCWL zB1;fy)`d=?FSwhDiZucStwoWBL!N|>G-FfnlD-8@xuh8_l@F&V;cFHBEI)~lvyKlL znSW$ zN9I*l`z%$CPB>BfRqmK2EqT8HzR0T-y76Cy+$XC(G#?60wXLec-+psGEqh(3T9}rR zh4ZxyvGRJ8d90(C>7Fg~oL#rt`0$*^v|O&^J1$N>FmOT-<1}wRMkO!ft2GDAzgQ1j zvrD_?FU?C&_gTs-2iF{Sq~tbW4SDZsI$QpG_1yM{^akvs;7=8d>4{gvL-75wF6NHG zVUCHRQ`Qrho8Rm3V5MYB?smuKNE_ye;QLtYp)jowHe+@0kHHfSimLj1Td0^LWak>s zXEMtXwY2>Y)) zj-xRD8%p|XG165_MPYdyh-cglDj%m6;%0sISWkZ@@ZdS)5a$3<|-Ni|C7|V>T2}i z{F2}ryUOnk&DRon2;XBf@mKu`nU}L$K$A6R!*EJ?bxp5;%k`1=UiiUCTGcn+4LRQj zvh-Ix^`VdcE$xW1?bZvoc8S(yuRH86>;{|u$!=RykM%4arA^Cup}KvJsjNSLKYSp^ z#6HOR+Plr$1b+dcw=Dd4x4!{)EEcIvZOv>>Uy<`|?9F^o^=!MQhIBiffgYK@LSJFW zIhye9+*5%MJm;(aC|u#JkN22tnw3qCQYA=<=m_%lpF z;84!O&;_NAEr~nwhNXXz*N|Ck`6bZsR1;Je@+O;%gh_X;%>_pKK0PxdDPId>@t8LRXyJDrXB zJ;lka-)Q^wJ)xDmMbMi*# z1iZJIPT2PQ8nDede+C!hPqD4}vuYO0ZaTKGU*)fy%w7jJ)&)J>(rDcAw8@oGidIanLk#qTfJ=cJB3eoor zx?zloe`@hv+MwtJhbi)tV_{xP{-Cdey+NRlm%fcQ&U(c@%~_AVlszplx$3xOT(<7} z0dF?G<8)Yt<(+B<{x4km2rolO*Z+p*F)%$T7BcjVU(zRS zf{{z!c*Lmw3yb^s|HL7~)!H}GNq0O(dj4OAUkBF4EnzoeBvCCzJnkE5B$g-%D(@J~ z=jZO`yhBY|s2%psr#b4eZ0AXQ<@~3rW}!v+{w?c4OL54vR2@*J?AV59?1VF(mZc0 z-|xRx*~n$U$afFE64Rq&0&C3;xx6Yfay;{3&DEOb+!DAOX9x0pD#plv828#{2V1fn z^w&{*|1dc?G2f#PC|Kj%nbgx(YTp*=vE^&!9KKnR%O}{=m)x*_8d5ePX(L7!lJ>UKfODletyAj5Sv+x!4RID^St6m6y zW*A&OHE+GA9-HGWbe>O5!1^;*kp0_By80V))wjB8doGt^S zCRQtWTzB#7E`m|5@t7T}x&J^UK2AeE38}TED-P#^;zle2z;JPs9XD~xIBhLlLO1}m zcbu9a(ntu|wHINekDk&eT@o6{5sdKv^-CB*YmI~vBz}{N++?`0<4*}E7`bYFl1Rb{ zM@HK6c_U>UUQ2PKi`V(;KSAP9^3}Szz(`0O%E@~@ z4(XC~(w5j-I6-+VgnY&+h$ilqG}0G$)AL4(T3Yu1!3oE{=`b&f@3tt_9qMu;3!@!g zEX~Pj%{JvO$o^(M?Y}o+f9Ktsm$s!|MME~<)ttGly)s(x)ArA!?-tf$za+h5xFsje zTi`t7Zp{*F1_VwQ7w{iKJy_T3qTmAsqXLt4Yjl!haDJ8T3Fh%nDtOLM=TUMsGqV;p z#M|GGxo^V^`L|S~|J7g%R#vh#w=VBq+!piusCh~-DM~8>_4$}^U3P2rK&8ckAQZ+>0&rTLn^2z`4qC!M3Y8c4?)L1UgBQi8jjUBm5KIdd}EzMQtkYJ1b_ z23TRJ6PWEkj=wk7g!_i;DaW1VkqUpdp*|m8)6PA>x_sMlyeF%&-yK=dVm~{YtF+3{ zzN$HI$DNq}Mhj=>9nxn#m8YhMiZwXzr5J> zr^FF74y$$7h9j3WJno2vAg>JZzv1Kl+GpHFac~j-#?S%#ESq{y6l%F-XcUWgKavnRpVOC5NymB1 zXsLN1|In~*_2ZQ-@THd|bHwq?hCgii$_V^T=;+!SOD5)DS$z8T=Ba;ec`_$dGbnef z{Yqq{*~A;>|E4P81nB>4V@LLo<3WaR#TY-U>JvDLzixl-?8DwG``(8)r}1U?fxJ>r z)Jvi{_@;(|_gK?{u~19%LGx{n$JHYIQMj%(EAnp8XC8`E1h=z3w*H9q6Z?l1D=?F+ zwC=$vu71WhqG87q`2Jzz;6;0>K3hAh*5#X=d#n1hBRNN$Y5L84Pyu%ISfvsF5#u+5!_MWJ33w$4`cJ<>=ZpL4N zw5QO6-V$k>TaaPqma2B@r%|==<;b|oSNSVB6Ad<3e?}*yFL}B+8V5$!BzZf9r`wiW zUbm*OV_FaWfxHy-bw^EhR)F)>`CJJ;mwmE*Y4t8|IQK&~$Z=Z)UsAwcPfvcUze(hH z2MbrQ7JbCrjC~Z{SlKP&vrJYGL^G=X^eyq;o%guIQ_vQBM8l$^AW!#N8?;Z(GqM-; z9_X*5C3%i*1-Wd8aY)d*`BnREwtRg9AK-J^o3Rm9PX{gd8(NFJ`dD|K8O}t%c^kWu z{Y->ME`*%X_cWEi=lsolB!8C=Uk+fZ@9&&hh0WM>>)~iY{*$5eL4S0cf;ZdqH(6Hu zqgx)0rr=C)McB<}@v${SFf*|8VOtVeSN2JHW4<{uE_}hV!r3iiV*R4y@>|iryw!dEpLf^ zm2((B9%fQkvalL3GaRyw zwPD8<>kC~9(lDZWK)uzHUES7@9Ca5Y*jIZ#32b#PDaM!Sc^5-3%)cJVZ<3dV^0W^` z@ec{b9dvH-rJ(e4EXRE34SLy5n}vJ441Yu@&s-E77-`Fz;$Pk^d2$Wy>(pZzIV`#^ zINN59EY4}kM_YQ@-Yn>aFVtfOm2;mh1N?ZwzB~Q3z$fW%xUN<`=4Wh1w4*u0{H${* z{TYy-w9>cMp03%Cf8MoYx%iq@8{Pxo^zZ0AX!|SJF_4^72VdNJQW;s@iVY0Ei?Q7w zmBo%c{(Q|{IbHef>{fiy*=hdJ(vi*A`vm4-CfONMbl zMd6dqLURV|ne%uw-_|4AGV29HN1kCj%F5onyZAb)%0p!Lm^Z+(+--mwA8Vh`jDV0HMfp(S~bRpDD=8-Igr z&ddJM{(c~fzf!H(m#7Q#n%c6%Be1IcR(>-77Ww+!+L}F?OK&-z!utyC`4B!ee}ggI zaZiv0g82)Fd_w_cyUYyx!LCA@ohHSLOop(8@pZAVpl|7;UY&#sy=8t&)au%|~ zU81{=*Sy%Z<-x~0Ew^5=jM&*SG;QzqkrOw)n3mG1QTvt!v$oIL{_%muJ8tcmwe{~V z>09P+d2aWXJzKS-dk(cXcP`zt%04Mt*kydz27B@YgSTDiw6i2dPbzW5C+L6>{NcZ_&Qi7XyoXx&kP++TXf5HB^|C{ahnqeABlFck42%TT*mLbz0%-o({)-oezahbx3-tYtQoNj;{N5)bBKTS7q1j z1@GL{s{83JQ#-sH-Ls8{c6DmJ_rtAe`{wSpcKf~4h{6|icHp36MVB{1n{)T=8Na(; zhbBGR@87roNT;N(%eP+)Y~0#0I=k!C_9NQAxu?b6_Y3WXJ$Fv)wqaM3u4ym5yeF{D zYYv%XeKfjb;o?(V*g?hm;WWeNsY@`M`N{H6U}(swXL>NR$tIc#^+J&PZ!;*FX@UCY^VyXY>VAPe6Iz(I&G@Ee1wML??~8$# zmkosNtkf@md^uzNb@E-mC>s8k<++51HxSHTPX0Ht)HVGm1-`GmUdBBtWAp6`e2nF2 zj6bL`hP|+i8LbXwv~_6a7FfMT41nT^SuW$bly6p<(^er&k@vKh;h#p+bb@Ze;hMLw zXL~e!Ja~NNDQ|224d3JNw?z3f>?mQqIGQ*#Zz`X?sO=bq_=>c!PI=X^l z1>eB=EBYs;cWCWQKy$`EE2if_NB~_&QO@%gK*(^M`4P3W75N+0xyRTy(o*~EfDfFML#GcshMaAkEVWQ-Hvo94&3aYz;y5&B|(T*fo1Jt z7;e*omQ~7z&@Gu`)Zre+KSu6}j`1H+y3ZkfFO%fQVCY+ekR)9|*y6lbQAe+N`f1tt zQ_WLUPG;34j*E6j%MTDe8I9a{b!x}xeJIH2yI}UTT z*KjJ+_bDVWZk`V4^vV`jJROxkm8B(h3K<`%bP!>lso0LPF#egc881r^72QP&!L~yF zTcM2=7pw~JM@?A*SIu~zNyAt4kW0|Pd;^*a5d-uf)jvY_gtpj=HbQRA{k*;xjO$ZDYE2-@C`D#rG! zf`YfvUqLP-;Lb5R0LXVB^a#>>d@;)VdKfT@h3D&YDIQ+OXGJZOYnkA}ij377<9!ss z2#UM6;Vjh}56Cie#{XPHm{~EdGQLnj{@EB)kz5UqY>lgPaeL1_Xc_V{K#tN8ruC*x;E^=59X?ICAQKnCJ?Lw+NVPHt z^)9c$(Lvstl`$WCU1$fQ6E}Y(Lq!W(PqD9pC}@z6v>aq!OS z*0wXfpJfgQ7ex#r<{z$?Y?VRwI0DOM7(vHPO3cR&AjiHcPNkM{@P(+ooQ>^ak0>On zU8G%DAN3W|HvF_gbT^re8IM3t$2xDd&1t!dqzO1-ON%eX`8;vO{A+c_{?-~pr|b@n z6`FAlATzRNiMFy)>#a=y4mE~U)?zHr_#C*FR(6f`%HFKI%f5FGgM10Y@dbF}Z5rrU zg7TTZp|Z?yhwzy#KU2zN5XW^FyuqULvA77{EaRxU0g^XFNbZA>GZ&;X7J?UT0(Z0S z)Lsz%aV!=_SeK9SbjZT{8+ryb=&H`C!+a-do^91h#hF-=7IuGmKcQv+@-bHC*;X_+ zTp{%Vg%_qO3sW@ktkBU3ZTmeHJiv*IPE>DvN>Lr~;nQGi@2s_q-!7zFgySvHhSqs< zGFv0IFPuaR9gy`rG=Ydz_)|?wd|i;kY|1xG*!7KThc29)Z2Z)ZG45>3c&TV%Um&ix z!*6>p6{A-n989h$?*=~IM{><>a=)iidf#DW*TBZO$F~}C`-TbsamZ*R`&7isSZVed zpVmI9=xJ){x*eQg{8SkEWeKMO}~INPtdBiXKX%P+za}ujzm#nV+l!&@!IFL9U5t z-NiY!@}}lduG<2KD;rT8=AWw+4x>zzrLidIHoU1vpd$MhI(7;JCCCYMDQd<6e^Pjj zvn(`4U92uO>{0M%O>lZH)@T}NO}9SgeJFU1Vr6^4fyYE$GBzD!Lucin?7GA~q_h&T zv@Kh$2Lg>W_yI{2C7wbYhwoYzP8K4+@X^KI6!p~%rT?I8l3d$HLASNNw|srj3oSl4aN2OJe5boaXjR7F^;={Z)=ShTg{1J)GhTwmc@Tev zJE=)X-0qPPKy8Z)AfjdbeeFfm`@Af-;2}8YV(h8{EecusCk+(rEa?NDWs>wbPl<0u z_b}$!uYk{=VZ@Emrf-IAiG}e;(Sw-{x9Q!G+a&ag=E7m#-9n=4MczUDZM1QlAiq2< zPy?;~uRc@#0zLT1l5S`Vcn3t-dzFT0kBprXGP1;WyLuY5adW_B7ucQ1%?IV3iMLb^ zo^I|FU0~Z`f7$kkH3i&Q*D{`48Z&4*k0diN5 zxQ4J5B)6iB-d&;oU}1aU)7u1oic3ix?~cR$q!dp9!Pw9)+=WM{vnE+Ea&2G3TG zgGSpS+YQBv@Nd&74o~5uCrl62A>u~}CUZ(&P<#PjmZc>)Z$duaBdOwdm@+9JxSYAK zn2R9sWbD>HC99QFo1VhFE|qEqlyr9&amu8bq2?$xXlmwCpkurN_}HiTY}+`^}7FwvDg?&Oi4)BKpX>QqKdr zQb^(GSUxe^t9%RTbx6+&?KPT(Y>W~bKUaGd?R7`69qf2~U-WuIj+x;1go@2N;R)(1!K@2rD_ZObA@S69elwQ}T|^YaoiBUal#3YP zn=0ex2qJDr`p^0^MbaIE0W;jt4s#6=CT3?v*JG^l5slv@B=&5ap{>2&SD5*HrhpR; zw>wsEs0qhw#J^Z9B1SHK>%mWPv190+ek}FM5toQTQ5gHW{1vo{V(IA>VwHgmHjn zNY)26Q36eEw7+LL3m)~c9?~&bYZO4SBs-mIXeK3|tj0VzFgDxT#hywf_j5T}4bH4Ei-2WHdQy9r7duGx&JIGVw+f27uO78ffc&B{Ji$z}{IOC0Mra3wUct#%r8h$2`|eRgi9sg+WUY zaSQuW#&+d4(X#&%GITb@W1X)9k9DbS+61)KLT^C{)}qdDxp3zF}k4Qq~rdulUA zI!?wWxduk>F72w%hHOCdLMq#dmc!T}Xqo-1@3V|YZBtrrBEOFrzTbQ%us_zuyO7MV zy-5;(9=`QLmkK{G661+mpvm+~rau};6fNy1(IQs~jU&Tp%3Y!?Lp>Oo>u>7kl`$Cq z9nEaw{lWW@zq>|hKpzC^h>(zAv@JlS;a?bsVs(W>Do;V?0F*cE69&0128g_XyraT~ zn$ukSD+L{^R2csVz5LWfj07V@_pDem8h>3EzYNKGEO-LzB3PS4PlcTWn?2(dXoNu+ zbq?15Hk3OUdlno&6Y1g~U?Pfp{acZjkFy^Ov{JDGm+pZyjkCX^>_R<-j98_ExeN@x z>umo`qYx^E)5R9>%nS(`*(%OyH{xsxK!1=$jk8goi-g24lOr6C`KzV1xj<;GO&ecw zl`9m>67UC4ijV!KKB8j%H)Tdv360wU$#p2k`L5E)B+Q$3B8}w+#-nQ(yB&GDBy}tA zp&l{MRUb^b4Plq73rXT{xSlA-N;S;Cz>?{Le)Jm+D+z%#Xd!U{y4UxaDAT~K2}#>C zcdAc7f2AlF8v(^vY|f*xKCiSa!03!1xY$XeXKv{7%P7(5;Ah!mp!Cez*xMeZzv{Z#2cuvM-v)#41)civ5a5O~;KyrW3D1OW>ME>qXKXn>)^E_hc zM*4&=gG9<}m}n2F?rKr12mIf-SoR8pe#BOYmi;+G-f8*Ef$j zw2?-Ld9_*#MZW|-M6BN;#FMC3izrh^ccx3yJgOwG+lAno-AE46<>!x|u%7Nf_57G?Zf=(Wb0h=ZeN)J$j( zSjF?7As)csFJqv}Qqv%zttnr00rHjo9<(KlXm#=tY`ti?IWfJ1+2!g|6*W@!Zm6Dh zjF86XMch`yRcP|fdS}698TO;{qEXnS?m5FZP*keU?g&q`i1mNO^y;$3eeuP5M zwc3!O_Jy=85i61}8qgEdh>h^LPodtkT~DZYpf8I->4|G1+N&Ls-_-V=uisY2Rx6i0 zzX#8kv!_#Iy^w#rPrx9jxn=k$Y~tE)Ntp=1-8ZlhEgvvWJ3mPpVf*|9YHR zggxP<)uL$y-<6L*_y(c|0Eg*`Jhf6zrwj#OUM4vQb*ZO0axUCN!gi!9N)Kq4OoGBJ z_MP^=Lv>3uxJD8O*jf!-6D?&n}qg$T%H)?gGGHO>FXicn8U!< zRgCns9VnxM+}AJq6t39Cs;ugBGPTM6Rfz8-;%!B32r*%8OUU|{8hO!TgbsgC)b#^O zu+BLqqOk3!;Kq>yZl`ZdC#W{UQz zcr(1z=w&dkAding^L{nUnohj8Nt=QT0F#A)Wv0J>V75)FAT!p z1I`Uc%cJZ4{Poag&6I)WvB_8!2@%aXS>teJ=_Az_&<0U&R)^ku13H;mSGVW`t5d>CE(31$V0Kr2WVc?Fju19kTdqP;5bHz zz+yECDPt$j*4gvp+BDC2YuMEZ<-^X3pgq})@b%ETrh!vt=)m(r;x2+mGUQ~`2fpIy z{+Z;Be;S++G`a5tKW9|WK^!y|pXJq2U(IEVNQ*)q#rR)@M;LLz*I!VWG^`pCw>WOH zd1vJJX4i)bbOq$&k$i%!$-I?jmcS3xXL&o28_?OC9@8zG-nKfCyNKw;L@fL}$SCIS z)_+yTE?CNtr^m5(vT2Qofq8tpP`)1n*jG`Aj(S1tpTmU_F8dc6M8wXHXHOEfxW{V& zEx|@mOXs07jLCT`m!u*{p7HQjdiGN#9af4+{@AxfLx#WY{T^DYTgp8ZiT+<8t&l+< zA=a+#g&O?Vft`3z5d`fioNw4yKs)m*jc8K>{!7|iEi2Uoy(tW@gPhti8`~V5DauOF zX^|x)-K+?;_K=YHO##eO!t*prkFGny_gU{IX=db`5^sIv!`<8bt$zy1r@#^gT&y}I zW`N|5K{CvFs1u9<$q-D!`G+YjQs1xq+1L|v)9VZre|jmVap2<-^)w)OlUW^|-IVHwH%41~N9cDmDnWXRKi;58YGGiND^dl6Cc38tKQ`-PY2=s{1v-T-<#?yqCS?tKkL z5;P8HSE08np?TuiLTH_tYS7+Nw7nRdQ#?;0*RMfFlC*pM-B9i;%H<7vLtTB(Ah%uo z6n=B)f@r}DP_uPIKN`c%!W+^hiUue@#$N0#Ye!(3dG_QnHpO!QdBAw0WgY0#@764h zeuTY~GYVjU(tQOX0-pK$yBHlLD>6@wZ9k@lDG`Hq-#{*R&Q%Lt`qo6 zxfIvu=#{Tg%i&Xy<0;XafDK`qLUsxJ?n+KAQeNyC((e3hb}!Q4Y!NhCC)AG7GY#DO z$b^#_;ZA57arzF9--!pHY_)M7q;flaJw-@@l~Ehvzr_6giA(HO(jx3&@Vxt~>#{uz zjSL>^m;-4<+rz&-bO~}_K^nEz2zMYo!T$oaPhKR_{8V9~I;5xA zCnHYU$2M1=%MQ54Z~E2xRX_y?Fgg`=k5OF^^CgljJ|qa~0Vb%_M~YvjJxlTNQ`yKn z@|0kilQ|;!kI=&z>E=DaWPr!122Oh0HvWkHv`1BFcfYEpYENhI}}UfOw#3 zkV;?gx4I$VlNy+3ixMn>1Q5kI4ddJ@=_Y%CkfaWX<;~E3SE@&8NU;nMHT9HeMUpmG zJBR#X)g5D}j+K#BizCmgn7^2AGClA6Bb*{MA4b#B6Jl(EF>I{l6dUSFqjNiF0K18_ zG8rzOe3WYfajMpEj9b-5Ft%Ev9~Zo#xg_*lDOxQ?|Bq6++3TXV=F7C;KZjay`6A)% z(9TZ^$$Zi~+V&^7Rf85Z+m{mj2mN+6a_KJkz;`QPj7_y;HI=>SUT#eU@2-V9A%&0D zPxM{{2MqyLaNsu4BNphTYbd_~G5aXY>l8f(xfBM_7Xu|iqo4F+oE&a}b}h>`&wHER zJ5Xlx2UF6@!kBwgzJwVJz79nE9fd{*NQ8hsW6MwvM0GOyr48#u`dnRw_S{FUn-vm{ z44>XMDSNtuU>6K)0v`%^FHvg3Vn4<1L8x)w?s{Po1%R~p^1VNAXj8SC$_Dv^2EbdM z;>;1>pioR0&4ljFyySn+a|}9po$sp5iNFwceYoEidd`qC!N-E*1)$;8?}|1@IK~dS z+X#F+>tau__IkvLQl@xUs)V!I*P}&aS1GNmSf)t69|WHlAyhT)i_xc?dr?dImgiBE zze3;MDK#6y|D~fQH41}~u#f_rd_#=CV`Rc$&X%{)E>`vrzv>y|X$*dgRTj{8t)vi` zSFyRMwMQ{dn2NmPl*Dz-d%tKY7b@3L|Hnt>>@$5)7|}3mk0wDAdYm+4n}s@_D76-7 z=&GufWP*_47`p*89Q~LboQ_?9Locy60u|tw0bF;9^hcz;E7HR%uWv(n9~*_oicYDw zd}i7E-U#@zhcp*mFb$D^jQbq*!KMD0Wze`ownK&?vxJ{-c?y!c7wc+rcj-B_>R?;K z6oQY(1&_%$Tt6mcE;)p~VMbvG3E5idK|jP=AP%CU+m>@Emt6UVIOJ~d6l~bcsOob=%aBx`v>%L?PxzSO6M{dW{3Sa4h(%lif46ovy&^Q(Elx9B$2Gn#@rl7t zugj;1i^7VKtw~ly2nE{fO5_jflL!LXD%9b9?t_qF?5hLTm-L=9xp~m* z@1$VPtt^VZW!WE>CJK)j=tfJt(eS5HQ-5dIuR(uM^)1>sW8Xs>7X*(Asl8@z7k*gO zAf26jl;UH*K)xngi*%48-46o2BGc{W9N`mbyr!=p3B*4~FR0=0d(rtMM_5Z9E>lJr zc;zkJ=Tp&#lM%3A)rn=H_KfWkdAFbzu)=*E+ZlOT;o0QhqSV3=j?2BPT%^E@iZ>Vv zpe0SGJd;9a%G*J@a54-u{ZfP`VXt8poM_#W?Q?!8S_fi6c(RQfa3hZO>KYxR=S|%q zHCcgdYIl5wIRUMv#^>Ao8@N=a5)3y?E~u92-c6Gr3w;#<d}S?|X1Ki=x(sd@{*mniHI^pF+*Hg8y9K&q zwvP2!l;i^9U!(b8zocUPV~(v?0E?MnU<`68jDA7GIxYHCobcrW!cUR>bF5#JpUbt3 zuWjTjv3JNGpY@#UK2h_udVfi1m&O?*)Ir#5pLbnH#N&d7G-rA})KXYaQNmfKSCn6o z9?p=NL&gTsrq?Q5IHRDVZkMQ7RkDwb-r`+Q(bBl8P7d@e^bMT{;EW$cj)o>u$d}a> z#5rEa*&qE(hWS<@lMFS|!i70*-e2aQGd62ojCZ!FE!a_m{+G>2#XIcnuF{V*o{!ZORBmxC6Klrhp(=$S+|1Mk7r$E^}W{>dVrM$Ees zvTN*V=86QOqZ8J!ueWoob9*L`uBFp+e4F};B~#CVwrpgX5xELR;^@pY+ z_lsHbDd0H0(;vDX`=9I{^vvP{f+*$~jzO-a8@7O5v(~|QW1lxgXb0?DfivZ(fiF;N zb3{2u3w`?yYCweGHzU6zogIRt_p`Cijya;YD*G(bybq(lJChEXFpFpFQPxYAwh`oY~3 zMQ%O8T?&Z!Cq{(xEe9tBj(1Z>d+x9`Y0)5X&@>5Bz45xf%0ta&wq~q5?plM_s(4S? zj(K-$XC1qXCEstFkKCLQ(}tJ+Ar6s>*GyWb-0$-v&wFkJ6pXK+KSaZRj;ASxj zum&~prZxxEIA6^!2T7J5A}t{E4Z4Lyjc4o@?)5(M*8^QMAwTdDo(}<^EB%;%^KpoA zxYSY^e#v8&t3Ti$6Kk!8>?!KGl&iL7XvcI8Af84)Cq-4}PeS-M6>qE9DTB<9^#}^q z($*NI?A;i;0Bfbtp2)#Sj7}gcp!@R%~%aEw-T{^Nt{$UjWBbe1+Z(4 zl6|HxM{U3${>O9nyVHb*rw~(xHWN63zt7b&dIv&?6a<8<-R{OxiX|Meq(+{CJpYE# zF5zPa@XKW#E7Gl_%l|>X1dbE#elZIrf0qhJtOf`U!{hcK@Kc8P5t?U!`3LHw2#Z@m z%}h3Z0Zz^ml9#R$e3ufU+;cf9*7Vn14Z&a4J<&5YsgFh&P)Wn-ktzC10TsBqD8XlL zFXV27_d`*uw?SWhTAl-403B+maJ?-?p4nJYp5GB5ei-#V$9p8!mX=n$=v!0$3iS;! zQ|h`#Y4B^VuEv7&(dtT)N4BR@Lpy?lQl%#uPS*B}mm#%qh&#`?L7$AYM~E6;`V2+{ z@pcb9)(-hn*LvSPwA6SA84I0++lan#XGNnB>Y0x-Jm{Ni@9Uk5R8K%>VI)&FLdX`K zDrjGkU@9y4S4yeO4=9qrxfHahFK+_I2vbdW-@9oE$Ju_pL+ApB&Sg8(g_%U3EeUD%MiuY#-z^ zhf?EK6K0%Eo-1vMvM*C)Oka9B(@0E);1_6~!Mx>L1m{nn&&9bv_Ga^?sL6*Bk8`7q z^aUBj_ppxlMDT=cT3&^Wy{ka8C=v(lEcyuA6T`)-g`B29{;;lGtQh9${T$PvKN#n* zb!tx-OMYivS%G$qHXAb(mcz~cE{9>fLau)Wwuxz%GMh#L{6W2^YcRskbM=JY*`o@LPBI`}V$^0pQnspe-goR$TUuS;3Od>#B>=_Nug@n)Iwfegc+6MT-RQqP2)Db@tKnb-0e(P8|m zo)S3_>4=oT_rTrIq;A)WSUx|*dh_QRdMpKFKdMbuBYF!RT$9&d;Ko$@Q|9-;g`_Ns zH`nXg@D^H<7ns*Ar4<spmg#7ygbxDh{E8y%*&rLMqAj3O(e^%br z-V991ykGmhHTGACM}*^anqduE^9GEaV;7()XnnF>WAvzFubSU$?o-kgI(e;15jK~l z1?2{PVfjqaTAHLxw7ZUwy~jhqle567482VQhnzJ=80SsqUUlngMqSh*fW%S7p8xo~0Z_NxbTtK2oB z^pdjiI&prCowD6yc4c`&Dc(BfHQ z#UQl8mei)DL5@u#hXF$TdMI+GWz?R7b{Dq=h5JCupt2c-3@PShRTrKDqFoNi~J zKYA~^{&2mSIaDIXRQ51?sp13eaog))UzkF7L#K5p3~I)Bz`R3) zL->1B4e^){u6mXs>8&X}X}Ekml;ewWI|gSBOdms!t`I%K^%xK*Uc^mmZaPx&meAR8 zYMk-{j_#8sLkUA}X}EX*5(>d3e9ef%jwhvt6zBqQrY2iO%?wJS&{ZnYp0QO?jWL`) zf$x~B*h}knjqN2BpPPy(MKWC2;<-_T5)c91jTAms9)r$2q+_JQv7e{m6pn&@Yv4N> z8fW31WQ05nDJ&EE>;Y(p)yCDLUa>~+xy3m+&>Uev1v=Y0 z6m|G8ZeHZ87>?46&X{M_^hMgu$mczzG4XonU~mv~T(s95?{>o{1@S#q5d$Lm6XP&i z_tM7NvQEa*VBaDlb6JzLFxu<8dBf4~c+f@%Ag%h z$jif!nM&D<$LJSg&Ff!aDD>_sn!C-^o#m;B&#zI)dejO8cDU!B%yR~~aW-&L_zB`D zYZmV_K%tqxLr?#_eS7f;#7Wp^%KByvw7N|7(L25k8PYHU#2Fx-0S?Viq!iKCaxz1E z%g^f*Fdq8aHAj>QL4hIsDQkkz0}aKl3gdSHA2eeX$$G0Sg`j%XhTVIZBbDEmk59R| z^=pv5ZfiPFyJyWj&nOhrv9h-@27!Saqg84l{7>Zfj*VD*ao5;qA->NHv(X+eE8-NR zphG^P735bXaIQ6`1N4=cNt2u-j$EhDe`ft9?T@SzsUM&Z=?xANychJQJb}{^ZFCA| zmM1kz8|z@O38zqg_-Jd5kg803iYKKKD;lhSw55X621v`|g)Fi5qyq7Tvx@VZaB zIn@fEfjQD5**=LL*G z1n&6th-gnWM(ptLUO}8dVEJ2d9zp{i;Tl_3tif7N7WTiOF%U}{*4ac3yl6YuP|Na4 zbf_eS{BPe~s5_#(0y)IWM*!#S`P-Ee1~_X_+!wsXTpN9XfYJ#Lj!`(Z1Oa&=Kr{7# zYku&z@T*~>T`6Sa{HBMH*FS?_P$^@y-JN?>Xcm@X$TZ?@SpmO4w8_|R1>QZO*Z{cz z$?0Ncyqopyk{FD?>^iKF``&VBXrYaUAU``c!?#F z_kRuH*ohhd@q|9ouqU6}Pt>1)@llZQmyMPj%-Mw2zFTPOmy1@5cG3eq3iOm-&qe1~ zFJ!%J8D%+(H?_qj<3u!QSJVbLxukgy(uCc6BXmp1Poph<8aix)b-QS{cW0lm2Pid` z4Bkx>x`=k$4|ras^#@LEuf4fl)REXOhhr8 zp5*6!Q$B_cB^UX;}Jdz8gn@6eXOAfJeUoMEYv2FZV3!|R$xO7+2I29pTPm_DbkDo4iwcG7D`(OCHI(I3 z1p)csGO-WByZg@}d^miWV&)w&f~-){N91iXH!q*%dNB1^)*96Dqu>orOS0$8b2AFH zpDl&0DD?_(?>vn-VBUa^O!rUB#9Aq0$9NdJx|!_Li<-fExxRJjcR=>@!Jmokb}4BH z*Bmmq&ez+vT=W4y+vu(R_Y6IJ(=_M-_h}8IfB(xa>VJP~yj<|}FlrW~)buD~!59py zIOt~sH@WHTaNPW5exCF%KZRO(+5EN85#+a9DoggY++j&mwyS*^_BS;^g(-qo*pIo? zBC)z8K%hSlsl|y!GW@sVe-Nj^@Jn_IxO|XOXC>gExY+lea~3=K*e=s2n%ucP00|=q z**`RlD(GL8k?PM>yMWZO&riSCw8eZ*$A|-UdkCD=G{)Y;sA;sMVFmj4zEJkrq`D|u z53Nf8A;};#F4nK2TGVKpZ1N$EHqaedm-{_DT!c23+;={ZcPbFjggH+Byh9M_H6OcgmVQe+a08>bGRQJCZ04Qd4!H(ol&Q(YS6m;I&MIG!;jO^;MYtWIViy~R zQ7h((75yReZ7hEyZ8u^{rIrjcMca(>^~2a_C#_Gj{YZVekl8`VGmY$p;f3b?XcIW; zoO(Z%l|eF|CHj)&U+mDfx`YwrL(4u2#b-cL1e7@xay zqUC+qav@q!Z&xZ&O2bbF)~XtMja5pvDgIT9M=Y(1rh3GD4-D!Li@nJOrW%(wDV)zg;-Jo4_ zouJqQ^-l1#bDf0jNdMJ6`xbRkRSII z(~!3JV~y1%)|clh$WMF}$Ki&5i+O_Q49PXoOB>ERp>t0m&o66Bedoc8+5V+^VQ#f& zH{|&Z$PmU+wnZ%)8`VI2A@f`9LsE5`OQ8uqp4j+HN=T{b5?%-sg3 zd82H*g8pBTh8eAEtZ3zLp+CsU36Z> zjKlCJA+{Nt>ro!baP+^~A1fj+teKZ|+A6e|??|5s>_VY`V!E3jptc@ciRi1gE>72a z8wMa}SlKXx`|AnY!dUA40o>}Z%2){oBkZ5c^DN&W4YWzY-%Vw=dOx9Y2k-1*No!C~ zEwiS`{j8ingioQAm>qk?Bh%CX|}t&sK|dR^4~$K~G= zPuQ;-=9wCL*xZxJ{fpO|J_~eIeuA_dghpwG5&0aC#XHb*-rPq8G4Bh>A5Qs&+XF4r z(S0qGz7+vKn~C^_C`XKX37v!{$h#Zqd4+s<{)zc7eN{mi_#MPMPG|AH$ZQ$R@;afT zp@&c!ocg5p0xVsFEaE$Iyb2oTL$xM(ZJAidvVB^*Pg$?rt4qpk%_M37b5y~585XHz z@l32>G{Y{wj8n!6`?IxSw8D5Qk{(}0!pJZfe6CubDrEb>O;8Q7R?zQ#uHHQ=@VQ*@4&BUA?f>+Z5N08TlSA1MC z1AXjb%Vzk_Cl^;t)xkw0Ngm_3A_lCHS#Q=TC3+{B@mtiO<8??3xe3~$9;5-!`UzOi zcHu28X?P?3ZC92$HM;u6bM8M7&uoRL=spPf&cw+uHQu)noV}uA{)>7biVo3BNZ+PB z=U=Cxc0iA9P~d^XHP>Ab`~>3<e)lzujjWjJ>AvS-PKjq)nR&fQ`)|H=x+G% zJ!<|S`dO}8D<{yqBoX_`M9)}jXy;=WC?3tbU6<`=H{6iD!m}+_Y(oxt0VzMu)t;>T ztLo}ALIXPbia4E9Jzug;(!nOW%Z z8{o~R*&V}30@=-U%S0O~(itO|x6INl1&^iHdFs5cMsJGs@_YnOwU?GqXj*OGtz(Sz z2)?O|^I7@B{SVEku^IW45~--!+g-vBq#`Sq)v<$GMN`>8%C`WsYKA&|S1Ed5(r7ov zmB2I(jY$oJuB`T8hpg|GhSShp;KG@)0zZ;W?;|H&Lb;N|(mKQ+cBWOM%QdFT_R(%F zDxZ(EM9+Mbu9-kj(7LnGc9`8Pbs9?u+>9piDOPNW3uKT_21Yu9%)K%Oh`_yKC7T@*DKxLE*<_9+(l~M zUJ0D8EresZ#3NAZBGTI95q%$FsbI86CKfsU9eN%#~^Ot$VchXw5YO$9OaGv9?`0MpS5g)~e7E&0ASk zD@S6}KOQ*xTnBRLB^RSe-!d@autX zwy+N;b`@Ti+=jHa3SJp_r0xzEjMcJpV(_7S5-Ps0Qm;|I+n35-2tRzkb$LLz6-a)Z?S2Q=8Gd74ye&2CL95Tu z{gQ;S)(BKjw5eR|MZ$e6ykoptdrjzB^Zv%sQF;4;{P$t~(F^4M5IqQ0FKwa&=}9C` zWjfyk-@{5_)=6V3ifwZ|vuup+*=jSua9e6OA70vaX#M$)!D--M; zUFlHK5Sql1lyAiRlp0>CzXr_Ry0h;NC*P7Z1EybNtnQ6o^SoUvJ3D;!tbV7LJ0I(+ z!CQCY#M~45ovzFL8yu_8;UMKm_%&S7CDHvMDJP>~i#f4;qwe(78Nzqu_^~bb)kqsp z<0X29WwdYlGB#6g#vB$p-poxz^S-1mtO~6KRCN|vkPG*XbvRqX+S0yTyvwsI3i)nJ zeGodH(`|N#^jHtbyL06T8d3WJs8`wQA>jXS>zgvP7x@XmGw-hIh|wB`e?Cqb&-bYsZ)}B$jMlctG~~^di~u3$(1BOPd&KOK;kb zTprJr`+&8l)Xz${tHgSoi*%XxP{R$iW1D209bTP#Ei7yuE6;n*VK1D~*(=cUTLZj8 zcGpNrb%;Da3NtqX&r3)m<9Vpt!?J@7tYEq0uGUR9m(e~rAo8uWn|e6$czL;QrR`#4 zxR-HX;&S?uue#1i{2^;w24yVD&nrq^*T|Z!aRZuJzOnt0nZh1$-?zHOIZYt`sdHSx z^4yETbY|7zdr2owx%ZB#p*7-H(te6_D8X{A)S+;uri~lgsyIqG7G8e)RDJT{@HTqh zDFM!)!9|^GO&;pqdK2r`Ef>7&;5XV(o13t&)-<-RKMdCKgeG$b%`dcjF) zu3GAsRLBOo9d_qfjjC>=@{`_D>(P!kdu9>;j&3_ncSiRipV$rEP4>bxuS|ql4LtL%)D1{|SA(!%wIfZF?@^6m z96F)1)f6UAR*A>jFg|AcYx@ocMaZDc`iX80Lgd@iE6s`Ig!e(h*Mm0&d4bM1ww1fKM*t!9r70 zrCVH|84E^BQ?$T4n!f*~H1`SQ;kupuEwv`}aH!d;WwAcT`o9BMjqGhu*>y2D z4`4diJpnFsHFhZ9*yH|0E-p#Fjf~>Jb1?p0>CG-T@HW-e266t6c((+5P#udAU;6Du z%BlV8c3Rw5l$EKWbo|vOYu~;D=qmZfh114>ke%vYG!QE~nwA?v{%9B4>d(*#MU#S6 zF3kj^0#yGlpvARczoC~LRwzQZAfMyng|N#?Sd*Z|7NdhTEbr^-<9m3=$GrcCvJ#t(3~h(kUa#8ki$IyN%iDRs z5AX2E*ymLEfVs2G(?k~<`;pA^thrTxRy{9TSFW^U+-f`!WahmMN&62JaER=YF$H+_2>lXtEi zvGal}+?Egs^^@pyLlMF*KzyHyCW=4of1R@0lt^5Evp{lH;%6;Mm!L8ExRz!9Fv)01 z%7!KHdYL!Lz}gS#ubma3;D6V@Txh`C=I942+^-aMH0`~N5S zey-V9)4s~xOMNF?d$LeNofG>e`>7c7NO4JlQ^$U4^2!0eg{Fk`(zSA`I)!CLiW%ja zQ+=GTtrixYf#$x28jPTKcp%WW%ZrKret%6#dE5gY<44_IjCJV2TTmY~mZwx?)R<8P zzp62d?$fe<37kHNK6Slu$n4*6$Q&nT{SK%xFD$3hXw z0nhXBPcnBhr<3!JJIA7js~8u(G2UEjdCncS1TMRgNJ_pI3O!)sPrGll#(03*XO*4r z?cj8SFDVCDu@a?UNMD)0SGARSCH34Lytpze@mC%DWD+BiKgHUlIJ1gWXi)oSp(_66 znqu0|TiCe-I?2g|>^D<7RPf@ORdsQ>BK8ko%4LEb`>n}Uu=b)7efy?%-`tL5|>YZbThj4Tlm+7mFGP4&<;tBo0Rhi zGCH^BQoAKwcAW5>F{2}Qo><+UC7yZEf)iEkPqOz4rPam%Xh>sh{^gW@Mb_V*+p(X; z?I>u->+D@?Z9{J`YElOoiHxNuU4y^5lna+z+bXfunQmQaa*|A&*0zKRW_>rFiMca~ zeE%h(?6zX;6lL#O=Hp0q6I5IOiMkv^<1J$o@4GL>cNZ!a*(CZ>6?qS53fzp!{~YU6 zi8UqlNa!opj@?)v>|uLdtlRcSkq8ZOvedxXWAgWCydMoL$-OFn zyGg%f{y@xia8O-V4fPssOMKJS>sU+c5TelNmiXT$=XYIsR0Q&qHHcethC%fks6l_t zO@mC?<1Xo5&7Q7{`T?(1SRTB&&g4(7{O)nH0~ zj7myh11JBvp`Mjm^N$6rXV8zJ`=NQIOCiE-&u1|ns-`waQi?Yr>Ajv7Xy2caQ3;Y? zWjX&^Ld-!&hv4&>5;LZ$H!zOmTnP89wrkDMO5@KFN6_gb`np|Lio6>Gb>uTN;itxkA#GX}lVza^JT$mC#^^sIkAxeEM29hS>=u{hFv3 zOZ-x#T>foFV!GEX)}!|uHIHwPHaeFg@keSm*S>3xvH?)(9}jV|o1ZWxew>=*@CA2H zv5i!RWWO)AD*V+oH5|K=FYC%Od~d^3@FKj^O-8^*w#}Sj{8f`cTxn*jP<3dc<{FJv zP0o5s>)GWw9W8IStCq_NAv7LUVXYK6kW=0z4SKNr6ii*T2m0O^D;mwpa zxAa@<^b~u|1naRYnZ>I18f@&Gc2IbtXA$>Rp?YnJ?Vo5X z(`xN`80bFyz{y&5y6gke`o>pq#hcXTJzo@UF_`+^6lh7gnyx8M zLi#t{Ns)Kq!+z93?^2cWsgx;qu}J_>mL+fpHPxfpmwFzmc{TP46r~sLN^N!c=Bfu1 z5qPsm>qJSd(@H|)xX8?cMVcq&zYUnBui3lOtLwKkG<*3n!fy1nLh>)AHhk}DT$=dQ zde*+XWU)Oj%YXvXyK6)$$|$D~HV!Ma&Xt-+7R9f$`EtziYFn*y2keww8K1q9I%>@{ zC+Btx2_L)$ma7;iEJ<|g?$0~0woOvX(F_diyE7z*MbKcQ^@b-;u=C!BR8RR1FS;|X zzlaC=OH;yo3y0v&LS9dC>8ao6x6>G@{k8EYe8Z!gbh&@jI%7}@5HLu3E3{K`_$>`MU~C=&irvFwXBW zIno;WXhV7b@*08D=?9w8cROpQHz4ug{UTewv^Z?NTCfNHogHZh

K|c2OHi)*inz6NaRrS*| z+b8Mvmz?Ea%DzNGJH_NJ?Ua1~eg-8GT(yY{kiVAs9UL=CzpEuD-x#c z%olm?@V&iIQe3KgAQ#_*r5984B@I6YcRk{!@FtptE&e}cIKAV`)H8*)zYwba7rIRl ztp={~1x3M|D$DKGmB?1=G0P1V+~TXszKrrQ-f}tG*huR8u^Tf|18s@dPMzsnCKOX^ zDrV%3&fgk1%#7U+QPFj>&b>v?n(emsBiRBam%9f>cCPG%Ll!hl^97OKesy<3i7RN| zhWaMhyWz3Pluc6ps=2`3A6F)tifd%}JoA*Yw{j2p)_Esk+gu_1N_bz%oe>0<9(wyG zdX2S0E2C6&sfI9wmPVWK?yx++x1+hYCI{16FBJQ0u&3e0{<+h5KQ}#w5PXccnPbry z1c&=Gmz z;(q`Bn#Q$1*_Lt)30|c6MW^Om_`cPx&^*&BHpOIDo?K6^n4R@zw^help&2sOjFx#a z@}1>Ez()mh31xQywo!$apMkVhpZY)SCWu}BFLH8(pOpN5)pJDpjU3o}5_`tE$4bBR zaNVAUBIx6$&>`x^!old_ui+7WrQr-?TXb`WUOrEc-x3;LxzIPKxlpwJv6%-qr3(S> z3?xuP%h^T7%EVgaB^`oI!fv0+8>z`9s|Dr)>~cnUmDkt;@vhW?GgW4lzJRSh*E%ja zphnNq6W4?RpYgjZMG~fCvY}l!a}j#}9Sf=v)|&f(Xp~VNtF7i{`)6H0S&2JAYt|fO z`Hzr$ek$Vy-zlMU3g6ak=;E}aLl}#2Dur)lVzt#~`80=Y)go&P+5?|BrSI~@chI?9 zxH#>Oe_h3<^CYyo>9v#|iRvUl3hE0Qi;&tvUZ&{IaG&sPXk8 ziMya7WN!3-6yIMbF{?~!sPjEwAMg3aWWL%KD1PFUz8h--f2G!GyWtJphW?6`RlBus zN998ELUIk%{;-tYgSD)3!hN~nVV;Mgha;=acb5fh!LcW;QN~lFiR}sCl=Ef6-^R3} z4)9^K=&w==RY*(r#8(-*GTvZ0-mbB4{X3wTBHaNfa<%`q!hW7%H4}l8{m#rU3uYzf zNuwnKqs@=Cbt1fveNujkcR+ZitKrlunulA$Rg(4xw9tQq2I6>kzcGItH;fchjX^L^sG*R{_` zA+KRG&t|QZv7Y1h8ah<)RaCy?j&cQzbOPTm$ybBMa}Ul(>q*Gvan@boj^m)%I2kW0 z#!lQ%7Fh+J?_W$-E5a95ET;4Wb-y>evN}(`@Cn1GpG4xm<9zHwg%WSs_j#_+EwCrA zmRgToR-c#)-Y*g|=X6%2pvzl4dzF1mn=;P_UiLCM=c4HuCF;KAjfPnTPn$Yt!es9$ zeGcv_4-#%|$xg=@|FbU4{y5~UezAIgKBsdVPo{Z+Zi?FdfSoW$q*cEuhN%sq8 zMjpPI(TVX{0qI{R*w_YTXkE&C3UI5^Ep|ryp4wJciwc=f8EyqMR??>3@#goM+GmSi z=Q;6ggzv9?G&vQ z65qLKjbS!xaCNUHui`m0S_LJ(g+9Y9qJcv~DSNqaBv+}(0b!Gu>n|_yGTy9t$QEAWP2Hn=bMLx3S{q*|2mA6Lj07G8* zdbsXR@;xoI70tdzm(@*!bs}2Fy$EuBEkrA-{mkpR7PCZ13@7WTsqrqv{ulX?v%i_m zthz?i157#XoVytz32;d?BRZnT(D++HY#De&JH>yRG#6hVpL`wsl7E23`oBY{O(6I? z1uy1}^*dvBH-Y1i}Qk>dR@i^n?A9_?-f8?~${pm>R%{+3}9oS;KeFxAql0vS5 ziKp_`kyE6s!C}5vhrP7QTKZMl9m~^D#uoVd8(U_G@3aJuIFB_|%iP*7Z~`qypGm)2 zQP5qiFnw(+?wQL!eG|iF>@CqgZtnX>^RKbqG38Za(?6x0$2A9N7@cnVilSo1C6X9`7hNH&yJ4SmdiV)w$mpRa6% z4lD8q6yFo!23K6BVHRk*N31Oo`b+h<xvfrriEr$+`KC(usBdByUuShA7lHV+l}bJ6l>=6U~$ zEu!=zB0u!h+C%Utfx;={1ZMf*k?8@){9+CB6on_$j}M(wb23_^pO&wS^3T*g{$Ve( z3f0$_pA`$p*ih-8zTXD#?S-E%58jT3d&2($nj{f)zsb(3X-8}{Z0-rI#EB-+UQjD!$+Rcl>AlNu7f>B`YXi` zH_f+0Bmy_0dK7l^7<9;RYO2E&RK>ZoV`xAfK8AUI^q#+>a&G6pJvZsH4z-!t)v;%k z4)Wf~D#6vJ#-Y-8QZPRl^R|6Y9x!-u?n#`nx%!|A{qlcC4+nqt=l?(|8>i}6G7=;NJ->E3@Y*zYR%}rKZ{)ejgf)F!5;Shlvm!Bj3k)_Y3d>HuMHld zJj~Nki@9}Q1Rkke2#=n|*Hj0b74mOU+MQPWyU-W7qe}?TK6z`KL#r7#u)@T;3GeA2 zz6$$>a^BsLboi;6a`r**cq^ebVOv(Rg2?>M2{wC|B)!@Vt)O1M+{L|)&Uif4Gmo`w zb%Dh3b;Ov;c2M|UVlE2o3!X&3jr6Dm%U2X|auEx{I6&ut#ti0(oha9m&-CWuda`c(#UDSR2*udHZYl>J6vbK9^^s)*u6pX?c(R zfoHU6CUsk6MNNY#N&c)khRbO5Plu~+h;=T#Y`#XPUJ1P&+E%h`d2gh83*`(^lg$>R z33@~MZ$L@=rf)*nG~diU-~h9-Gkutwmb*eb``CkuJ18{gUB0wwgLHlvzD!d^!qDec zEi~ucnf$|Cls_{0s)w;=q)~JUv+cj?_F7f63?6mi;ay}Msi%ck2IzGgFK!s@@XVBb zL^Bz?)z}g*=})EQS8MB+oeg4T;zpX-J;00WQ8GR2uhs?L`#nP{A44DBs^uO^i)EqC zvRoQ{0RP`hPJCA(`bo(z$CUfb6(6?ZXkW?Y{DYyx6|^U(`U5*B|9MlVQjt(y>>KDQp#xHW z@3)nYd&j{EGfUhsxw8ih_ejEFG;dmy;H5k1v7d7!RQ9@8)8ZBA?T@r&a2ArbT5HYA z7^R#GE}VkK9(Hu#R^|O^ySV3Seb`V{KwE~vDp2As_MJhQ*{7Jri;~~t%wfsAeABzf zJDj>~ww>(roMDK?khvN!$(xPcuYXyS7cCyT^smk6JiB_l=c(*Gsd^oEV* z{joMLP1&Xt>? z>kjTU@#BLND=)4~=OO@tg`b>>54)< z8dvj?ho7|ulwEXdBHJw&%al}oAUCkr5W;e_ z_H8QLb0Rxxm}qjP|7id=tpYgFYcLI-1y?xmot zh32D8kOpT797+p2t)a~1!i%^w#|5Wu0Q1D!n#k>*cGhgOL!b*SXEM5I1`qsfo|b&x z{wgw9_aIMF)-288>=43#TFX~POTX9O?jg!h3gLfX|LnZW+EA1N0A?cFoFdaTGUO~$}=uCIpUC+@M zlWsEnGev9x)!i#Nw!^O)7c(^2n89h~k3-G*y6mSrZwHpp2ItWyd>*|q=lX}SR%xff z{$+(-Y|`#Akw{aoK+C!}8)~CB1V&K`>A$&fe^cWVyD;BQTcj^S zhday;NR7dHUEMT%XT>(g+r+TH6lYmjyztC{W3MLXNZAc(d6e+GE3lJ@Jyg{ur>0d+@=0{Z>^v{6f<5ND zK=+{g%?pq9sm!hGxDU~HUE$zj&vxI`a>`gX3z(mf?XjhTSJD?$u)YBd@5YRDnUkcx zUHpXZUHOf#WzAlvP0!=uHEK-K9lBdD>f9h=VJLZ(os31W3vKuf?uCb z^6jhO(!X{^?L7PH(SEt(>dPV;gDQ;r^IBI;)jC>2TB7SrxVT4jwMej}G@RNk$#g#YU)GiO%iVa`j>PKV=l|z(?z8?RmOi)?FCAHcI+dv5lVdEoxr*yB+Pcuql6HBn5ZlCR0DP zUwogyRp(YUL(6n&{8RJ(EjHX6e?`)wU2ZFQM=WCf4=Jm$ozZeO{YdI`+C{>zE1es> zuYm*tvH`X$d0k<6iM%|kK$!QL(4S6b`ED^lgscu?F zd;mlUVJJ`>%{$TZ=eOm=$ykI;S{QvX}o z0k;IivUU*HQi^|F=?%0vXY{E{UEM+0cw4XzATK}-uft8f4W(HV3mo?S7=5sMgyyaQ z<@;D;Jtgs6d?sZ)RkyUH)|Vt_6>*YZdM<1T&7sXaj{RI*;&ZE3_UsDYzPZ0a=|{je z&S9U3=}B$%ykJ%auc_Q@3W`@S1CXe8z(<9QZ5mvfKqFaAd2L(>1| zl?V6un^*4jUKrvl5kuyM*wL@PwgbIut&H$XP=}U;3-tHyltgOxN??`K%mgWM3+eG* ziu4WE#?EtP#yHxEaMeLe8a7%kYyN4Dm+;3#iyIT6O0zDXgnL#hQ$j!0GV?_~IMc3M z0(+L2@1WHgiQlW9wBqpSd-jO~prK z*ja27W*mxTSZ`KS6FAK-IY0VcG3%tfPjZ$uo?a)ZcEqlv&9BZ)SR=3{ezDF(QrhO{ z+il^}P`TbCt$r1qtCI06b$-pHHI4692h5@W^x(#_x~;mEOS&?i^Doi%nZW(+8|_#1 zk0ftOzFoB~hQyiR((VZKe+Q0u$kp5AAn+$7>HjIeT%8NvL9f2pZB2&kiXNePq_@sp zVrK`ws}AU}eNH6!y=YC@eM0Hw~n*pRetRX z6VA8!5*c(YLPNr@7yalt8?AOz#D(!|i8as_ z8Ato7>kBtmiPw47$9ZY2DYphJn-kEcFz>u$W%;6pA3(7&hYpdaSG z;Mh!8zq+K9P<>i+uOm;aU(&ELU0@*1tt>Z8a(sOGcFkd53!FH;a?Y0#z)3uFN!HC4 zdw0ur#(pb%25Mnz+1%8YoP*>!+&oY&Z~8Ja3VQplZ2(8bD)SBvOCM*xm(!}E)CNMs zZKR#P!p7}Q8|n~3kJNJ-Cph|Y*Rv#Q1QIg4&fR4%F*5>pc{-*!fRPyzOFr-WW23Z}j;TiPcM7X6|3Jw;!rJIwTH-!!W1g;g{AqtXQ(zuJ|1kgHU01@otdSR8 zpEV};R^g8S&mCm`=vWZGNnm-z{y?7o@Rwr zk+p!*4lo6Jt!Ihm&FKzWCAEIl;_%s8H|bIUz_$Uk`AyVwQ1m(EZGKG`YHs_^&{TOW z^9JPqzJiuHZ^BD26E7*`KE0MT59{QrPvP7E7x3)pFy=!q zylJ0;#^E$$<1Bx@hZuq7dLw%bawKnA4krj2_bt?4@k$(y-L?2ylS#aM zx?;YG&F%F=+2ioNWivS0@64!5op2{pBKMq|jj1oRM7IcUc9`1= zSLnJugf88L)@&EPz#0)=A z+fKLWZCWmg$9?Ve6X{Wz@W^G(ePxgPkEb2ptGst4S8*(&|YAE_!sH#}GZ<2rf zXu~D@Ox6>CqTD)OLdExOT=xCC{-*n({HZ20wt4r6{s-oFdb$5ln-^%w$)<#rQwl~R zB5fMt3Z#C8*+0Ur6?L0#{k6U--<#CpE9C5}-2YV{MbnIOWIz6ynahPU`64LfMF(_Q zmpTVZe;NFObk`?3B|b%mp6K7JHR+ieGCL(FBrt|)C-?8_hjgB{NaxFqG>c{kWsI{s zVRePZt&$Q8{#~nXD6&(B^3Sf_YyN7YU(&q5o-HKv)=FylkM0D%k{sFhr&HI2R#KDw z_Ppfd4x<@OhsiQ~p|9`an-;&QIiY*`G;gNn`MA^?EaE%sPZW z_55D_i_?J~_$$hB2H5jD0O@Bwo6=~Qif^rNf=grlDbN1t>HC4_@q$9Q-qG-ZSn-QB&rZ@JSMJ^NX%rk?Rblzk|;&h;%^-T)4ZNw-!$ zm|iBw!^OiBHXM3)a6WIJn#ipMlsMHDtp)!p@%IyM$A=~}2D==m?(*lETjN~{bAtt* zThO+jiTwi%JE(Ym091-lFZ!-TxLf7KbUeO}+2Z?Zsf>y!N9t+oU}OdqdZb~1&3{FZ zetzUKs5Vk_12BgC;yRVAsFQ=U8K&O&#c2ya{XM-%3WLey)Fl` z5-BWuj`4wDxy$NX@pb&8EYT}fmd2~YcWauBDSC@Cyi+Y2@@`7l6HOrL%DQZqmQ2!H zh(1x}Cc4DNXWRq-x9qEN6aH50S&=sNjC}-sEUqKt0%jEJ>#*Bj))G!2A@$B>jEPt$ zFy&5IdcE*nNBrXItA{z*l94tA@7B$fF_tk^xBWxQKLln=;dh!AZrVf6qE=H@)5BD4 zu3e<5%$iebTIU-ca$Nl6(Hp+Q!Zdc|FL7napch)*4UR?Qpr0lY$Ls}n6^grUOP(Ls ze$*YySe#<~K?}<>eHq`Fr9n9nC+!qZ;>N69O3Bk<@=)xf!_~)F4nt;ST80 zV~4|wVilA7drN;U?Hy(=(fezCrp-=4AP9Gz_O~*55ubY*XVJT+>~UBdg9>M8{V4rk zr-Froo&WiY`VR`Xz|ibF?ZZ>O0S7ft%t~wIHfCY@oHbX#M*=VIo~lC1h$iX2rl_wq z!rRgzP+edjb$N#vdDlNB&q#c=jDFK$3;kC7eC(J^%~h?a{|zp`YgqoR!|0NIzj-gT zAdP$B<=h5Va({!%KP>yXl>baoZ7W{4COqEJzX@3{77kO-M8_8jdA2Zz5U^7^l{Ynq96AO!hj)NY&X!9%wF=r@ojWy<$Lx6~ zGA!uCK48-Bl0z76I<7OP(3WtL7#zHb0LI_g|?shI|traU{HXZj02(CUg}3 z*%i7nn+M6*r7VDO>t|5h_9O-9|M13&Uv0AXg=TLEO_Xj$S2|VRO zsLORrzS)a-+!mWtmB6T-qW6YVSZm5;Jn6J7&J0i=@a)%;a=DaPV`ZKs@q*4_0lH>j z{J5Ga;hUL*zbkM?YI*1xvq;y8^4Bi3+!U`gjj$9rR5P<5`hBn|Tqy6rh{IQ9{{bDf z-@Pj=f6r3tJ=ybA+Wwga_Q_~X`46O%MFI@j|A2gI&Jo{>Kwgw%`~ITEBT^&vT+wH- zBB+J-QCYR?ox9-u5Pe8&eXEqMM_vC(R-k>FnSJegD0D?pe`GJTmMUCPkMy@9c$7pK3kJg?XmOeqp8P_Bq@^r1;mj6}t3wf_P zhT+#elf-=s_y3QwOmeZL@!aI)G%qO`5O*g!5}%RW6uZr2?L(+*9JJ*w@h|v0CO^`B z@k9P+1DU3TPD=BGq&~T>Kl@)I{)!m(k2v*n)HY4tyq z15*4%!V|o+hNNDH{yPg!7MUZx+*{dw1WH|A z_fB3;`IAxht{Kfdb97mIBwOqDY7_07?&~GZGw66)6+OEKs=QfznSTm799O%i7CWC( zPIKuA?m;HHLi$eNHwt%=IuH4}mT>XE8~m!`l)BFweohAMq|Ka*t67b>^nc0&-_Ak@ zZ95Kb7mLUkzJYL^vN?H4-~8KrdH=z=Hq{|#TH%HhN`kE(m=ix>Pc5e_h)z=h#@g>!nnZ zS4(TZ=DF_*)}-_M9ttvd=DiBM#gbq8x+K8)GzK;!T*4FIfINA8Cs?)H<@BX}?n&-1 z++NTIEsQmgBdJaQTa@bR?Ab0hQnFs%t2VynF*(Vzpx{W6iy_(R+M!5&h5eYywoT+ zzot;)TBcqUt`kW2uAWKCPTe6$#=lbI-yZ#}{IuFp(Lk|=bfJwwn#U!z*WbeBWjC6T zCY+O`W%Ttdt=@I@6q3PQM;He_T$yUM=j9#%O#H?ulf zSN&K&(Ry-;bD!!wmj-S)_ny@0ql^f;tbLtc-;=W~)i>dDxr?QIXMU~d2=-OdYiN!? z4vq7i{gRdsR^&rh74$1yqGi?1rG?emkqn>m_HFpxemeY;F2%0EbJ)~4uep`Aa5e=jPZ?d<_AX2XJab?b)!X`lHae=LPjGi5xf~o(IIfP z))ALDr<%LX(bj(I&N>-=ZhM{Y|2%_3WAMq$fxZM25c1oc^`9^&%HU2yKcm+&qnx5E zF~8Yea>m*0N$?y;{$t7YLFzd^aBBF7w`X9BvoZHsJ(s#)`gY)-qNOhL3y%GkU-W`; zWvU-^y)AMOEZDVRjbT}x?D(CM{62wat4G#+jAhh|cCK5)yuy-OoPx;Tp_H_RA@lWR z4j#qKD(&0M>04=Gvr5P;DE4vgh1qQjn!Y893D2mT)7r?Py&t8_5+=9*Fd9I!Gs7}H z`9WQK&v|GXECy|rJ(DXC+Nn3_!!I8(@*ROwT~LpW~mFqFT4FPf#lor zYHbt0LT>-{Ok9*=Z{kM*^#orcX#G^sjnI(?Uu$>M1D-scoJeV`4$WC{LZ_|O_Y?NAcO?CRo14C?Db=ps zezWv+ic_7z@~O?5V%^i>f8b6u`$#Q~XFX5Voe&+;wFE2T&$jY4KC=tC8%2tY5m|jj z=LiyGq3=NR=VKZ| zt*x8k&om1%PptdJyNEvTc4k|MF&0}Ae=fYV9SjQ!_!a^k1CI4_7nt_CWlr|9O37P` zs@FW5k|Bq7?@6fkS@sPbECN6)~bRo=d(E zko~gkAx^i_c{S|wRI8AJY;7wiOm+qUgXVxje7lx*$A^Z{x_s+X`+8b4xu**H;{!?8 z3yw%%#->;$TnhaixpNs)Wo)mmL^r!3WmWUwvi6COysy=^*Am57lEAiJAv-q!l{hXeI3U5fy5%|kjtZcO3Sfa6m`BwD6gX~NDF8^BH4x}~mdYnQGwmKB+ zCnYwXhfY)KF1N%lF*E!RJC*Q>_&H^!NebL|cF;{q9T80=u<0{d zqI6RQj|(Y*_(ufhR`sa;U*s*3BXN>S&DWHb*RkHPNUS)Cai988qDw1b6KR1%WhcTD zX{V~G!ygrI!%-_VA3vr0tDkG`(S6OSnkz;pmW9TcjM<83dNX?RRg2Q8-Mi$*ssDsX zt`f#?8L7Ma*HfN(k^K%~#`Pv=(uK6Gqpr*SI$k4`klknMQRG9fPN)eP{4*q}s=de&(O}R|ysm#>t}QcYX?JIIsr4ZC zXh=iP&R{kV-fxQimJxTa(j!$XwN7mcmFIJ`!XiTZm-fwGkDmIlLse?rnwOpHkiJ2p z^^BKmJi>*lJu=b4{&ab$V6~QL3FC*ueo_nRLv|*AsKJIQF91)UP(Vv;*gloKpD(zq zZA)Zfo5tj(%D^gI*Zu4SJ*P3wl@HZF?}R2g>soFPy%lT*-}{k1Nwuog5B6S7B~1h4 zFR`196XD=4I^8VF__}vtd>c5Qb%;`&VVC-_&P^@v8>KCbAxYNjcuq&^4w&#_<<)4c z+ws+!te}$0khI3as>wnFe2rEc!b>UtnI-91HBTT7IgeSMZP7YdNFtl6bHi+_WJN|~ zqqghTF@D+!jo5Khdg03H^z&(J8c>{0jonsqY4t+g=3hc7?1uPW|9asMbwcF%>H!w> zjiyOWGw_YG$v5$cKO^<3|F6*WWsK8sbD$KL(TBXwS}y)l@AamH+?rTpvIg$I9lFrh z)3!tK%})Lj+nhMP^ojUqwU0>KV=c&8COLVZ^WO#aq0=?KZPe=)w+B!qg?tZf?fp8YrrCSFmDB z>6Q^N_A~k}^$DbmVf*`fEUyc;r(D<6md1CR-f*{o22z6xN=1ehqffE1c)G62K5h~H zIX(3xS~Y!1yc*s9&89h1ftEPqCwnd{tlxXw@2ap2;0c*y`xKk9lkQjk6soBbsk2V; z1^v{wc~(kJH@aJTXu}ss*`q1dHn=bxs;JnWg?)--UGH&Hhcy+)=g*+m?Oc6naJtP( zO2d3?gQI3D=W=4djy$V#I4@6d{gueq_3N%FFf;g6aUW9XoE7^Zd~hm`Gslc|POfmh zj(afhdFaiYO(+o8(gqR9N3qURxRchai2htP z*kU)1(99SpI#6HRDuZ@~)WHbm+4*yANpqSd@8ZKYiJT1$s=U|QS9f+(6ej$Y!y_X@ zhx4%XD)=JWq|Iq5i~O3WW$~dzEH%n^qv>E{e3dZ-D2-1r^2>^r=$2#ef)1a;+d0VD z`Ef@}l!jG#i8Hl@@^Iqe@}D|BSkOqF!`+7HvMtE`K=;kp)jlqgkakb#_Ur)M<+Shx z#eHkKkV9kD{nT$5nCENS3h-v^nY)EsaRY@vaV=J&Eh28%XlG{V`Ks@{;rz==KW%_} zC7er6PhehTDKbhf%h5-Nbf2~CQ4k1(p*5A!qDH=2W#3k`-0l;S9qv~&$SEJsz$rWZ)X?vW|a?_b3-1JycE0s zT&Ko+#g@7;ew+Da>S^Q--QY-6M)_xGt&d~uM^O^W&$ur2QlK4H*!DdCvQ0>#gpNrK z&b_ARL|0D`QU%3UF(O%Dp|N!;`Vs3qQ~VbcVXxPLNX;Z}x4%@%MjB>#ydA8Qbx9?p zQ8-P9OB^~r`|9La-P-z{5P9BHyE5wf(xJwwo`DJZHbsX@N*7X@!GRSkVtq3^3NIZC z-FggT%03CcNXO_$8iTs!7%eUM@6KL*Orj-suANBo5dU}76Gm3dD1&v1q=um%c(B^x?zN7+vphQm0oBOkJ}rZN1Gn7456FxRq0cK z1r{E404`r5t*`b_-;=CA(OZJG(eqgK+@c$_wCEhze{a!}oR_u2Yi~2#bt64++v86% zmm$8i6TiHvB7dE5m-}Ye(GfW#S%a$9vqeSi$=RiwPBw_q^f!@rQ_ux;l)7 zU@`ZRc}nIbPcSCTolvl{TZf7XP$Ovy!~v84@4;PCPrn_xB3hDYI#av}&j5%1gZ^n= z<9_tdgY zNrPPsJ6x`(6_r;^sS`L6$h=y~Xp(de3vA}{(n z@UT38M#pg(m5wCQ>;Fbs{80IwcF*_(ol6ciSgYIRj`BI4tKfrw&238}L(-p~m=@@# zrT8#8F+W!Qdd`gQ68Us#qUtj=!(yi|^Cxni?{e}|%PWfB3jdw|XXYV4r|RO^^C2Zs z4^b<(M>)%XrSzi4aiKMo;m6!LSYp(XTF953C)EB~Hr!siyub5v_;X5H3-xCAW5gKk zXr1ePS(UHTeu~sQquUZrfkNX_S;<2}1Dwe4RgtbGH~SB1y0Q+c)BKpWe-_fqUz{$L zq&P?Gd|CNV*_{fXNzS5&WM3?t1)c`+i;vj>tE0w~NvRv-S4Z~Qm%|t9t=_RZ^Ahhf zjN9aDS35kdnSKV2lxcU<60r-0fO}55_0qBG1WVRA(_k70^K9`vYBR}^Q9Lnf0d;Ii zo4)L2{$1;e`-LZsw}r!qXT1tZ@8DlsxH!ygNn8TYv7c)Pg#(?wemyi`8l-t z?!>E8tR$0WbydJ(f4_NruWRXXJ5*dq$sft|81sf?rjZ$0a>2$4 zUm6;R?I1C7|FM)4kZ~q8Timd_Q#zazx2Gl_wQi2T<{#l_*O_tUF^W8Ze4UKGWu)g~ z(U@{+(SGR~-w`_-oK>EaD=(yfxKY|x{qyDVU8%dWx@gV$P3{koDo1iJSfNWJ_>9_| z669-**BiSsJzsLa*~0U@_w4YQQ0x-w^bB10KJ{fcxsg+^Q>yEn(`=7D+Lti+9)X9~?5%)4VB$MV-=wR&O&lCm^d zhW*RRS?bD6dAhm2CG{}=w2`T5=A|0iB>y60{;Kya)+s1S#MK$Vn3Q)9<;ST<=}V;) z)r8&W=rH5U`xfNCZGRD1Q}kE~vl=Q?D-h^F`c(N&m6bm5$^Nx|T_mOyZAS#Z{nUd| zv(rpdzq7SJ(59-0_W7jXFg*VY^tm#pf%mW7x=R|ar%e4!zkvZCyO|WDaBQsyZ1Lfg zT#Q@Q+W3Y5e1_}|L)w^)w02Qrf!f!2k$)+ii&MRFo><27e0*IXuFRe5ZQd6&^ecdQ5T(?43xLp+VyOHxxLK`KeK=Sh@Zp?m-5!;NMFT*<=H*9N<31$5}2c0yOu@xG<0$*;dJ40-5 zoiZbw)m8lefhYPSAMDdZp1%n_?`Ryryq!F|rmghm+8s^nJYFP3`4S&Edi@0)I!vBw zWzn;`1;kG%Zd~0J(Di|pP48|fJhUvj^20zZ+Y%XZFM}B_xK6(r!;4x{vVUUmrQe1L zhiW$!=;j3{pu?JCPat=X?|yXblbZTJ(vq@+!a~2LzYsBIMwgnqY17Y3>w+D+G>8-k zX7{J>%whf8shg<#@7@jQ$??f&kWS_u&>iEfEz)l4#r!FC9pEW6MNsduC9FRsJ7BR> zjZkJu;)4T6>!)Bf$eUc}I%{UXH$OSMRD zDxU@?XKLHIuV|LqwWA&t_9{)Wmnu`_ zJ;?dfxr?W^{>W8wo(UHpj6RTHEn3cc*I_S4Hj#_I0Ks;(JNYj+u}f`vV=f`oGcv&C z2YF|0RzhDUr!KSvV-?!=x!^WOMz(*aTP(|AoDP(G9niWg653@7#tld`r>+`bb*`eF z=AcPhR}2-cC(zs*YnQFyiEmVDFY^8(vUZzpC5dkV$M7u=Ddh?Y7w~_E+|;<@waeag z?9i=ff7Un1r6u+Y)^^n$d7qb34=Jr&z&1T6ncZ`a=-MyPQo1m9U+M)->GqXZw><;f zc;L$E)X70!YtZf272KHmyJ}3v%v9Bi7e&vgj=+d(P5N1AU)J<%^z4hVreFiyenw)c z?tMm6#tG!Kp>~%4q}Z0krB<{04c(dTsAT6RJ<7<+zUwOa$6%%Tx;qgy5=WzerKid17Z$J8( z^UB~I_DkrxijRJ-{$Wd=%aF3e-Mbd-$&4T=@AnuKo*etKZlbOmeM;>)~? z*ykPFjc$E`{-ZMPh7d|P?GkG#y^4lPr%*!^oW7vCMfcoxR_E(d zmZxjToGHG=wO{1DM(y3NinD@6(fi;s*{61iSy?rnK43lV^#0lh)@;^V^47*jELjDc zzT`Gqr!X9$B^O3US2<9pUE&#!l+e*sZByNa-08QnTA^njnnHsX?Wc~$s^y#TrN6HNsOFMYS?^l?C_%WPk}v(Mq<1qZhJ^p zp+?oz+4nz&Juh&^!;)T{nqZZO_y-))oR&Hx)h#YK@?1Sa7`;v9nMg!Q-8#=)u}evD zU+fX*53{6X7Cb+cI!y!nBw9DyVhzc~tAC* zua+j}1swK!AeX-v)YDcPkoyPTe)Lc1DRZsoxty`93wkl`va5BQU7a{f(i*ok9*@il zl>9QZMq5r9ex~nR=>N3%a>{;o{!f%{4{&#gm7*bc*>G#fO?R5KAfdA=*yAWR9&h7o z%0nd`KTlp?JHl#9=^uVnha0Qu*_b_ox_jvJpM%@Bi;glfgzuDGPYVTAXY&nhZ@d#; zS9`FLFI3f-=*2eUf=2pnbBWE)Pkj0^xElv#eV^yC5d6!fRg4+cjCi0;ItI^M*!WZP zrd6|(2%WV=m;Q%H)0a>cx%Huqg)Xjm;tBgg|F-OA4)e{l5{bpB9k%!vnf11;osNLB ztEeNVze+B~q|gB5Y9gatG^Wyak#V7Lr8*bcx!UcO01f8IPD5xFv|XL83ZOPS22e5?f*l{X+&-2 z{xtv9A;$%EgcFQ&pdS=eKL3*u^asZC-U5%CLf(%3@cmfATAzez*EwW(rhu)TDPdpm8|>;1 z#k;D?gfczO4V+mFuntK-jjKB`D-VCCR`g8yk+^-NBRGWdjo7C7tWk zCd%hCJA1yMo&!=EqcOnxtX|_y10Bg9l7lQ7K4e@6<$oVIO;+E;DQ3G(@$5pE-Jo}w z{*0EnuILT_*~roSG;KewTq(8I@Qe?OCEe`>oo#u(2`^lTE%9+qODKfJrh41I#?yI` z$gqrw6yU(IJ| zuKQo8(XOUFCuwOHc>PoIJZe?d$``iutwDL;<}41KCHPKeP^ zHsc59O>1eY&UrPq&3}pX1IDx3j$oG*9RHNIKrRWybx(Cl=uG+sr}%y;kNTGOW5*nO zW&?E@l>u zyQW3atp(dOEWN1C_aaSY#=gvTydkj4O)uY7(K6_-yHoR$+Y2TMKPdgLlWK#c5jaA| zCXVKdzYSxg-NBBr@z%v~(bmxL)S-+G$^B^!>l7?@b%^1f+o98wYIsyuU6?yEqM}a; zX>vO%=fNR55wKcc^Zysr`Z_Zv#D@^9R{FXC?2?<~%AKX~>+*34NBsyKdZ1o}!{9 z*6{iZgHJdW=(N*yPcN~uhPM`Ko-7*7y$FudGCN()H8Klk!Z9z|<>tFFR`xUx&T^?i zPG?t#QkRH6RRdz)x-HUz#s>QsCe_!*mNxDPCo4C%m;A5->#IHArNVi#p4_=7`+i6> z9o=>!a@b$fl6A3Y7MkJYQrXLq-_15PK1nT3T@m`klIOt1a;GPz&bN@ul|^k+gy=9v z#zntsKHOmMd^j4o({8pN%dFe-Mu{JlxJ9UFJe(?|1nJB8MS4kN2AXVn9Q&`|2Xz}e zU=@doDcKX9nLXF?0f_p|j}3{vBkpr3C~i8jZvFWxIyy3NZqeT0ym;923;pP7tt(k) z(HI_p!>1w!VO`55y=$EL3a%{?mvy~x3DEr90C7xO=LBqvo#YFQQYPVoB@&9@s? zV9jXlcQ^F?aJ|L?Xh~sD><7jVrAe*PutuS?e0$o1`gN3+R4%N?zenq->(g2UyIIq5 zpWFq?I4dxjd9+(2>kFrNZ-Yx2eOeOpR@ei@rY1K!^5$Nxt=p{Kls8^#$6ptI!@Xng z%WJS6^)J727lz87O(PtisS7PN#`&=y~A)5oppVeIYjr28e1v9XIIfJmCK7g-7I!n40Ih{n# zjo%yz+u{G!d6YEqnnBjNes?}cpfnC1e92pSt99pdQ%;ujy7Aj0Ak#YlyTk zD_(CEcS6Fjk!-Bu{`k~QQ1LkHGSP;(&qKXJ@xV3MPZB5hcbqQ+JdNYbBejoKUtN&Q zk?>Zv9UKB(7+lbwt)u$rGvENxR%|`w!7m1K}CF3Km`Rv6jX|e3Rplvu>lqa z0THB0y?)u-Y`a2JQ52=yP*GnSf(68e1qQ=HMMm`#tB91Gx62%Q57H7CNsB&c@=!@La1N6=Vp}IWH{b-~bv=$c=6oia zs~&~^L(rf4l@B@WydcH=?DSVIblP6Yx!QUmJIPn6^FLbiTC7g zEoeirxsh0a**tYk@IFetg8b{fw8G(D&WJ8$Z8wK^KYNV~*E9OYC ze(L_{p9w~{;a4>$`_OLlcA`4UmraM}G%C3&=!?jhL%!4aST6JZaeMua^8LXf+V1bg zQn+87r(XvaZ%&g^J?BMMJ#6MWz1gwNvDL1Ys;-(kclVTB*@c8o?GcI_`q}tY>qNhG zv{SME!8;-YEs3fYEiis_HAB)FKkIjj>5(E?*`a%)Pt?k{9eep&d*+)Jm7R4S(oQrt z1)6VcK##Oj*j-;o@Xo_ZMjah0I5pk}I=%|G2}?iA{gi@X^qFUZTDW(x~Renvpx>~+qC2?0J`Ucwon-gap&y$ z*yDt0Gvek=RviB4MYqA}`-{g_{s14!<8MGGWJhF@Z>W|!a&If?c;o5r7Iz`dX{VmZ zKdxoxF66yK^7e-Qk8xU2bkD+v%t=D3V!5x{8(0PCdth@tAyD$n&+3%@ zU<-+3me;>3a@?%WIoy(c*O(zLnv-qVx;ETn;p-M_$%^j{$>nxV|vbnGEOlH z>*T*tc=S0#OWHUr{|#XNval@pG4r0y{L88HRq*bhSWoSmFJ>2#V4^hoT?xGZV-0(# zsiW1Cq0Y-@riR$V6Q4zUE@LcYx;ZpLmatRga~AY|mwv>P+A^I{@5W<~YQdmd<(wH7 z+|y$}#ePl5T>0j;0r)Tfr9bT1O>ba<%RyiSzLT~D`0(oxJP$bXn9bFvt$suJ51pA! z(rZ_;V<-JzVe1{iK(;fgDRy2$+;CZ=mpzX*^_U&pf$cg8 zot=+e2gbPFIY8U;4s=~7G*%h-{L-?h#^|?vd)9T|6&J#Jb~e?l?7$7&-LWO~cMBbp z^?u6@<7!MWyKIp7R&E#}+jL9ymuQ#bG=8!eBeRP4Ro8=c9$R49vrgPV?+3IzRck)i zTA^XprG=xi&Y*w)x8Iv3BXWVZI`6Bx+uAMl(nl>4-3g924V@!(5T||!&eodN93B+K zBxnxy?#29RXspE3o6bBZ@`lt&pFQhQiy#O>l8~2N2h?@TKeA?*Yblh(H=HA+*C$VIm~k)k zzNKqEt;;oCN<~uD?etG)L@(78p5bjB-xQb7ZYH)!^I#PgWkCF5X^U|&=Lu_Tw}4A6 z!K{ArdUb!JwCk~0qeKrUtm~bsUMM|EIsS3_sn%MrHOURWU`esF*rbl4;VK`F70{A3 zr1}%gH+-BP468NH};Ew-m1ISEY9=e$X8<*n$WSa|x>xs37E$%&Sc8!aeyLUw4O zp~O@1M+@q(J#VHZsd;ez|Koj?l@&RcGItPu;ygL81P3>E{et}~p|R1{W^NWOV7{Q5 zkwZaXSyP@yx!S5)7s;1Ur3P{i!VXi*RHc^hr{G@`G+|-x^XTx|@U&OugoXb=Z?kIi zbxLD$z(*}VMz?FE)zI#BYRl>tDdlm7rqV)2K_i@==GqCUx$-i&Oh;VoB`P z@@ApmN-vRG>3{TaR|@O)4v^S4>rd%9s+F}5Qp-QWK5d)AX#57GV@Rr1a(QS+U}DXd z#AGz`erou?wallL3@p5?a%iHZmf$ti_qVi-=m4LdjQ^PVMMAL4u0m#86610P`#MQU z2}z37st#ZgXF1G^3PlLxkbi7*|DIATDtpDVsq3R!tMs?w(tpX5RP@CBhc%VUk^L8| zraX3iV&Yn4DSX^1P2KI4{xv{qdXhKSHRh4&5dFj)@U8UsH`w&W)7%qiPQx2D+>%Qw zaa{Y>jdqv`%=$#M3D*-Tc!rQ|^b&Pzr#eD$>Pncv^JXRdnO4y(xG2ufwJHg_)Epj_ z@!XHBS#35i2+V+Te4S3suQ^g(4ppUZ`jSQa(BWQtKRZNv*_qJke-$%xWtMk?CkZC` zr-oqPSvXwVANtw2-reGjBUvtM_Ju(3Z75D1whVE>t0WOxLOiD(51hx zR_d#^Qx^j8!A+|ODW6#QY4u5M-Ox9y_U7)5j|qS1FeakxMaAsNLtUXq}PJ8c$3r6(VI@^}J-f_#lGr8`7>R(%ZYBYpEsm{Lf+Ri5eTb=y! z+%T(H#%1<8OE8^jpDa3NY>4e+cA~*Oxkh|*kd8LU`}Ikm^Vg$b_g_l*eaLAS!7fg1 zwhbeYma3TM4quaiu7lFNcs#*p9D%p5@brO}+nni0X@<7sz)C80iJeYQ8XZEY zDea0e4$596oOB(qPnhz**?#oByz~NYua&q92r}#5B=T+|`~3s^^w{91kLe zJtV)hJ0dhwALVq!a>YIOW$p=(lrtk4`-VzVR~aW2{5!+av|!JZS!eo(Ynt zcx;N+sfnKLNGpJ{9~-=P6h1=QZ^5WT6@Oau>y-)PYmsenY8h5iR(Rzq&)0Y5Ej0F+ z^iM4+e^hhnQEkh%Mt_GR9U_C_sldrmn7rKoI5n#EY%jhb&BJ5G=U1K|3up=>!ZY!7i{%Z63byQSFWWg{Y1bIk=YfK zu^JMWKJZo6ZPFaqpBPobT?sHU%OC+3m!(D+z~XtgZ&sjAaOI@SI> z{pN^bE}T|ruGKrOC(k-|@Sb=vb_bmL_`>#?f#7y08@SKV&3LzCKytce5WFg7={YLPW>orZ4+C+=a3u^`l&;~x`S ziNCh^l=dIz&0ST1R6MIS;=ZhDx|EO6haZ|dxWhAn4Yb8+r?{&h;N+o3w7-SdVizZb z+rhv0mmaqz=ReJOf^mHPe&1oV=!nQODdai`-Rx@*iZ;uKHff4S<5v~wSb+d$gf+&x z2Y%_E7$Nfluh{Y?X8Pd&T!Jl+^7YbEvYYnu&E$&Gsb2Qorh7f9#1*22V3SloX^m=I zyE-UO^TTL0^88!X^0rumOj>jAA*rnkZw$^Yw_X2&+RM@KWE30e=nzsjBNzIbSVck% zS;@f0GoIuP_E`7qr#(eZne+pc?CN;~ePsTta_Q3P^b7S{2}Ef}ICpl0{@3e%J<$Dz z+LFrrz%j9=>YdW6Rgc*8nXM1O6ex86G5Dl!uk%x&cjk4q*`biui?Kot;QJ@h73qB% zuX^5gB&dJ(D>idY;~peK-gddJ=oIJKSSXMa9T8-#tN7ZYnvAwQpOZ+wT>j_^ z=6xyK5YjZPcrHNVwnrK}v^2!fzo9?7ze|6AO=`JFE3Q~`WIlQ!5DSsU*{;^fv-^(= zwT+(d+5YXG&B@u&lU^lxvigo3$dg>2$x~XkC&K%K0W0*l^%4AS7yrdGtn2=~FOew0 z9*_N|M;^4`niG-|r&gE)b6Cqp(_Ys0*A10x7w_$kesVA1VD_o}Qs{A4+ds5j;0-=% zay3?rc{;wEE%`ia0j@?sRk_m^(X;tBSW|FRp&2t$?ZAN9B`rw-pj1#i4 z2h>MnQF1@#XMH zvrGx&bgydFDqHL6=hcJ~K7lrM4|SdDyde6e!)T*YQ=|rlZ^iSO$EtpfeFN1m3v7!B zmidu$B`x2ATTEX>J5t?2`^?`WXcO09MRs+2Jaju8o@GA)Z?B_mT&3d$W}shxIY3Fu z{vyqU-AY**JAjAQyK3?3`yM+zTJ7%?`;_<;Gi-89NyzmuyuSyUO#<&ukt;(>frik# zCyk@l%SaKn)A`ZwOAd$Hm#40x*oBNcP4YRYb(JZPO)mK zaHEPJ)*4?i;Q9WyIujYddgL&Ru60_TR(pn662Hsp zr>R2AEM-yeR!xNi57mfY;?XVNBjD!?w9>Ljm~jwI;>~30Aa`aK+J6omJNk^wVfoX< zqNs(GjrUoipJV6igBL+*4av32DR@useW6y;~qL>Q_bV>qT4_Gb)nVFoNKz)2M>3AQAsay0 zVVte?Q+!LAtMgg3y$w*tH{_nZ`hDjtdBUW8@7RZ9VPbU0T&YFtGU9 z(&n1>5-t$#^+&f9CqiECz_5RrL`%hKn2FW13wuFF zW}qdM|4=O|)xA@ROTs43(W6{&l++ipoQqE@p9dz zw%i#z=r6QY`93k}fv^K$R*ZjEG&prta=E4fy`0#qv~&lM?iIp8ajHXs;P=wE6vsP5 zxNme@{zYU?q*d2-iG^zgVwr^{(lt0Gc5B3>W$&YDBk&UM9#ib&g->ajxe!{?#^g+{ z^K0MSP6H$FL9LV5_6gA!ghIX1?wah&?Y!i~(t*i-Ehc!6?(PU zx-zG^Kc4d)EhH9Nk2dK)x{i?LQT}%ZhBcPFV=_6uF~1jHBno&YwwX#DPw4S44K2RP2e$jz1JnSkB~m zw6rTC(*koCrFaV#lS?1}=)@*CT<3d6x9UrEy(ZN5(NxNpc3W-Qa8dX?v2K(@T;I}9 zw1gd>Px{*T($Y!$o9xqVesYNa49}9X?#$hsswGL%l~L~7!5}*$LExV1FYvyn#^snFDou6pI*m|gulO*8aGCAukgJK z_4sn4mRIZbzh$9w_{rQeEP^M(a#rvbXR{J(%AY zIdI{jlE|AO>77Y%6Yz$cGaLqOo;0yKx@W#c`ebpw{yctL`%+W_$=}F zhF9Uc5S#OrrtJshv=2V=W*9P7*)Znd?U6asqc;+@*XS}Z^RZB#Kd9Z*o*h#s;OGm* zI*R=;!kTv=QtNW$x(!X!hf!j$Mi-yUy(V6fs#-6w`?Pf$n`p-zU}4}ot*I{brFF4@ z?06gRg!77}g#c6E#Gta$*jky#)EI4#w0R;gqfVsEU3ZP9=t|~>+6i~m)#$_4%CvNn z?yu;p&J}Jy5v=V*Qv_f7{M_??h*>{zDt+a?`f>UPq}3r3qu$!E5BfDuOH4YPm^ z%dal1KQ#dV2$hqo-dU-=SA@3wgB?5)t0RmFX-P#Vp!ByjFS**Q<13NKw^JE#T)!iv znh9l%qgA7AQY(4aUslrF*gNy-^;s7L&yAHy{)%8ZU8hdg^F%sa5u`T4nLy4h=5`S_UtO^v%{OfZ#4^U7v~<8)+$)m=&Fu2SoRh(ry@|O6di=tpstbtss{N zJd>+N>$*2!kaT~eIbV>*n>sBu7A?3udv1J5{aEuqCgV~qVG~R5*X4TA;(IRbu37qM z&DONtY{0XN(Q=ob%)}-iLMILfKMONH^2=TkRzFNx$37UXO1*&GjBu?7B|>JA_(Wzw z#U$pH27p^!zm&XDr@c~BeBa$!7CK0eA$ zYxVjGJr`*AJR|UAYJldMyMtkSUU|VcaEH;IWp(9^K4W3x6-sji3Vlv#&&dBQ*gIl$ z`XXSKT#F6Bg1NL)A6VENdH|#>AAuymVQa08%tqJge2>N$k27B!3+9J+*;$oedUlkR zQu+bp#v2dn66d%18(L3_wh zeJ+})F4sLnc40!V3P-{@ankCre*igq)w!$N&#{NK{Vd?UJNgZx3+bb^(Vl_MenOQqiN6fB29$}zG{JA_9?If%NSERv0@+Lr#Vjo{dA}DY<5E%{k?s)e6y|w zwdDTNQOeV1?I*VWHk>>VThs0RpxmVw?I|d?@$2x>q3lpWs@%GJ)rF~plGb%&J)K(`Hk?4>YOTDv@1Q)mjGSA7UEPIJxeonpsGNtZ%pX zyeu-N>P6m^dk$K*0C`F*>QVJg6G908rQ)3Ud-n5r|AqPrJWZj>r)bYWbdUKT?H(&H z$eU}9E0%9CzFA(cxve7CRval<`N+RX(}DzT}BD z^UYr?Z`>%~H@#NpaD{mmZ7d_InvEhY;EEbP3EGY;-(FoQtu;+&1$Yg0+u4% zr%P)|D)wjQKp(6FPVsGF?G6XANG@HB+Y*7qijrlCbLzgaZQB3C)KQLdDUo^w4*tq{ z747LK+J2v*+ibxtZ=W%DSN+{8xj$3UJ+L(VCscSRYX`jrR*TiWrPm?%w+hY030_&R z7GHzYK3X#3mO|x+{(%LeGq&c9$_%974HHRSBI$mv{N0_MGiG(WG10=~A7J-H`wJvLb|i zkGVDF>6TS(w5;ClyGion7)+Vy{nu4;-?dtBx#tGox!S6a)tV+@Rmcn99K(O~_o!{oBZ%Cp-Pj?Xm@<&2gsg>TJ8d`l# zlwBGsGc_Xhd$g^{ctd&tQhcj}Sl6eo>PBSY{%YQgWEmJK1A09<=i9BdhVAh;5A>H5 z>Ki1>t8K>N5IcdgW;mqBjgGYo{6v=pFHmw^_t@W>JF_a@^&IN-gp=!&&^?hFu>^9s z?u2ivcbwog+?WjSFP>usv@6=m<>v9t7Id#6RWZ!h zEV&O${eXXWc8~fz&kInUaWQU-9o3`L2QBsy#7f&9EjuC>U2waHQ3h5A9-mVkc38Kr zn2Fuk9BriYuc>4=ruwXUe6W-k!Irg4)a z{ur$k||V&B}7cPZmk>4)&FoqJb(%^i{d=-ig-9L~#1 zE!rSf#dxw}N5>%AQqzSJ8rNZM`*7~@Ul@NN`|6VS69ubpn8hmg&@X zkLl7a^h^Nrzr(WHm`H3w>Gjy{A=hcn}(9@$DaE=uGPc?{zD0>@HNq zPGJL?s~4v}ratd@@A9;Rml7vmQCZ*(S)WuL*3!-xQFC4P(h0;|%Kr!TO&_c^NqA-v zy>Y8)m(nCV%W(RgAcL>0D2bKpC-F~gxvw+fy?u1$k|?8j+m9o%!Y1x|_$+^iJxICl z0|zr$*h*Gz9374CHj{TcYpyptB6m$<652NQQ{WyOI|BC6+3#CZEao(Uf1vJ++F3z? z$PP&QE}j>w_M%M}c#fjo&z4pNMw6nc`MXe$HWfg1N&Hgb5`STnupig8v%Xj%;qLiC z-hSPqJ--RqBXhN%IJGW5+&dw(Jynr?N%byz*e|=ITGBnuE(KW+zTeRpTs-W{V>~D! zKpb_VQ1mI!lb%6Hkc^0UAFhh4j;%-y4S%8KxKsHpe*XGI_!+c+IN(_EwVFlPKbSbl z3NT|PA&=UjF8O2EC~EtJ?th#lQlR8CW8Bp(E8Ctd z&wb)uqN(=suj-eRqv5+q&aeJ6@dZtR)+g7uDUUwfFoMxj^q5s1IP#~-qv8~&s_0p5 z^nJ_qdh~FDDKUSqI+T|0?%vjpys;*bW1?r~Zpq#2IRdA)Q-8rHF<(%A+O7_N+uVci zQ?w;evlOGp(Xv*<0@fM2Zb zI*bs)R@Of2ET^p>)nR|I%;mls7QcASaGNg}5HC=RX|pPA_T>BCt=1ugeiqYyV;qvB zXRwWq*thD?hiNI4FYC`=T?$`aEaxKA4fy14+AIA_OdZCPj^XxQWUSWf^fNJSLW_}@ zb3_x;m~@=_V@-U=XLCv-O?J#lEv#9{wxVg&QFALQ3Gy#3H=C_Ijzc zJOg8)3Xe-U6YW;=MxT_C;i6P~h)mCGYhP?0ie;l0;zCZG!^l}+`upxygUYJxkS)c;32fqkEMR|lCjZ}@BXw!nDr<)#Le{8dLy zfk3glp34jeQr)v~XJtpnkN>_m}y-X6zr?(T4NE_IiMCN!Yngf0O$Yuxl*MoF zh|ROH*jidnH(R7`0n67d7z6o~{Ug*IL>n>CdcNX!-LJbW`xXa_>}wyA`Rueou)zh9=;Q z>PLJZX76(zO5Txs4wPIgnx>DVv{M6Z+FfZcv}oqC+ktJ8=kZ!c601N4s)2%cPO!Zo3n|=#K^Mj80BNnosp^g zlhQUGkg^yPk(wbchZLg^r>oY#Mb_i`&Pp=%q-Cn?PYIKncajQ9muHH_Ff0)SB{2M7 ziu-qte&+IQ<#B9IQ@f=noOIvIwQzw)|~M=sav7pXC_ZG-Bgsm<|fVETcP{_pQL(#_Tk6ck2O!_xq0`xcm^}4 zIE76Y9T7*Ka=S41#^gF^kv=pGZ=n_LG8-V=`;e?J&|bdfrc~447Q>ti`%Uy4`SNzl1a2d5=&tzffPvw~(>%KIv&Q zAD}T-WGt=p*|e3Z4Bu-NZ8YtHGX6Om`_q0mR84^DpJeila%K%IO|>dC;M&a2T4x3( zB3)KX3Uvyh-)U)k4jVGX`o+~oH9F&|_%ktDEWsxZPTrF(_irO}QrDSB3wD|k?DNmp zcf4TJ(COq^ZrH}@@i#Q7?{5{F(AR@-9yT~J`%g%qS57t5V>OEgd1 zC%ubRz1D5!YI*(;TvKc4*ZZHLC3zNX73LY(LVXx$d_kvL{P%g|T)NR!F=s?>S$Ys~jOOX|NjWyOP0K9rJ! z5vI`}&7}wHWyc|Iay!0)Z?vjjAw6uP5E{P%%=*OO*d^wu+_!vYO(ila>zcPw*54De z^FNBk>(AEscyG}-Q`b#@qmXylKZ{-K2p-;Q!v5Xl9UixYH#+mDgQA7=Ix1 zFNk)e-RBk_HGuiUlykB(Uq}R!!62Z!=>u#TUwnL z%1h2q^Ya1!^U~sivA;;9I3;I`L}%=aeE;%Ps3sxltGYLSTEd0VArhl9d_JV$qxf`c zE};{VorB~%7b@v}T56lN8wa5dPC?r`cAXaP_OC-C7MK$Fw)dy_?VA~*s%k?R*`1#L*BEZFDx3VF}L?G$=7RQMkDJ;&8wOUeV~ty z1?G~(UnVk}IwN>n7dLEZAQB&wZ3XXyA}5hgM<_5APV_(q-_df3O{}S^Ss$HHRYME= zg56QL;$oCMdDD!qZsH2-xDY-aET>V|sew#rFEJ82#G0w)a$3BbU-{0i+tiD<6RnjZ zN5+Euc8um&`8Ts0`iP_`5zR7q|6O&!rrp@>x0U~A0VS$JDMDqK@zh*7wh3enS>gbs*cBR8uq9q#rR5Bwpfm-m*4^m&y)5XD8 zxS$Fvah}7g>9_kmbd71Rf(iq+R-sq^)OWx$J{p@)c&)Q|= zZn+`)s@_0vd&PeVG3yBZn8D_9o;^sQN&V&ea|6WTqvsiIW;age*)u59HCp3<0qPvB zPiKZUJA4;Bei0f`#oWOftRJZuk$ehe_-2q=Eml3rk1s8dcH1JiYX1G4 zT&(NLs*BX!_%m0&oWoaRG&TXftzwKk8A07Pi|-lTGPZNI6}WtR20Y3ye!m16>+ zd^*Q)IjhAg%WQ86W=^i(hTgNb6)^|sJ)C`InqOU0M=ExgyDgbOB`9-uC^V^RqVB_y z);O9fq)yP^#+LeZ2-ka3my&}%jGA~yCm-q(M@WG{i<2woCeO)5e`{{@>^h)o3mJ7P z{m2t{wYGjCvt1QPjr*+c#2hYdo;TcIT-r%XNIK4#U~3-<=lU9p^lKaqVFZKmYRA3P z!wj<9Z~aq38-Y}^O2rs2co?qSx?Y}xq66xpPuyGogy!0>*o5xEJ2W5KWbY{GEoC+OVg)k_#rFVX$#wRB z#A1QBalDf+=nT*jObB5^BAe+cFh?HwAiH_x!H%CZexP51Xm!}tbCdC;@!R1;nubIYZMhVQopqdvJ#tNK1C>m>IZe3GVfyrg2S zP}_w_|4*tEo6}ZH?r*fhBf9k_Y z9GQnNp+Emeo=A|ua8+j)ceCYA3g6jiODpiFXcyhEA4~yz0KUtyT}A^+M%%P|@gG{< zmbc!i(zakw4VJ+EN}dP^*R2*Dj2>DR-4%Dzmy&Yagsr6IK-M{oeI`8%PWOrZgJ=U|XKL_;~tMrUxMcsn6btyC~HM9_f)tn0&+GvMT05IOj-C>QXHc&7rD1 zA-U-A`JtP$M|FS`I__EjE8c*gk-LS)C&wmo9OmgrJEr^0ZUeP7IXibR+U@su2)6_8 zg*jg!f1?6}yqDOrs$8k%|0h%MUl5Pzv3@kdlku?iY?tx$5hRAwI4$ycCt@)AeCDA{K9AIypI&X)OI)n|_QO3-N?kN?G30I9miy0c>UsXB#mkw4!* z({7w-Nv+00+Zky3-S}TO*$3xxOdTy86W?5Yb@VmlFeB1kbgIGOo8Sx*4AP&lE?hIx z=Z0@i9a$5s&JwGyF^&iG70AK8zK5}?I@D+!p3zQXM^oA%QVVq&e6W%ay8KtnBdi^k zbpvI0kESMfpg6S~R{mDt3gj6l5boXBY%hi?{|@=Zzdk~rb&(Ejh#|!+-_0Fguefr_ zY|(c)bX>9Kh4_yp59(3-KXHU=82;uYcieTf9pBWxX8r?n4W(~xo(Fxu(BrEYMVI+T zS|hPb#v?*YHM_#^tcMQu@h2khMn862*fd6grnk95;|EqB#=ACq9egvx?9~g-(DYdY zrKctDL-uGV{l!V$cU2>y=qFm*4m$KItw};xT-5vDvbF_dggaoDb5PZDy4~AaJ|NcC zx#i(XZ3PGU+e`mcr4PIfZfVDbt}T!N^whnOFHK*#7f516#sN#}ov?>Rv^F5uHIiwQ@T>q>tqT%>&NT}9~ zEKJrNX;0kacZ(R~n^tn=-4U@t#tiHxquykn+-ko5^macsNoZ(1=W7)!!m=kj z2-JyFE7 z*NEN1EqsKWBt)LLj*?cws08+;L}cMJ6{Bqlzf70A1U@&oFKqq3i#mcf633G&Lwx8`XF{}=bzD5WP#PzsezZ^q@-alL#*}k;feL0QuBW614_Qn zB3#FeVYclzla&@i1=78iI8aDS4R1Kto`GC7uKqOVHfpv>hhDM(IB{xfT{5ewa94FT z7bL&7BuwbTfseQMavCF5S53-XLwyQyHqh{2pq|HdZPs;yo>h)&?+zH;O0J=WB~W1*v+MkZ-5wdOLOhJw70OigQTcm8D{ z9A-{6Ewj>76l@=rj9N$!^wks00{(ay&En1f}1OOh2Wy_-KjJ?Vh2oi(gtc5Zeo&x+2-k@x@w{8uVpG zIFc3z<{_dtYD7J0)j6HzYX_6-*vBf8r`V(9eUzs+z}L2mglw^~=Gy-DHJNkOa!Y#S zqrgxtCp)aw((k~r7fZ2MVm1F8Gu&@>5D11>?Tw7A*d0&%K?ttAOnfax7WHv&#q#Ei zU%agoHJ*FP9qwpLd$9ax>X~C5%56wVZ@+#)xdTP_2i}W4WC04MriFW!ueUc~;a&Gg zh<%l$ER0LP8VHV)@>_}QsAehbL5BE-U@f{8ZE5J!7@r4g9oZu%7j~le`zH6D#V#e~oN1qV<2LdCYgVaYs5| z>K~3SU08dnuTySkp#m`akUQsedcr5dh?!zBA6kB#UU5myL0zhIkd=v!yT&%4q|oyg zI>lZ|@(ipOOkYvo3w%e=6*-=&xFp=A@DBG0KzZk(lPNLxcX`Ub$*Ha-7yQbqFy zdTS^kfR*!DDWhB9^^-BW=FPm{;i+Fsdvm10?Hg!lwG(OLJ-z_{MK$8NDWfB#oov0dmMx+?um^E$v;=-s^O-9v>3Tih zWo=?H9BrP~sq*TP(QCm2s6ZIAZMnXejg8V0V4^i=nBSGl`uir?qkwz0e4Z;$8s}}= z4xPK~9<6U9soCik^9RL^pj#`j9k(x|H59CJPLH2Um>lc9@4(NyfV$Ex3$e4LhbL=U z8sb~c@6nPPpumpMFl$jvGSPM^c{CJf04#XeBmL+5@yN1;JH`4!NIh z*sfbw_Q|Oy#NsII9U-TNJ4QQ742Pdw-m`zp>EXPtZ4%#8$Pl;%Zb^)%m@%)Fc1R9` zFEDnLYmAWftYo$ewa=7idUV8YMt|fC8<-N70KHNKTdyuzdqgSVHu9_O3 z>DO?4hu;HL#Gm8JL^}1X&g>R9WUqfx^W+3x<4%w4jro@&uahc!APXgtN8CCp83%d7 z%;7!E7uLFJUCp5cI!?(>vimyAX({{CCJn0% zm8d#N)4cux>aru^OZLD*4hk$l9xf^!T5dwA=2(*k=P@xcM(6Y~q9r*@~Uy>;yu)_&i-b zNO!wk;E6=z)a5zl*hBs&rrkqJqMio2T`|`_)d>~O*t#mIq7tUyX(vK>nk|6`o&j@)JR`lu({XHAx5p93MkHe ztNh`KxFc(tX=vWmjaDS)x|}yQdk!oa7S9U*LV2%8e%`XLUZ zDYzgoTXN+4eFxy`E7&4dva;xpYYVg$?vBFxyKrYm&u%2}o62?hfOP+)c5~=D>h@=h zv}xD3x{uV>cn^t@6s)=}7GF;p7i$-3@1ZOO-Z7C$g=_KAYu0_Q%<4}l`-MThKT2s( zwP((j`1T^+>8vhGG>mu7PqkjQ-TBJ~LP-v@u(W$yeI7e+XaXFwRe1Y!RmYI!-R~q-K~6&$0^fOSqrriwl`S zc|WqAfxd^u&MM?e5wfbE@X6RMH8vb`ssC5to-TMWeqTv%tY6v@C-KZf|4TaL*+<=v zmG>-UPA^1HO7WHh^?5zILie4XH;3oHE|ym9v6nnm_& zo=!xc@3JzzU#4!S)+exl|21ehmmbXPp(v13YTrV`n+BK%C3Vx#Szc)FToRV=>fSCR z+;rNcGQcaLio)fu7h#J)9PS9>El{;T0!g#Mf4m|Z-WFgN7_SG6uV^s35Z)H@>fr@`seNT+QUZl~O=glW3B^kznmiVPWN#&@mQL2d4hd{5g{ zlTRB-o=2A4)ulsnwzE2*GTiT##nTpLJ~e77n2eKi#_AF84dFF}6(>q;(5ZP*M%ZBT z)GkYXpJ?Iu>{sG`dV&jsy!S&tsB`XLHB%}-3GLK;uXBjeb;Hgg^`AJ49K8wvrpwTo z({s*BO!N=HZcEv})t2*a(RiMF&~o$wD}Hf&=S*%-L!;g0L2GgNJKfe!s22!&5?pa$ zc{?yeb8i;;erbQ>eBLbuttTc{T5Dp>3wCQAV}&6+f?CP(v}l#2)=%$tJ(YZACT^nU zh8rre{F&6P2@motmy{XC>Tb7=X>QWra+uSj-+2*IT`tx^oejmALy>k&yYiHL^J=uk z9DxdmMj6-UKNA{FI{8+4zvx(pFUT5$iAmKRiGL#6V(bdP1!cN91D8Eb+(UJZpwQ+1 z?zx97-fgamf{`+4{5@U4yovrF%{JW*uB80r^Dvfi zKW$BGcxu;Zyy|ObkoBJLoWyFIaOYr}j~XkNQ({+W8}ozPt}FRMLLK&_MQUgdov#we z?a^von!!$S;B3$C{4>FQ+<&i>LR}WR!jb!9$urvN6eM6iS6k|taauAYq}vlq3zuRU zU$A#GuBe9R?-dD{xLR^6uEqn7?k=5pf08jYb(Q!5IW2upFKu2IU4JOTOud@xhO1G! zohY`jCWOeU@WKqi@wk>}NqMfe`BO|;tH+|&J|3{b4ENSq0>0ZK9`fdU{MK zQ0xT2`U)NnxodZ!=F#&=!d%-8;i|Cw)Tvou@Dj%ThJF7N>`=Mnz7>>cybU`RQ?F-;#0E?QN)Y6Rj<8>SHIq zLc-`TUt z0;3_aVqyC5A9%lx4|nEi9j>>CGg^0C0q$cd{srzray?KuE%qce>X|div7o8I&2rw% zUYi>=@hVPZ7j=?1&@WE)*Cm(meaU$`_EIQOqtmSfYM(D8HdMz9uUnC{B}Sf&L&TARFECQns{ubwVhFZ^8$4=-TxQr>%h6n`z zot51*;?qut=_l1h`iV-;9zgWUcv$xxT&N_Y>3$XMv5>WJjafXgW9s|tf%2rnl!ToR zq1M*95u~Q}Q0#!cP1+wq(@y(lVCl8fPt0sXg|Uf{#aDIB?{q8G$EF9EbY~}S>^!Wv zNbI@#fV$j(UNScxV{c^bk~E(_ODs#~=gS(c&WZTl(HZCwr4Jt|=#{yn=rgUymD!~Z zFbz<|H@La6FU2}b4A&;17T%pm8#4hs_kv^Lf7z)2FbY2ZfX8W#U3uKVi&B) zn~}}Y&a@Wyrp^s44IHE;%UdemRU!tFNzB+H)@9yvYJ<%b> zOl|(lerCli-U?ON!oW+kaaL{DvI)?)ldbaxE9D8$0-J5}t^m5D$RMF#CFk4R#VNU* zpPT3J0>4B0zYO0q$Bq1`ZFdJKtSFwQ74z=kUB-;N|J7aC?d1xx>+9wY%V&?y(s;NbYcJgIp zG>|&WV^vh{lN`KiTg`a;tS%e8XMr18K~H*XyEtQYmS1+Zm;$Bol191y{r)E58Cn;= zh9ayeME+hmRdaZee|zOmU1%>oFTqFF=2d@-xtQpg*?S`GR;WOi>Km~;wAh;BSiM!u zw`0w*(#bztNe;HN6d64pcnmBnZg>WRfFU-?C> zb@kP$t=eYakA^JQ>1ac-L92Y{2Y!|k;;yHBLp*lqXZt6SagOKVDm_x+2JR9s?Wcr@ z<9aDM&~L;ZydTQ6_9u5>soBRPeO`6;x-=aAd*lCUEio$`-ncRD4tu(7poSUM&*k^` zzP4h7v?xH;TV-k7eAiJzBoFQ%=A8z$wlXU1>iiQbvCTcFm#0JYO)lM|GV?UNqC(S< z?*&rp=}^eFvGGzq_iqn+*OH6>2()Z(^)7#gd#@&v;|taqmDACp#_;=cvyU0X{+vSI z6?Gr1bHCAfpoVvQ`4jqfYYw@sue}lqUXZxIbSv`sR43&Z%)`OQns3MyNm9Sk8%GB> zyc1@2sKKdLfj+_&#hS0$-Gqjfq- zOSr+_XG4D}hv(;FLAd@!d0p{~*u)31plGM=DG20*F`Iqg zR#Cp2Qb#G~syev)q$j%J@>Mru3p^cP(+gZc$!RQ2P7rI#KOC1@cjmku&tr}yRFSXS z*oA)HxL52|54|9oASLD4Ba}6&i77%?CiQ$ISM~;0`1x+1!CrggFTn={Tp-8xG7n3t zf%GCIv^9BuYU?n=31!7UNWAI!x?*nbP2hT8%P=^>;=YG*Iy{})kycjv=El|Oct-hR z3Dl@$OKpix4OQE@k)e#ruCIR`I^Il6HY!`*(%{=#VA2Pk0of<~U~~P0ks~(1Lb|j5~TYF0& zKMqWU3c2MGN*tjT{@N{(u`6^M;pY>2RO+VYuVnU2#&>EfJWAB*dBe0Z(G{AEuK%(_6JzwmHKwUF&3jg?+{;8T>^C2>uEd3s;1nM3eCnRd;IJDheV>~ z;9r{$h;>jO(yQAgB~^Rj%hmB;TpUE*nCujb1n~eRU;0Y>^bI*l&MIM#zj9;UKsa5+ zS3<;*LSKz}tEB(;mDX=Jgez`kYhdMIhv@U=$M+U8t?jb*yIqi*~PN+<>uVQQeNXvq~Ktnok*K8)9#+liUW`fiMwp0q%DTd zlj0vskC~_Wof_30^ee5a0!RPI{8Y+fG*8Z}xu|+e!33=*%9neBXD*z;iW_Ub^p6!% z-<6k?jHKLry9swHdVZCxxhi>L_dh+W?e-_ptFX~J#Erp!fOhXH^m}FQJ=Rt0n7t1* zD>_>6OkNSxxyA-oja&Aswj>TAJ+trYYC3y_a^mF5xz$0d$@j9ltw4ThdeFLk&R1HN zPYEM8ViTc}mwI^eSlu&#@t4}Ft1YHYsXW{ z^F8lkclcrhTnMZ{g5vi(gM$kKl@&L2eF>g5LHjF_$lcZr_4U^0b(7HVxNkiNyvZ5x!Te&|3EfAk7PHu32ku1MRLd4JZdO`6#os5VpeLs`BJ*fqmYM*Q1UICb-X14(%P03 z0im7ZQDqT3spddH=6YpbP2OhsIcFfX8jQ|emtVcBu z-@&FHj+RnS9b?>TcChW*)!{##yCaLB%3fqy$0+%?X4kf8d4ujr3S$X4mrI+0d!BFk zG3$_+ow&9gx~3&&tF$iSRGZkn$r+Y-&n}P0+80RJR@c5tiB!MX?c_J5aA-N-B~TLk ztM7;MNtIn{#?V`4w-Q@OSrA3QUz9&ubyAkB`+jS0*LweXK+_#)Jxw`RC+58Y%-I4PA_M_TOiRyh*zT5NFiCg)FD zror(8P@moRMscT)p%#0RfYt};+G@R$lqXK3sVz_Z>&O_?B^|0H-_SXH>Sex%(dVm$mTBxqr8a7JMJ{@^Ig*ETE`tUu zHTBqAoxBYz(GjjL7kyT;FX|GlN3k)`U`CuchZD zH00+>3yVN7=k|iG{%-? z0pmidAFCcJzkJn>c6_U(!6~eQv`2=(&Q4B*pRQkDxwy}LUE9TDFDQOl>QHBi!jVe8 z)*8>5L>WxoqZsB$=p|iF(zw|9hudFW;|zq0abJ`CndW?3!UT#VeIJfQ{wsuq6lQa( zcoRiE;vd^tV#45UQ8_`c)XXX#S1r2&QGF=7M68=y=FsB!=LiP~U*o^1dZ%>`Wz&xI zMNTVi*V{W^SB;5mGfxriGp5_;yLJ}{Al*~^YI#UcE6%!#RA=0@=VB0j$C&$(|eKF zYt@ZZ-b16I3;YK_Y_lO*H6p3Ydlr*P6KOJ9!7MOwolZ`#KIy0{hcoar#OZE zvRbFx+Pf;hMNiH`TJ~Zq^zx*wj9vW0k_@y{T=n^sXL8A@x^;QWl(5~A3AK+vGs?Zlp!^J%P8xQT|oMn*5jHe18tW2Sb| z#g^R9V~pH7{Fvv@#1?A!aNuxd%iIS``F5)~HLKtncU-CX>$VONJhX=vt7m-4in$o! zvV^%#^;q*E65>KNgjYwmA*mZYjZGJ*KQulB*X57LxyUa6NkppAA+sSxITFyl=2nY& zEMvAQakq5&I8{vO`&j1l{re(MB2%U0eO-?$YTfU^|F?QUE@Q#f@2nXGCrfKDLf6g= ze_WYKN#Ch>bcNtvDw=ML4$I7eSQoDR8|{e@f3U)5h*Png0^zJtj1+usvb$JfI9gRU z4c}G1EWUBg=+ZK%ek&R;aLlD3mrX6kk<3M;9q@NM%rMO5S;_l3Q{Y~+SSaHW3)#}+ zrt)PCuouVn_~KeFCuQweT_dzGR!IvaX_eGBR>6#2pxzT;hE#(8s<|=ai7v-tk3hu% zCRC&Z{!Z@B%aE-COy zNzzc0J>#IM>~z07oUwdm{Ei;14Ey_tjWZ^8TwrrooBc6&97q_g9g?rV;UjM%sblqv ziv|GIx1bY!r1!95xssofQ^BQ$z{qhcmX9#wK2qN){c_^h*JqVo9$QfV$p2Aw9$-=w zO#>duIfsjTv%9n55+Evyzz2u|Vnjhi0Ywl|Q4tjkfQ^8HAdk(^t3}qhcJU?! zdI0I8jpMr#!#Wy<|2$grCi8Q2W0{H1kuc++caf$pc5z#m6pocL5%;B%6tho--rtc1 zKe$w;{rgK9jShaH&Lhe3U}sDp@=KBs{&kiwid>*ZXQ4qbH()YGvn1?khdxg4_7J%3 z;kPsf&nuY$g!pvQ`g+?Gt*hp_yooP5w=+V^fG4FrHKcrX!A==!BJto2Cj|DrIlYVT z3T)LFt#BkPx8^ixacp{naD{TO^D7F>`K>9xy{{q{E|!q%@}6I{B(h%QsfN1&>>o#p zwXsthIYnLP=llxNxQtT2piB3)!#JvX0X>kujN|>~v2G$kbQ-@&8UJH0aGvbda8&zq zW3Vz>vJsH+1VQwB*Au>#6yv8P1lh0cf{)YP8 z>B8ej;|mnpxg$^4E@AiK?o~5p3$qX1`ELNG8My1@o2=<{;qteG{K*0MHeSk-L%{=bsn_cgObiE|1cf`7nQL; zi`w|p5&m+b9+SGL@oV{7k~q6)#qFt^%{yv7bLD}X4hen=&Jzvtg?u-M`PJ}M;IFI0 zNokl_`FY6kt2UXQm#BF)kdl@>--hDbBy!8bwDt*`1eUR6vW3$XhOQFJ^nuFK}(uKeN=o|&&Q(BCDyCu!x zU}j2z-%0vy;+vq4?f5-o&b9=qZ#nUV8~ zb*O9QPsZSQ0G9w2aM>KQO?V0$6d~bE$xHR(t=I` zU5dBYt~N`)-Ap>es#g=Uw&HrHPiSnGXcv-y%xM4* zV)J&AXc+B!Ffz4*c_SNo)AB6iuUPBKI@ZxHfy|f=!4xf6TvfBd4atMn+L4>Afh2Y5kV4&)d>shPr?!-;A@Z45-s?;Q!)f0|ayF;F4DgmW zL!_yCn;Zfu{+tG++{4rLfg`@3>OPCD&pC*u!`@DbgISG^`J%;$7X7`^4;Nn+wx+EG z=9=IJYSAkm%xweZbzFz95zA|Y9T>T+mOnUR5|M|K_h|Wb(8astpmwJCy4iR&Ioa7w zndHhd2NldKzbdvJ>gW|@{tS8>N-0FYGlfeqUj;+4E>#n4Ij8(S?^hOHO8haTaHx8O zrl;n_7Bc{hcVZ9FTMeJMxX{omJ$l_t#Vh(nTH9m89~H6|Zr9q9Qgi!st)tCo=t}M+ zAx5z~0J9tFxQKE@OSYE|uV9TaZbNM;TI34dCrAl$(J$v@V!ojTlWMg`UoT9QmEhFp)Wt=WC)%{kXluyq7RC>>-@i7n| z=l8VSG*}h$wXm-fy+w>-)?LY4-^AaLn%a;hRCm-zY*z->fhp~m37J@*Ald(+y|?1%MeD3gkDNO(X)1PeLK;@=obTlI5vZ|vIkI(#;#sKa_4Lt?2gyyMS0 z5iHRI1GO4n=c^B=x6Z#?2`*z{>N-`*}d8z3i{(_Vp}f)X?Cogbg3dFdA@sSl%Acm8Kg(c>A((IjwIO@E6Sn?|FShVRyS zjPuS&w~V#PZz`#(P6_%tG1&FH@u9|85$Lkf-|sK?+|DTCV|pvb1n~1fp}kDJX;5#c zn&HkP4gdP-gw(~*+2R1-kS4q4jbWtzZm@l-tG9}8dN`L1uB6Y1Pmx|rd8x^sc)!Rw zo+*v(uEd`{AI@2j!`yA^3#8^NF7YMq|VXf03gJ03d4Bkar&V$k(%U`Ox;lRggZ{r?l3i$FZ9V<^8_Qe8z zs<+Vszq2F;GaWf+y7Y&gb1aYw=qi=&x#)atq0WUCpQ^l$=O4r#5|#hayQP6{!efPI zFeh03Xe;?w-ag9XUhdx&7~Lv?$hYJfv&A)e?b6s6=4avINHq9_l5E!PzS*gbaC#*F zdUjLLF(oyie)ldeN6zD#p=D@u@3zPvy0?iqH`aWM?b*cl4(qqbh@}>qW%y>RYt@&r zb5kYVOjFVb*b zaMt>uJi|Cl2{7tZXy8X%+a z0s2xX&yY~o5cPLDLn+U{R}nS5)5V3V4nJzMzq|XN(RbjjsBX!Ff@3l2cXLTIQ z){}j4_<1mWsda2bVk|X%&;T4zdy4dL0e5F;1my-JJ*EuW!k%F%DldGCt9! z(T})OG($8Vt_nH_E61b^ zq(PzEra+*_OCM>>w?wvG9$N>!d*QSvp zjjRX{u#Tmla%+h!i$SFS`Ck{F24}0>lpg^IyKQQXhBV-jm+hSU2*C+0EcUW`^U->fVm5Dd^#dYj45$qu9qSM(LY> zZQO{Sk6oLN>)!Isf&WW2WiO1frq{^J#Q4W%9_QZHRzkS<9LhNOBQ`OIo!ST)@G_im3 zT;D0lSuuk?SYM=bKzK+!Y{`BC@$2O8$gruiLAoq?_*mDZ7!KdPeu0 zb4mNKh5ps!dUE&y%HCL5BvegW0_S9Xq4fyXD-+w$vWh748tUVQqhVsk>sEuVOz~ZI zjKsV++%`94&k2`lOg&2uk4g=U2fUvrr$K+0z*OxkNj@rcq@K8pxrmp&m@MJyF2}8pA}6zk`8}S;>rFU*1^t-i*2c2X?mL+ zJOcgpuYayWAoe5ex0!P4_1vN<=Hu%f>%vYa7Nea||1ZE}uy#_iL;R8Ye8HgF6=sE@ zn8b+rRw1LnPCY}MLnLnXm(4th=d8jm{uvstj2tzGj>>S*ec+28Qw-3ot|F6J6QM5* zc$+i~k8YxWVDF8{KHZ8g6nbZ9n;w-_5&vcXTY+}rdGrvsG+dt?Ypuw;p{Jz6-0EHI zw-KXkSB7B|*9U8#MSE%r=bfmfm`+u~)GW^|O)(Nl`zmB-EC5tq`6^e2$bUkO9S-XT z)ShozVJNfJOCe@OdB<+>lQp) z*Y3}%Nl?+H4m6+i5Omk%n9m zYQs0+VmDe^S3{i%{||X`@(0+!SD)Nsi0!fJnSnapy1RSs_P?cDFd)=SOnELzcR`1k zo9LZ0J~M7zSUfb;-MqDMKCR1lmFi84uYE{iHY2**Gg9e{o>`&StFJBi89X#|!pKgY zo}|cqne2$dXRYRH*7Ir44~ThluPK|{Tm{ZkyhnJ?I5xG||7Bjq+8OjSOU=PL&Mg($ zV3swGz=K*2yRqto7FE3mJqD=psjG`?9Ok@(y$aAqp^WLKh6835<@!X^KU$I0p0wm& zw@>5GW$X=fPEG3B)%$+^!!<+TkpF=L@gE{<(1r=Oo#4pV)qJzGTKs=+EVuEfK=PNl zQeDokQqLrAE_!0>&JMpJOk#;DM5tQ)^HUcf4~9c!ZM9}7Crpl&_A>6yVPA_YD{wsq6E9L4 zjFQKLMK!h4k?-eJy&Gn3PW+e!IWzxwXDIFBnhn4|fDZhb^S!JKlLI>$D`hX0J_*4X z7!bcSHNGUZG}E@^U)?9~SY2lcZK63_VoEHu^ROrX0-+CaHQp*a6%jsj4N%N!#Q6_` zIv<`C*U`)9pL6c2VP#KQ8_oYf8^^d@3f$_FpBx<`ag0nn@nAh&yRc;gJ+$O9k@N0l zbXdg*&N~Mx@M=nc*D>LEh0u)pL64x82Yl6|9a_w}#(z!zpS8pllSx6|vrO$4KQa1m zaTmnd*JZ2?-XZB4L2CY5&HK_SYFXqwpF7w85We5&wq=i>@x4b*dJu>i@e$P<5=%sy z$c4Ev`wqdK`Zh0McIdeyJe{!^GZXPLmnIAiC6IFS91wfYmbdHwLh7vQPk?-{Q2ZL` zA%2n;lyL4r^tmfI8||?0l+qU#G0Q1IdweJOr&OO$+1~J8kvLd?b9^g!%%+u~l0cT0 zh%Z}U(9_C)%*F>BsgzJjYdht>&_O#c8N&!~LwI(W(NC&1cE(yk(}Wv4`J4jeS0}V2 zHx8?AMM(3?TN78n^`E=FlKL#XRA{QvsByl6+~=#|S<&0cYo%vN-o3WAYjNltN4BQBNN&c9Xr1o7 z`G9t(2m9h$;RvjR@yxu()lSHhKe(acl#AbZ=c@!`S;BvbOwB)?+Vrbm26g=whI*-A zNvdn|J8M`Z&-;n@E0+RESz@AN8|^e*@A7rj7`iN$&)c^3x|Avc^Km5JaT_tHHv{HoZQ$>Rfqh=qZ10!xW9d!)uv!$Y78$pQ^3iYP}3~NKW&~_cL#cYHxfJ zAqHljDbJGxYX)nOl)ovvGQ=+7XKESy5_w%{nbC;vEiHTcIRYSKEnWhr_FDB?tIPwp zebdh;Iq9e#{il9W-u|}#gx?W90rIoj*{<9-W@`$~#5ekxXM>5KsPS`__H$Du%1Ccd z-Ddywt;}9zv0tKQ1yWp09(20iL@VHK(A*T$5-$)VP{}>Wq0dZo3Cq_)m0$<`Jl`K! z?}rk}@A~|ogUxNepayDwe0=avYAd6f+t$h{2&*FRqnC}(+l+2-g6GwWX7mtqx}C4} zIFZTBAs24AQ)1|EUpV1md0j`TuM$5r^3Zh6m0OWw=ad`|Z@AZt+IuSR3odBL4J2!- zspCMwroKE4%m?GTnH;r`JdF`ZqY`E*Lcr+jD)@@~r*odswl04sK%4quSC1ZID(G zEXnn)T^9J&YU5b|N3Au_$Y>g*P3p{a#zsM(P^jCkMg=V(b3Nau9~B9rBn+wH8?H6O zFG3IdF17|1PAO-`INNZoJNaGtiUs+4F65 z!DnTLm)Yee@-Nfkp9mFk^?>U(%XkRW${C!q(!U~chG$+tzK@srJb^h?T1TBqEzju8 z+$XaPMnK?)($2gH+oRq6!?#HcqfPMw-;i)GF!*vw1MQqcN&5LXEn0OT)ql-s-75dO zC8bk@E{w(Kd56uTA^11P|1(QYH)cP8af!}(THrTne*?WdXb1NRc7gono|g+s40UXETf1Fj;@JeHOaGlG15oYqwjBdIoEKY~O%Xd(Ngv#A5+yZ)J=2_ZD`!17E<54XSHB>dHw5VKP zRo&deu_5t!SNHKZB+*^ffyhWoq%Y#1xcOO&)j!T7Y*NVyB09a%ff=n5&gMo<#&`=1 zTtaX0n3YGFwNX8T2UbeT#b`lq>GnL1Qe7Fo3mOK3J16v}m%mPFJNv*j{@wKPGfpk` zc+ZvAl^op*N86$aQftMXF?GeNgqhHc4Amh@f?mujt(p*h-yEWGkpVVr7YC$pZ15Us zxBqV>AES?8U*~b6E#LO`6CThZj5guE$r1U^RIe!;-H|_hwN<%6j}O?phj}VKH2#Of zD5l|;@UyGfQSKV0Upk%ZY2(Hec^g&KsjJmwGrhj^7cr%6n7QnHt|g%#=Z)APdkQ)E zrYnkd5}T0(Z~aQ<*lsFQqd$kwGh0Jn0x#wqPiu|YuX0Z--Wxf_KdVea63$SqM*x5; zb4wi6xrRAEZNuM4ubu4UJ58g5NJQgvT6QtBL5sm54ocXekTln(qSxC%>0c&GNs`d5pQl=%BDJD5rNwZ7NV zKCf8vFW6L;JovJ(s z`R4eUlT-I(`lb%?q-VUT!+Ee1PcUYz@FA;&W)%CGjWKe2G!SOP?FH6i(aa6&zGk&y&`2s+ejl<(ctkL@MC^vbsOBV;!Nh>%pxXE<3wP zL(dL?ElR=qnbxa3y@%!utlpLCBs6a9FlDfXIX~Slr0sd;%tfm6YK3T|2wE7Fq9!EVN>9r#~%kQ<01RgH?+a`uFUO!pa zT1by)O3Kd%j?*&SQ*(<&%Xr&}Y%;ze_MNoO72$V7C-^3tA6Okqk0Z~X;GhS!x!3yJ zJHhb=KG*Gjg~cvXMpJTC^deT#3LoFJi{T^>#;x9&;e}SA?fTS89QivQp~z0kf1JjW z>;5}OpoDG*1XniroeIH7_?5(uAZIQX^HZ_JPHzubn zNa$MoLTE?K0F8Cm&e}$e>>DRl)uT-NsmAA8r}jUs>-yf6m`ZDu`)63VfouVeN^EwJ zgE@WnI)A*E{1$175tv_qpVxCq@F%FO5?RUq&59 z^yI-{7CpX{<;+yuviHlH_PT~VenY;zA9Zzy(~+UuGrjt8)(?R;@gZ^fLsd`fG$7s5 zy3f{yon?)~xQcln3HdnA>=9IRX6a+LhS1QH<1L{N+57ly@HMN6r{;LpeNuYQi7`F! z2XdcNozusl?PTH@>x6FAOZ3W5m`J6Y`?;RMVv00qE(SK`Z65!nBJLM(ick# z{FjS92qfo zUPCs1NL^{}D!z@`q4x28l=v9r*bVVL^?Wx#$^JF#YKcX>%u@$U(d9$eGKPZTqoL~B z1arv2N5S+lNa{%miB;P5Vc8?6m^JKuM*dJ&yEWz)mfDZ|CRiKblQotO2ZFsh(%x!Y z0kc}FkDrw%wTZH|r<7tUof&-?X+weYX%o&-U{>b@v8lnd79 zQF=X^_cGr@q#G2P$4{O&r51ogRuM%0iBShEdA%q7x)S%4Ecrs^)wTZ8z9kiUM5WtT zjrPlG@7E>g9ff2zKit4 zNxHn3^88d&d|797@yJ!8#VJYUS@v0{;8?8q>=$iKjM7izop1`a>GSPHqGFUh78EW_e{?MK zMY`k1!7wSc%t0Op)`~<>FI69QkPhja zYc8h+E-aOlFoZlx>i?9*qb=iFHY@QiN-d&q&KMFX;JSzeHNG$ZwrY0X>cD|o zT&lH$hAo=^v;MwN`u03 zinGisa&DBWNIw|3Dwt!=Neo)wMAP(zHt~q*$2Hd>qM9GOS7fAW6&_`=+89|REoyWk z{UOlWP2sh{;mL;hrB&zT^ChBEa8auU=JK6a3U}pwTg`dI#EsKFb22T?zGq{B^Po5B z)>%D^1Q?L}zok>cFEP6z&|}C4oC;kl*;S0Lr)wj=@R{cMr&;;_CbH9itY7*F)q4n^=B+8509Fbdd<;)zlZJCTK?`Vd3#>DIe~K&sdw&OB&w5(-(cSB=u7@ii0N5a3SY*zx{2R7=z=`Qbgk>3@G zrKBk?bmO`UHsSP{wT94E~~)Ir)#%_GGk!}p(S5(nsfZUuFo{@^u*21 z%9`s~`58qy`h(wrP<&@(s7GWavHB&xx2DDiR@{W7_F36r)Xh!5Rb}o$4acc^;;+tv zHaMlpIJ5AHMwzFO7QTP9>rjstc@6gX`tzaAFRGM99AjN#wP+&hqte&^r2%!B$b6#% zoZ7;qzbUD0I1FEPO`HZl^>NtuB6O|}Ii+jTMfLVMjpd;S>=$rwp-^C!ncI=|m3?VFnCvn_VLH^|u`F2uHy zU+VrRcoHLDb0~T13(Hj{S9{u7SQ?EI%U$=~=F*It2GEC6*E1?u0F5-pbl(S@=@oab zNqcVl4|g#WX=mWnzJ`uRxsn)->GAG^Q}9JpJrn*=Oh! zN89YTm$^_NHdr4zr^&d(c!5?PdMp;TzZ-2<(b4TmI1giDJe6vqdB9Dxsy3}DVox$u z{G(k`QUle|mvy~Bj{_yG{}{z8XN_LD%#`T5315J@4SHzxlSjRJNXygsWTql^{8f;m0 z$V6I8iv#^UeyoYV0bK7`>XamQ@*W zIAc&fM!IqZV|w+O1Oy^1QbjEf_ZEs#-Xi`TMa$liC2Q}p_vj}lOZs-#aOVCe(ra)% z(EW=vY0=WtO-To%ri)}z1M^(hJv!d#_To1(Jvz{$W=QH!&F`0ixhFN{URdyx5|#ReKKkrb!WW1? zV_xC^+B;HH=PV0g;@?B-x5<(;$^*Lm#yiy~(F(2g`O#XdQ1{trihWKlxwpPUpl6&H9JtbZO5i!uh5SDHh}#<)zuJ-lF^FRrA8aTmt>uhL7g(-OdW%KQsTXSH=AMP-+;2SZ0yj^l+Zual|X2^+SG;N;erVMP< zxz73%nxiZ=t-K?tA?p>o#fVBuCsw_N<~Je#NcIc#xZ>A2-Zbx$z~>E9Z1(<>>o=4q zNZlTzmpwJZT`d}JC@c=&>ft;zRxi4llB%S}6Z2Q3g`bzo(Ok_6A>mEwYa4=(Nd8J- zpwsxnq{wPqXm-WawKMYNWQ<;s8#U!0NPH^t-MG;1-BDn49QCu*&A673T9fsF#Fj`J z%#Y5?MS_)3$16<<7uaHl9h8z1E?GN}cLf^FfDAQXkowxcIZ#_UH{Pu40MhE0sn=p# zU=KnIXixhb>EIUD;1M|xglI?BY?9MLC#PoS_SyvX< zr1bG!@3G&C{s`t4*xFD0`Ep7^TULd^K%w-t|28|WEQ zaE-==q`A{VPT<;|>$NomaSz-7K&|XeB&TZ}pwxvW=!M0XYk4g0^X<`V4}dGNGY)b! z7&kiZZwhwUH=%!U8JQc~m+2ohC1(5yx}yGR>OMetUSNUIw=q4q#r6mGRPrwm@ymqX zvrgM_txwN!rL59E5>ss4r7oXfUjX07Y9FF)8pB3XnXbJc%dp>bM5@_k&1^y{T*@5 ztXgnX#%Wm92tOwp4&x*772K0py7oKPou*sjBPaawtup@FCfpUDp{^iPQ9Fv1(%a5<%U(uBTn^=|0q-CKA{@Pfkq>Fru>%q{{N z^8{S-2CW4bM@Q&>B$>4nzx%4zYK`qzcqBmUjOux?cuB*(sSi8%@-GKI*@gZC{1mPG z^S)DKxAwVKw_uErlFZEa1j=ruZV$4COu1N_Vx$@AenPQteGR3;&#-kpFX$_F=CE+> z)$-mA-GDry7sEH;Kdm&+>8FDCU=?RmUD?ZnqtSO5rsb#-{Wsy^ICj;Ku(@0mo#)NIXUuD zB;W7whQ74#S2j9HNJFSj=`1Lxt$%$kc;sJ7647$yI5DzPx2NCLF8)_i(N#E6{YBk$ zi4^^q`47Cey7bjZenxJNt^PdyVEDq#+imn6Qagt5mkZcQVd)c@bj(B6u=uiW*_NCL z)-NzZCI`u;19lwz!_LX9On&u1uYZ7I3Kg z7R`re7ObTmkwdX=?c|N&nIn=~d62<5)aaAm$y7(`v#hXHnz0QM{V&lYH001cU_=AK zd~fo`1~scG9mR(>GfxbU=o)XhYEy3RUQ#`6nG2gI(%M)BpH!ETvc=e&+B2V|OC`2> zI@OV7dCPIIC!^N4vv>!+|EuL2!kqB{7tC640G?@Y3v{E2K`+?l79-_ROJyv_E*t*; z;Fc7Z_|K#^bJu=^B>FO&{m&9p<;UdwHVNO+rz%uPPU7+>W;uh`kM_#?q5*yzFPYIp z=6OGJ(2EPMr48jfs%+^oiFeT371-C2BF%+A)G+v`SbAwSD$Xemjp-O!bx%Qw%#Mct zk@N_6XKC6MJw)s7IEribP3J!V2A~8>o*2cBK1>?D+>Kf3{AI$Wk++L$dbQQGeb6r< zKU#bR#9r!A)LBCkVN&1{`&4vRe|({}+11I7fjtklxirrIIxzyBV366(wt#*sZMx7HJC$h|qb#k}3EAMWQhjb_4#zbO1XKX&Hn3WBnj`7S7zp3T<>$DOpvG|#k!ykq! zwRzdv-!LnkF2RvW_n+9arocJtPxr4++*!vSQbJBmHp|3t<7sH1Sl=nXikXCrQLVc@ zXpN=!yi&KD^!WD+#{nnTvvBSRf1>h4ctZQ}&^DuiG!{X{|64jLI-i`9!8YELot)T< zlzW&^i*aIAUsJ%}WBjl+uy9>baC<0|3ZdAP?0oqt8~xYhPX=m2*71aY92_oC$~HSf zX&p=7^}hm^e$u^~_|xA}rm!!VFLR=oU?(jj6`34$(-ar{mEYcK2}a*BwcGHN4_ZFS z*73E+c%&+_-sGX%OeE|TCC>)BlF#XRE?m%TgCx@FD@Lw4;ybHqp{9a3qtgE&A6l7< z=~Mlrd|80+DS*>PrNhNi3(S}t1A1XbjPHGMk_M|;I`{GPE%+Gyk)O=W_=I?WrbB~|@N z_rt(iaCIqkaSGUerZm{F(s{b})WQ`({y?kPH;pzT@kdh1F64rwvg5Y+sJh3gN7K-6 z;xcw46{oCWS6t|d@_5#ZRlOs}1}=d{Pk>K3r^J{UD@{F6J-gRWV21O13TaK+Pz>dU zSH1{Lmv+R+PWb$+{7`EBXF6rH1gM<$%1EODNX^NVMqj``Nx2!zT8vm?|8(hMg@hj6 z)fD3#7w;POg~W3v;EI0H7$3VRKE|8{UA$v86wM7zEd0KZFhXBQuXlA4wcjKieDr0U z=KXRVbw)RA}c1@ccaP9Dmw-jzQkq>7Tzqh%zpqh>O|m$Wrt=q%u_3 z&9g;Diuy8xBZ^N7hwjY^burmlYCHl@3LLGB95_sCpDite+x35lQQ>UO10uB=$g!qo zN-O{s9MTkgg=ijP7@I6kEz%Nf@A`?kpF$1nF4MJkQz{J3MpJ8ubql<~OoT*v$u~1T z)w9BUgj6q~EQi}M@<+}bq(%YC4T#!euQs3X{8f1@b^FfuqU0$hb1&l&8!p5YfGhFK zf-mM$*GNs*KqCx053)Nt65guQFW$4e-Cej6t>Mbt3oVJcuDZws(zr43H=2yt^GOtVf{ul#-$+?q!&`QyXD;!>hkB&6)udF8*cweSvHQm^h$Ep$@n$`qyV<^k z))3R8u4T%jM;vHdfomhrdxnH>g;!oN-BbnU9_f3G=e>I@MwZDdktK36>rPzwtAC0V z@MnNk;j_`>I@;hL647w*m0e(E?4bxG=DlN}%;^D~emst;*7 z8)~F0wN6v(a`@kciFR9Pv6`9pP~xQ2NX;j`ED1ZD*Ae=@x4d4*cVTz?ug;%N%=^uo z17|RT61Z;@$1Hf)Y)=~E0xOjKcxZA?XuIU8uT6zDn$zUpK$SY@4bb1d^iC~H1*U6V zS-kN?ICNTiCa$AqXJB=7Zq`w!;f9{>?9{1hNDV!tO8&TTK67ipN(ype>#?@Z{?Ru% z|A)-T-Sz!e=tr9ld9nt9)s2yfB|+YXj4vnt)5~<8=H@6t#xF>M<^Cn~Z@aWcaI7iu zyXK(dVp{0BEo#CU=;&jQgdZ+^$t=?n>p!_Dv}hUeic#);6WsE0zz1hs7GRzf^P!2Z z5WY^QewOe3l~)PZ$bWm)d(vB|ONo(;S4kNZ<3?w;^GNm7MhynPbgZkUj)l1;i6u_g z{0X`g)#jPdnj1&r9W`p8>^nMYLY^0$GTQ7#TfFXNUgSeF6OY(^;Le8&+I0R$@FJHO zZEFI)R)dL80^6c9(Z)=FDD_N9XYW>MU>O_)ou+PyNQ^MO&J6|M^jz$j=E?<0LsBuq zCNn(9o~GU-$jQTjFKMx&(l7x<6q6=HOV7NC8z=TUhe}bvR@{4lNvj`_F`XH-$bkqt(CMlL!s$ zyi3y&D=x%?rWrMTlP59XH#LtM$2U~bJCC*oYI$|0ExjGzK33<1t*AF=X!LW>71X+p zcwLW|ebn3IWt_Jvnik(M(GzafSYyN_vLbJqb*n>8?48E75$ zuzfjY{xBHTSZ5q=p;6Q7QRD{l9higQg_%_;yEgBV>z~a3Txzkev|Mt1C-z0Ce~i_s zLNFNlVm*I3S21wir*u}}C6P_W^2B>Uugm!}e?K%k)7y&@X9v!XGy%uwRqrHE=H9dx zTV{3;$~7j4)G!XzO$;W5rlhQxcwv9|20Ei3?jDsn3pea6=a$p}ZOio=|{>)&4!H*^9*z&bLDOLnzbm$e{SWlzBIGpe&|51^(&c;mK!G0(X%) zI_RDo@hNHQP@YdjPBx*ZKp*qwC9YqO^tx61D;_ZSIIJpxwf9K9y@><_&obX4W`F3$ z;P^(Z{EpAfGxNTBP1>F3?i2_Ny}9^+i5%N35D;_qxb z-8&<}RW0Ym6IxbzqAl-)e~`wb8*7Zl@E&ki3)J1ce8Hjgj}?J=v!Y!F&ia*14I zSDDz2*Mz3IKFDX?N;ts)|H)8#bkD7h-!n3A8l|X9x-gHU@x!Ck`V8{w6=2V9d+|9d zLtSVOrlk2yz$<0vJf{=PRL(qdXxDon6k7!^{OrHkrX9#lUqnYc(KI13#HDZfrz-Zg z4)W8*U&i0GSt|+5+8}!|;SJrM-8#y-3lj6Xa$ogb!k@VAOxU$f&1=bAlkY4wF2$F9 z%vzdOZCuOyhMK#{;qEY_QAfh$OOJD~$y#p~l8uvtDBGF3k7K3SNV%FG>6~S*7F~!_ za|#86m@`Cv@V}GeXjjIyuEFQBz(~>3)T8K6?lset!1=;|hWPYxL}UHwj^%|{1b>jy zsn?MW>{$2yN}tv(K2Q6(&`l%n8STL1^*uwWvB*tHVNa;nsy0>=J^B@oU5o!po@44Me+3=g!9`T-&F zJiXX6??MPPKCN=~&;=EE9GE-b6O!fX24QKWa7i9HiT+i-O+ z!h<)bbf9%iN)OM*E(X}+kesj7%HM?^+#)bZN!_^0JMT^bcwSS-uLVacPN0oG500u> z6aB)KkvcXYq`}VD41G&nxvz$v-`a33axyQqi5wVBK#ix^D{Qg%PtNy*wcL9IF6h8) zIGU!kSM@Z}if|qF7NoWZWG}1hMmENeNs8k`^R|MU$}g}CP4TVcIi|p4ROZt08B13W zH?_Zhbj<0RebHvtwso5@A~Dd~-59`6A+2LpZ%!Pg1zuH`goBms8f`os%4||7@WE*C=`2VlxZITRzPT zCUzAZBdy$qw!SGiFD2gqoL?gFZn-Zt@P{uzXiW7a`@-%R_!7nciTY)yHRZ;;ye z8SL-fa3D5Cv@e0+d8+sukC^lp63oZ3n+LDd9sXo#w2BYyr{BdTeQ;L92{JAnaCL>e~2V4wHvKs1Qfs; zOm0Bevqw=g`p_%Vr)l5)l$-NA)u7(j^!d5E)Lv41(yFH|z6q;_a*1L`d?kb4NG*^$T{vJ7IZ@4~k5p`Z>v7VrQiG^3Z1Kq~r3#C+Q5HcIRD?C8Ua`x&ew7BBI zKHHVJ1On^Gz9MvQxMF4CVR%P;(TfuArk?j6EPc-W)7eW&*JSH}>+pW*6Z5ilwVt{N}-z-?6HKi}?wW%vK#-SFSiae*}^~t5B zeS4Ev_jG+%)ZOh_n^@`10{b%J=?@*9OPMaGMP`bm#yl5aTA7ph-Ojb;3!8u7LoPA$ zR$1vk8BZB1lxY($`F)>_9$vB~({l^-?apbM&TjGlmhY>*qMi|zF`@SIuc}f!9yhroNGyszG4)Gfh9@5{Rib zQZ4oot#Jg7zC-4Ei~%(_yKQDXY(J8xG>*`Z66ag~%GY8akp_E?i0hiQlAh6b)%W24 zy!fr)HPD9M4P0T=TQT;<@YNk-b}ftLThga#TlTtCg83~j6mjC0YkUt2&&tS;6m$l~ z6rN4pH;T+6HF+KvT-;k?x!=o+@7*DJF4lA>wzs^?Y({nMPW2D2O~8L>E7B5%?Yk5n z{jEcD!Lky6^s&@a4&NuK_O;hHyddddCf0dsvb_y%4S-^&wLYtIpY`=oT0T+~)AS}f z!F9UF8Am<0Cz7^Kg7gnq&&Lv4hDmO$`zjqG58VF1-`>N}O~wx&v7MVfOzR%Kfc&Mp z_h$5xM!L+vfy3a7wVy_hiL@2o1x{ba|D^ZQ*S8Iwk?fhv;4MbG-;o@&s~6H{xc6^2 zZ5_Ic)T-joQZq~Ig6jBZX_sq68;m(mLvf^I-B`m}_`tnFo@=z^{Idr67~+dzZEnxKG;wk0hYkXx zJ=CnSuXTx@tC$=9H8$3I(~+=6wb?qh3!|Tz$H1)CzQ(vnsp#jqJ)!g&X^A!2MC!OX zDFLs9p3Umnu`Qaei6s|sd?B=oc|s)Zh>8dE+Yxt5NaYo@%MV8BgPS`7Gs)Jc6&t5Q zCu5^CBi~r=pNn;T9#A5EKocnC8}H0)wEq085bHhWC$@x@hWApdCpKPO^ceK&p0@4g zenT;*)Ku*+UtrTuWq9FW{*eYZR1#(^9eO7?8Ch~Zd5inQxTmJMDK^)1(yg){2>GW1 zx-wMzLCM)QW#si9d?9HiIWa=suFL)2Z&dhX(N5Lxz?9Qh{%kJ-Gq+%ypE_CkYk}vw z-ZC?Cr+2{s${=&dPcX{V5C&hOV;)9!$Tc`$o=c^*j9=1MtljN@Gc+?Ou+`|1U+I#T zrqqVFkQ91fr^GTOj{E#I&VrWkr<@Fc>Fs?#K3wzo4s*L@lgsd;0XE|?i+}1-(mU6m z8}r1IK5sB9b}l0s`U5vDV+XZrFS|$7^yr>)_yyW>S!wth|?>^OQ z*Y@rn(IsVuht{UoBQ|zQ*wZ|LWM|`aK4PZG3q4Rahi#SK)J{3d9~NH#Cub8Q6=}U@W#STPe&$# zQ;%-%H-qD<78B>q0Qz3wc;|i6cpr+&FR3ix--N`vd(~nfM`e$*(+=yw>1%;p(|$F&#o+Fc_)aKY&8E!T0?d?Sm!R_49`CNa zlQwNCpK8ybb#8~RF@#pr6a2A){WCI)AyLB_+g;_-S#5xvJRv4XN+kYVRRf zElc8eFK!xrM^pOosRccjNZAbLRCr1#J71%(5SkOdB|0HX`=~_yhu%-jtMmQ>Pivs5 ziInFLFgaf8Y7&o_FIVsJzv>&(=@4Vh%7T#ekD2u3{bn$o6c3rv#;9xIqaTp0OT#B? ze2bsVzxRc+&={-7ubHjxi$9Ond3*ty7GdL^I;0XY%+efj3mhXHQ*0w_{XLV>U`7kO zQ1%xhr%>;kC}sEDM#x-vaDv+Qu`U6#<+^v9>OIz$yk3a@lfOR2sv^7Lf2ITh>aZ^7WcckG zi2;PZjBaqec8O2sK5U8CWa#n)p-mT-m*_>w4!<~PAmsmqgsB^S)wsp<%q?+#qc0Ns zx6u#sc11e}n^5|WUOcofnuC_6f5(r|qWyfo*{s%(=5J86K=cgDx7#HqBMl^td_9Z2 z(O5s5-oIU6@ssPH#8i>I#;tK%Bnf6L`ZaTFCG?7F8g+Jksd2D}e4Au+6zby5*AS*W z`O-K8GsdpB*kxvKFMPOcu*OW8=9yD#_ENIZ=3j(1nj-(;cp>F^GIDA_v_tVvne9Eh z6PLSn#D_U#qnVExo$k9uo@=%-bmI@lkdc+Jf)W{xxc9K*t8^ zlGLxV3WZI_`;YC#qg-(S=y@f}IyT0E`z(00>cURQ60MP(tEu^__#awEpNoX$tTOLX zs}6jwELq>+jc;}POUcJIij{n6>BbzfR1t5Uy_r6IopXh5$p>ttXw@TH+HGEOzE|)1 zQHzi)%SFzp%kr6x4LsdT?2Mf4cB!$}_qrDrH~XU_`n(CXzxul52;V6MKaw7+$Ju9! z+|m%@#x4e1Va|iLYZH%xz~k2AaMts>bzXsUmkUKI2}8@H9iOXNWexqeW=aPbhmaCK zGpfJR@<#^4br*Us3RTv>*Yz%9&(?iK%=e4NZcp&_l<%V0@NiqfoO|g+7QsD5OTbZ> z|9u-f3-{3m{pwdCK^Qex$hiLUhTX}>&}_;zU%5H|y_vP;3V-Tvc#-`ghNL(x5TfVe z%9vPefQ7_SQ*1ZC5%z%PcZ;ME7%odV(ilhimPs4PY`fZ5)Whx$&mYO~&SdWmb&c@M znd`c=2(}YRXE2jsr0D0aUG@O-<#a|&re|WFgt#$6@$YooG9ysE1z9Vrf@6Z2aN{nW zMqjWerT9YoAJXN&WYbD>xpSANR7>$4#Ci#d0R`vw3VEUKQ-lxyzftR}{t3(ZLTIj< zv-8Yu!Ff9O^;NIMPG3jAo_Gdol0IL~*|?_YmqZu4PwdH5duyV`-@Tc7oF&qjS0p46MZ4E!78P7@ls1P%}m#vMv1BQD4~{&;XFjl z=j2@u>_7WTzJ$Qa(-depWb}{|J&g8W8{QMV^9i_HF zep$QU);8l7J=WKD;y+{FWU{LRT6|AhqtRfi@$YeS5kK5w)>XA9m!-aWZkdgt)Ih#| zdILK6UcQ+znt?Co2z4ompgwol|I=`SHItTaYZ0cNi*2&n7O;jwA6*-~Cl#l(P04A) z`hC^?q)m-ylEb0nm1Td`&qV4@O~@CSHQkz5Jwp7e6MyL%jimpR)#zST@^;5R+4l_y zu`8m{sNV|vN;wT+kcSu90x4H(@AK=%heDfn1{YgN+G18%M(yEVNV$2= zq=x!m>bRV^oIHP$eV^UQq`gEB@fqzx^pTK!0 zJ#9IXJyJ_XfR*@fvY9u5?^}m%0ej*j&z}-cYh3iqUzz`yeO&f-(wfxcj<|$Q>~IYD z7Hw4Y*-Q-8Q`f2#Ja>pPO5M^aeUOoI``~LPJ9uqoJfw{!b)zq|Ki3uqtN!qYr1d?V z`wnr%?|&8N1fGw4l*;Zg%j^l4e{72{eSM)kee^%y(LxiznA#?K>g{CSgaMoUd z)~Xi=8k{bPJK&?;Me;=xr=h7C(F8p6x=MXNK~&;Q{=JNZlu3#2ZN&Y^|AOhd#J34} zswmh?%e;@4&-W^VcVkp6TrBXXK|QPhr=}$=Ft{Vu#O#_Q|Burb;f=Nu9T%5t)C%(H z>`6d3hZ6k)c&ZY5n9ozQkbIov5!j!)P3TF^1vjQ6iCGH*+oE$61L7uT7V zgovB5V)IG0A}1YR>1l~g zVC25l{!ZFmL502!@bcAhZ0^{J@I%y_@4sU%#AWE5>`;Ot_y!_sS9EMUFn*IQuHNL& zY&W5A`Cf_msY}GIgCbOnlE3*@%qG)#4Xv|LoX-()O@{({#f86NTy0H>Bm(4X^YR>p|M~)yQlu+rIDg6JHT^M zDz&j|XmQAs9G)IUFWrVXzc5c<8S)37h>zNI0g{DzY9vKp>BF)6psv@mTH1#6JNPjB zq3&K^nO+s*v_Ha`I})l_Lo6L`3@)cff+oa|r?E%V^lcl_T&q)cYsZ_ zws4D4?z1LtXbIN{DQ`19AL@%n&LamgKhZw?t=71O-h8OUS67P!Qk=1foy+J`?=jMpdO}-DyhJb-qwX8YjKjGwp-3RGIYPTF0tP2y**itYG=oUFoM3<-0Jfd6a zQwP+wiSdz5XM21f+1P!iMfz+Jvb`Nx0IM7~&sD zzHdI?a6|ev=bgH34*QKr*A00L_$2hv0bFJbA#-WLc~WESO*Y9K)t>k(wZ~Ai3AXsj z%!N)t`C|Q(rXw-GOSX)+*JT?a{TfhQ{5NW99LdnoJ2In#>l=xjUUabHk(!Om0dR5L>3bFA?J_6Lp8reKEc#U-c z%zPF48Tz@*LEZ>%iOozm^*=21ubA6#sof}IytAj3>o>!m>uv7b6o0g8N40$AFdZC7 z)Ot9ARX%bUy@t6Na`{+u(OPI;L#Vi>^F-C>w)jj4pPxUuQ2wnvv2cLNd=<1d**S&Q zeW=8RcjJAmbsaKL++v8k9({~|uR!aUxKa~83Af>$U*k>bwMW8#M@j@L#=58*cTK~| zsq3^vm-8uFTTdnr1Py3=jxBH)(l|&d(9(-MMa*UQXa}7P+sb|qS4z_odx{ys(?V|w zl^FAB*PoC`j9VyCYg7C%{8^ekMZEhgWpPxE~VJ*_%mz@$_NvV)Kn!;zL>)^SCR-^2bke7VZgI$+AEXdf2m$_8sex(_P@qmiBPn9>g=gt3N|{L`{Pa2Z^Sk0>D>S45eRiQ@Jeb^JHf1 zs%UGE_LVSwUzMEO<~*H(3+;vm8fLjvl}UsD&TSe<+52SLBLholv3ZL9czAPC?-eCU zH$L>@+Kn?xX13G58Mn48fs%6;T-R%0{EYJNWYp_k#yw$XYOH+xW8egxSYyPA7YJ1w zGlVWVi8Yj%Wzv$#+x@rI{Ok}QvE8SBze^iu-1>b76xYe`gSOsr+6ufu&&^)gZ?t@f z1wSYoExn^!WXe80f>k**);#ilrUmB5P7Z&tv9m~dHy7jMp0pLFd(zv`BXX592Kfya zH0vwvBZkzp&3&s=?Ws_Bqxmi|I#og$f26i(#q@-H%jd@7`4@a}Rfm24O3L{E(lJ(f z(aNE{TY~-a-=I!AVnfVU6?Z!}Z5Gw(zYx74DzUO@+5TDAlqaL~Uy{nvn_X{8zM=oF z;AD7xQEda#Q{_YqLN|p{t6Tc7^)Av9<8YMuf8EkA#GZ+7K|6U_(}uunqa=l&LrZ+u z1#zp>BnQJ+F|s^D`Pf;VYF@M5VOLCa24(m^s?GyWieh>EgCIx}kaTfxc6T=29SEX; z0WpFKDxy3TeJF|vR4|~D8x#p5NIEXx?C$K|?%fd-5Jg2)MCBohS zo;}|0-}Bkop6=@E?&_-Q>M%X>?!3>0vccEtN)n&PhNYU>(`~?1jp$&mvyknpuv+Mw z@-Gm6P3Z&y_I1m=COY9h$Ln3_X_F*`aH#(4tzM@0?*gNt_5HI{Q%XC?E_Zc^yf19LV=>nW z*Iz01Pzxw8y&-D>@{j(aEETn%)lIcnLjscb;v(NWKSA{|=$$vBFGUx@`_c++3a@W? zQShoR;U}2;kJ%gR`KE)hDSQ(vmcNHP#jd2J-}(chHB@gjIhsEBiX$l&!k1V8-S*pA zP!UI*yoa+w*O{|tRa^TL*FGT5313{$H`@q59AA~+haBffdx%pbY&gg(-#usy5lo>D z*qt53$1e7)AmhiAQonc~v6xvBxiwBAm5$|IuSwoIc`^cdvC7dJOE=(jEUEov?*-t- zknKBGE>O&cbZKezw12HVz-Z?x=)+rrMo%=*V-b222LMuyHgC#5+d6Jd3PFe3pKUi( z-?_~*4-5aQ1)92OL2Su{$)2wIOGJKMr@E()X>METEHW>sc({BF`fF$YTDTiK(IcyG z%r&O?mS?`PZ7BX?L+^wSYF?Q(&@cC!(4bLgs`DLMTzHV{-_jDKn@=fr z=y?j}BN8*hBLZ3WGoC7+%;MiBD-*b@MI#x~H=hDcCqegiS^`6Q+$C5Tqv6KJUeP+> zaMk(2FKy;cup1U&dCPaS+FQ&37}JDrTt^vRS>%>QFf{s_$qa(t54c(LX(rCN)8ZY^ zyyej0e&|>>t+P^7|Ntm`=bJX zbf(W5>u;HCgedksT3O~=@W4GLr3IIykz2cT@AMzFnJ0;nQ1y4@8_8AtJjpe{l5@d- zYvw-bP>C@Hhl=gLs|(6rvIJB+#X6aApLWGn``xn2lREJOqqYTg=$mN5*)>gQ&qjzp z&|dGGOThAiu15hp$&7x9{yvr(B`w4k@S53oA=z8g71jGa?1=+HUxHI(VjsC`^h?ap zVyt|RoHa44_9iqfHW)c~Zn#!P%6tp8uUGfv#$V*SMfa$8AaNz$ozfm$4>{LHmK2>z z`V3ZeeAy1M=Q%}rS^4prmn|d{_pQmB*Ghca>9iVyu`}V-lI6yJl0M0j@62AQsg;H| zm<DVPufpy+CD9?=XpnJ zEp!vD_%CZyX}|mgtp^?#0}xdvesc3$`{>(G%A1bu+`aa6G#++?-Hp7T?vmx(0hSx3 zzjH6XULYs0O|AF{Zj)UQg7bwyXKi=$Bu*7NU1PoA?{B3p3a$+=E10V_j6AWU#gTh= zdL7|e(lZmApZuvLOsnc|s}cKAFyG=&>C2d>;dX_yHI}<+tuq|7QB`XhVRq!ZhqXOz z7m~X%Gx~dmlO72ygWI#9cvF#EU7Fi9|8Euup3l?&HQHinXZgH8R3$4;);jDmDAy5L zV=tArqs^DujVCi)pmS1^oRtBmjkR#8gxrN}vUjEZP+R6Mv5c(QHD&16?SW^Y;e3-B zR4kQyu*mwg+il%sO@AV-xwAyqjh#XBX?l3Fg=`}D3A zOdfP@Bds{M#0749u`0v-ipZ?%)T5@P8i=G_6#Xz=)M1U*;5&t9Rh4W12&|eCo@L7a zak@kYv=&GK` z*-r)gwB^7T7;s%`+}&ZkWly^6>gxPENI``BIRBYFYlNFf_|ZJRDJG8RkHgVuVM&hv z#k`#CIIZ%nnMtGCAzKY-^Czf}0K4JSXwf5QKGj}gJyNXv14&8gud z)cFC?Y6^S7KHzMN=H{(}PkY91)b%Gkb3L)}U3ynm#-ycj?;zm<`LZ>_)ejnOhuvH1 zq;@?uwe%cweO1fu$V&G0*d44q)y|^*k^XM1{2Br!*S|zUQ~?}a#9U5qXG?6fNh>)I zqA&hIU!6+~(70UWWs7coMn@v82J1iY!95xNxn^Zn^s{K!WY=Iz?@+L=wgmz^MVC8| znXpz^t=~a`Y;75FuB+g{T|gLnt`_w7%m2OR(&X^aHE5rKfi|>hCnRUbl38%oI|Q;4ssGUMr}VwOYciuF*CP5SPY!WyyKd;w}$# z_ncmtm0#h|f+LZ5go-uSM$587*|mYU6D5@*9P&9ycdNS<$oCQ4b9T)X4bt-g+aBIL_9ZaQLg z{72<$iyT)5G9eOwS2|y~TSDBsnikHc9G9D!uuLeU6zjCC@BJlJOa3RRq&ipRU0~FL zobyH7h~w#mkH?_9PDt3WYOJ9|gM9)<-fA|QHMxj6i{aE68KQRV^)$0I-siQ>c`dpt zYY#H^AHU;$qT`Jj{VLFzeAMez|M!Wqv}K2)SN6LPNso<6S+>$1`$9iSKgT|;4apCr zk1#gCK|>i+!%ZfZM$KxMQ+faKs>H?hL$zil0r7!&0}#w9I>#4v%ulstJgH=W9LwVV7+(FcpsavHihbrI_pCuvj--0|NUySBTX36XH^PC`41^t1}M zNSuq7%XjWAd@quy;cYgxU-RGv%m1r2iOjQp8X6ZHXccJw(-;K1@jddjsb-}*7dZrFDu8Uj=2G`Hs zxHHhdMs^>4E_}=LJ>fmEErLUwLQ6><)q3*#MD(h0D`V^*gAMj?HlsG_HGmnBd{U$e zpZt;{`RamNzATMP($X7>*vD5RCkbt)hDn*tKjG$8&6f63?2hntK{n)T65Y`*Edv~umCrg`YCn+L7)MOjWy1pda{fIvrHtg3f(xhgUH-Y=_r7i4 zEIg^+)MXqSD~%n~7JG@etM>|0oLzU6Rg?Wl?La6Vi**e@V?Q4~)=(5@Uk>T&T;5Xa z+Om?{SwiyiShppY7O~gC*(@B;E&8MdC8193>1`6>#1H-td;=p_P(JyZgz)FJ$**#s z^?eoQOflRg5mtFznya%+&XuyxOBT{Q2;Nrw|CaZ6?Jw!ZnV9KXgFT&@vG^N!?0$ij z%b2NK_d>?Ybp1r=~ z-6A!>wTqTWIq?6W=|&i#^nK-GAx*)ynkRJDVebF5g1cOx&SQmQw!y+J~au93EdeWBpXP}%31l0F$t^Hw#z zenbC;GDomp<}87)x-37h;UIlPNnVb{&YJ2Es{e+v_vOB(VGf4@}m3%ST;ER3|(Ile@?-;yK1<%WA=&)28wrmjd8yb;?4M-FjoLz)C*toigi*GW%s z!Zk&AjJE|NJM9ZO8__6^HqXAtVyD|O3G)f(32tMF-M3Efu2V(v*Sm0H7VZ@|3$Fnh7gj^sTA7rD!*LVt|+39n@UG1=*D8bfG_w^Q>!U{1#l^ac}}X z<2ceUx=!(@HhQOOn`384=V8o-wlk2sb+NtDPiC%j%G~}cU3!uCc>Iy{cW6w1SraV_ z2jchn1n%wB5}W zV+v?~oz^&5{k6?K4b|7=e-OT<;&H+jWMKD*c2H|*!K)cP+(?Pmn}V`eo!lkvE@@Xa z*}B1zfYEh{SnIl1v3%}NRHGT>4c1di+U3z(WpWiL?3Y~9ifg>{|E1Pz7oSFZXpRx= zaW;(W}%akD_01t?Av56 zDIG!9h9&3Ho{iUty6={cg-@O|zlhz36obKNk^K3z9gBN8;+K#IXph&S^7`uOTE|N0 z!Gx{##W?u2rPRl`oR;lVd>y5AuQmlcJy?Ro$Zs9vIPH^ILawS>YKKV6lRRf!S>h19 z#Dj$DtKEt#q2|q}>8HkU{?}%o)^VqOQqH1Ac!@K7Z5q@57HHz&cT+T`Q-bAH^qmej zu7w&0dwk(iL&Ka$ntjox4eVn(LlWyfC`K#a`KF|7EqtX`C7O4dM=kI2m-!0{E_WpC z|6B&Uz+HVH2qeZBOz-ZguBLs`_3kLNj`Y7-pG!&9?oQPuzlb(7sCOL>o3o*NzhVmPuloP2ibfaeCR$PLBSp`$C- zWq-gd#TlexB(Vf*mH*jL<<{tk^V9`mU;D?O$-z!Ay=ls`|te z_W$A)whR3Tl$zX5LL*T3$m;p#H2C;0$}6#LQwJRW#1F<-_4sj7@nk8Tic_AUzsj_n*7usy2W$x$5#E=c%PNJu4g9_{jG8@` zEM_FJ4hnq(*Den94)m%ii>}X_;d@#1i+es92{xgFCkrnbo4d}`R@vHaqQiPEy;@3a z{EJpP9%sI;=K0Eknn~rYIJaUqwY#1%k9 z+S>D_mf+8V@|QIm9GK#NBAaJIa_McE3v=O(>(GzqB!P9E`c9W-o6Y+<3nr#&%tw$8 zY%X|^v8uGZU{zRZb!)V3KONrq*7sU6ls+@S7&tM^+-U8$U)B1LF?4A#qeH&edP}Dz z{mk-*(EXb#8MQi%7zH&wS%Px|B@fq0UTU3xzRjGN{bi=5SGMMDS=wkSzfn5uS6!!E zDWy*FCDuYt!+J|r`6g?M_D;W1cNJ94qr8J1t8_$nN&#P-fBKM~?8C*C)rswVcj?8e zuM>J&BPsE$eyXoS-_gl^%CA4E0nO2V zQeYKUb2;_E`fH@9ksm3sb99M(p~W?f0*F0R>cl@knZC#im4g&qf^KuFI}78BeiGUq<0v z55hz1!Q@TUv#;q`z^&2YBadUbHA4U zTc{ zo*$vK#6P+E*O~)`E~cK&uVwA?o(l9b*|FeAtp1_H<$qpKPDYuXx&ay$^u$g^TMERG zitFI|7D!U%DTEk#(8TTccOa$hdt|UM+`mcl@ba3mnc9El{uloQr|*#RfKA-cnj)Ds zQj<^g;}1I${^TOe`;Wp5?Bc5>37nUTF>bqpQz$^VzIX)-x43uiCr7H_QYJn8!IAG-6 z(JMXc+6~EQpG-J0zfo%WcKh|UFZdTiySiX^f9G!JJA(;tZAuAxb-G1!?UikLo1>s$ z!KRfRokqNF?iZk8vf$>G;ae!tor^BR|GxRAaHJX^xtp-%56)Y|E>y;2&({iQ7d?M-cE|1PT$==s}Lzn90k z>_$x57r05)%-^1H>$K$Glx9~VaZeyg@*SIWf%NEq(T7jTJ}lfP__^K+T5f-d6|nbl zMrO$Kw{9H(adp~9w5z1Z(PiAOdzn_w`rI8=MTJuw;*2Hm)45`esu`gj;mQT%S1C^? ze&REh$1hE`c}l{nbqyczoNM;hw!@FsEzyz4&}UV`%YNu4J4Fgo2UBMTS_g+(50$>H zWwM>b8S)%!$gSJwUt%tZ$L#`m^g;AN z6X>uq|D3ch`fQFp%8Ao%XNmX=2>HlgQnMn;E@x7$(^3$zH3;$S_lOrr|7)}W&ri;K-lDpr zR{@-Qa&!m=tNAm@DOFaUw zF0(X;y{!4^`c?M?r(2Q-PH}cx#64+mjZIGz`cCMlU60x&T^~&51n1?CwujPg?&w2O zJWYP{kz+3Emha0s{OP+ZOfh^<2`C4w$D?xKrk;HI-07? zeZJs+W>^0r6m%y~53whPvFKq#Y{BF0N6vf_L>rFcW`&7F0|KYdIZ8ugqHtv9abu78@|G+Pk*Ew z+MW|E{b(Jm-0*?4{4WpGJBI=npn?0Wic-TlaLL{6TN5WXpLV2ylNtF)YWr`Jo5cP#_ba57%t``oSQz20Tt6fjS!b6FQ2k=(bxZ3-HCm| znG}pPd-!M%4e5sQp4p5JtU;7zQcI|gZ_#mB&W)+v6`>SZU05))^Csi=#c#`K*$lSE z2%{#$sc1dYUe(Yh!?6IU^N_7X>LjF}6UA|-Y7O1oE)-rj3Tao~?Wp_R=TOTT)~M8) z?2U|{B{cKnk5PZ7H`QT^^(MHuvde6^ePj85G+*38szX*atwAqR`i?F7k6q93#hPxC zs@h^jvN|pnC{Kl+5oN6c<;aJ2lEy3*4ppO<9|03^0Ld6X1Ky<-)^V-C#EUv9pfP28X!oW6hE8I2{aaiAth1!&3)RHQU7c267#mm3+l$mp zuC;Z&$}SRqkXT&YmitF0`y8bwRPUn??@OnhU-{o}>omqQ)rWlAM?4ypS|CShcU06J zx%`LP&$Ejdo1TMI4-P&j^ae(Li>%|0>;I$drwBBxMB3dD;@{WOazA~BKo3KEVO@iR zk#*|Ef=J%`c2l9ZQHEXegSMYvjCc0GZn_dCaQqrCzKI%1zotvq0*c7$^zZ(!DHV2E zylsA%vGjGZIP_})h2-1T8@-dvLDdtg*IJ$1Ur9YEfvbbnQd&VW*$z&!p_r;p7_RZw|c2th=;_ zdUv_pNve)fs*lZ;$T(zguGZ>r_u6k8x)4Y$$~U!?0adFAo?=k$t{oA=x4N3}*@ zOiMId_z#>#8d6(|8_CU0=?q!@z zf7lahok@wFNnRv9w-OADD5ELS3&vToFPt|kpGt=*R0saAX@jW;=95J99EkA=g^`x;D1`Tw}3Vf-r5u&s{*dIVCuZ#*>*m}pLQ{4D42kwF zn@ww+eQG;qGQNj{9Fw=*dD~g=X~%ybT^pVRN5(PN#Ir)Lx^g8?5<8DJI@YC$jeOEF zeRLl)DA%aavFeI+_kvP#k*l!!x{7JBBk^uanUApv5y$yJYl2;M9T(Tm)a#DSY{6%Y6zjXA6ADw} z*FU3O-agSa#(L_a!<5(N-#88(2~k*+u~rT%DS3k`dPdwYLO8nDUF(e@I|Y#n(ILQz zn^OIB+4r>Qp1d`lhxwOq%O08A)6>!9NxMI47LCe&`PU^!H62cSmwwN#`U?5oNeP!$Uce|)VC1$X zSt@PIwWs!3EC@M+e+c%R>-K2+yogOC(7eab{ZgG*`$)h1NPKwuYRxrrUfx*E4fkce z7<|t}j%`EIG+x@@zGi*0t>`7=a#QaA_4ew}StN%yb0Z!(CwO%D9h*H2P$&o5-4R|@ zzSaAF?#_;*ojqE|z3CTdY!D>tZqW{^qs=&n|6QpMC|6GDXkChtUZ4nntmu*j^TM|W zp2{1ap6SpEQ11#xi|>{UT6QF_s^NMqA&=7T!;v1r^Hw2q38%C!>(JSKmNR)Dv3^cH z?Br%kJo9}>0sB5hkMO?|np`7v!7ukZUBZ)*fgW~g?7HwOTVg(?wUCrX-XP>VtCO_2 z`bi+It@+IYvRk0FH8z&-Y)%~)?8H79>L;y(?;gM0wI9z@1@bMD2k1lU13J`=;ePqj zFU#B%C!p1$f?n|dsXlrz!C@q!+}EU)b2pCAdvl(U$feOBmaSaOrZGcNeGL-BT)PQ` zvB8-c`65gmfNxoKZ|(P3k&lu0OZB;{z1;+&cf;%0vajUNNk-|DB7VLprml7VHb>JA zC+DAuj$#Lf#Z4Vao~-RV_XMYVojd$n;LA+jYGLTGBTw?SYV+tD(oZRV#vO&}s+PgR ziWR9XDU%jEL%398^2RhzXPYUzf^{b}0vQ+gqsdMW>M`o=%}XO=94p5N#;;tW$_ z1oFb@nw)i7OD>9ct7@e=x~Jw#9k04O&(Qy05XiRwO^+{E=i;BDTb*qU2Xoi~)t-4S zTh8HO&Iyh1jz}d~yLR60=@d=GMmoHqUCvlu9BCzvnVF!uLj3;~&LCtzrJakMU6bg5 zv}zdsu1sGHEzu&?15)o)-kUC>x4g4vsph@c^8Ss)ps|X@+R3C*J7^;~whgmfVBB1M zplB3)^}&M2NclUh`l`@KoH~^fW#)PmCl~0jcPYUR%?r###XqyBC%SsyuL{Nn!3X}J zhB3a@xxH#)_mpvV4)Xk-^rY&=jBK)p*8x)fJEwn*{7=mr7(Xlh(`x$glpkJrg!*mD z`_W=`mlARTBR_dVUi;m<4t-bbWMefttgDrYlURKg{+lt`Q6qNULufWbDf=Zf0FJMt z7kTA`KS}#q$XIsaf(hQkw9YB~Buw0Hp{wz0Uljb2y*s z8Owt}b=Pgrd#%PW&C3F}+|I|6V8*HN6;l$jgHhLMfMY??vt6o6o+_u9RabnEo4N#q z?9lq_dC_Z%pK;i?3;15;b3>o{U)4O+OWIOxYCD29J0l_Ip=X>@D_WTMpqs;-Zw99d z26cU^PuHG-zZN&bv<%bNAt(PW`Y6#Dc2@CVX+8BglG{s4ZcL(%!&8(Lzx;LtcX-W4 zonkDY-v7s`PpjJ2|0&kd{~Z3w-7gki7AJRpZAylcJN+Sf=@9qdSZ&|@)Z10*Y(4%F zNPRs)O zm-?@+@jQEHwT*5cmo882N!+8gp1^9SxT|8(o7(4w9Ruq!voG`suK1){Vtzp~`iC!& zSv{jk_-O16jfIn_jX!mtdjmbh;hY_r{{3EWPPmKn4S9l3e#UUKg{Iy2m3KJ5SUsID zh3e{~rB#g7agw|GKR)$S{t%&{IPQ-+-MpK7U}4zu^i(OW@A9}#wX-ubJ$b{cdQsj? z8c9dWweZs2fdNil*LynGhy}KY@S4EtgS}?GN zXtFDX+~$Yno&Ov1r!$UuDbh!CN4o-Voc-6y^MhUaKiL#`eHktB|2MF`_5=7Ym+}&7 zd=eXnCUX69KNO2Z&!#WZYf_5Vt$eMZ6iF0Vab1=QE}82ON-v|vAbZEs7w1i*Mn$%S zu&2>k#1npbGH$XZtaZ^d!V9W}MZZR^+r%G(mQBfNhc6pW$y~>G~v=Ks$Lm z>b^$#Hr(?!+6#4nsdwc6TP=r!Qj6^M=B3@bo04`lVSR!U`*f!pW6v{Bbh`9g;*|c$ zoi7=G?c0R@VCGvirg5eJWbf-*ca?{aFP{eWKD86%-HWhN^18NehVQK8E72K+n-hh3 zf?-xh9@8my{+JRn(m&x8!PU8V6Bfb7#5o$DN&FM!bjIofc7Etk?8&Mtb0-mVIW;-c z#`5xgmwv`Sx%e(-Q0Q|i(a07)u9wK6qqQNR`w^a>LSvs~|Ca2N+AI*1{Yj~TaSv&5 zYBKQ!0XMD0|E%qlC*a0+YR?OOWsR$l&;hzsueq(nGbg0RN;^r+c$3~O@M_`B)-+mW zY^tH;g7Dd)=5AkNv`?*)J`Oid@@RBwqVIAj?$DYSVtEoQKe?;hy#acqj8pFal%%{} zbXhD09}46q+UH}+-5+XvtIK{QEaA;G$B1txb)24BYu-)@=JmjvQ@txv#R&ak(rop7 zZJx&ei+Mon(9^aEmL6LClzv9d9!Fd z^+r&_#uXP7E);vnb?TDB$E2Lb9G~p9`Z`m8c1jdl$v2&yiM!HY)c!)LFVq+X!$(Mz zyjyn%^dKRaRZc`H~*SS2f3H<5%wPc@vPr1lh(eFp0pqI<1H2=pK|?W3k1ESvn;(LyebcA zP@m2j=yg-N7#WF#r$|1=%c2pvnp1wXopD|AMxl{lQ0(mU`h?F^tE&5!@Ad7s{yiT% zBidT`xwAXz@u%9Bd_UL4At}6$z)wN5vfI;mx5tS39oT5YBc~(VpF@MF#B1zdQ?BN~ zh+At*T2442H+HWpc{(rrQ&qBjzkj@aAW=q+GN&rxmx<+|9+fhnw{NBv?^%-KGAss( zXEss#bk@rTE|>qdzM|;I&MNfE8O|DP;=4%2ab#$tsf}%`08S+>_P<+VVd7ph3FFY3iJs&=5x3!W^eY_eiW8`G(h=m;HX&PdQ5+kSYCB z!?lEM@6?R&F*%P>?*P~oHlaYgSz8##g0p#VnjhP!uqtjN9)2f$78V>(N>)bYWOc*1 zG5MkGhHTKZxV>Qr?R~zkzlLRw$gWM*ka|&a5Jy&Y4 zQdH+WE%QGcwG`yWZbb@sYXZ!FSCv#AO|KMQb#s=x{toe0s5(8uc->e~cr7?T4_+A) zn4ja1!(TV07Nj}RgVj8pPEs2OY0Db>k?I*p{8W)1puL5M&;chdP0yPIAXz>#WhdH!hg8 z(S*fKbeqV0^%!7RufD#GFIH>ic|NLd2HfA|E`8^N_SU2oxN6lt`Ud7IkdOylK2`J4 zIj01k4&5eL4MWLWJ&)GJg2nOsGyP>xG&gf7?vpwbO;srR5LgM9^-21BO8;_fVr^H? zKrNBC*b;gO?h_b+e7x=j-Qw@VbKfP-Sn{Yd0-pM!c3b@%dv1}Q&jYega>POxUcLsZ zefs{PXDSxfxP0tkyAh*~RV_nXw4N3)967OjbLl;VwF-=L`vl{@j_h-Sn~$Qk97~|i z(k0V-o^+~b(2BcK9h_I;XnI+&lrDWgSKgSa0CGz9DT%L4-dUtfyMi5)dIy%86P^Gs zT(UkJ|jF$zc@jWqEA0?j^@;)xl`e*nW&K3UG z=Lk+){mGzzz2vv1 zygk^@n&V-Px}~I=*$F7^_NKO_@@>gwK+T>&P;6CfV1W@I>)qy=^+-Xar#v({BT*ecrQhodd@HeA6yWN1G)aSC=jkh3|Emws53+Zfc=~%!@DJ~z z;Pa`OO9O?>ZE1d`r*Vjs@7owZousWy^|Z$FtCmMe%M2P=2P~bh<>JSzDYh^8H!B2V z0$G&l6FB~92g^~NULp+JJbub8;p3-@`|+cScsjcO`n1IH<31^R zkI0yDGu)sd73Y=Vwo)z)qxLQv2<|hjfu6_8gpZhI)cpLjGYpPAR(FoBr3*c(?oIP6 z^!xMei;5?m;^GTct*?$n!!Gxc`VMH#NLD3^ZlYCPm_n<%ndJ5lS}m#Htay>Ode0ki zQxP-5dx|;U5g19~nC`!R#ydZ{cJZC0)sA@gIzRF-8nh8c{)>{E+c3k3M$cTC6l1(+ zES~M3>G?oQeg=z?*7Xz&eUhu-T=D6<25@itv>ZtI6<&7orAE2Es6ZM&&>kB)=O7zT z>Q?_jb7EJYJKG|wnDoEagvBR8jr*Lsy5@d3#m%Ad4xT@x*6t-)s+CB}#)6OF^Uv!J z>A34n&OWX@pF2B^vUjAG>0Wme?O37rcI~8$73NVmn~U#FTx@j?b$%LXaSCfR$DoCw zyfe-zFSy&fTBvU1JNsn(;yRsDKjHf>`Z3z7@o86nr>73llHkW(?69}Sjg>U&p81S= zTCb`KQ(ot>w*%b32rnNy^zOyHiT79BR+@vT}5)K)mi$YTkSfUVJAjR5rXj zI}i+s;nMB^)<%>b@`2)3Haq8|tBY9`?D)KJg1WTuHVX*}4hT&}77B$@gz_`;pmNLD z+Tc0-*NOCSZS}E-<$q4~NSx(mB%sE)?Q1l6va&yLWkj&3{bElUH zan`r+OlG8}-U#e-Hd3^JcE4+BPH0S=fI%Ew?MPHpUwy^G*w@9ws2l4V&{F1G(P{Cll&7nl z>!=ZcH}j8gdi+uQ2b*UlUsAw|Z|_Nbsd0~qUt_YzK%M2ENV+%57=fAW=IQ=`_ebx8 zu`iP6)DEWPdaoJj*xN(T-BnY1mf1&Bu3$+w3;7IPC|cUs3WhZ{_D^tLdTA)zy4}tT zmpf=mY(3t%Qtw57O|14#sz0hZP)>IGPP7p@FyCoR^B#=q{+ggQKK8j}EwlHe+6yd~ zeshF(c_klK6S1tfm+2V&97k_rSzuj!i8q0kSk81zZA?G!i~AbzEZTV z>qsY8>w?oM&zaSI-P)=`dg~8q+0&q4TdkwF>7J^oYqKh>2}KbY8$>{QqwQy(ST z7d}F%Ml+_pyzthlGrDlRI1P{1OoNMdM0z1PfFGRjVGY|)Al#+d_HNbE1L!HOi%O1 zJO^rhV2hv!^<{jrl6gBgkg=K@q9lDQO31nG;#7~Kt(5Jy*swU?tWoWy&oQnQ8Y_t% z78#bl%8{@lC(C!2rV_iLb)4M&0omm;E?i-a*Q+6npBvhwn^qPFFNA_;#hFuvidWKq zHbG9aL_dLfXl-r$D*rwYZ&0f}1>H1-HBO=_L*T!Z#C?ZO0zM+wmDKg6`gK~$B#xO6 z??aj|U#!|uIn3K4+7|Bq)F~!cY!++3{{Jhh{}RFAy6-joaj<=DLc_vGqVM4E7MVnC zk2#!c1m8$%=5e6d1zK9rDoB91*KFpk1OoS7WSHlr>TUi`sY{&8Z2AJ>G-CP)M{|}l z^2s=AB6!zp9=uw(Tf4Ivo6=s1KXf}zDo#eeYTz4PYC`dsHa$G_YVIjv{`uVr9ngkN3{;}jfKG_fXTkEiPu6~A#E{9ffb@6;d*)Bt~e6D9{d1Kc2LfeJ= z;jwFki#6P1>35J2=0z&A-170#x}cxcz=jZi7Yi@GW zO8lzSy0G3Umx0!)3^Osg`-gCSx&QL*-i%vYD&xWn9XEx*oK!8R4W0}=HcL5-q_iR@P0rIALTQShleIFk zo&6nWcWP6&(J8YfoyH({ahX#*Gob{0N$S5(6D?7jWOuP*-h2rfDa8CgX>axpOWpxb zxo_!h=_c{RDf>BQ4iqK1akR@sXGrOTx-9aH{*NE3q_4ekMHde%2C78z=ejlimdKLE z$2^SSH!kzvs;T;kg*{<&vaqL;(oOQ9<4wJ{*M&Bg*639<5^r-3fO{Df>7XerSRN3$ zP@TnMY>#i*!qMH;|FMYzt%2~+qe5nJ7Wz2C|D$w-1{b4mpzYd zgstVsy-nWw>=!kEv&P*E!ZGB!zd0?6Xd&7;eec@*4~;gmn}_orH#K4K2C$#Jh$7| zWq*e5CJZ~3kS@9$SelHb|1l5Q$3$vy$G|?&xgfCD9PYND8ts>GW(>&{Yl?I!-IEbW z$loG!#=9YSrRH(#rK(Z%elix2dzyT3l8(3SIB600=p5D+vp-Ax5L<~1^|xB*-{2V; ze%2Ov^nZl&vc;#)l|F@keK+<;`HqOO9<6*-^s`*z_`fITi131v$Hx1-T@6GE#e<%CgxvPoJDj5f3F_{ zb{5}oT4Zge=F_u!e4!oSzB1?yEb&VQuc42h%*kjdXa!$R>&4OoSUNYZnVv`47Q&` z{cEZPPA*&w`m6}Zxg`4QE^4jhYg`;{RUi<9bv>)fSBBca!L{LcqGismN&u8V;gtL1 z-39TvPPsFS!=rm>*GbuY(+jwl;Ndax4|V+?Ej`1Ut6NESz1$;dRXIG`BoNHtiI#rs zTU2zHUt-+ry_%)v_>99C1nt*`hLp2!dQGneb}D=i2fFi z<9(mJNLXO|K(9CaGfEc*<^4dNno#l0Bc~aRGCD;*M&nJiX4||;SN#@PS&J{=+Tk98n&I#i>^zCe)=n3)bt9#v#H3{h2C+3EYkG^dVIZelD zn0n-!6Z*iq7)?XHnZfuzy{1x5kn7@7n!SN*v?dftb{uIrotpci=G`aJHupxs5ECnF z>Z!~qv=G3B-YrbTj*?PEmvQm66ep#y*$0J-AS<_ z4)6L9vlmU+M6`=B-}6s=8}LmV+Z`+tF2BRcTRYbwm8^$o&e@*bGXFeNVjj0Y^vQ0N zBZ=o}5mw@it^q7~|8TP|7Rx=7_$_Czw1{ENb#d|aH)D#FTRo8cRp?^;5u6G{QT%dv z5Z+HPa|XAMsod4=zS^SPf2zh;gpiVP=y5-^9KO6+_ZOT$s#X%lTRY@+f!5)|L+lO; z{!)Ft^kTR(9m-SlmU)3yLn}#63nV`^+H#+o+w4-2{**AevjYToIjwnjb#?V0zD*)6 zMuYBaCurZVo+d9jzvdg^iWA`PYqgsEx9()2^rzd(Q zW3=Ha|3UW3Y!3FQk@v@1csC0_$f@ACOAGjBHIA=|lGmv#`*fQ~yGV%KZ;nmU{ZtY2 zH%3M*49Y3iHEG#QynR_|{4L4{hhSQhQk4l(gbW-*o`@IhJ&VAPA zvRi~pvIUeqkeWB=(f%jX{_m6WadKdvrE3)^<};xPbF5{L%@I74ym@8sWZzkjRMg9U zsVV62=gm%WX8wgHKA1O8TPaiAIP&nDM$PkR;!$NYzbRS-lXQ zArw`zdu@DjHo3_4SnYqJ>ExO&^FvTXQ(Wg^j1^flwwD~EuWV`0hB{415tX(l{G`-V za2I=QRcooO`U$%Hp!sDj^<~euhBB1tte|YHblF`pb1X{daaMr6w!DEPX^98otmw2A z;@58g>7b8<=hYxhEAjPT`fpn7ALo_Os)C@%huUWg;3LVg=#=ZDJ0*YMxQtSJon4B} zR_1Hw+?T2KLxG>OtoS#smICSva+gyNhWb-t2Z&RZ&M`QHGht}Y#iH9)UrMnvG0x6F z7}ep4OG31j#IZZNQO4wntHe9W-x2L0aX7i--{2e({=lb0@a|3>g;Q@vm+El$PHdZ; zL)kmC{;7Pn5niWi;b=H+H`kS%=zB8Q6v3oi25q#@_#0|8RB+y;IAYjsgcg6(`2%`9 zg^%~nw4Uwd+^jk38u}*oisZG8Jw(cI;e)YTt9NTSH?_oy(>9Uo)p+kC$IpB{uqWpE zZOL6ui%<*gR$3!@Vz)%636B}mDe+?Mdzm^vT6&%KW1|;*T=TEIGqhfDb9%aqds6#? z_V1fx^G7;zmNC7LIa7E@@@)LMKK0J>uZ0i90e4y;9Bn{*4M6MjW+%06a-yx7n}Scj z&3Y~}Us5Q6$T;PJ)}97VEA?*6In;v{sq`N!t~v8;>pVErooVlEd6NSDCG;7S{LmS@ z;ubic0Qbk8ITd3ZX-Cu!rgk^mmleZMq zMcy=Zh*21A-_7;OUG~N>1LDZJyI7{gTu;c9f&rA`ZHqUyt1gt*m)ynGz5axhgYjab z7JamV{LTha$Er)H5o402z!9=s_*w1O?VBIC)$U$Cr?5^xwXx8rdi-`ccVwU^b zok~)=*P_T}h4ig?C59vqF z4&EPGS3H!G?~i<4)Tz+tk=+{N?zOwNcHvtHf9RBw`piUc=*0Uh>Uq%@jSk=U=4PRh zI2W4#AD7t{Z^>Abm|>C#hq^9A(~qQ-r;2VwM@kI4qjWrW3l!-WY#EtH&CZ0@a86OV zGlXeHzN%or4CUEIZa*S<5jEKv_7 zXE%;6_1kK*EhJLY8c-$hTTSdq;Rc@jgy{*4FMR|2S5n3wby+qG=jqskkyovS+G^QS zzT1juYhsR+A%kgs>KR)5liC}D$yuZz%_HHCwOgOwTz3T&Iqoo<GlK;&(L30&qdSWoJ7&R&|R_wayk!19C&U_wr{dE-3hx zntnt7q#fb^z`Lw&`~R$D-+BIP7W9DbvbR>k@AS-tN9IvJ%fq9(5sKfXd1)+G{a-F_ z#W!y4DWqh7X5_gHC12Bg^GKl|ny?>R9B}NJ2%cLn|9_s~y30gP)e-5d`N#5Y{|sq2 znV%LOsnF-?8Cadf4GGKY#qz>yTxtO<{I@6i56^9vJ{jcAA4zXK6keY9UBRs`oxpb~ zGCawm*5O>_Tp&0zBwyYw!Ez<1YF*c5wEW-oLrjU~XS`SZSxQEt+Nsvs=4*VCy@10C z8^mrBXqEXljt2rs{VZYnniqM+W`)_*5Jo1H|6cyzd~52K``B-yh?5`pQq55U)xCa1 zIuq)~5~g8{Y?&(*zxvx^4DN{4k+}@srZJKQK{(+>&2i82%$OlR2_)mV25xGE*(x%T zHX6{a+WE!vgR3J2gE)<8BG!%eyU&KKr`=yG?|9tno27U0$XkHp3#SpzK9Rs=bD^}T zF`HKAlmt>8L?=#(?A7_P=QzACwJsv(UTOT?chrh5WZoh@y4V|75$eZm1UfF%3@vg3 z3XgUQjg!TWWZ-$`J|WyP@)~V6TsTd=?#1G_@MYY8k@7&!WWY8i)Q5k=yxLHa|vR zfJ&#v7t&(WPadr0>A3lKC-!25E20-8Aq#a2xOv~b5)Q45wA+rJxZmx2)C?Gk{-aP)?k^dgluoZ1MGW#KP#uDmrMeUDhAOV*9p7@jWq~h^jq*n>eBSbDa z-I)6&Zoi_=Mbl$t3eAkF)E$BQ^Oq*ZXk9mfKBEh@V0FwokUbC?zd)B(Qvc80nLO+} z*OKQyqy&7kBoWvx?WLw9?x@AjAZZmrsvcS-7_GFpzZpGylJeIhUY zSE=g8UUA$}AkQw=nAPoIYwcW=*wtM>8#WyK!!jo^vhZ%c=)CG#O*Jt`qO zPTpWMaBV1CVd$gq8PzXn>i#Aiu3Awy4adDn?N_EiR-^wWL}ztG@AnBnn0>OBQ6dn0%;@-?ZtS!gn{GS#!(2DdRw>yB&Vcj%|1Cb~E#{hlsoU*9?&Z3bZgC`?>k4Y_ z^>hBAd7W>`VnP%&vBxdzYEKP3n2l9I+?#OC+a@#qaC84mDSi!pow#IiPHB@|W(>-k zyWHaynu*7UZCi+TZfmqgzH5E`wgnsNb{ZAoN{HBTayUMjDI8Kx%y%u4Huw&jG>iI^q?!!6GA|TrEc0Oq}sqeUsV@j0>wK zt~vwTV1t{Qbd9c^*}3YAs&LIE=x>~If2Tine6<>{zko|6135rbk`+182y)jfpAfz(d^`T3-m zlgoALO^02s`J1sg`kUK?R>lsK+cf1>uw~U&cW|cu`Hq z!o4xa(oY)id9mTrqH1#G4r`iyMd|s%QAT%vSlXoVGPF5?xilbR~FEB zZAi=WkMM10t#>7k*;lw@cXViQKh$yIbvXWq+hYyDjhFb(_C8M^yQ1i~;%9u5%DYjU z=jmnHH<=iwb?KAfT$Nkm+g3DQ^Qy+A1mZBgMOQHY)gWtrM~m)(&U>9vmOzZHy&kL| z6kZa2&V)YFhlo?mpF*D_@e$csT^L75sksKFlbK$~eV&{3PGA#d?_j#mS3JGg-&rVV z@XYUCXiA?8kFOG~r%r{ZE^+4Ny+doI&}F&}}p8IFGF zT3v_a&a0vX(XEZGPyC@^#~k2sJ7aHB|6|njfBUbS3VqZ~!pDk{pVUq5(s(yTn$--5 zzft|Tw2(2Umfg%q61|o+)VaEfeXvkh(rD-U)N{URaj|c(V=M{ZR`^U+FGe<3WYn3Pq7x{-vVi&FwCXjfHo>a0@pd24Vz@7A>l^bibwDO{v|>G} z*8w%djaS6#xa+H$or=$O?!QU}{spHL*;yH`-d@cr3N}EoiByq460YgcrO}pBO_8j# z8kQ&KJR`$Ldq`Ts>fpmK zPJLF8SG6E~UDdSZD}(QN(5}M8gtMmwIa}c{OY6$MB8*F{y9w|+m+@05V1MkoZ%pYoe^h;LG;E;pwS$d0tq@>i7cdW(VCL+ifjsPYS{&Rt_qgmOHLa zcGX^lgsz4=FSW4x>G8&CIl$Ttk4v3v7sVc>T`S{Zsd?iChJE&Ua59UN$>%MwJYzHC z7v}^i*C}|s(qg^=JH_+wWPbJAsSUJtNBiIO{=zxzswXZh!k#>&a^ zeMPV6vdI5<$+z)xLyZBHm{oC`nNi^taT=lq9jBZPXs!*k=Z(4+Gd)Kv7vib(!}ein zFVJ0_>ii!8!GH<^DvF9qP*5HOvmzjh+8`*B5e|-v zvwO4Y?#N~gm>$FcDkh?$C}Muh+3#OHd+>fezn$r+uCD1&Rb3r7-_E-<=Q+}{P}1c( z)zC#eR|jM@cTKI>h!??WGu^MK!?yenPdCc!b3NO!lkfck_cL}0tbUUw!rP&$(l{uXJv!ThJq$!H*f`EuLW+#SQlO}h)xac6|?TbY2uXo8yyT-EugF4RO7wA z_;alR((k}Gm)ym7icgd`LGt~*&Y`NFfzP^Ty1W9WP!1fI+mgIVabWKEv`2p#UjuEJ z>qH}7TKKuM$?(phf$fDUi{U8@1B>DkaZ(v=zc#VY3vBsqwtf&sCGtybQLI zP@G;bq2FDYYD>JYs;+=r;l9jCC5#8|$uQzb#_7x;TM^ry8; z+RVUXf9A#BCG~`9H?{cVw!Cqj9DmOwH>CfF)}aEM;|S6@*avbsVR>^cmf^|N%A;BL z7H3I*)d2YEW?EHjR?o2DcP6^+gp^2JaER$`7EU<$SwAZGxb-%=QGA<2-E-%n8{bHd zL2hI`n==@(#a31A4|U2c@elBAWe9Zr0{ImSoxhmYX0c*j*#^}vT*wBWC$(|p3WNJB>WFk?T!0B`aJDXmr^dSkGq;(et`1v z!5e2usSC~Yeb0#%00Pm!0kvn?%vi+k*IW*7Q2+ZViNWaJZ-l>8Q#gb&?=E+7dw8D` zeY2Jmp^S6EWCo?%yzmj569~XRKeQt#^F^cJ2F48)D1vMOy9qOuq7ebPbj$Iw?yy7o0>9r~Row<)7XP`tw6{ zj^4vYa6_-_@prO=a3mw~AFY>}Mf&L$?-H(<6R5q0cKAtaLh74vWtFyzi3}NCwBE+5)m%&Zk%wEgY%=QUOfLE+KG*j^vW4lf zSfS{)Sw@~EUy%P(d!vTc%|Nf!QZ)V1M#`_~ydLx((mEg*Ji}8`x`!IhkJVH1Vd9tP zC;0N4x}J3`(%-!s>Ee0(;-&REd6Q8L+GICWFpQJQUxjZs@DEAtJv#M0%qwg+?j_;5 z>$a!;Pv`Z{oZ}f$y$o#;w;-YPWxN58(zEehN7~n$aq4$3p?wpC0{GbH=?=Cy)n zETH7DB5(PBWckXO}s|FdkU-y`)Y$$+raRhVcBrb9&daQ|&x43s|F5 zLBGZUt7xN)rxW1*(_k?7s*9 z6=^q(JF41M$&BE!+VSD%d;?w16N++)Q#rb{PrP47O@CkeEvD`zxK!Z(<|>++0we(Ab5&^2_Q zEqI~ST`T3Oe>}7gY{s!-!v$abT_s;phC$Ha#?9^=aobPZXeOK1M=@#iJpX_#IECl^?LExLRD;#FA6oAH` z@g|yn9_{9@$v((MR^~i3PD6NzF0qM;Fx>N6#e(kN^X(;?bBRmr$B==`E4SHOzz&F3 z1U58R>Phfa*wb!QJH?hVH zN92n*&B}jpBuxL<8zj$vBAfz+t3n=rFQ7F@46efhL7G>jrfJD@V+^aGujPRGy})kT z!!vl3T`exH@8#?2GNI1ZL(B76vE)?ChJP!*tLhPJr8%yRNe_jRVdcT{;>yf2+0_Hq z2`7H_d+yvgx)R_0j@(yAZ?1ltyfYtd4~f*%LX}qC&bQW4u6K}&0aYdbx>!T`{7ipx zwA7T5LH!FpeIcWxP%`da*F;f?@fcnP-l&JHgS@Y~T{h zn2W}l3$|ZV*Z9B>ked6!6Rd$f<-b4Lw|*`k-L9hb5--cGHGFpRZW$W~Z*un0&Zd^C z18Gi^_@St*1^CtOnEbM{re_Q;ipCr4yhzMKy2#l~tkK0#9t2*tmOI(~(6Mk+=t#%5 z7FKE=wr`_T;t5!jsX_Xdl2;&Bh_zd_P$=FkH7btKZpl*eMSnk8=`5(d%R7K?soXbp z`bWmM$(Pi%fqLO$xp15L8fP*RasWxVFFd6>f(&QZf6Di#r#KBnYjP0PAd7h@Eq%1q z#S)j5|J3*S(y}PlZYBOIuMGXQrdwdTud_o$XfnNAC=$ zrQGEBiz2~G}aIZ-asp%K{6K#77bTcf$j;$mGx+eahp5E!DvA}Fs)4x#so&7VU zTyZJMh0#5SaeK7_j*vIGkB@cMWjq@`bRnZOhuwI*)c%ZJK$-rV2wEGX%_JwrFSJnD zuo-(yY3t9PMN=~jweFn`dMRrt?=J5yH4S_#7Cs&vA^uj})W@xfY6CVU8m!79f zL4QM~zhKl$`5GFgJ)cv9!^_#(rdEZ!n-bEI(sj`5q5habVKT&mNfgLTSYtbEejC-QH+!j`Za?=X6LX{Yqly&ErO4|Q{` zfvbGI^Ztw0J!1*4>H=i`I?e5~YqZg#!lbJZB;pwmrlvg*KUVQa6v7K<+>FZ9b zuc}{Lqu`G>%LRLI?ei(2<3U?~Uof_^YivyqO{I~J8rK1yV-90Wun#(_nI-n~fF=iZ z9c-%|jSLp_c&v5^`TyR{i=;ta1y{|9O^r>ZBrjd7DH@9!-a&%W4xCY*UA{|bDZWZ; z<1U^JiQR7PXrvr;7M3S*a@XTCT0yH@YMA*D-+9~*3NWkg@8$Az-MmfWUl=(mT(4Rq zNyW(V*=F+$Ln$b4^iIx^5FJDP6FepoNsN1<-^S78$m|(TV|XzsL-w?OqgB^=TNx7U z4?J&HmB-g6U)C}zr>knoVvotg*%OG*J`?!@m?zvrwa;~W#S+-iYM|pm)bW99patE2OT>x|DMa;FbTe0>g~O62J|6%{J+ z6JuQQUOjVE1vmID+ScSl^#`4z$x6S6}*|G9)I#qO8o7d8XTwP{=djiZ{c9Y zdE6#8y!AlY(6mM?@i%0dfDLiv98$I zIXT1TRfPoGI7MjcShNb&pXw0yq^o6hw}zgHjY2y&Nxo-4o;%EEW(z*!S&^qi#_+Qv z>v&u^we(T=P%L}hT7&6g$!grrd4hl35wb47iGyVN)+B%`Mr$dl)s)~_aLB`wD`T)J z@oz={Y78}!^!D@o5n^UG{hvCC)RX1y;l+XQQy=eHmE-8Ay^b``-t=DbB;EdOu=*oK zSLas*XHZL(o_~?fF;yeHb;#MGyndQ%-XXWxP<20OE^vF>eCe%&oxY3=YDPO3LQGaQNa?7TDCI1-|1V*L^supJLw@qp1>bh5DB@@wxaQ2v3+U-e+zFu)-?-eloO(x}3VszBcjI|%DkL}cH*x3ZvARTElw_nyO9OT1 zWvw)4_p_gOnZ%Kto^4BvVw15t=|^bycWOU8j}%1a$XEkT_g7V4=SK22K+A;-zboUx z67lt1n2xKS)iJ*nOF&7;Q){PprcY6@#N6YQku%22BtNV!f0z3HDrhxIC-_~Q-||+I zqp#wJ60b7`Np!U*R#QHzbe zOAX3xUUO#kKkgSKjL3V*RH%}=ZfxU+*JNFzJzoiXZ3O2zAq`Ccjh zMW~1q+T5jY^D%R8?LxB%nY*qNX=t7NPHT;CVtdgHTZ`vc|3O$YQ^(?l2B1f=zxvz! z7tjaaO3oErS@b+SiE}9%uLgfE-AsKQU^G);M|>~Y{C}Gp%6%)EhX9jPYxxRVn9^Od zai24T6x}OrHg0w(>`J7>QjEZY_n-LdV9>K8$F*qX@<<2MwS=}N*HTts%1;G~R|`M$ zc8UEp8vHLCjhdzlWnEt{nS#l@6uOSKTvDW7t1kB3<-4KgCi${r1YW%)GQi2sI}!#Z zKDSYe0~EO2JhA(Hw+F@lt!Qrbde$rTIr7eU_>1{FO=c$i&rnv|N$*9J$^O7C-v3lC ztSBz3?qd}p*YF}6;;%21|1g}{txC`~R($c_-f zI4otNzV0c0X6#5w7m+#%Q;aI-if?}u%f#AI-`qaS6nIpp{s6dXJk>qRJ!|$8O0&}0 zVLfAA7l&#=N%CH2eqDy!Dsr0U`MNgU5r%YZ=wDhemR9yoMpnFVwubW%H@LKGS^8b^ zDnBFEz(cUKDl@C8aESmb|~C>*+e3>JL1G%4K|P(oWUR34IDyKP_de7d;q7 zryEZ)Yy3&>az{p)Mw6?H3vcTArq&48I_#}d(<@);+{9rtFd%CWUdX><*%k0bMh$C& z`1TOd_Qr_9N@+ulPpKtFU5odJ`ClkW8E;|$mOFWK*MXBBU3?31fmCT**<_gss~pTv{7`7sgKUmtqAymH;Z?$6n63i?nQlPxg7xlx|# zU35V&^j|;hV9tbrMsI90?UbQ&Fu3DN-8bsQ39l^+*=?()70)0A6Ug_);e|cWzFN0Q zTrQ*4|K(&2VZE*`VehnKc3xx*EZ2>zqsLj30f$N7rMqt5pEfzsTgQ9q!Ml=W)QGsU z>idJyvSSfWr&Rwn(-goeLRT|OA32j&pmk1Do4MIXY2CD(QjfWRk=`$XzxW2}V)F8G-%jQlPat zo?4+u&(wd@y5}WSoZR)Vzcoj+l)TA>8<2YxExY~Ue=eo!Z;|Jkd0b_^OjG z33*@Tr=R4)dAPLP_no@F1h@enjm0lB#joibrPRzxzO8&w_bJp&`&$G;{pAvXZ7M8|=l{p!EyDc9%TuOUylRski`*PN6ssEnwp?gdjNuKKO| zqpVq?_l!Gi=EJp~=}bOa`9eYm_k#6#VXXb;MjHj%YE@jz{9Bn{R-F|8d~HDFhMAc` zw%}_gX^~5udM@kkG%bM@M}CdXrd^nT<-^RU$qvh?#?&!Rx8c=g9Rr&r&&1Vtc^do+ zjjE?qORG+ge1x60&G&D(M|eza(!wUv8sx!5QA{wCXpED>S662S+Piu|$CnV1`JM2~ z*?zGPRt8RT=$j_X<_V_K-ImTYXwA>M*4p1tGvL{$`D5oyE)EIrq)jL&; zwB!E@$C_cdVW257umG0q3LG_csJtumKldY)!+pZ9#uRY#*8k&{G7b=Sz;w+ zOdk^cMUTs=@qeLdPV@{cU?$r5ATIkR9s+hzH^vznisN5YS&{FZi$X)tN9d=h#Kzi0 z>(;Cje;^o7$n(28MUTT@a;N67EVG<3J#WgF&3#+$>Po~Z@Yf(L7`A3V@Hao5Jb zYhKD7C>mIu4}}>z9h5H;zh++Ns`@l<^|H`|m0yPD6`!vAZ+h1_kyvLTj-H~-s!MM4 zW$4jQH3;o~XEdv!Z)_ncWpy@Guwh)iV&G@b+06w);1x=Ld;CCsSzT+=^;7Jmg6;+R zb(NHYV4c0XholSlFW)(F#hsVXvkS1zUeGqUV7Q^HeCcyyU5JJjWSvf(^^IUJD*>~5 z!m!cfOX1avM26KE%|F|8X$T$ZCk!s|r5GcTvj%|tR@Xmo6MU3~WQ;CY=5Mz}MwGBA zdiRf;y03j#@sS|C{lyRWXic6zG5Gm3k-`O?t;1r9k9eqL-{?Cyfesh2mSRq}Ueo|st1 z2rm@A+z@UnPyI9Q)bzHZBOT=NkwVV1ptY{^al(Ny2AOns4G8vAluu=AH`WfF7BpKf zD-~T!L#?fA9=sxM7j{~`xONAYMOU#daJ42+H5KWS8H4w!NzFq>r!7KNaDqC0W2#;x z16pJCCf7VTtEzxAVS`ZmzL#1^~{*I;Ey8>e?)_wOe@x#onX`{g;%|B2W{1`zZo zb58M@e2bo?5};s|)eVsHVehVf=k|fbG@1*C@?`x^fPD#STzs6h&zAGU&>H%ltiFzN zE-3733rypx!I|g#`k|%&HNOs(NgIY6QBzy}OZVxP`-V;4Nm^r8NQEq&MuAVSl`}Kg z@zWg*tMj@Et#(Fj0g{b_`o!*!Sren;6Tp*NN9hn9S{bYFewmh9H(cM7ycXsHOf^P@~ns#y`g8SZL{jwK^W2^vmy?h1*sS!O%v|9_XilosY(-(2U_h>Ubdn7&IeZV*~g zyEOD-()df+U%Bki${fm_u>q5QmcIkMz&^6tFU-SQ(l^N0B&P;r%W6*a*G7A^=9a|J z`tumE!4V3dS(l-)8E=bSlf2xzzIM6rjB1nYtLsGk{2K2(pUr>E9zq5@`H>$!j$4-cWbH#b|x? zl7=XfeH+?N(j&3XvDts_xy9dw@Db9^5TX)hof|4|jB$E*ds8{G#zaF^r^wk=GTW8L zQF)d`yNR~`8S$tiOIRyZ_fFMXbl(o$wlZ!Wy*;hJ1m%YH#5GzaN5K`04U+0tk>hvF zTad_3ltU=;E4oX<0cmc1fc(+7)N(T-V0GNN z`mV&M=pWX)c$iDnvuZEpc1Xy%jD6f(@&%lGH*x}V3japl^uAl}f7d-xRN@GNl^-^< zDD#W$;*QMK5%&!Eeb4%TQy<%Z=QpXjxXW8Q4O3m&GhQ+&NzFZ(p7S+7v`l=6<{4i& z4ZDDu98&6AMh~;Ts$#*W`R2jcnVUwEI~l>cb`v#|d*HFdxyyQY6M0e6bMQ%fr|3V2 zS^Jt=n7lPzUt!?=l3i*WeDA|MU>kRY1as#`7yl5g!p3F-*G_E}ITcGv@FSDjD zm3O~RtCD)N?zGv(k_ z^8Q2-r&Wag(W{F2Ujm)>^NasnUk>Fn{j@&5X|W>8N9NNWtm|6ha^KY@FT!Vq<*y`% zE@C9B{&V_W?aO-Gast@7)nhd63Bo&Sc=lB~)tn8$+giIbXJLrX{k9oqjS;S)9cz4& zhjhv$G(d&`)K_Qd~0oR9UvzryE&Qef8ldiD^uQOU>>Sp3#6Ocfed4$=Tc?B~DS)?cNYC-L*tB*~;gS|r?W40N!hWGuvZjMVpOEJMRz=o4+Le$M|L?JCX-CcRB>KWdS6(uxA%G3 zUGQX;yuff*BNxP^WHm&6=uAiVp5ye*o}Qc|e5+)R8!KWB`*&4wAP@dZ;~G=T_jZx> zF5}8mb>BRoq3V?SF_DL(i{M1<)G#E1GY(b9R0F*4!d4`fOSn4VP@g&_pOL@9klV+R zkc!%szM=AU?eOxgc!$fjRu)NFDcxb~Dq>fo_d258?zrJWm z;*-KwQ6$_A(V)cg7pL;z(fJ$ou67B>T@D}JZ&mr>M%n;I zV|4voP`+8$U3cJ|q-9S@w&y)3ejqk6ULg`Bj*!OtF=+u@Cs4(>fU&yzi4yocXPeZn zVtp@bBmUL&j;{SKu~pg{)}5nynn}2i7z;y>NIi3Hus-Tpni}a!g@)W}7HKVWSf%8# z(c!B`C;W<}G%Gm={u%09!k15WWY-gPyIq0(GB43F`9u&6>hg|`{XvxV)X|Tl*?j$8 zG!g{WuAFZJ5=;DYwTb`Ja<_?I;wSH$th&e;vAUJ}>to4tHJa{W&5KQtk@;31-^+}b z|7=SPY`>tFl!K?;-PDJi&bZE$*KC`a0!lsLT}bWpM-rY+h0u%y>EA7ZC$+568W!9_ z%x2^vL>xl72I%sya?_(OFa>s1OzurWBfD5@NIS#R8Eegp?hrf) zP5;y{<^GyMVAAhQO2|LC6*-(0i!Z;t=8<{W(eJP9M~ytq*v}ar`45l3tfrxDwWpU& z^Y3(o&fprCmYihus4f1bu@|c(zE*Ivf6(#^Y98fF zZ}N4{^fSg)az0YP7ktrATw^Nf?WR-D$Om-2WoxNOr*ePG*ZiW#Jo=&k`ZyPK zn;w6al7GJ8p}gAMr^=CK?Pi5pv!LXXf3R?4%5!_(i#DsFpzzU&RzrvPs!fqcoQ~x_ z%LA`j*z5K(mxl2Qd6a*ae2d?&_zh#SZZ!v(;EUrFTIt)~pYsA=A1(P+wCbt>f&;QigY%GgyQiS(nlFH&(@_3Ak5sEv3bD^88oSr>Slp*!C8wm=^;Vjv~O z|Hp?2V+@KAT2jw@H4{zo@x!f;bQgMRU_Na`=xo7M@;l4_eR7R?Qpu@))0$wir%Osk zyZ_Km$O_~MVnvBla{HDt-q2@9+K%t`OZ%Xd=ELaUlP3Ckx!s@TAP&oe^bzl~}uZ3eHSxL)AUb zqIFMnrpHoNE%Y>;FkEilxl;0~6=|32Pbf5{|Cmt`bh$}mUtc%EFR|uiAFO;i=eO_; zJsG3OeF>e++Jx9!)e`n#bd1{~=@q{36nsGEXOmJ>a#`-n*%*1Bu482;K{ixam3$Q;nxN z%1N4^n}VZ%+*$Q+MC=fGvEjqP(#EI-S+^%$jLMarEJO1Ua$0$Zx5B$N!476)JNAAf zjdAb;<6|cM6*VgQg2@cZX8On`l%REP(xh#>mLAhYJpy$m7FHh8!n{7(@^9=u!9v^D z-=${|cI8adqXNi>&U1O{9_ssksDdY$M)$6)QNRtP)Oqj=NU0ee+|mYecV#)eURi6^ z-t1i`IZ-bQ&lqD(`8UCCfo;MGyo;-{PVSzAHrbUwEmH0PP-uE@{i>1X3*hn&WEET? zr%IKZ6GVRtj(RUSKx>_+(V5%Co>I-=)=Sryh@9x_d-Kf5LM_iihfz~;_*^&Ex;@d; zPQRpMV1p*#aE{{$)EFE7(?$Z^?+UtxGLKSzi@DGAW{elQ;JLA8>D-DxPyi)y`1zf< z8{aire`*mm_gx+Kw1kRNvLa?c#ob{>XmrZo$P)0q!EIU>Z-eWp>ELe9BeZ*Ggr?eE z?7_nCO5pk{;%oeOIPK@%c$zkUS@{)hv8Ng?6B_CY%4$QM(p+wQqGJ>a`_QrB)Q<5}eE&)OHOf5X-wY9l2)H;3pm@%w$%nSn=o zGymn8wDz*KO``M&)BnqK*6K{cSs#bJI>Kp@IXnCl@|C8epZ$^Y-n383zlAawT=^$o zyEf*x1nb4Fm+oXp{J8F`g7@Weufg` zRiskgn>x4ck2!54djzJ|lae>}cds-LSDu3JhsL@gR49onshQ_IA|-9q2_G02S6=6w zY~fLFIg`yU4&$w@XfCrYJQ;kzf@}k>tK-Ar#J)D`IN{Q;IVU!;ddh|Ynr|&? z_bYcS&B!GuyDDxjyI(AI=$~S;-m3Coxs}=@R-?jx(o#Jv;J%HtnWYj7Oq@c0+44LI zx_`&ct1GQpf}P4pKj}qdyCto}zuWp)bA1tUGhx&<53RY2%Ka0Bmwz{IIeNb~*b_v!X8T4uFjO2$}`c_%;?*9I=&ss-&o)>Zymbp-z z^T^SvDA&6tAAh->8Tb_9l#Fs?sh4`|t{ z6gVLtP~uha-009oNu7onYGLR}QzHG6zcR3`%ccJ5TUe*E?q`t&^|skebJe!oZepfpbFgtw^?4SO?;(e}t_1y4!iUh?ka!VCAhd?0i4hMa{?k@` z5`8XIYW)$qpu8U3kGz7yo@m|rFRf%1hD}K@+8(0?W@79_zg?P*o7xt&Di$%f( z6UfuS*L2N%K}pKHtO1vMCj7_~UvR~0%CV_;cXC#8yW~ji3raxy~Rx*=d#NEikZuDeGGuWUq3ZXl4!lw{V*-(bd4W6${J* zRZnEY@!r++VsF-SZW^J|#&qLxm-xoe)XL16E+_K_MBn|sd!@~HFM%34p(`!c7E(*{ zrbD#vZ0}`xy&|#IrsS+KL|xvPW_5Ah%0~!s!%p16{6tDboMJVU+E-PwLQ_=&slsmj zB-(@)=ORYu^lAgZgCemi`9@O9bMv+L`0uDgLL;^QIi)9~TO_8w;}Lfx>-d|JcTOEw z6a61kzc=M%YEC^ueI`~m(e{nwdCR;{Btm(q$63M!#yp$$Hui^GPik4G_lgM57l+AdCPmR)P>R3H$n3vIN}HwsQ5DSzV9qg_d4o-(aC1sDI4udUx^%y zr=3jW8k?!(QCX|HX3EzIPdj|=NZU$u(v$Jwh0CZrZ}f8~5TE9}+LbxCm%it>x`bFa64{LIK9Ry?a z>RD-fBo_U&!VmeDtRY<~wFHE(nS$3gEe}&Q=Ak@+?Teh2KfCOU=o{MJJh>Gsr=qi&(2Ql~h4Dws3mSYDB-lAY+oQD+-E7lS_=*TWEE_ZdiNRetz=s$rPrzSs`DPgZl8s%Ty2s0#} zIwRa)q@G>r^yoWwO|GxHw+ExE(Q%1R@we-q^}3i#YF}_$Q*}4G7$@<$uFuV<949ab zu~bS@VCj4RRim|3@-7e!otIZ*!C~?H(mdGRq~B@layFKsr?Ete!8CSAUsoRJ8m`|4H({GyKtmwQ=~aVcCEs9)wxOkE87jiY6 zni)m=F_F9_JHnTeM_iTliKm~pX+{4BXr=9uj1gr#9&^QlFG)HL}!e9%Z;|D&@p0Uos|jn;(^ z<+aMkK5J9xu$Kv5dqismiFYme@9MTZ1~cT^J&w)zFzu$eo{=uOOM|WQAM|%HpCNVM zitWdDo`D1OIEEpszt6GK% z*w3l{b+wj6!Tl++eLNr9$2^k2ZiJs|L_WnSxqVM1V@z!O=s3Q8s>vu5`Gmac_>0%#P-s)|G&_7n{hFuNMPc=U;Z3iDpJ@8 zX|7{*OV>X;(pJ8O?)b8Hnssq)mWF;5ml!(>uH)_b6sJ8II$(e_y*3a z((pT~YAP@Ay=&`lf^$B3nL&9!6MYTt)t8Z(WPA$0{EyTea)%`f)ywUBUEM~=cK=Pa zhka1gZmZzPm3GUlw~~)ilE+~>WJcmlx8z++?z>_OdeT~o&T52-&uCR~Wo|~NC-Rz? zr9*W5aZ-lb*@Y3&UgDJgHO5vIx|}6o3i)jrSR=KOzSd%$Uf)r6cAl-Z^4nS-uFw7B zVWCoK%e`ay0ed(YZIb857I@#5k_CGFj^|-%zZxBskDyUJ(XZjrFJm8=gsBT7jQGVv zQNe2&xhgwX^Vk)HwG}<1hEd|nRye&`dv|5Ug(Jj>YQuP2%p-F zc>2crCxvNyn5(ZTzScKgYwKZwQu4ZH*@LxZ@XN|XE;^1wNNmpeQ~!x(Ykv62loVZC zw%Q}#TdT|F(aOD*>>zR-(DK+Eix<_A+--0yEHJ@E@5PsA9X9xEJ5J> z&Va`m%ThxdB}<@+HKh6<_{6`runFV-cN8@D7EqoqXbpDgIERK~cULsmmQ9Q3N3p+X z8`$+PeB{zsV_WwnFMShD^CxI-XN)I4F}B*8mZ-x9-%S`Rxz!Mhl|@jNnL&dTJQTao znG{G^lc4mweX=PqeaX}KZpC9#@~TRtl=mVu$}0|*LFQ>vZ|AnX><+SH`$&!zWUX_~dtirdm$uiGMvhq#Zms5?)#@ zWoMj$ZYCb?UEP}Qx6gyekmO|B$l(SgQ!{AvCLX*DLGCKLm#;P z2;SzUcF6dy8eR2enj2fmH`L*I&1pB^aQmkq!0S1s!sF^6mpkxXY71QUAZW)w6v>*S z^-k~ZtHVpAWmFgOee`PZJ<|GUm7b~Qoy%w)GM(>DAIEQ!E0o+2xxeJ; zlIX9~mWD~F(JAl0&Y)(2*-2s~bhLM8?Z4#jjw*pYfbM-K-D{E1izv5(&Mh03N}4o2ckL$ISh!xs z4$R%vF+xWtmM1%HJY-*lj-Snswk&tKj`cFUyEeC>_QTNdqBNB>rL#QP{U6*%LhkuHu)aP6qg)f-bARG6RD}jwGWtFq*6yv3v z1nSvzhnAioqY5%>xWn3R(WeG>Vg9P)nu=8$^#N)Pr~b(D(PR7<$ynV~-i1nnH})8% z%h{b}Tc-8j;c!3yRT*YQQ~8>@f|9#QbLckz{i|otQ_P7-Oq|e>3-?m_jrl*qL+nZL z2;_g36Bs42lqZ}~P(a!SG<3q6>0D1~qb;sV_A$>lRsP%FobKmZ67Tz!f(|M^HX#>nQ<-#|`Rl|vW?jzo40`K= zXKeJ#&T4V2Drt1kc-T5)9V?7l(&E}0tQzmX=e^-_g?vda139TEr%laS*)*Mlv*FP{ z$@AHi^)fv|@@I|U26fF!3{G}7uJ1W(!_~A0St9$!8|F7b3utrRtl;9n7x4D^$Zc@* zzw0l;Pbp@7W-~4pyrE=>gS{W>9c50vc79eJC3wU-fF@?8-4>zME(b2)d&6lzu~Fk^ zI$q5W0+UgK!Mbc^zVi0arIK%;v?hhS3a|1X%ROohbH-xnC|!3FQkG!E%9edxnu1{C z3egqYT^#j$F)PlD&!Qi${0S|0j!*Egc!jcJ%%!eRvInJ4yWkyH#2PVR<4xXOr>?Kw zi$1uhN8i938lN;4-4R}44Gl2gWqbpjTd`ablg#VQwLi1+l3 zLREiH)7b2>dI{uJM?;NS)HrLM)ZoyTh7*_<*KQy-{N!s9TIoHjq9q#U7jGDurmx_g z9+J3EtuJmS@8WOdlhH_-{44ME8>&+sZTQMu1n%TGb{%z&1AjlQj=NicwNiXtz&}&F z%aJ3T+M6o&RWB~69aq0Bi&IP0Uh*dwwt}KfKnfO9QrunuQ)ULww#{NJ# z+(YZ=Jv&(tkW*vwHZP&Zze1O7sNG3jE$T%uG2Qzcv`)vJK)DLBBIwt`y^Dh`gu8(Z zqeEK+4#FoHq~lf5sD?L?-Xml@SUe>r(k{^7tN!wjj@0?5k@xc`JscG2JL_KG{OW2( z%4YeBX~XuSp|?6Z+*q)&JL#Kjx+8n^63FuoD?B+^!Kr4e<@BJ3vgA$~Bt9v|mGxR8FiLpfy?=L!j!8Eho7xmV81( zUQP8P@2A=VNMp*=xTorxSXYngdYR@S9R|F;)QghvcS~LsD^cUhd-_M%4_ZSBWIVbx z*=O$~ZVVuXjMcTUWPaoMo&w$I2;ScKL}|s<7@eC>eIEyzH&(yKXZHBS{;5{t;RsJ( z#@nu4*9g=9Av`0iHIh9g^)R_%mnU}q)b%srB=%m{?oB>kA|xJKfSsh)qZ&(3Xa zxpdzy&ky^PgSD0yJZ4q>vu)@Y9g`E|IX)*mNcVKEj*X_?(-)Kl!*vgt(lc+o24#1s zCNFwc2^$=XH3!*i#J-(&^!IfmyIm=?#JTbC8bQH$0OW zC2JwAvAWT|5e`E?Qi3gl6%|!=OGLxCPSfc~87`)lRtGMGb7tj5J*@sL|C~GJ9Q_ZR z95H7Gq<7Zdl~ai;qhiLL`7hdgY|crMyaIcn;E3o)r7t{#ic9?engEvYf~&~AGtq-| z;FR3zC4~lSo{Z5V6UKPn2Q(ZopCzBWDR05rS-~kZ;*?x>Y3Xd4x>NUWr@=R}dh`44 zfAHOZz)K~MX-XQ~*q-Q+);lSWi55IC51T8k!I}Sx3e}7Bcp`mPTi($3iZ&y8Yjo|p zL@I!sGp7%KEYgxau6uQ1q?DfJ|K%n@A?8o9bBlr^QO1p0u6~I2GnYyovJUGX|3@}9 zl=G-X{?N?)Z-lzF-j~0_ABv7jt?GQa))NJc*^5ijD!d|^TusRTRO{}KiWt38uY`UQ zovRwibp=#{edi~Qsyog7PRq)V`Q{+L))x8M6q*z`l6{rA8Hqsa`)EJYdP(Mk4kf3C zFKz-ITo&osnmskK-5yOmu+==>Z)y%);>sRI>214jiEkLVoqu>aLM;}WDQzxcj& zjUiTU|73gT<p}(8;}A+-$50k+kQaWFJ)s&~Nx*0u9N{jmyM6ys`_%=J7_*n^ zK`C9unqG~^DpBVfOYdG%3(Zp++<%WAVF?Wv$QvDTa-jOc2*ECs1*Q{f4@m^$WxVj0BK1M!1 zO2DJ?U431cdO~DX%?%w5jOfxnb}>@$p82RLab`rC$d{B+^p%ts5OG64zd zX-6kXd4s!DI8HswXzNguIYsJlxGfQ6CA6ky{D6+cM)YpA<#{+Y+j=}XjC{n3_VGPg zkA2L`8fjJH);c(X_n2@^@;Oj6Fliqbc7VOk+?cFu!v2Yds9V9W zi5-j?x@}^uj<0ikRdjUCseHM=Nuc6~d$5w5DlR$Gh7+8#7(=OsL%Ikj15bozAs=FM zy;{w?ap)xaQo1Hu(eC6E=F)lJ$)onMl=7cPHt-o&ICA&cRTh>p+`x;H`^NImlHzZM zu5lr4MB3C1)RGIi()WnT35?O!b(eZuXgMji1mltHr{Ln|){eCF3ijjCS-}W0n-%ym z8P#?b^VHd|nYTJ)NwcPCoB}6&h*W%2y}yw^)D-zo628}#ut~av?jb$L0&TSXL)mzx z_)K=-Xd2M@@OVyLs%O`%@N`M@iljsTRCUA2=sW!4l-v&ao~ETaU6-+rDQP04(E1}| zm?u(Nm*zW-t@dkv5&xdZO{NQj2=6C;v)r--QbIX;wjOX(0SeYT+_|}Y0vJe(LZ559 z@vOi%j)dmudb=n%pzv4p^dG?mseRR7NL`$8idbq8(kHQT`tIeuSMC4McWo2r*+30h z-#ntcQ;FbR61g}uPS+s3W=QV>`x-tR7ra>f3VpD8L!d?VK+&GO$-TETmr`NPM82IH zu$lxHTk+5++GV?PuRUvW7pTc>OKtVl0gaL=F|hh%rkZ?Rz`aRkzM z{~?>PPPBSSQu@s$(Ft+c>F#I?W3l&pRAHx%T#rQlJUrzPb%AL;l4{yOM=9DVy6y7=DEn>J{QANNQ7{W{81cK>fihKE$5 zZFA&Zpj*(&ER~hg0Kz;P_uPcsXQuj=`ztOEyJv57qI~A-RWN^Nep%478)Fmlb&2Kv zcyNwFXpt@dsL7sAG#7fx-fp&pXP5;jxV!Wk^xt*yKPanFw0Y%Vbn^dLce8(0ZmRs2 z+^apb1hjJk@`h6zHyl?>i|y;%6={MIuamjj*s?uJWyGGRp^Y2V5RJU zW`&9|6v~s5vGuoxUn|U)S}}ImdLNE>jR~~Yr$oEQ-r8k0Gt!nLIO4{KX4&%0hW@OW$2z$B zmLxlFD|;2!u9;rP9Gj+I6JqzKI2ByyKE=-%L&1Gu)RN;sqmI#7tms^&XB3sj6BzE! z`a^J0GVr``375=%@3)zsr>sgf-Ss}uRJri8lAl;6m!{sXyA%B|t)XPl3kSYaT0rem&r&zy&AS8+Lh(i-<Dv)f@uMvoUPRmY+=uuqz6E&L2V9iM=b{$3o|#MRuC}!-|@q`9^TSSG&o* z#B<-YPc_xjv%H#qhR`}5E^GKE`?ao(@dbLdSmp8IB8Oltbo#^_$7JsewTVV42;q{+Tnm#V~}MRsnodJ}(7{)5ShQeVKf(jhdE)VdE78E!cOc+7U=ao5** zb^UYborvFc@>HKWzw<5a6nB2ptzoRxeO%;B-hsHkA8LNAxTdm4?fa6-)dWjUqo}W`hYr>Ou>vFvcZ@t8%&(zlHV8-Q({a&X-R_Wls1cRGRNFOM zy`36pTiW>|U*zsF-Ix;2Pwwg*EL(l0-w!*qGldPCn1O6qVGD4r4_%*cBJ;>nx9`3A z(1SPN>@ze6J_?sug_of3#1#f_i~nxfMR=9G)B8&f3y444+h8T41J?OSvFyf}CYlU* z`UlMQe~|kZT!ddj)STR}@)tV9u9df!Om^A0UlI)UCw2UG=KjJ4;V%sVs$DZmbRhNn zRkFb!hI8+;_Ge!ioShd&YC8z`@eew6(momUY-TOOp>-uao9Xuxl)iyW&{yi&&_{gt zzZC}gc*J@XyMi`3HO-{;PfqlG1;t(hb5nq=i7v2*d3J&Qy5t<}`ofL>w}y>#>h7~| zg3kw0iUw|E;Nz-1S0)UJfu!TwQIn5qnJ9s$UMj2!cF(6DYiXJ);GH7lBFg=}i^Ym2 z^G4(H971`#y@GnN7Y5OzNb`bFz-?1NXAMYkYg0UoyoY6_)DIRr2O4#as?aqPBOgNj zM$P3n=`y<|@22)Wtaxap)PXt|z40jAL2G8!Sxs}%%35|MR{EzX=jzwZtqu@FTkl3w z&%TCY&7-3pIn<6lc*ZZ0mb5SfXbY|;Zzp-OOOAT0?L?@+I=vh^YCc+A+!8pght`eP zgaBT3)fYD8&cJ zXHPhK?;44Hq2`&Rq9-M$F>O7qT5NLlK1!1wC9rNgVZHVG(KSP%zok2d(=-HIia%@U65?wy-~{$H9Hb?h?5-b+#^*XHPwbJ-+y! z9-l~=%9puXCOKn*w;QUlSbRS*&Y4Ben7F7nF17LJAU3~0lzBiO|n5(}b zam8&xE1s|GiZSqj1Mj|RU1ojKiP1q#-?BmCd$h(@yTojr%h{ff{R0C+f&U2=hmZC& zCjVNwFl%;RVz~gZI^$0jw_39xF^YOBh4Nb_V?y)+IIYKE9#`YEwg-k@OH}8cOi5+e zcF~$ye@}-#6faya)K7DG<++u#kA^=!j_uMCr7_jbd7I!r>Mn4kKt-mevf;Ydt7RmU zm00o5HBY?ao6{)I(0LhtWbO;DV`ZN4Yw;D{nQ+i`!4#Z+6TU1YK)%O_8S?RALi-u` z0Rrr8;(bG{%JskMudNooDt|IOXV3jMlg^)R%el3N&9ce%}=zZSc#hiF4uT1 zg9V-&G$-~>%?SLj#}7!|l;HCf%zgL3t}Ea_Zd3<1r}AZD?v<3KDQF+JON4@IPmQ>} zD@`BxK#S3pnmm(|sbL+O$d$^pYqUn7_Yt2I!LA@CbAI7dtc3TZU=!**551%v@L^u@ z-B)-CG7yTjq;_OCa|bwFuF=7Xw6bfc*$dz;ILySdrvzoKC~u-GH1$39UE~7}DbeF@ zhU~(Z_Xmr2LM;r9#%pcfSY2!Tkaz9WyV~a8c%09kuwDc|WnW%AqxcSqXuVoCfZ(|zNVJ$#)Qk?mBpL@WToQNu!) zNGop)qaGg6`Qb!%{#)x$;WCYrAG;;OT3T`7zbvU$=^wrg-VdWOt%-p(hN!~c&!%}p z;t2jX*8UXQ%jG1E>cY!BcXiG1&t1cgp~l!e>vSzkyf>q_xx9?ujiK+nb#%)TXbEzi zku$K-3M1@A>iW}C_S~vWYLk&)%?D37AItcF@l#Z2Jms$o&VWxY3iy&27o6+n3pfbw zPtnTB`*9dE;woT&MLkX}UaqC^7I>{~ene}`Hr`sR6C(X;&MsOV&PK zb0%{HOSSyn1f|cl{o%&>3{7-@{*Kg@361a4QbKVm)SIA}a&p!e#Q0)Mdy(}<=)6k) zH%@J_1o5=;PpK`j`bkahzQw8n5J$FF+~?Ms$cjTTz9U+h`%w{xhg6MJ*4LuwWXA> zP~k#qxc^3-XKHOx3$3jU2mSrgeJxDF3{EX8V2lqeH`b?8{_2{d4@nIzFKIl9GU=B) zn3!MCrsRZK?Icdec+1KVt$_bbhm#Ui5DvOaI7Y+jNEtK8!Wld-kgph^o6zqu~_e^i|ZoD{{b0Qj z%+#G3he|){*sJI<=+YcXIfZdpuZ}~Djs_l0l?rzno523q9bc$Bpw+XXfuTpBxLmRi zd-}q2^L{gjl}OI?C0fSbNz>$S`0yf^o;vy*OLA+3TyP(pMjg-jvxpZ*b}qX=`xb2rhQ%Xk1J$s$u#z!`_LEw}4i& z&}9FLQGZ9aos_tAib>)1xqPMU875`pnrJf$$3GT2yI;?((Awob*_|h86jmu`B~1-f zL9a5f_|~w?QfCrru%Oj*osY%Y>!u#h;v4vG+lqhE+N5=?J8d>UBVKq7{nhrsFL`L9 z(y5-i$ZJshl%6$vU1P3D{vdp1TeO}M7~@iJj@Gbyq4(t6^P#T`pON^h zHfM#E`rc|C+5^`mOc##aLqqn%F)x)azeMOSlm276kZZbjq`YsozrwSdzTj0Yx9Yi^ziL>Zi9UDB^rfN#CBl_>ZiRYab?);DHUs;s@c*O4!oBL+o!5Gtc zmHa9x*BUJ|th-lFZ}@6F6zAJEV{%3lkxKnGeK*dGJ}51#{^QP?s30wL5pSs~+GM+B z2G4jl_&S=4m74~mbL~h)@U z;Hwukv+`={6d-YyhVZNw_j7y;=m)J@S2LPJ%T>#aQ8=1?88pvnI58Kr#aRdec#yOD=Sl=aCxj9^2QlH z#wOuEb-u-Va8%;X1}g_ms-2op-mOA>?^kz4BT4+1@D~&@r_#E4L5Y(v-00^dZsKp! zv=PWY@fr6}E`hTjIwh;M|8!YlUz6OlL|_+~g7;hI!|0l3Z7+3m16BS>ZPoHMym?yY z!C1AHELx&C zyB4V`|1P18lAwH3u6+{1*T1}`?pxtHH>_b;Q$6+0M!*`IxZ#1fup9IU7q+^c(7*27SF?bB*vq#ndrVQo2}tvtpcTeT!{iOUtO7 zmV!4paJlB{B_d%)Pfj783dOIC-(y{!s1+WU)Wp<3pJzOv!!FEVURRy%W9N@CFm(M> z67w7KvvtWg$P;q`p8p0WOAn-4LXY#Y>9N!C4XqZPK!|Tw&ncf%a1ZHmN^V`u|DYMM z-~!h>XU1lk>m(=sUEmj&2k?U=cX{Hw&Dtn!tK8q#+`GzFp@GAiZ`#9`hec<(PBlh) zUNJ|-KSCGQr*~6cM4HymB9iSM9axir-$=HA!NX^;zaWL~W zleHD$4L291efW2HUP?}_me7j%av!&R2>&rIz9zBKs-4u~Ka~S{V*_;RAav^1@R-o+ zc4kgaGTdpH?we%|OYjF+>_bL7u{SB{o`*2ozqb?I=PxrQzCU$+kMe9c+XTirOBUVk z9a;5K2z^0p&n)&2RXkx%EbeMwsY_`?{|lk3q?B((Kg%obxLxRu`lui5Cc!Nzn~@Wu2tHak0?D_|i|WYQDAdlmz?oagQVY9+Kj zz3NlX>crpVTb3vf?M>{+e=*Gg&ju2-v*1mTF^xF6E7jou7&o9dZm(}EC8a?VC+1mT zxK8l^8c#fgrE#w3ZfQTRYAAPva>_|B?ryFvnpb2`tDB-5y=8vKnISplIVr7goSM_F z8ojSdpyEZbj@}WZ??v5?Ru4>_qA9YbI0dY&nHd^FOYHRT1N)h{V>NTI*dw>`PIS++v2~vHW{gYNId8~RPbBnbDiFc%(huM zup}?isJqc04>|4^3L2)NMdT8ZKABLPRa3#0%*!qbaQhZV{*?toHKp>;5-tb&i_He-tQk7Hd0F*qNnWaI{>RLw< zGIoqV=KN#-7QH6PINfH)g@(H6>HED4v@T@7h|cj+%H^PCdWBzs!Wss=Vc<@g|1w&{ zKdYJZwtnja$7$en`P*qbPD5I-2;>|3K)eocyFMaKc9AZ#44g~XG8T< z+%^WEb1aP4U9M86WRnB1E@-NoDTQ3a%WkU5Dd`s-6^dlv>&Lz!4!E(wme`%#1C*VA z22;Cv18Z(*MtP#qrDjIMjZM-RXG70FtHt*t7=uNJ$z^Pe zWoj;Z&0Hdy$zbfL>wZPi4D<OV;)WqywIVbY`{gcvQ^V77TZB(^%2p|6#ZNkQ(i^PT zvBof{Keg*kT62>M*TCZ6cau**`D&j)u6R=J^UK{i^B**QHpQ|cvP-r{EEJn&W||}u zr%v3}-g+wOlCYbY_TC(2SCO$KJ|H2O84f#ODjETyZR6eYerJ?{-AyaqtSym4$ibg8 zDqSvQ7V2>IpH&0=g5$ntL%w`R${y^h8_ZpaE!HMe;9p1nfd_$$Qz!2Dx|a{vJO`9( zRkSd29hAz1llcM_I_(r*lM8piW>z)h=G2ELc`hCEXayrp@@eOv7W!Y9T0~YPR&*Wh zjoZuxpu70uGqOx{j&UD-+BJ5wvW%pxcc09g*&X87IIQ&*e2Tn%Uv@Zzty%tp)J=>U5rjIXp+f=q=wNso2H?Wu~`vZrF64M@qC-3=fA z3~gF}EhKN|Y3T)`GJfE{s2LF?t17m8IV&38Q7In*muReuOBqv7JT3Vi8sWFV1mOMYva@#x< zkDObwKk){(3TyE;Y9yQYG_YbK&=Xxn~D&GFz5!a5me6#R69k3onzeoPID-WKJpn9Uh)W--37) z`=@HWE?q}P!LsK!V7GBPX3fnx5WU>TY_@ulnq2~~-juo1&W-s4Uu(I2pYoOvEBPG_ zLZJ@6oIBHFppS_glYGtjJ$t9n6P$iR6T_dje|n+~T8a)Mt=#`7vTQVAED;Vgu4z_b zOAn*IvWYh?#U7Sex&IpX%BV-(HIw#qj#{De&eY>(t5;~e84EmON-D})@QTX|>~xf5 zI3>Su&P3X2KkvSq@(RSo=hWVk_L`S9EFE)A-dswU8_m)jf!!i`B0D>pV}pM0U0kmU3+PPSd`3pg=MvD zre|>MJK;^oM)!8Nvbr$OVJxr?^FC%EggWYPue)>qQsFaW>8i_ohh=n-cK=k|gzluL zF|oW$yXzE^>g9}Gsm}g?f)87hqZ#D3Q7kI$zRF{!j+S}Zw% z#*dj*+|MSf5A+2+>gHKb^SsVK6`D#v__XxDf~{nQFDzV+dpNBFnmO#h5{bl3kEh}v zS^G=Q4_#MzCe&+|#(9l&>}Y~BTHCCv!#TTzm=C ze0o}B7qsnxP5M(_v59qOf=o*Ho@lFmq|{-#DZM_evPd<}?H47M_-Ej}mVrX-?6D$y zJp}fwd9fvFXy3x~qFY3sxo&9t!HSxkJIyCaU+xf}c8f&v)hfGd0)F%fk8WmW4DAk- zQJix&RJfhIj|e@LL(4Sao%957b^Ej~XBTX04AjL!3)f*mi5rT(h0|6(kz&?PcsK2S zioVnxulqkc`W>^$iFtXUorG0kQ{1sigc;^JouK&b)3i4PTLg!PUB*(bNSX_oI!7ysFkyrNu+;m;O(!YPt)RO z3N_W>TuJjtrAN!$5zURKN1nIyXwz|pZ`F>-RMJY4R&sEC@?UAL-whj|!*v~UCewy3 z6X)qXngf|pVN0!yORJ_Q_lqQ`C((Ycy_zUzU%mBCx}?kE$L(N<{u&(j*V}uE)-slV zVa_LJX4zUPr*WNsj$g;0e7oS|7I`yI(n*D~lF>`x^fS?R*wZ#Mdy+1l`x6z|v7HZ^ z4K-Kkn&?O@3aA^P=0iKLj+WGNE_jyh|IT;T+{sv7J9T*;$lR%AdJ+2JcYiP26V@}O zN@pN<)%-EEEAstR;oBzM?U8>iSP-n%{9T&+L4q_81&dpN z_nIyF@U2;LztHD|TNT(>b}bro*Bm$1@Z{u9<Ekk~&Y}ZroaVpIWIUy;nis%$3n@wZCZ2&w+QK25v*3Fz@(m{cXM>*aFjc ze4RtX!gnF#Sm;`obIiNT#d>D9bXFhVaq6%vIm4t31z4s~`;}O6XhYuf&P}10BfBXZ zU*b#26hBHbL#VGt*}|vH^muQ9Qja;$io~k@Nc?Q-wO~z~P-fB_-)pVQ9YNZpjfK~h zJsOdhR}U`hQy120*~6snMh{3nvL9!iKf3g<8Tviypo6B!{~&x%VhZvl*T=L4Bl2{g z6SrM$0!Z;Q4qM{;h_dX;Jsw|E#TOX3d`F=Fvo((5uHGx_qv`$|6z*)dPDVrPkm5_N zNi`p2w02Bax{Z6nXG(s!tKn}R>ED#)%`)h184=1zPDABR>-@(#gMSt7{T_oK47f(OiMt^kW~w>-q7A zl6|Y?)B@gL*Quz7rd?6>r-UzyjtTxv8zi08^!u^Wj*jZe%W>d@PU zi{bZ`6^}$m5$~< z*AfZ+y0D42NcR5#`6KnM_nxYPBKgMP0jPEgCHM(_BBLWYTSahu{=L>mv03?Tpzme%Q&NPGie@c_jZe ziRXn&)Z?LB^o|6b!uXj|FgCN11@d{e=#Ru-a86bZXY8x@OzcG6H;|<3GhM6F{l=AFN-5}07#Qm{|g{jzfQ zPHLyW^W`hPewD1|NN!-s =Sg`r!a4g@y(pCbl;l2Jq6u?CVp*`M&`F2>5bS@s6>Wb`F_We=sQ#{AkFOPK zx?zb@zQAd4!<)SQ|Kpa&xHo$)#eRKEdo7LyoKQ$2;4!rbb z9C!W|CgwWYyUO!>h>^5YtLyh6bV&pb!pW?e7SD<~!oTWF+VuskQGSJ%w+1{imgB0< z35T8t?Q194+Nt?@OLVClm!EHanmaAj*#?g0n(SJXI+cq`dSWi~bVje}i{NDEY7evZ zMvWNpc_ZQEObFz+_ zt^4vRwmylGe;8uMJ^HzSYvdY67CL9;K6}k#4jbF)Cf^sd+@Lb~3Vv9O9lON)O5ZeD zk>t)Y+6hG%|flxC9qOU{TPS2x|*?8PT~fre=v9~a5z~II8$aQaPP-MZvU@}gq{M^ zzdQ1JQ)X$ahnE9!;c_>gjD7|6#HXF&uEI$fGxW+Br%Qn~MhixvP@|CE2>?zP$wLiK z_lC?CQpZ!fjYwXR!|raWuWFyX%kt9uzUHT=%H3GHjr83ucKF2B7F-RFaUw#&=hW}< zY+wEqO3=k~JzO)#+8tMvv`vNV)xc5-%Ki4L8R#%Vlponl4T+7{t2}N!riAOzWb85` z_rIK1q?b^H`R}^jRW~o0SNLd2i(*d8Qj?{h)|dR_#QHAuF|IraGVmLDe}R?-X01J( zh^bn|?#}rbdDpd!x&(}E4OR)0LlW8Eq8V62h(OL64XVX2%Vaj8! zTwu9Qe;Hh&Q!Dnu;@e-RL*kA2$zyZgxmCsar&mj=PqfClC}}~bkDQ04)zfLiIbTP7 zv}9uG^nzP7hcFrrd=yE=m(ngS)|i&GFTCgt%$7HaQ*WjC&t#sQt8Gl99njZ=3*3KK z)Omkgah<>D1P9hgn}bz5~wa z*}(aio>`8>pQq_IDU$7x9ii`pg3cq^|3DW>nZ5*F4KNAutpBw_4qnL3g{x1?Ep!C> znT>tA_(?4v8@&Ed%eI0&7CK&|VR`WB&cX@s5l*d3yzcb<1G%11^Q3(- zI&Ylt0I}oj)mmP}PoLjSQV&_%c#VYLx3Of~)610YMUv$l;P*@CLq(0teQv?Xw5I3~ z+)N*J#9?NcK8|=&Uxq|tPm6X`ywBvWUb4kMebs`>nAM}G_d1C?7wTv0k!Pps=ADng z&!xh3;HB@{w=_{2+O2ieU6#No{r@lTAK(zB}8$#Y2cw||^NNRO(pgOcnU1t%2*#wOSXyW#dZ0HVH!jW% zHKGJR6+IXjpZ`mEltUb`=R`||KDblFA{VFRS5&kgn@diBTrAp8!+_(iU+@nl(oWUi z@2g%&Ypl%tPG$y4E$8L*fzGG!#-F8~j1D4G>KaO|^D;{5x%LEVR=tgc-fs!Ue&01& zvg=s-mGv3plX61aQ|QU-YV*6@C@p6c=3fFGpY@Hd+3V2PCa2o0QzSl!gj0yfDZk0= zr7=Kjg9}ri(|+V5@@tGwd3y8{NlL%_miYWN0{4*H%CZ5DV9GVJ>Iw5T{>PLNxrdLrt4z2D#OKPe9 zjyH)u6j~Ds5Lec5xA3YlDRsMUyTQqEV!Htm$5~eRIlVzOUJGaTQSrIxx%X1HqoqIW z!tAZCo#3>rV6{!x8cCy7Nvxik$NX_Rx3dyUBX7l9M#rQMRvw9Ci`!t}Vy2`X#k((r zmZ=WV6J5kUaLq%4u|@h|_1Fq`S66LD&*C}JH+s_EYcHt8wx-8lAAO>b*(XGT8wliPb@ZK=1b=Rv8lzBlL} z!?E{xAMG9p?c(jMGicd97~cyIbXirVIYIJbPA9o`>2Ubx>BL#lQI_PxxUS;TrAIm( zpv?L*&LjW3ZRRAaSdG^hjKI2oY2%l(^NoH&A+-l>*reN0(Sw4c-cOw7ap&_S%${ux zmHfrGq$1qyZr5THh;pw#S2cmhG>$-l|5eCtRrLe3b;B+m93FYB>}ThZj5=NSG*oe> zotxTN)72L`kwSaYH?LUH+a;Qs6Lp(Ruf0aJ zujca&jKeNP5@0As_x<0TNfyDoEIaWh6osU=k%KS}Ef#gwK%2){*0#9Pu*Mtp`n@r4i(hy)cg&sib z-%IRQ70YwWpnJ^uzV^V*QcG8=Uo;=ie-w3!nBZYMe^>SRatXNv4hOUG)Amu*8XD^>Oh#>D&pZ zjbdpT52oI6Bow7=U%~-3##biiu%Z0|RSC`cZra@Pd1CD=*0*ac`my_{<(m-+12qO~ zK3yYnh`UMKF02pWZt$L2_Eb){qR+Hc%0DsAX)0J_llLs_OsfrsLT)O-c6|}2Fn*uT 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 z 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 *Xr|&S2B_`Im!46 zDYzA_*@7;OcJxVIQc~qUCEj`EBzTzRS?`o1)Ev5tJ!gpa8WY80^B=+DJcItV>v|*H zBMJ@O>y?wv8IMS9^Usakk#Ln@cg(MJ`ZuNS5G_(CRSpvU%!C;x(rNriOXm)7|6KP@ zXb$mz7?7`9&my%`qJ$BrdIEWq7PMTAv{vd95sWnDCjRr|b#7NQ;%^eX&GwS|-;f%C zZx_y}rD)f9q^1ipbaqtWLp7WyzC|e*U1KveCpH$RmmR4Jb(I;x+uN{@zL=AB!ha$6 zUz2AE>0CM5CS=|mD0_$nV;Cjrk7`VA^4}K7{>T|fL91+5Y2*lOt&6qF+T|CuNuDQi zgX>YEqYUO5c;^f1 z#%SS@`U$SB)KBuZIdXeh>jr8axflH=hlJXX4Y|T~2rDN3v;vdow7ySU zCV4BtuH#gOruxErdgVOiO2Zr^gz>Zm+=iJtoZV5dVVQO`TKPV zJJwa>QkTay76_lEC+VDLsMUw%ze{F(9zDyVc1Y=(35r7XWy*H6U4R~Lmwc!M^$#-N zX|!mPI!p6yTI@N0$29A2t6kNN%_&lX;^dzBRhs`jOSsFBvD?hok@LUYV?_?t`Sh`7 z)s#uvjjIyT()L<+FDBeRQ>e%Y=KNZ|amX_({9?bExiu|C2E=hcDfueWBfCMLt(n(x zZSWb!@Tn;yr5TOmMF|9_Y9pD>Ms~zvxkk`Qrd)QMb zSshwakf%lDwQV!BEqHVEENY-PJP%Y&S$leQ9x@$~`cw_}E8Vv53J0flT<5wuxEIOK z&=G3Jzr@>;R`@TSo5F*|rTgivd2I9^zg*udSdmMk<)NRV^bfEHIN-EW;ZI5UoSa*U zMbFC+*LA7ybtsJkR<`#lb0$1utduvjx~R13QqgC}skmPr=Gg27)-}~VC&^BP<<(E2 zcSB6VaGhrI%^q<|etooTbqeN5EuyZiW5%6!a6#57aOM@bw9ldqQt#9jYj!5ZvwQ;t z4yEI8#-aSZwq)K6PbXOdzl&Or)l}UUdb*YE_x02=5N{(RKN9~`duDhpa`4O|!R6=N zl{^nL2boH8p{RL*G_P(M{aV|pntX3F&LA`P79Vengk#4}57Mu&UyP2g-r=tBY^~(H zH7Iy9yyHY8PVEp#-*$&hC>n1S{7LN|j;;s@rNiP*SY3nGMM)Y$0fA6M;`x*R7f=kq(96CR%(JOe% zL}Iw8pNyNuBH$x;=fsSyaQz?aqKc8ZtHsV5el4^8>cG)h%qD~?wDo@go_`&9CO9o} zob-Mi7#57j7sobAy13p=Zj_ScX@%)P917=p*1@APEWtUNiUS412o_w7tnyA6?&8$( z)L7EoxiAO)m-h+0v9nLf3Cowl6=q)GJ@vdUS$Thz_`j>&RV1so$G}VS7=6M2xF36o zRXFVG;Z9*y;+<(>)Qm_S)pR=~+fcSIg{Kt#4c+(3^K7IcG=HI&5sZq$980L^S$tzx z;a{f2GFe-dr%LWGdPwtBUvZqT+) zeBQziw1wj2sJuB;ob{@|X!)fMsL3v3<~RItmk*G)y_R6nM$qvg@4?B%FH7kft9^qi z^bS(v1>w6m1vDo`n{sF{chy2TE|3QT0slDPS@GX#mC8xCAEP1Tkr-LUHwVeZDI-x_ zx!(LI+=O_>RB#r*rls!+PME7i?^I?dFlQ97qMP>Mja{FHvl@%rkn$&VyEoBpROiMW z7ewWZLCe0*lvG?)b-M|QaeH06`jM0WN7Y#XN>P0ce2`9QUccGh*?K`JBG@39e-%^= zFhEcdlrlgOxPX8l0!qDpv%9nP0U;=gvO#yR$oUy;oO92O zxkGxpwS>(AvuSE{T3xH6UbOIn_}RiO4y&?So=E&jv{DIJ;WEAvuEY$c*4fBQxl-X? z-t(;IQ?u)r^}Ni-4$BSzDC9cWrkzRWe}&Ar!smrT<7!wR9gZzziS6RGXVOZ@Sk8sr zQu-+G=BIw|0FQXyx1_ngZowXO@$h zu@V4c7C@)ZN2?;+X-^5)e;vZ!9isUauxPx#c1l=c zeTaOoO1)^G-)A7T)@itRqq7MvsN=20hsgaTe|zM_d)~hILU-jG(UNDxPEH`>)oh!1 zhMRj4Se{YSEP5TSt-p|~*wI(SJN(4b5V!|8J!0~9rJUs}*KO7Vkvl9&LL2p!&65)k zkxg0_JQznyNZr@%c>L)_w7DyFxQ%P$u3AW6X6y*p2)`M8t+QUIy?@1^-@vvc=cyry zt}z+Y2R9^oB%bx!{tk(Kj-+&nmPU+0Y18?duG^S-(sstMTKO9Gd--t_IHQqz-btI6 z9`kUhUE-U_((wD)w~)e7I zW4d`u82)JJ)qK}dV6;nom?4m~x&*yfe^6A4>s9jY82@1PPa$@tG4IgWxX?UCON4U@uA%oBn|*4$0QZ?y zEy4f!UAjdlvX)k6|4!>N^J2<UY(FPg2e2Pe;a+$v$5fM zHpzkFBq7k?uw3`dq&!$S;7t zuzG{$jZEG%3w&CKXzqmLIcB7Rv%}PfwKCpCYpZ&}l;?Lr-q%rBl-zgdau?;(x7+L? z?`xNTi1e8leuNUnSF`Go)^I=`2NmqLh)2vv9l67QVCeu_t+=Me+nT>v`_qGx%FBv^ zoVEc3--!@dV>(>GyGF+S#4y1r=e=pUAU4jfApW)8Pk>%nrA^Ii$jj-?$g?gOq!e|` z7H%u3AeC379e{N2XPE!mGdA^|ZmHpL##mF*YJ!lnYf}l<$QAD_8cT(a)WF11f-7K7 zEohP7SPU%YpTzF$UWq&XH$ks=LlGK6q0ejSQBzExsH&~w(KlKmM>Yv23GLWj-VTB7qQpeTmI@LgbwIic##M27iC&FJOG1Q`g54 zzcJ)tUI;tRz0JzFGZmu!#{;gWxw!bQ@CMsb}T zo>28v{2@K><12ilt%eX7pfK{pHnNa!%J6hu>DcyyKlMgF|Bi+h~1|Cy|auj*d*+*?qZl zzFTS~zG7Y=rvc#O!St#$?@*+-!}SZ+>2t8u(ZTNE<)nrdp~cWmbj{vWD;D_4(9>N3IjgKERN;-FN$1OMCc^Y}hNr883v*K5 zc0!+|KbO8l8{fEQ=DdAi<{C+#KnIS$z%$!?nl_Piud^8m*R-j*yN(_VH{)$h zlX9M{nC)=#3Yh~F!~Kq^ScW4(7Ib~9_?1vh%YaKY#@qads;;y*>-OwGk9LDUk?t7& z1BrR2e}?&-f1T%j$||NI@m9>uHD8YiU0>2JeDZE)9MIt1U6k5iaaU81-l4f(mq`1t zj#&9It+ck|z)b!Hw4jeRonWF#fp6x*E#mS#Y$R-U`=!n$x$Mouo^S0wd_9 zBAHZ9q?@FvMr+Ng%Kp5nRZv1*(=p`NuKuKYZv1hPl-gVwdMq_CeO~Il?2A1uspH>0 zB@GE(*NJsGuy+_vcVXpuJ2)I1bbX4FMoFv-2!CFtEws3sqiZZZZq@m@P$UQ-S#;y@#i^dn+ zpW4xIMs9xIbo9}Rc+=a1IzCBEOw|ZRl<>YhW%X=0sqN@9oswoQBd6|5OM-jHrp1oV zYV^r>#y-gHto>%M{8ZOBH>c9=-;|`Y!;yO#R2ao}bp4^&AMp_c+KIn^BqPIa+2TE;oie9m=DP%J}hg&$2oQ zr#$4gq#MSY#LOX;n_%kAB4mx!pEY3f+V-Un=VP$!>2gfnLp`BPkmn z(4xFG6Oy;EPBla5$qx}DbF!g2*@=_i9*1@ktgbnyhx;CmTuLkF9xr_p*6 zi``m5k14hb;SEZRPZbhyU~;^cX%Z4m^@wv;XU0s(=)4jlSM&Icirq)}M*DIb*N`LF zR7d`5a>HRHN3Zr7A2&Allr`c0=aLs#xx!sXd~XxXD7nn=J;;zFAx#iGrMK2b9VY)j zOP{iJe&VG>?(DAMOLXd&xcHu<<&j+w*KvN7o>$$&nX;=K@N2CP_stum>#oxyzNEog zX25-FH$DTQtfONmqivOTyV54i*bKL%^JWNj8_SDolfR3up*AtzS-MeTEqBlm{J&;) z;0*OYkXsyhMr5v}&;K`HGAXw0iT&(M9ky1VU2AxIJVQJQ*Z2R}{_g&sNJ8=FzroYS zdf$RZSKw0JOm^=`tGSnP17&+U77dS((UN${aEjdN1#yh2+RVPV9E^QtIZVFUX6EL}NOZ;fS(yl9Sj!&c3;6|rc6t;ApglPBhn)Z3jy{mnhQRB4SJ^9-z2zA2^ z_H-)VRt68(Np8jh()u}kRMtET%Fgr+=T>}*bRmYsG3IIc-R8kx*Ncn&km@m7c2nV% z;2|Hnn;DdK3>Oy7%73NXldC_fPNJ>-j($gzU|`gX3AvwV%bis?O;>s+j!{&f7wu4Z zo3mXorI z6gW!j3BAGBd?eM)rT0YsGQaW$)8kUlK%??@{p5$xhpmS;^zj#!yovPVa*#fmx$|wb z>;&uO7H?=OM~2P3yAduX3XSNP z`aaLfH|cTF`O93npa9YTYnD5*GdtsQpX1CuQ0;rZ@lpy*KZ`xll#7)cH68iK%0#i; zIZ1@On0LW%kL2|FZ8kgb#aFE_+%D(Is~79hZMxp$pUdn;$YT8~^>^+d(t&F7HS@HsX z2Yn8D!z(!n8!rh_9r7kuuMIpG{MI|S=kdS~aAhtbH$mAW3*lo+!@BTBnMofnErZz< z>JD{$W4E#TBRww>om34obr|t4jz63Z3Z7L>^pwg6B^BdAO06&KBc096oa_zX;(zyO zH_j#1v+c^nG07=V^KSlf0?D^FeKPHSu5hK|e1@#~{?f#7PqZs?!+c+Ad?ZErV)!gg z%l+sl1X@nlyo!HaV}sip;LVj~$oPg=^3jxoHRQ%zlJQ-ZgbVD=Hu|>EH1@f!oK-n+cxSgCFkVmR zwL6qdA|0XVC}y&JhN#C}SfeO1Pr z^d?v9{J>4(c-rDP%E#O;W(}J9$MlEvh`0xWQPNhj3wEP!*Xyd>q&A~XFH3Qvhd^29D?J(RF98(p|)nP654)Ze8SY97Cxn$4{i zKiSPwTKb}tRE(NaKTN)7Akg@P;^N0&?p$%J+lqVkVXUYBL_EOfge`VFrjZl6KKKzFs<} zPSMD#=BwU>?C@`@pJ4u7JWI>&y_KeUPho-&` zyO07MX!u_A7R+_=93YNG3ameZ*OX4To$xGay`2)c#kzNzle%NwtCeTi?cg$GM}#qn zw6yU`XuOYiFF09Vr%Egdm)MLlb9#kZYI^7^IT+&#>xaOrS@oNyym4+(Y7$H2|Wm;?1DW`mu^5IU)xcqn1?hkwd5{b^<(MN z(Kq6oeCGtdsyd%q@3v?+=z6@kvRDp%V5-G3|gaM@umN#r-Vz|uu@dYroH_m@IvKcA#A(VVz<6U_>9f@^&a-_{$56*SLUN-W``HA)^az6H) z1BKifanA^7EBwsd;VSw-VxXbQSs|Oe<3uiG%u;_x&GprAbYtjN;ZSX^t*CVl6t!@+ z1bYQ;qmEY{iPMh~KJO*(e`gR#eK+_VA=u-(u)aV2!i#22?F!nJz1x_Ci%}rwL?$O> zeMDx49!OThBa9+UaqG(%S`(!Q+PuD1^{R}F{4vxazNhy6 zPil1OB0dLQDM8AzZ(0xR_IBs_ z&Z}b^gI750xG{sM{%b^aNp`P}u#Lby!N+C&^ z!604Mm;?$lGcj0W@F+V?S;Xf}Fwb6swdbNENq-bU#gXBPeyF&YxXH>il8@&X#cIuM^MvrMJ;;qpjb4 z>N|cd;}<%&y0rp41Es!lCY$2aM#uah8Gw>lHBtZdm3`&gD?Yk!`n|mSD6uo< zEQ?>_wp&xEz{uY?H7s|r|3;a7CBKL^u5_51Mx9FI?ZEG3TYNthj2J)qJ(_0N!;Q`kF<73D5j&Oz&D|fCj7GtsMhz)l;U9^;JMa_dwv4-21wL20J zJxk?Mm&!-584j?)M#*z9_Ysor}aVc%K!S`qUBI%a|K9h#b3_$tR z{N%tVu_A{zGoFgg4z zm>B7eT5^KQXsrpHo*awxyV|)ZU-qt?AZ?y0!F9}!&9HK7M!`pn40V|XhZd5rYZtif z!J&yp`pE6>%(}7B+nD`@%S$?yO9caJI-IaVEC47iEHaS-$je8k0 zwDkGF*)Q#`*3i<&P`l}&3Dn_5r0JSCdpi};#g2k_XGIhJC_oOE$_Us z(;zc9a;8weVpSZotYVdzlF(zi5sui{35=B6mb1(q&*47aWSyw|7ytd?YG_Ezbjr!xm8&7Ek?6i( zxf}*GvRHZn<9bp%C)BRxyMYJL1=(Lgp3Jc8(Fwu$jEX!XEw1F-Z|n0;&b6G|Nq?Vn zhOcMn@^qezr-1WCqH823ydYGgZSu@YJc0xZnv4sjzW-iEv$AjT#r*51p3R?z1bnDx zmT(T&wP4QcK89sO$8a-N< z189La`kQDI8A|`Y@e1hdZSOGa;#}Sg)D(P!i&0>oPc5}x10QIa!F9#&)?zc32p_vf zooao8>$rv$CF}0Ri}V{jJEEP#y;F5yau4-8K-+Z!SIfwSo%^~38yfc|hNlizzXtdD zLNi69j%khCZB3(-wx7~SCAf(M5oNHPWm%O z1&xxr@oB?z=?Bwy(elF^WOX@#9GV#{rVXy4&i`KQ2N#zZx$FP?qS2@+U{|jL<8aMP z@Eq{AMH;+9iLXXK0{7*2J8tM*!7;(vA}=tzaxaVjmMknk4UEL4^~5OV|#Wy z^gq{z^&e5H(@kK+DE;R?E%w~f`+c8SCuquO3ds^ZK*!E=X1jeFu-b=*8+(i2h2ZT~ zli37+k-$kDjA-}=<73(H(7I84hv_ulS~Fd9;ymFqwKFijW;Qy*zLFCgM%k0J#x8NS zQF4F4?L)OZM9JQOFA1Y9C&k_I zI5MKI5G4j^H*A>;w) z!L@Ib&uD0o`RP1Pk#KRP0X~H~x8(n2p5rvZ>(q$HTMB9n)cIxkz2R$$nDzG_Ykt?* z+hz^LaCaY8BrPz5#*E~9Cega4Yv|-eQ*8J79(8Q9o)L`4PrGjLv18U)&+bNv)wSS6 zdfpRCPjk>vcmpYuKaWeG_(72Y=1Cz&W70C1F~x&ON8;(b`oQmrO8@zY@DaWh@w;s1 zNSchgPxJ9E_7*&`K|J5G*t^%Tu0rMhS1<~!kzgx_f+!APT1ZM()rUMumTNHX;eI_8KB2KT^4GghBt4-zUP z><41Ct9U)JtI&f@%ri3kZPZzEM@G>OyHY@k;eIr^vcd~T{%n1m_@KiX^tbGb1@G(< z(3C4~!zec&tHw+9LnfbH&@6Sb=WnD=w^jH1E)CZe{3Ycgbd{aRk|*;8%e9ZT^S+L6 z0em$94WNTdE2=3p9G4Ty-8kIEsFTc@q-VyCcWF$00nXRrvlv-^k0}sybPYa`7F6PH zfy8|VXd}j~Ja#IEKlIm?rFYv4>P_8%dnWXu#3I06F{)_FpW)*GDMkAR#*In>zyyI{Z$D#t!nZ}; zlS$gfSu-^0KlvB9B{qgcJn=j1=>3ZwR=cWYciVrjPBGEX8Bu8&&H4^=z6GQbDO*9y zVl?y|e;a9E70%si&0D*$9Xln|AD$M4;`gnSr6E{(`cbz|Lc8HBK*b>z0<8I;cf8b{hwehcrzH zEJof%5gRe|rERu}kFmjG)bHXc6F!-lvR(EB+VM|l&4P276|Wj9RD~(_whC@7(pGhP z;NHk(+1+w;k@jykVV0noqC2XWLoF!dGxmKFeGP z`aHBZW(bWIiKj9xN^FyF_K`*s>AHm$pto>XoiBJMu45@^Jw4S#=3x`KNmi514WAS8 z)Xf+ACZ@jRNms8=Pj`I@Vs0`WV-$X^o*(%y^zPXH!uNuAR&LWWTZaICHF~rQwX&!x zl(9?7|G8uzj%(z6mlOQYI8AQOnFIs93tMpyLk+ZwmSZ~#b_so{G8tzY=Vf13egpLK zfmLhOn#a&ON8-D=7|m^g*8Vz7&e)h&^(6NZ#ZODAjC-J!I}*!9gEe-n{3z>X*4@x% zeC+HIYEyrsZH8hM89sP8FOb*}q@Msr{|#T2?Ak@6bz*^TJr;qrkX1;OV7gMuKdf;dLMoQg#>rjC;Rzmxy=Dgyhnp#ZK(jl)>*T)EbzWj$Z z$DuzhjRxyxg^uzMKw`4b0hoJM(vtxHK6ExT)y}r-IrH{Ne1Yfz=S%^=Q_~xdhH@%o zm+d_z@+A@^eaVN&l;*t$C1r-VOZ!Z|e*1M#8E5gzbxVq>z4#j5?fy-;>)bu zS9-2~w#|$+)E?r~6Z9?A_npM7%-jX=#ueVP8|2A5eDM+R?vKE;CxjHlPkKq-K+v4R zJO>=bjv>v*qx_TNdkW4kO7sywKeEdKpPbVWxz=jgmR(^Qvm`cHN>$KJk;{UX&#fpd4RqLmP0cqK!5jI`iaAjRqqp_38n4)`D#2VMI$;{JFa; zJpJH--|dp(PuL?RP`#l9=6?i#V(>XH(YaDwpCLa-Cgum)=bc;1460LDo>iD%(ZSS^ zs)grmt>v*l+wGxUdq&02*_61WoN zKo?W?@^LOzo%k%&?L1X;xwzXxb=P=SHZYn{eMI{;>hk}WWb|$f1$!r!S7v<Y?+Y>?2rnoZtwdTtOb5tB8A#Nyc2kU_yyfNq3<@xS^Ss8&WayzqqAyy-s0kk6n;$aDO#a*idN>zuB&xuk0u@m`eCJlOv&8^jt*Un6I5`>0G_?dq!w{M# z_E*bTwQ%cb^a(yV|76ddsn!i&l#hU4^QfQ1y;%1h6OeVXA5`RSRIscbbjywPcfts* zMo-}Rm;H`&Yx;7i;HLG9*U{Uhna9n$0qpOjzHYuejnOhjP-4@Dm`HRDaf`$9h0Bi_ z2tTP!^hc36bD*SmHPlyGZAn?;*2XHWQ$$Ju{dCR1ylCv5_~n$knXSVWcaa%XtHfM;kSF^XT#wZsR{$yv0YTswuP zjT8Oz!Fo5BhQ!}^#raq`_209Dj3lkWoYWDXdpUm)^gG1-sOZLq3Z26@x(=UZadv=G z-QG$YhQyHnnVsM9u(QO-%h{K1VY|NL3#XU&3cV}5sG&xo=`Z&pmm8pHrTvWl(RM=h z#zbUc2c7c=*d8yt?!F9!x@g{rRae+L4dCu-swsAf_f+lA{yvVjXMDuBU&B+HO7Ry% zUbpm~1)W_+AFZ#9FFYIT8hIl6&ze^?=Sy7qchoXcY~Pj)Z_BB_U7}d_O4p)>g&rrPBH#ELV!%3+A z3xF|Hv>Ca?kGq^al9#-d*vG^enc&xn^fp;P(Xz<@_>1LN>OSKK<|aA`7pu;UVSbM2 z7R6N)9guiC*&wZENGQEd%{1vlj9Kv+&LH!`nkp%o3PlnwX93~DW$w(6e~X^q6Y6S~BF>OF9T;>EqX`UUF*IN>2%T+H~F-In*d zZa3F$BeyyIy@t^fy&ZZKZT(O0HrA_Xo!Ob$vHApO0|7-a_f;ZwjOXgtX&Or*xvoP0 znruHoUq1>d|Dk`N;4NdGPHuzCC0<@~5j;E(Ik`pXQTzRgoRK*{?J^$Ll6^8za8_!3 zj~A_#L4C@QanM57(5-PG`|ZM;9o|?$q6l2(()Kq)*M{bcOfc$%a@0Qs9TKNYzhlg{ zT3ZQ1-iWkBmWd4Mgsy#Y>G>sZ#ZN2DO_lc$y^nsHS_7_LC-r-E+BtzPf=`w3vgTzh ztDQ)Fk>iwfsD-XqvMyQS%+70QWtTlhn|_+4rO08C^;OATR(YS^QWv8fp4$XvNy;}D zGjerCE;&i)h>P#H@QspGzzMJ;K>J)3lQ;u3W*A|Sg6ytw!{8d>J%e4ss-*kf@xow% zUgcV2i7)S%DS2Yl-(l&0n7<-!ndiop2SOc4|CGL+@)ug(KtER=sl_D+0s_ql!|f-P z>)Kp-fccCe(3+kTGVf7+XVu#a)|G66PIq#P5ZoiQU=ZV*CO2mive&W9Z3OnR$ zqrW9O(_Re3`qXW{dEnwUKf5L|S?~~Jr#NpKVwP*li#GJ{9VaEpSN?D4^WNwgpt|Ay z(XyLchwL}ASSpP|uF{;}5h&d+%-f$m}zN~fAhlQdf9PoYHYoD@ln0iQ;9 zO8j|=SNcgeXTx%O2_G592NzZkivH?5ncjGyHBGqP_%iylEpUzXUG&_Q_@U+M)*9tu zj|}N2)6EjgOxA9y20L&*Z6Lck^=0%1=8_v{+$82Ja`$N>luMrnvKjatLEgvxNQanA>V6hVp}lsDJ0u)=-GN zqdX=w9LzoI;zS7)5=v8%PD5!A?iUMZ8LdeFPGqc3T|Cr1aK+|s6X3yfsZW<;33)m9 zEK-;2hKi!xrCN7DD^0fZ-MywwqTXWkr`LWY0lr0J3uJFAh|GUAFfvIj`p-9{?pzy# z+0-(NbkEe-NHY_oSO1ME_|F2`y&jLwllD*b-d^j zYKSFwx!jqelbZT*qph!m7Q5CQkvK7Ql+djjYYOb&-JS%qYvZ?2XE&zo;D4y=K1w$x zwl~fUA+XF#ht}rptUfZ5F#Z63G!o)`CwU}hP3Q{bDks=cgYO-&RnkUTee{{|Im0B-7XFlz@1i z)Q_c(bJBA1@P(eYXpM%z4O)8avf?H)az*W2BwW<8wNKo0WFR|v@InJ^so*;aurrn=x)`n~eUkc8O<6A4=1Ir0heAu5` zP@HgWa<_H*uLoa{r!gG-KbB+`bm7(1_fvAIuk}bviy`h`smJNn#Jy3E*M3B2?_lC1 zM(uLs;jZJe8X+$A2dQypN@94`xP_g9rMg~MkoHxUz>X@M&_%S?m~LrF_sHK^>8X#8 z*Z!?^EIaQ{?*v`HXS%HN6xir2KG9!41g{@c#?GNPLo0oI%kNJ9+Vc)Lmj0!c-0AHs zdTW!kjq7qkx;)vzo1p#XkyoToHKszT7gMj(>YuZ!{ORBbj}=;dFEfVV%kWJhHO$nZcCzCfzsbQ}WdXO>zi`0kxAV1o9_RO;pc`f0wkGmAf?XL43sO z--5hBLl`5o(5-H-U|g-`7QWg%SRr3_c#_^~k@O3$QDVDx<+%<{Z2aYpImdd7*sYUo zGkpTujj_RG{taA-MvR_Ftr-<&Xpq?(a9N+cplUxY`2lUqT5D~uvPv`(zLa6~wAOg9 zpw3a76|IH~i}^|=c@58hnsi_A|C|~J4r&r1pl?dw>|aVwgL6tm;;Bz{>lDZ36h(A3 zM%D0UbaBISTS9T+uB~)uu_uAUUA6;HxgpznJ?!69H7VWTdCIzlbaDin5~d!6JLR3D zowU04(=je)HhQ+JM;hbm4uQu9dc6=0Gkd%zC2*J78CYYf-O*dAXUU86_U4`}WmJ2# zB-Ie?_xShL#yFz!Jo~Dg%R;|E3%sFe$lm*_!C_bEx|t&oyl-cD!vktQ zj-5t1!#Por3$D?jU99z*Qhs3#32((%N!?1!dwLlOH@@8a_RQAp-YJs1dTQ19L?>wE zdgn{6Q!h>;=P`HIKDE+KL(*B;Q~QCtMG3-6zlcA>Ovmo5ec<|?G+K%9A8_yhI-PD0 z?0nOX+}KHI%9%16!WdpTb?xu9Tm27|&5EM+s$@n3;hP^o@?Ml0ZKAt_SA8;I=3P+( z)2dNYTe9wA&0RkK;r4@4gP`_*0yCkuv-+|tu_JGR7*8S>-Ml2$IZbPz#=m|)Hj|J) zy729e4EKqf9u8LvKl>Q<86#io-fU(qv@GeVM}iabW{On6wD#WId2~ge$_pG?NiZ&{ zE8bfad13@Y?08~-K!4h(t<5fUx0N{IT=v||q>i%$GsZ=^tQ_i=m=FH=o>9iMUiYFd z_26t--xIUd;igXV6@iy-ILy5)MXxYdz!h0 zyZEqk&vt9k+UETvsVlP&lr3kvUQ-eGKz}pqVJ#B`{sy5%F`4_w{1@W=blLE6FT&0$ zIp}DprkmOy`G|B&;XsVicYPZZ%*y)Sy1wcXtqV4V{cY($#SDqPUsA`0X?kkMPbG#CsnaxXYAv zcQF-#+d~%>@+LCS?zJV4)eXhzD^>mCpT+t|hf!j~F!Q$x-MYqwBrS2a>{i&cf{5Gk z4_?s*>e;Mo#g|^ycf}e`!^+zje06HFk01iIpM3x2)<^K(^>$&ZVg2^R zm83O6!rl5;J+FvtLlt?(y!i4sH9%aUmMCyyXoNVn(Xh z-uqUhOR2mMs^1S);{)P(b2%4&}{BZn8hpTz(>(IQWvPm6s6 z_T~04bA#LOsz;&j9lp(pA@;pO_m~$~%X6SB$JAdY^jwU$#K!+U2fHDwmcRK{q^t6_aGE36i|3%^0st!=@!q{!y{W;^KXo-fTmS?{VrHPI6F~ty5 z9@+UHQNAwpyf;e=WqjrNfV}{HU;Bx_4qNBnPo1Y&$0uAjvm(Yz^wujJau6Ca{7?yV z^w7UN(Za#qiKz}HOK59Wyzm_!KQEAi^G+qDuf3DknbhchVto+Ywo&V_MrDFG?$l`S ziSaSyb8PfZ+Gtof*WV6Y92XCQM|OYeTJ&))*L{ipMw|-vTim;YMJVBNyUe=H7TXz6 zMkuwz#0wXr6z{pIM{6%EnpqVIo=mN;gKONd7ID^@kv*kCbK<8>dk1Qv~>saD`B z;C;*be28h?J(N9mh@YuWv$$WV-~}to%u_wYr5*E(VKe6m$JmKJn&~Cx9W|m zM@x1rS`4mM3SRJ^ZOOeeJ&k<-cD>EaB6>I@Kvxr2j2}#KKN;&s&dduZAMw4p2HI0g z8pgnX!W#?n{|6V{S>mP$5V2k}GcN4fhWF2oq>xR!{zl2Lx?$>MWY#-tcq`X97OZck z9Q1(ZHjOJrs^MQlC(~jQV`kv-s&1?5oVm#2mzXncO63>9zOlzI=arsqzSW66bx`&d z(&}7iCPskAX3+a^Q{3agyDv{{^J%YhfW#!qUh#MD z*dDH0T(!d<-)$Sz*c2Pe5#H0+74>~G5?&(dxJuiM=9YHjI*A&-lRR4Fvl!yt1{XdT zW6nZ!e%!$txli-%u_e3<{K?oNaJ}_;HuGH`J3MXO|DZv_2-SCay1XE6?Be?=nCY^n z7M@X!mqH1Q5Ak`2IeoGF^6mH&TK_47s;(3Lfs-ECEs&ZiRED`CafZKZ#m=U+X;Lll z-RDT^>$5tg8f$X8@m7^$ZMG^pa>UlrTgnNZk&Fd_sS% zp@IJrx?G<(B>sg^gKH!mF6q75yJMVN*R1Yo#!p?MZ$#fpTvKxnc-dwF%IUBhY>DzZ zu49v{D$nYhGR3Wp;;z01qu-V?ADcdf)Mn-NhO?h^4m%R|jmIot-%Re}$Oq_T9fdb^ z99CMu@|5UbffhC+o+5m?mX`4)6R{cYy)3#c|0?Q#4sC;<(cm0y1xU|zAx$;4(ObE^ zX&mguEUoWgUM_7><#C}N3vYEfP104TNDSj#XSOcMDNyi-;N~LhNt4wM=&nA+485DX z;zZRb^M@jZX%xLs5ZqN4!X1>f1RkX|xVC6M8Vl1>3<9o9)9Iu9#Hh9qY+ezZUND z{F61YY)4T?n|DNzYG!XnJ)Xk_XPJ?@ks>+OUEp$}P7P`)WM@UE)9s~Yk}CErFzUIZ zd%9?sPMKZ=X!4uicd?ed;Kk>&D7;cXu^u~V!V4QWme)oSnSUJ9|z{n_njs5qQlmQKX+DC|C$Qd z^esFW3h^hK;;aH&a>~t#QVaJY(jUmlI!znUX8lpL-h?hoY&prINVoMjO)G20bE)rr z@5(+8qqfKC{sy>3=4r*Pje68Nlhl_LH3rjg2ss$>^l57vyk()!OeCR+CJ9Yk;6?H> z)*Ry1v5fQ6E$fE*51N8Mr+TlWeTgga(bw~Q+UEhc=P_Qj(fQ%k?$&D*7CEH_gBoQCl7ZP2`9E`ut{ z_%9?MLyX#HBQZ4}Qf@Z|<6F|N%jhxeIP*MWUon4HYNO`{q|PH++OxAz=`ot=Cq!zZ(ZQQq0)h zba1sXNlr1#X58n7DsdyFNbR5aNO<*2li4_3=f`UqXG*wH7yhkciY+$ekY`0?NZ{M7 zhp1sMn{f9s#!_~6p7_Uz29P(`Ru90+f+_iDpxxu@X&_+AW8~N01L1dRBDM-jo4L|xeBE4Mru*oxH=V>%g zY!0*c6*%oHA($6Jr=&7&aVloz(o;&2549Q+cN2Uk$CuqN@bEn+Isf|c?p73+hPfef z=ISO`{dD~m>xLPLh_*wC=f`F>r2vHOllOnmg!lfWk7gEKaBTDn{30}CTy1h!chru~ z`i-{B3a>6V*KHt%_)2)jsO=(2|6|J0dD0d0>G=oMy6;|Zgaeu-CWZl0mwMmG9Rr5p zM{qn0+0A|q=>GWny&c_jk2Om|2O~S+K7p5OtdD)N*nh8F5qUVeC-AM{^K z+_*Z9(b~5UUJ+06omB8dim{Pl+Tt;X(mpO4bmp>6W@w{(bL*S(6Cg3_SPLBZ35}=o zuAx=71oDF))c@1-AGqfudN&!v9;B9fWTOryuV_22>)3Zdp(&?lw^Qj}E}Q+EXt9el^`n0t`7({0_SDKN z1H6-{zSTX0?0(pv)roeJ_;PpXZ%7rnYa$()Um>ma={DuRF|#kbe8uls|FhNd(YaAho9thGzoxKmv}aptF}iO!z1R0mP118hQ3EM#CpXUaHa?4OD;!(fwWe0e zY|N&ot&$mFt`vM$8h_P1?6!g75O&zSrRZL3Bz=lN7wH|QR|)On{+t~lKhyrMi*o38 zycYTOyLoc*6!Ro44?Ac{n1(}};2um2)_Ctos$XPpub5QJo+0CKuipac$`#=vuM78* z%p>b^?b4K*$%n6j%`Ru}F=hM0^_Q~9WlT)SY@}=FDK=x6e-gEMH=*~^;=YbDGNYmT zgQ1#Sf#{^E_Bz_l&~ck1MW?2&P25v~tgRNmo`o-aE=OX=|jhlkJzs+^F z_`BvpXDl(HB%ufI97^Dti!0CWdDxRx5{jF4A#{8|OAiU_0Zn~Oo!+NB`VvodwU1e9 z-B&Z0)bDGkW0`eT?M;lC9+!NLM>M?({FP=q()00vEq#1N4lf}$Jr~f>!^9M z_?A`aqqT=xYA*?&6n(}w(uBs)l=dNw9jZGNgi8mdTwOYP4(S9S5dy^{@uvtC{%Tf(36I|idJjk(zN$0S>N;O!i!cf41Py@nt~_Nllun++>NfuZ@|*9 zbd||I2_)^GnZA9fuheEt1y)YgrFsA!_(@AHzr$Gf2p_){ESD7uqkY0Xr->AVbB%Z) z26gQcN|GG;-w~JhFPLwEl3bsNrn3^Tp$%GIeGlfM{8Oy^Yj$XUJO!#^-qUj{WshWS z)vfNr{u62y7kTz+{=;@3=uT3c)4WUf^4j;@8Yq1ly1b>TqKWZBY5H2}A1VB<9w6`Q zb(_m6RK=ygYB?`y53c)bMFae+;f+UV<&0g)vy<2FJ6HHlyYv%VZt4mxgWWtN?AD^Y zD97+4v<9S(b60*%x8bQ#d2T5(zG_N^P7jD16UDT(zT7NWqISl$5GHa{Ufq~o$Ha&mOPIEd%U3&xZ5i`>mKtzlGxh$SK$&JSKpP~ulZNP z;^d7nV)tJC2(5N$Y?nzsin%GnXN}iV^7`67*&WE284Y|td_ZEH1-5$o3vKa5)AD{9 zpV4lh&>=3lAIOvTpk?wO$X@8Iu?9%H@RrZZ;_E`mQ*8SFqBRsLt?k^t^uC)txrqHO zf`8*t=vV6+3J3o)*co(GdOdjT%>#7BF^uuiuu)yck~_eEXrgtrQh z7N~xOW<+AV;IMNxaa>JFBfI4PO#z7Zgbdxl-h|qL$dP6-Sv5G#mqV(|SURo1@XhOT z)1MKxSxStr{D+}2-5jVe6+D#1=tBHXER^vNb}@=Q+>wsy3n}w^&^~T8HvVMc(@C+p z;q*D!|8&@;E1YADf^t8Jw^@5KbSz^k39Sm0>K1ohXc+iTUGJ6BsT08MrSRApF`12B zV6&5~dZti*#ys!)NH`qG1^EvFy8%pmafEJXcN4I4Z5QHF=}n9;fgR~46{bSwhQ&PfypZ_(dkwMMm?4+bG)fb*)`~>j|7><^uY@rhm3YUi;f)#pp$Qp}-bYQ|Lq0a} z{Et!DvNK5XkSk-Rr(1*N>+QBOI>NUZX(jwhw$(0>~q%?krsPN(z&*b>0|MI@aC(287U8~nc-Yc zc_y~$X^}Fi2;|S9&U%HuMoaWZ^RM+x&6=GKjftnCe_xpKlN5Z%>iPK|By zeV9JwJaCG%lldPpY63aRxe4oa*}tl7QM*6HEjjA*IWLty{pZ? zYE}_{zAlfON>|Z4Ii>y$()eHQi(p<>Xq!na;$r5zHE1d4Lf*V=N2A1$Z$e^#nW!b&^g8Y4=8vpH z57=!zRj@y2u+Xh)qb1F$@nXu|$I_>wD-Eq?m}AV^`HZgD+)}O7}zVntXUZ?M?8#@XBWYfHgf~| zynOLh+N0@d43f0OPpyJKPH7mhCIbUR6!}wCkhM^34)UO@)85X<=;?x*2IiR{xQlX&*^N5ypQ!6!9c+F3q{D zmeViQBjy2nLaK9oo&)!Y1m9rQC*{Ne}30o2DNn4*>Ix63RPLI>{B~jTCOsZCFWn?%lcADe*mDP^!Cb63SRsO#9 z8^JN}V2e>bE8h29oaNfZ{b@(JBgc7rf;j3_(mA_mht&?Ocg@JMQvWZcpi>06!+NoQ z7}}`YvmJSVRELCf*llHGF^Vd$l{Ky==rNw#blo`vFBO6+tKsiFiD?K-e`>}XAK(SI z(OFA}HjdZ_)%Eq2)xKPJlWuwR3YC|Sw{kqw%yHo02^~|%Qv#2T^WC;Mc_KxO1yVy* z5jz-qyMu%TQgh4d%h?f7_*{UoFqHfSwEAMneb(c-|4ZJPJuVT`dF!*+iSH+`2PHqF zM@<#AV+?4Qfujz7zSM}zOZ)s`vYL=6DyXl!COCglZc%&c*$b@Ylf#^j-l?zaVAAeE(_%cP|-yD8n5 zq&J3gFQVm`M;A&`J}5+7%nqS}97=x>&LgezJbaDC^%Lvno5*BbgKGyl2ZaCVg-RMa zrR3ajBzw9XI$0Pqg0l0VqHd^z{7tv>u7#Rr#{61VJR{gJf`JZDCF4%gKu>A7Bh|SH zgXF(Ckfo`4H1U5-c`1o|Jz=eCSe^bgZN+m}oQ@10Cb}^2yfq6BrHVeWM#3jnQKT7h)89`=UMJnEM)U zNXx97_>671J#~yV++PM>KcyczmKsOEWSHHs0kEQDB^Ed*SdHfUV10r!-|g#(i{XBw z*-=_U4Ji>95{CA?6pioX&=SFv`0@WB@V-#DQ68V`|DxNYRvz`)7Hz5hZg$QRMIh8>;6mit1=GMn^gYFxD6 zOUZdO*Q8oIh0cj~H`}59b2A*h&yhHriTx^=x`j5pyDPC(jvfO`DwBkF)Qa@xB5`#r zX;HJh@^@$?=6?d+uz}J~jol6AZq#%mFcSYqB#*u_Zh5rSdCno$Q9=hAPM&|`e>ifL z!(5(4uPiyM#}adJi@C9QY<^*epZizV+&|N|G+$OB*T#sOxwh!`ej+&xy7|i)h)y?; zHq>;ecz2=4LCUwbl97g{ze;4w_kts}0{_RP<;19K*q|9<-w9kZ6}e`5LmBlu+>%(~P;ax*OPk-}_C$prlKiU>!3yx&ulc)-X%!uPm&!W{d3B*I(q+f)tN-+&O4ss^c5iYWesyH1-~0P<%eC zJSC5~?N7YMK(oLRm*Jk!Co%P3b+$k9o`a5@abpqtoT6K$q)Hra$fjcXPQpD>GBHZu zd3Nud-7DX_MGI z^vfS;P4F&#sd_1Rp~l6t!X3uWxZ{Izm6Q0XAr^F3Rm8t34Q7#Y{S z$CCYyK%NNh?n#zvS@o7vm@1d{HO@mOJf*2q=ILsZp9}wEPEG&j|DkxCJMTey@+5-pE~Tb~tN0)H^F=Of7{cA15@%57648H* z8MM-S^^MhKP+`DwVa`fC;@Wha&xAWwhk$;kNA;#x9YL*6tsO$^l#okx`Y7FQ0?d4! zql5$hkE`#1Z>oC#zU;lr>P(uXO}cl}#g-)svSe>TQDiE}JWSbpm9Df++N4d>G|A0q z*&Aic5D)}GW&DsKh@i;(ea=nM|9kEyH)lL&J?lJY+tkkOdpd+-yuVgzWFPBo4-iYC}I%uQk=!ogmmqaM!-@Yx=|J9lbXk+OqhZ0rrk?5qf@!Un{)~ zQuVD43BeZ=zC&*@i!=$aZl>jIvHl8uc1Kl+(sK1TeFuZCll{|3LkbcPA1wWj>jAv? z3$=x+>-#H}R07ouOThF9mM~6NgID8>ha2%&guD9tTP~MGXlTnL|3U+OdvkE%rniMO-X8h&I*F+oAgaweVGa)}89)*AqkYf*cwT*)RFSf@z)u zZ3sS;@?xf=DF+n~7WY(HT1c^D0t3UfIrofMd12)`=mqeZIz3oJ!>-QmSw|^9SN5p~xb|(mwSo1Dzk4%56jrDSVy}Is^V$-b8h}`g}+u z%xzw@9l=MN-xNRdS!`M1KY_dqUhV-JCD~T+)&p?HpxCjRtI*9KST=#re1VN7B(LPy zPi-;3fli~E^m-|dzOgV*!Yk`uy0BoZp-^Q}jDfCb2j92QnO(R> z{_?F9B=Gi(&hE#l`fhkP(?ZMt;NNC$4!VKYg!c@!APe0|R?!lE33gqz@87r?WaF~_ z$UBv|km1MgZLtCq9vlhWECqLAr4O+>*~c;|bw;UBfOkD2Cp5f%pL$^Mn!G*W@JGaN zl4CDJskFt4U1vT1!`ahZ^0GHkd7HARv%t+8Hs}2%=JQn-s&7) z_wmrqq{omKUzR|v7Jnl!S&Qp79xteOMgU{j&64^INE!GW?{Jf}FH(XGe`DPC=$onL z(Kpr+vykipp=8|)V77IjbjFtA!6_lXwQUMslgU~Kypj_XG=ApO+&#K>JK;wNHUe6H z7+6a+W8R7|#l9>(%-2n_z#n5UhC%D2l%0Y1X>8#T7ge2A3WDKo0i>OKq&wcF)3anf zmz1}$NSRQ9cdu1Dgi%r6K;#^$BrpF_>9{`2J-Ow_u;JNzNiHcxp!<1h3I2gk^Wti` zqp%dqJsqIEd6=C=-tWqNH%KAGGCH+?So6CAYdzFn)(12K&Gaidy=QO=)itfq_tL{6 zRM#%pw|yyx;3W_!^58tyfBS&&CP?Fv!Y$DDI-`+O{5!-vjNDA+2_sYolsKmfxS_!1 zHY@q$;L`{VpADi!b)yZ@7xePC^u`K&;G*@&%4+HV4EjPpp*RvVCs?4y?kJaE6eOSb z{$(o#pFK-)=|$&rw}PYo0cT+p+laHTUY?_H6}0|2MazJuL~F|b);-OFE>~gKC^%Y0 zGs{mxi~VjHPs_(bPsQ*aobx?TBZEL^P0tiH(anlD)CNJue{>fjVS(daiL6o1XV8Q( zy2j9vos@r)j0y3+c>60m8PRC#HmodQb*#Dv0^Wfxyf1HPoCNy^Cw6(S_Jo0wC47~9OHT_Q1%H35Y*F|-a2@W&&RpFA^pEGk z4I?=Gi%K!0g?kLC{Y?*BETGRid{J12HwA7z2#O(z*Wjn;Z!U%ZOT%-dUIqWrb3Rgf zIr@$DUXm%qj3>KVSPdxHVDc#cy*bNO8_^Ez;_QMH@s{>cFW)?X;CL$to|i>;_D9 z6S}HV#XWUxqUo!MSowmUt@=Txt{lrW)c)1%lnP- z1h|oQbvV3$Q_X1K8(_V}P*S)+e+e^7Jgde>EXK!s)QEaU`i}r7Vcim%=SA^XvM$-P zz&UNRwdxF6eHDLF7x~sH7Of>{z>ypwhWxNxf>WUTzXdiN6knYJ&rwxP;sxoVcw8G5 zIcSex&}Q5TSb?^WgpMN(n8c-Cj?%Eoj~z&!LpTJC%v3(oUy<>>9mIBS)mz;ceIrfK zPNr8~0zWH3g+Ghhs3%fxrrj9)XusU24X=jwV3P=Di!zZG-hId7qeh+?sHweh#A23gu;ffc>|Gegm(oCyF1OX z+Nnf7xH?iR7_G=#`3R1+f3-pBX#FZguAaK<8QSDS7{c{O05ULIf9wF-+ybrclLQLy z$5K4`rb5!N{$!X=yv5p>UdS#520^-iE0N>0OepO9?#kKVpWL?;q+G4v(t~nQ40Juo zr?4IRXec<6$D(A|cF^f!a5&1}2Fo`Wg>gEmj_~3>{y4LPe$aa+u=WmKT1;4H(crTPsizFH z2*X5Rj4Y*Wl5<=+GK2+#W*cN|9p__8hjpc!WTmo~6mvMlF+PHiCP^U2VilM{3K6o$ z@)kvF*HP>YE>{zR>B-Zu>`^2mR2JO2{8Uvs==+8l*}C$0(p%*4)k5r# zDPhls^yFBixb~Z+r_kPkmQyJJ$>^<35hlDr!0T!RMk)rQ?NTYQ3CQOSVJ)x4RrV2n8jfnAns%tvWp@8TEM2n_aIe4 z!>AT=bZ3&kA!z(I2A;2FSPe1!0NEN=>{CQg@yNALh4op$?ePz25D`uAO7wCa*F5i| zzT^VVCy1X@XbhYjiEo<$n*W5{;JX~N-IW^@DM7!gagr8k_txxIatPEQ!ByXn$+f}N zdBMp!naUo>KTw7^!AA$XA0rvh!=N=msqb=(g`ZIk(x0_TuMxKOR=u-6Y+q@B|CozZK4sj)T z0Oz%0RS|f2l@YV%zBO@>F_-FF7Sv?@fAL@CG za8&+n!O;Kcv&LLLMu3CUI2SXSz?dCFBCUr_}I1(6_XF zWSHT}Cj*x)Fdj?`xBFWe6^MuycB@c$nu8z*yej|G~cgRjXb1jqP4_m7hGQ&$-%rY^}Wo0ruy z;8WCxy^Qu{YfMUTuAxweJw9ODiM@bY;hhVHZ>yhsV&?$UdZc0n%8R?>IxIYJ9=@== ziffcrie>(oO)G0r8->1l_z`|5{IB+l^yT_@^A9Vvh{Ly87{2o?losLJ4(t3Pw<8Xw z8u*r;^u{IB0ZrGaqv|9P4$v}sW6+|&q*mQkUlL^jF$PMGI*Wx z^hyd#zn)41%7!KIHL$7Zsi%AtZmG`=cPO8j&FX~(v%t%*I27^-oiR>zMlCmK-GRzs z^mjuEe$SCYCd~;Q<^)+k=QKchL0p6NdP@!e!rR5z4M46Ns;Qy9IR)`fA##X=h=$PF z{xc;DcFDF#G5eHnG_y00tNuo>y6do?3rv0we)|!e{~ebZtWTKx7+b3j%f0}Wc4=T) zc-tkFstsPGflp{o8V;^A+I~upcPX1M5sthyXUfzhUpT+BG-pU=!+Z-?i~ib*cYee9 z6sK{jeOF|GtibW|J5#AFOo@3VY@qAvlugZG$qg@xMC<6;nr`45337rSE0Vi-2xr3( z2loT$vX+k;pibj2LT3Bj&eIxiWDQ6E?sLh4E(LY*hMNeikVGR)_;hY$6DV4)_ zWP}X)4BqEq`CnvZXMZDu#F`I*uSPwIGr8&i_=h z{@|D3ANvIXN2h5-@Wx1mO!u9WGjOpwzn!Fsyd|GAQYnyCdE-aMtJmV6*%#B<_X1ToJVgF1NWTLgoctFOY=O2 z^L9vW=A#VQv+GV#+Y*BCAcu5Tae1SHybK*y*5B$`UJ}a3YO`vjygkat`>QxM%JtiZY&@^h(b2A<~g)|bdjB^5yi@x3~@My4bRT zzsncv^u}o5ux{|BTn2oMEJ@MfO9%mf%5s%h5y<-)cUWsgeW60Op0|1B0-9*$5jjw}zW;ft|1er#CHnL^Y@AGXcnf_DI{*o6*n0pjq9U>4TGjRerDoIEO zpT3r;B>WSJ9eSZpj!d~8E0ue>wERl*Z|)*Pl7rjx7Cg(->u_!!`5)`33|riG{w)@H4i#vsH? z?pAAAB>D0voPeIrTpLj* zxB{{4a&gPx-<4I_e;J0!8v(O(xtxLOO3HC15EcQn4DaN4m*O^hWH0u7G{>- zK|8jEyoM~+1;lw7AOQ11jpugQ6yU4}$Hp1(L~lOYbw#;5q6mhru70zSAI}c$(2{J! zcbLm-8|8DfN!lqyEK&;9{rSlB`8p|#lMTE)C-_my**sA zmU{#I-FMevvH++KxOwLL!S91(o-~z(9wUCi6(~QyLzzE@>@|X7AA!Eu31Tmd2LUO? zHZ|4aBbzA0`X|YtKwoqCGUSa8d3dfGn(tkn#x=46Vccp*Au zIQ2z>!5>zk)lZC<1xu-ci+PU4-B2;NPh)QXD*j#0T)K3d6StC`C%8e{bkU z822GhCM4BXM(>!bE_EUF_wTvbA7s0^O#MNt8Ek?anv2m$NRW!6rafoe(U0@~6&bX@@*k2QHeBygO6U8pg7R`cp0z|9 zgF^WJAo3?D-G=+&Z+uW5;HlK!*>(7Tf$sCH!G?X2(&^(qIqj&OltTCFe}qcqo?>qd zLf^NYq=|`<-hGF8QUTtWrT#bdJSgSS)eWow)w!!KNeDGy%?DcKT~&#(1uT;FK^Ihw z6{)&0;M^@FG3+bZb57GI=-HN{nhJeXF_nyz>heF9;r(WyXl->1$itX+>)_Xi_z>?4 z+d}EfeIwO&1AVJ~pEPb#Zs8KBJj17(4mKw_UgC05(Kdj3^m zV;#vPzmSeM<--3LMBNzV(5B0aX_JB6Z?FdQwQw2;D*13x(>qMyZ;?zid%IW~q z=v%}^S%|+S@EO*OFjoiWTJiWXIjN>%)bd0|u>bek9#R~LnK0tf3*4XjwNMlj*9jBy z*KhY#;yJ>w8O`|{<%D$1{HBLbE?M9^RPnPWCgcTiv7qLCLJL99dK@3KGo>fdH)OR$ z&L$yks1@uide96w%MK4$So9BNQJQ6;D^a2ysb7N!(&PA&gAx{F5)9%5Yql((Nr%7G*@S!Jpg0x zq8_hf82bwDpv31gXhJ@Rpqi12-&aA$y)8qS$G|o>T-b^6*sm|QRiSQlz%B4Txd>D% zCa{Nm?24m07=_QFjN=7+3|eSYB_9D^7G?M^1olcWhCIwoXumWXe%QD-jIAP0Kg{Y?wDP8 zPQ4E{I$cwIHmcrN-qXy~VMbpF=_-Q#2kFOdBui5AY%Edb4r!+unv)D%=BwWD{(EZ# zKtwxQ%K=A%8!0w-J?sM+v`q0LP76u{XKg5;b}*f)Ft1%;-_R$J=Fjp*qD1Ung{nDM zZ8hWcE;+=3Gte5WHzC*0&m@iN=A!pJDi1CT)O zB>Hw!@kj~#M2$6entkI5pm<=PQdg_M)<4;jPUpN=X`{O z?WF{eU@@!Erk|h%D3$J?DK=otiBQ)*)^o4%x?G@y@HIQ z4VYJEE&0dT^B5Lz3A4Cx83?yf_IhV>!!@;d$<^KSs7 z6w5E^AMaEoXs?5>B`Dg*NKdx44~6{z*po7hg_>#HZoQO~5lUx)@$?xuYb0?p)9P_b zMST$(ovu>ZA>|MwsKi6K3-@%t@w_|b?-W;tJTyM$nl)2)a5<&Ebp$Wa&)s4H;_kKS5&M%POLe^b}d8Fxi{^FufiNmE5=+26@TC(&4JkJdHLjqznwD{Ve6`B( zR25o(vfwqiQHj>21|3rJq5*~X{}kcfbKGT>JVUQ%g5Gl^8A9rO^Z>jC3=#C8i zF(V>TJ}3V`X&f&r4;VPa=~9sMW8rGp*-tnR61BUdvc=84Fq6THP!kfzS+P()lCnRHh8mi#zs ztfPL#wR4#nSb=`HS=PhYJ%5%dAkeDBc|jozHqt-fp<%`|`BieIiflqW*$3{uz_k(1 z@&Mmjqp!h$Hjty|?9>5?d46S0Nq;e%zT!R0p?)BYFLep8xt^!i;9X$6e?J3eR#D@; zZ*o_0tv=EUSi!H1?oz%tL3uE;CFn4VK1N75m{Zf)exb?6caGpx|G6$`M zWZELn|AJUa-6^?Vex*~L9a3AELbhn?+C9n?;%XkC0JV&=q*L_13t*pl;9Z*_EtBre9$gahOymGf|SboHiY(nC?{+M z^*Pip)7>i$QD8kxNpRQ!@wz6ZHQM*$HpEc8c?Bz)$bsh=aF;HfX_N~3tWCM%+7c2(Mu44@^G|$7kFze$_%TEuiFH093jYB7kvPo6X5%PaWA8!fsIOv|Gq$>0VhZ7 ze=7-?Px#+7Zh83EnF;DA z%Y}U4SpY!%WciG@g~E?anOT?knmoaUb8ez|TyP~3g1Ii|ItuYPhOs7S55-X!A#!f> z8_4iR3kagUZi3O}rI)m9Q#Il3^9XK%*oySxBwWK3s#_L+})2B4w@AK@X`m>){2&Xk(P| zS#%Dlz{9v*&94b=#mE)BEBk2a#;`!xo_Ob`yyXAGa&?Z8d3C{))z{oj<+4Yx@%mD) zgnF16*f=ev^qQM-<{;;l?(H{aqWZGK`y;7D!OdA zie{W2l=7UEn;i#ly=j>1hi5O?Al`GVikbgWN(B=Ht&5uT{MtjScw_7PcMXUqyz*46 zC(sN?cnB%^kSM|TzfMJbRqzYe)%Mfa2lticE6h*ep`WlUlI~}-eANguIzRmsux0rw z(6dB`cew}a!U;lhS&Ei?P7e9gUj`*{LPp3YPGI!I+a&Nm0rB)t>&;jVAzMr6WjYpU z#}^o%P%Q#>!MXK|)PmCNbHMDZf5&BH;*K54ou!+?IVpoyFNMEye$33>2oFn=`}%i6 zEj5ZnVE(ZNwi0aj*T&-|OY(op>e1#adNv;}RiX=91zKF?t!Zl74eVmQA*2s#{X${n zYZ#r;sy&bsTl4br_bq)lx=MDJyafI*YhVp*I02G7r(EkBWX>Wj$a(^Lm?Wz#8*=-L zVL>|@wW!=Knb6jTApe;B9^gGRK?s31f}X-SN>>3eKbmwJrQz3=)8robV^nr(aaJDI z!YH0gH9aMS5IMF{`8CITF8UP~QewDc?rgz1x{%+Ek%kQAMo#(tH7GD6FkEv8IzNN!ySpW$o!eGrC^<>bF{Pgotw}d4D zc|+^QG+fVZBuW*FjuxjWvvt!{--S&r!a9+RVhM68bWA#ACLxGI)owp1msc*q9Erf{ zf^e|)$-;WT+gu&RZkBjS01hL*F=o+Di_kL6Q`#L`0K4ThrXz-aAv@D`u$N4+#e*@E zpt#xXn;CsW#Bj%IT3g{K5STAYrl-N@;-9X(cE2|Kt4O1Z#|XMhuO@2qcp_JgJhSU)Lez&pKje>)$WL&I}m z*T6A~{f}GQa{l2Ju^E2;usGID_F?YmD=Q zAq^DL6k9M$7*}?&X%>IzRY5GoxnFdY>2@ZnfEg-%@PW}@DmDRp~|A%o-*bh!n@j4_(>;VE>Jqw=5 za6Shd^@40`;Uk|@gn5*f3=H`uyWtwEUUS+=Zx+6(9#r@SeDuUn(sn`68swm|xRd@F zcK5wLDSDy|PiF_shLkQ-XgH^~L=B_-ek!4wyXI~*UgMIw6WA@{^Z9ld%f_3QazCE0 z)KAw{mfX=xrBR-2!)!h(e&oNt#OPnY^cy9m-6+~boJH-SJN8>r1LHfJAif^n&Bxd8P0%gtK9mxq_-$uO5c@|#%AL-SvO zyJm9>>d)Nz+_paitmFqg_1hHI6L8fflP|{?Z@~uV9#zswfZGL&(2n18++12x@|(e4 zNKp^Vcj_^6P!Gu=*KNdq*7|WitX(z*@SVK0149y9}Tp>Nrzfjipo{unkM#lW`Xl;PjB0sJA79rllmQhrcO z4171Qt4}h8SOd@mmH>RgGFicP9kh`WA%yu|y0Pf&O4VADYys;oxc{QtlUa-4m|&=v ze*{uKPTdc(pxFs*Lpz_8wG2xws%*7JAJ#sZdMI4qLU(9fV62u7epVd%3+Is#qfmfT zRJCiUDHgL`L5`lhiuk1@IbgN#oV+U(pSR#s&V|d32-yumvOi6ZP zVNupjUQR<;xLDnxu?{fgZ(_Vm+M4MhtEQm2x!o1Dv7)jibEj#gKFhSIK!OTaJ=05h zJ_O&ry@VkY*rn{`9s9^8tiE1iQ zhV_m(3*Hs=8F}Yqpb?kbb=J#xr;cR#s{Vvp3;tlq`MjUuqq#P1+vpkJ*4}DJ%0{yJe4Q458s

t2s!LVk{a!?W0eQJQ??8LV4%0|nP4RI5pvTkN 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%0Do%Y@(SKx)wO|1HTU>SOC9zcreR?4BcXWMWbAOol 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

vPrW&3r#hNe7Z7JAX4p! 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%0AgeSJ9OE=Mt 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

eq1R@6*BqmGPYBF#uZ!0nNt(jL_F)kzG|1SE+ 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%0DoCURL-_P9?#{_GQNS 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 z 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%0AKfj5=c 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 z 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�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 z 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%0DFR}MFmq~MvR%m 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�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

dDxdMX;-;Ak;J3m+(^nXD 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%0AH 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

    b=sq{8mAX^PGIJrlZoro!+>I_rqHp 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

    uLIj9O>cx`wLB9{u7G-b7e8Yo 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�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

    S! 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 Dq-XPS diff --git a/models/handlandmark-lite.bin b/models/handlandmark-lite.bin new file mode 100644 index 0000000000000000000000000000000000000000..9f2b915130c337fa98f705d3e334cca60026ed0d GIT binary patch literal 2023432 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

    DiU;W70M<$=+Vca<=xrUBa0Mpg07mQ9%w# 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

    s_7_GdwBv4^SeR*WO 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

  1. =1!1>J(d-}KQX|ez~MU-`1g6>6|L?YrV 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

    ng{?@~k#P=eeYDru&Bk2_JIBBJQHrp3FWNj9@ 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

    yXo057mo|QDKWwm8#8j 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�}d^g(Fmf*Mvw_|q$UP7{E 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

    3*P{K|Ps9h$Jz)fGCtOMy>9csA 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

    &aJKl3bWSgT&Pv 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

    mw+%;WzpWJ0}(!|K`4 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

    czE(U#TtM5= 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 W0u-RUvOw`4 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 z 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%0DQ5W&5F| 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%0Db&?*{Lsq9oyJXq>S; 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 this.models[model] = val); + } + await Promise.all(Object.values(m)); // wait so this function does not resolve prematurely } list() { diff --git a/src/warmup.ts b/src/warmup.ts index 5cf8775d..f6de3924 100644 --- a/src/warmup.ts +++ b/src/warmup.ts @@ -122,7 +122,8 @@ export async function runCompile(instance: Human) { tf.env().set('ENGINE_COMPILE_ONLY', true); const numTensorsStart = tf.engine().state.numTensors; const compiledModels: string[] = []; - for (const [modelName, model] of Object.entries(instance.models).filter(([key, val]) => (key !== null && val !== null))) { + for (const [modelName, model] of Object.entries(instance.models.models)) { + if (!model) continue; const shape = (model?.modelSignature && model?.inputs?.[0]?.shape) ? [...model.inputs[0].shape] : [1, 64, 64, 3]; const dtype: DataType = (model?.modelSignature && model?.inputs?.[0]?.dtype) ? model.inputs[0].dtype : 'float32'; for (let dim = 0; dim < shape.length; dim++) { diff --git a/test/build.log b/test/build.log index f0ffb312..ec34ca97 100644 --- a/test/build.log +++ b/test/build.log @@ -941,3 +941,2243 @@ 2022-11-20 16:13:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":32320,"url":"/samples/in/ai-body.jpg","remote":"::1"} 2022-11-20 16:13:44 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":32320,"url":"/samples/in/ai-body.jpg","remote":"::1"} 2022-11-20 16:13:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":32320,"url":"/samples/in/ai-body.jpg","remote":"::1"} +2022-11-21 09:44:57 INFO:  @vladmandic/human version 3.0.0 +2022-11-21 09:44:57 INFO:  User: vlado Platform: linux Arch: x64 Node: v19.1.0 +2022-11-21 09:44:57 INFO:  Application: {"name":"@vladmandic/human","version":"3.0.0"} +2022-11-21 09:44:57 INFO:  Environment: {"profile":"development","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true} +2022-11-21 09:44:57 INFO:  Toolchain: {"build":"0.7.14","esbuild":"0.15.14","typescript":"4.9.3","typedoc":"0.23.21","eslint":"8.28.0"} +2022-11-21 09:44:57 INFO:  Build: {"profile":"development","steps":["serve","watch","compile"]} +2022-11-21 09:44:57 STATE: WebServer: {"ssl":false,"port":8000,"root":"."} +2022-11-21 09:44:57 STATE: WebServer: {"ssl":true,"port":8001,"root":".","sslKey":"node_modules/@vladmandic/build/cert/https.key","sslCrt":"node_modules/@vladmandic/build/cert/https.crt"} +2022-11-21 09:44:57 STATE: Watch: {"locations":["src/**/*","tfjs/**/*","demo/**/*.ts"]} +2022-11-21 09:44:57 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 09:44:57 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 09:44:57 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671091,"outputBytes":505035} +2022-11-21 09:44:57 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 09:44:57 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671115,"outputBytes":505055} +2022-11-21 09:44:57 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 09:44:57 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671297,"outputBytes":505246} +2022-11-21 09:44:57 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 09:44:57 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670228,"outputBytes":507727} +2022-11-21 09:44:57 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 09:44:57 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807497,"outputBytes":1450635} +2022-11-21 09:44:57 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807497,"outputBytes":1893784} +2022-11-21 09:44:57 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 09:44:57 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 09:44:57 INFO:  Listening... +2022-11-21 09:45:29 INFO:  @vladmandic/human version 3.0.0 +2022-11-21 09:45:29 INFO:  User: vlado Platform: linux Arch: x64 Node: v19.1.0 +2022-11-21 09:45:29 INFO:  Application: {"name":"@vladmandic/human","version":"3.0.0"} +2022-11-21 09:45:29 INFO:  Environment: {"profile":"development","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true} +2022-11-21 09:45:29 INFO:  Toolchain: {"build":"0.7.14","esbuild":"0.15.14","typescript":"4.9.3","typedoc":"0.23.21","eslint":"8.28.0"} +2022-11-21 09:45:29 INFO:  Build: {"profile":"development","steps":["lint","serve","watch","compile"]} +2022-11-21 09:45:37 STATE: Lint: {"locations":["**/*.json","src/**/*.ts","test/**/*.js","demo/**/*.js","**/*.md"],"files":167,"errors":0,"warnings":0} +2022-11-21 09:45:37 STATE: WebServer: {"ssl":false,"port":8000,"root":"."} +2022-11-21 09:45:37 STATE: WebServer: {"ssl":true,"port":8001,"root":".","sslKey":"node_modules/@vladmandic/build/cert/https.key","sslCrt":"node_modules/@vladmandic/build/cert/https.crt"} +2022-11-21 09:45:37 STATE: Watch: {"locations":["src/**/*","tfjs/**/*","demo/**/*.ts"]} +2022-11-21 09:45:37 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 09:45:37 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 09:45:37 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671091,"outputBytes":505035} +2022-11-21 09:45:37 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 09:45:37 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671115,"outputBytes":505055} +2022-11-21 09:45:37 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 09:45:37 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671297,"outputBytes":505246} +2022-11-21 09:45:37 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 09:45:37 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670228,"outputBytes":507727} +2022-11-21 09:45:37 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 09:45:37 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807497,"outputBytes":1450635} +2022-11-21 09:45:37 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807497,"outputBytes":1893784} +2022-11-21 09:45:37 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 09:45:37 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 09:45:37 INFO:  Listening... +2022-11-21 10:27:13 INFO:  @vladmandic/human version 3.0.0 +2022-11-21 10:27:13 INFO:  User: vlado Platform: linux Arch: x64 Node: v19.1.0 +2022-11-21 10:27:13 INFO:  Application: {"name":"@vladmandic/human","version":"3.0.0"} +2022-11-21 10:27:13 INFO:  Environment: {"profile":"development","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true} +2022-11-21 10:27:13 INFO:  Toolchain: {"build":"0.7.14","esbuild":"0.15.14","typescript":"4.9.3","typedoc":"0.23.21","eslint":"8.28.0"} +2022-11-21 10:27:13 INFO:  Build: {"profile":"development","steps":["lint","serve","watch","compile"]} +2022-11-21 10:27:21 STATE: Lint: {"locations":["**/*.json","src/**/*.ts","test/**/*.js","demo/**/*.js","**/*.md"],"files":168,"errors":0,"warnings":0} +2022-11-21 10:27:21 STATE: WebServer: {"ssl":false,"port":8000,"root":"."} +2022-11-21 10:27:21 STATE: WebServer: {"ssl":true,"port":8001,"root":".","sslKey":"node_modules/@vladmandic/build/cert/https.key","sslCrt":"node_modules/@vladmandic/build/cert/https.crt"} +2022-11-21 10:27:21 STATE: Watch: {"locations":["src/**/*","tfjs/**/*","demo/**/*.ts"]} +2022-11-21 10:27:21 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 10:27:21 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 10:27:21 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671091,"outputBytes":505035} +2022-11-21 10:27:21 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 10:27:21 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671115,"outputBytes":505055} +2022-11-21 10:27:21 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 10:27:21 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671297,"outputBytes":505246} +2022-11-21 10:27:21 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 10:27:21 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670228,"outputBytes":507727} +2022-11-21 10:27:22 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 10:27:22 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807497,"outputBytes":1450635} +2022-11-21 10:27:22 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807497,"outputBytes":1893784} +2022-11-21 10:27:22 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 10:27:22 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 10:27:22 INFO:  Listening... +2022-11-21 10:27:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":301,"url":"/demo/facedetect","redirect":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 10:27:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2956,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 10:27:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":4499,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 10:27:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 10:27:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 10:27:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 10:27:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 10:27:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 10:27:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 10:27:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"directory/json","size":4096,"url":"/samples/in","remote":"::1"} +2022-11-21 10:27:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":32320,"url":"/samples/in/ai-body.jpg","remote":"::1"} +2022-11-21 10:27:31 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":8596,"url":"/samples/in/ai-face.jpg","remote":"::1"} +2022-11-21 10:27:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":41937,"url":"/samples/in/ai-upper.jpg","remote":"::1"} +2022-11-21 10:27:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":87064,"url":"/samples/in/cgi-model-1.jpg","remote":"::1"} +2022-11-21 10:27:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74741,"url":"/samples/in/cgi-model-10.jpg","remote":"::1"} +2022-11-21 10:27:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":101868,"url":"/samples/in/cgi-model-11.jpg","remote":"::1"} +2022-11-21 10:27:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":92230,"url":"/samples/in/cgi-model-12.jpg","remote":"::1"} +2022-11-21 10:27:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":202628,"url":"/samples/in/cgi-model-13.jpg","remote":"::1"} +2022-11-21 10:27:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":194267,"url":"/samples/in/cgi-model-14.jpg","remote":"::1"} +2022-11-21 10:27:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":56160,"url":"/samples/in/cgi-model-15.jpg","remote":"::1"} +2022-11-21 10:27:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":114715,"url":"/samples/in/cgi-model-18.jpg","remote":"::1"} +2022-11-21 10:27:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":57297,"url":"/samples/in/cgi-model-19.jpg","remote":"::1"} +2022-11-21 10:27:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":150007,"url":"/samples/in/cgi-model-2.jpg","remote":"::1"} +2022-11-21 10:27:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":145437,"url":"/samples/in/cgi-model-20.jpg","remote":"::1"} +2022-11-21 10:27:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":142049,"url":"/samples/in/cgi-model-21.jpg","remote":"::1"} +2022-11-21 10:27:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":64439,"url":"/samples/in/cgi-model-22.jpg","remote":"::1"} +2022-11-21 10:27:35 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105991,"url":"/samples/in/cgi-model-23.jpg","remote":"::1"} +2022-11-21 10:27:35 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":72513,"url":"/samples/in/cgi-model-24.jpg","remote":"::1"} +2022-11-21 10:27:35 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":114937,"url":"/samples/in/cgi-model-25.jpg","remote":"::1"} +2022-11-21 10:27:35 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":113390,"url":"/samples/in/cgi-model-26.jpg","remote":"::1"} +2022-11-21 10:27:35 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":61631,"url":"/samples/in/cgi-model-27.jpg","remote":"::1"} +2022-11-21 10:27:35 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":49476,"url":"/samples/in/cgi-model-28.jpg","remote":"::1"} +2022-11-21 10:27:35 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":92658,"url":"/samples/in/cgi-model-29.jpg","remote":"::1"} +2022-11-21 10:27:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":71745,"url":"/samples/in/cgi-model-3.jpg","remote":"::1"} +2022-11-21 10:27:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":113690,"url":"/samples/in/cgi-model-30.jpg","remote":"::1"} +2022-11-21 10:27:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":95033,"url":"/samples/in/cgi-model-31.jpg","remote":"::1"} +2022-11-21 10:27:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":67547,"url":"/samples/in/cgi-model-33.jpg","remote":"::1"} +2022-11-21 10:27:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":109337,"url":"/samples/in/cgi-model-34.jpg","remote":"::1"} +2022-11-21 10:27:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":126443,"url":"/samples/in/cgi-model-4.jpg","remote":"::1"} +2022-11-21 10:27:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":112339,"url":"/samples/in/cgi-model-5.jpg","remote":"::1"} +2022-11-21 10:27:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":110532,"url":"/samples/in/cgi-model-6.jpg","remote":"::1"} +2022-11-21 10:27:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90956,"url":"/samples/in/cgi-model-7.jpg","remote":"::1"} +2022-11-21 10:27:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":58461,"url":"/samples/in/cgi-model-8.jpg","remote":"::1"} +2022-11-21 10:27:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":73478,"url":"/samples/in/cgi-model-9.jpg","remote":"::1"} +2022-11-21 10:27:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76025,"url":"/samples/in/cgi-multiangle-1.jpg","remote":"::1"} +2022-11-21 10:27:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90485,"url":"/samples/in/cgi-multiangle-10.jpg","remote":"::1"} +2022-11-21 10:27:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76319,"url":"/samples/in/cgi-multiangle-11.jpg","remote":"::1"} +2022-11-21 10:27:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74777,"url":"/samples/in/cgi-multiangle-2.jpg","remote":"::1"} +2022-11-21 10:27:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77044,"url":"/samples/in/cgi-multiangle-3.jpg","remote":"::1"} +2022-11-21 10:27:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59741,"url":"/samples/in/cgi-multiangle-4.jpg","remote":"::1"} +2022-11-21 10:27:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74481,"url":"/samples/in/cgi-multiangle-6.jpg","remote":"::1"} +2022-11-21 10:27:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88349,"url":"/samples/in/cgi-multiangle-7.jpg","remote":"::1"} +2022-11-21 10:27:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78438,"url":"/samples/in/cgi-multiangle-8.jpg","remote":"::1"} +2022-11-21 10:27:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":100727,"url":"/samples/in/cgi-multiangle-9.jpg","remote":"::1"} +2022-11-21 10:27:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 10:27:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 10:27:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 10:27:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 10:27:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 10:27:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 10:27:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 10:27:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":92537,"url":"/samples/in/person-celeste.jpg","remote":"::1"} +2022-11-21 10:27:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":98872,"url":"/samples/in/person-christina.jpg","remote":"::1"} +2022-11-21 10:27:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":186643,"url":"/samples/in/person-lauren.jpg","remote":"::1"} +2022-11-21 10:27:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":142086,"url":"/samples/in/person-lexi.jpg","remote":"::1"} +2022-11-21 10:27:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2956,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 10:27:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":4499,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 10:27:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 10:27:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 10:27:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 10:27:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 10:27:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 10:27:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 10:27:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"directory/json","size":4096,"url":"/samples/in","remote":"::1"} +2022-11-21 10:27:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":32320,"url":"/samples/in/ai-body.jpg","remote":"::1"} +2022-11-21 10:27:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":8596,"url":"/samples/in/ai-face.jpg","remote":"::1"} +2022-11-21 10:27:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":41937,"url":"/samples/in/ai-upper.jpg","remote":"::1"} +2022-11-21 10:27:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":87064,"url":"/samples/in/cgi-model-1.jpg","remote":"::1"} +2022-11-21 10:27:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74741,"url":"/samples/in/cgi-model-10.jpg","remote":"::1"} +2022-11-21 10:27:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":101868,"url":"/samples/in/cgi-model-11.jpg","remote":"::1"} +2022-11-21 10:27:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":92230,"url":"/samples/in/cgi-model-12.jpg","remote":"::1"} +2022-11-21 10:27:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":202628,"url":"/samples/in/cgi-model-13.jpg","remote":"::1"} +2022-11-21 10:27:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":194267,"url":"/samples/in/cgi-model-14.jpg","remote":"::1"} +2022-11-21 10:27:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":56160,"url":"/samples/in/cgi-model-15.jpg","remote":"::1"} +2022-11-21 10:27:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":114715,"url":"/samples/in/cgi-model-18.jpg","remote":"::1"} +2022-11-21 10:27:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":57297,"url":"/samples/in/cgi-model-19.jpg","remote":"::1"} +2022-11-21 10:27:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":150007,"url":"/samples/in/cgi-model-2.jpg","remote":"::1"} +2022-11-21 10:27:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":145437,"url":"/samples/in/cgi-model-20.jpg","remote":"::1"} +2022-11-21 10:27:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":142049,"url":"/samples/in/cgi-model-21.jpg","remote":"::1"} +2022-11-21 10:27:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":64439,"url":"/samples/in/cgi-model-22.jpg","remote":"::1"} +2022-11-21 10:27:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105991,"url":"/samples/in/cgi-model-23.jpg","remote":"::1"} +2022-11-21 10:27:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":72513,"url":"/samples/in/cgi-model-24.jpg","remote":"::1"} +2022-11-21 10:27:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":114937,"url":"/samples/in/cgi-model-25.jpg","remote":"::1"} +2022-11-21 10:27:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":113390,"url":"/samples/in/cgi-model-26.jpg","remote":"::1"} +2022-11-21 10:27:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":61631,"url":"/samples/in/cgi-model-27.jpg","remote":"::1"} +2022-11-21 10:27:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":49476,"url":"/samples/in/cgi-model-28.jpg","remote":"::1"} +2022-11-21 10:27:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":92658,"url":"/samples/in/cgi-model-29.jpg","remote":"::1"} +2022-11-21 10:27:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":71745,"url":"/samples/in/cgi-model-3.jpg","remote":"::1"} +2022-11-21 10:27:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":113690,"url":"/samples/in/cgi-model-30.jpg","remote":"::1"} +2022-11-21 10:27:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":95033,"url":"/samples/in/cgi-model-31.jpg","remote":"::1"} +2022-11-21 10:27:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":67547,"url":"/samples/in/cgi-model-33.jpg","remote":"::1"} +2022-11-21 10:27:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":109337,"url":"/samples/in/cgi-model-34.jpg","remote":"::1"} +2022-11-21 10:27:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":126443,"url":"/samples/in/cgi-model-4.jpg","remote":"::1"} +2022-11-21 10:27:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":112339,"url":"/samples/in/cgi-model-5.jpg","remote":"::1"} +2022-11-21 10:27:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":110532,"url":"/samples/in/cgi-model-6.jpg","remote":"::1"} +2022-11-21 10:27:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90956,"url":"/samples/in/cgi-model-7.jpg","remote":"::1"} +2022-11-21 10:27:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":58461,"url":"/samples/in/cgi-model-8.jpg","remote":"::1"} +2022-11-21 10:27:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":73478,"url":"/samples/in/cgi-model-9.jpg","remote":"::1"} +2022-11-21 10:27:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76025,"url":"/samples/in/cgi-multiangle-1.jpg","remote":"::1"} +2022-11-21 10:27:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90485,"url":"/samples/in/cgi-multiangle-10.jpg","remote":"::1"} +2022-11-21 10:27:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76319,"url":"/samples/in/cgi-multiangle-11.jpg","remote":"::1"} +2022-11-21 10:27:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74777,"url":"/samples/in/cgi-multiangle-2.jpg","remote":"::1"} +2022-11-21 10:27:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77044,"url":"/samples/in/cgi-multiangle-3.jpg","remote":"::1"} +2022-11-21 10:27:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59741,"url":"/samples/in/cgi-multiangle-4.jpg","remote":"::1"} +2022-11-21 10:27:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74481,"url":"/samples/in/cgi-multiangle-6.jpg","remote":"::1"} +2022-11-21 10:27:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88349,"url":"/samples/in/cgi-multiangle-7.jpg","remote":"::1"} +2022-11-21 10:27:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78438,"url":"/samples/in/cgi-multiangle-8.jpg","remote":"::1"} +2022-11-21 10:27:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":100727,"url":"/samples/in/cgi-multiangle-9.jpg","remote":"::1"} +2022-11-21 10:27:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 10:27:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 10:27:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 10:27:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 10:27:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 10:27:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 10:27:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 10:27:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":92537,"url":"/samples/in/person-celeste.jpg","remote":"::1"} +2022-11-21 10:27:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":98872,"url":"/samples/in/person-christina.jpg","remote":"::1"} +2022-11-21 10:27:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":186643,"url":"/samples/in/person-lauren.jpg","remote":"::1"} +2022-11-21 10:27:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":142086,"url":"/samples/in/person-lexi.jpg","remote":"::1"} +2022-11-21 10:27:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144985,"url":"/samples/in/person-linda.jpg","remote":"::1"} +2022-11-21 10:27:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":233964,"url":"/samples/in/person-nicole.jpg","remote":"::1"} +2022-11-21 10:27:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":80615,"url":"/samples/in/person-tasia.jpg","remote":"::1"} +2022-11-21 10:27:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":80721,"url":"/samples/in/person-tetiana.jpg","remote":"::1"} +2022-11-21 10:27:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":112231,"url":"/samples/in/person-vlado.jpg","remote":"::1"} +2022-11-21 10:27:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":170190,"url":"/samples/in/person-vlado1.jpg","remote":"::1"} +2022-11-21 10:27:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":243561,"url":"/samples/in/person-vlado5.jpg","remote":"::1"} +2022-11-21 10:27:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 10:27:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":67655,"url":"/samples/in/stock-emotions-a-1.jpg","remote":"::1"} +2022-11-21 10:27:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":83172,"url":"/samples/in/stock-emotions-a-2.jpg","remote":"::1"} +2022-11-21 10:27:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77125,"url":"/samples/in/stock-emotions-a-3.jpg","remote":"::1"} +2022-11-21 10:27:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88183,"url":"/samples/in/stock-emotions-a-4.jpg","remote":"::1"} +2022-11-21 10:27:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":96253,"url":"/samples/in/stock-emotions-a-5.jpg","remote":"::1"} +2022-11-21 10:27:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":89673,"url":"/samples/in/stock-emotions-a-6.jpg","remote":"::1"} +2022-11-21 10:27:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78702,"url":"/samples/in/stock-emotions-a-7.jpg","remote":"::1"} +2022-11-21 10:27:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":75690,"url":"/samples/in/stock-emotions-a-8.jpg","remote":"::1"} +2022-11-21 10:27:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":33583,"url":"/samples/in/stock-emotions-b-1.jpg","remote":"::1"} +2022-11-21 10:27:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":38977,"url":"/samples/in/stock-emotions-b-2.jpg","remote":"::1"} +2022-11-21 10:27:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":42582,"url":"/samples/in/stock-emotions-b-3.jpg","remote":"::1"} +2022-11-21 10:27:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":32127,"url":"/samples/in/stock-emotions-b-4.jpg","remote":"::1"} +2022-11-21 10:27:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":37247,"url":"/samples/in/stock-emotions-b-5.jpg","remote":"::1"} +2022-11-21 10:27:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":39138,"url":"/samples/in/stock-emotions-b-6.jpg","remote":"::1"} +2022-11-21 10:27:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":31928,"url":"/samples/in/stock-emotions-b-7.jpg","remote":"::1"} +2022-11-21 10:27:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":30001,"url":"/samples/in/stock-emotions-b-8.jpg","remote":"::1"} +2022-11-21 10:27:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 10:27:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 10:27:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":75846,"url":"/samples/in/stock-models-1.jpg","remote":"::1"} +2022-11-21 10:27:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":132655,"url":"/samples/in/stock-models-10.jpg","remote":"::1"} +2022-11-21 10:27:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":81324,"url":"/samples/in/stock-models-11.jpg","remote":"::1"} +2022-11-21 10:27:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":133010,"url":"/samples/in/stock-models-12.jpg","remote":"::1"} +2022-11-21 10:27:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":137494,"url":"/samples/in/stock-models-13.jpg","remote":"::1"} +2022-11-21 10:27:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88332,"url":"/samples/in/stock-models-14.jpg","remote":"::1"} +2022-11-21 10:27:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":119827,"url":"/samples/in/stock-models-15.jpg","remote":"::1"} +2022-11-21 10:27:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":170222,"url":"/samples/in/stock-models-16.jpg","remote":"::1"} +2022-11-21 10:27:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":91317,"url":"/samples/in/stock-models-2.jpg","remote":"::1"} +2022-11-21 10:27:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":48479,"url":"/samples/in/stock-models-3.jpg","remote":"::1"} +2022-11-21 10:27:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":97194,"url":"/samples/in/stock-models-4.jpg","remote":"::1"} +2022-11-21 10:27:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":52883,"url":"/samples/in/stock-models-5.jpg","remote":"::1"} +2022-11-21 10:27:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":181836,"url":"/samples/in/stock-models-6.jpg","remote":"::1"} +2022-11-21 10:27:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":148741,"url":"/samples/in/stock-models-7.jpg","remote":"::1"} +2022-11-21 10:27:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":102060,"url":"/samples/in/stock-models-8.jpg","remote":"::1"} +2022-11-21 10:27:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":89594,"url":"/samples/in/stock-models-9.jpg","remote":"::1"} +2022-11-21 10:27:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":73931,"url":"/samples/in/stock-teen-1.jpg","remote":"::1"} +2022-11-21 10:27:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":62280,"url":"/samples/in/stock-teen-2.jpg","remote":"::1"} +2022-11-21 10:28:00 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":71777,"url":"/samples/in/stock-teen-3.jpg","remote":"::1"} +2022-11-21 10:28:00 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":99423,"url":"/samples/in/stock-teen-4.jpg","remote":"::1"} +2022-11-21 10:28:00 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":81412,"url":"/samples/in/stock-teen-5.jpg","remote":"::1"} +2022-11-21 10:28:00 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59718,"url":"/samples/in/stock-teen-6.jpg","remote":"::1"} +2022-11-21 10:28:00 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":108468,"url":"/samples/in/stock-teen-7.jpg","remote":"::1"} +2022-11-21 10:28:00 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":45389,"url":"/samples/in/stock-teen-8.jpg","remote":"::1"} +2022-11-21 10:28:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2956,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 10:28:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":4095,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 10:28:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 10:28:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 10:28:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 10:28:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 10:28:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 10:28:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 10:28:50 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/human/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 10:28:50 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/human/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 10:28:50 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/human/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 10:28:50 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/human/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 10:28:50 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/human/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 10:28:50 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/human/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 10:28:50 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/human/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 10:28:50 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/human/samples/in/daz3d-_emotions01.jpg","remote":"::1"} +2022-11-21 10:28:50 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/human/samples/in/daz3d-_emotions02.jpg","remote":"::1"} +2022-11-21 10:28:50 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/human/samples/in/daz3d-_emotions03.jpg","remote":"::1"} +2022-11-21 10:28:50 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/human/samples/in/daz3d-_emotions04.jpg","remote":"::1"} +2022-11-21 10:28:50 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/human/samples/in/daz3d-_emotions05.jpg","remote":"::1"} +2022-11-21 10:29:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2956,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 10:29:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":4094,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 10:29:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 10:29:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 10:29:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 10:29:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 10:29:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 10:29:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 10:29:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 10:29:20 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 10:29:20 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 10:29:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 10:29:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 10:29:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 10:29:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 10:29:22 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/samples/in/daz3d-_emotions01.jpg","remote":"::1"} +2022-11-21 10:29:22 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/samples/in/daz3d-_emotions02.jpg","remote":"::1"} +2022-11-21 10:29:22 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/samples/in/daz3d-_emotions03.jpg","remote":"::1"} +2022-11-21 10:29:22 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/samples/in/daz3d-_emotions04.jpg","remote":"::1"} +2022-11-21 10:29:22 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/samples/in/daz3d-_emotions05.jpg","remote":"::1"} +2022-11-21 10:31:20 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2956,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 10:31:20 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":4156,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 10:31:20 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 10:31:20 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 10:31:20 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 10:31:20 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 10:31:20 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 10:31:20 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 10:31:20 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 10:31:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 10:31:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 10:31:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 10:31:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 10:31:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 10:31:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 10:31:27 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 10:31:27 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/samples/in/stock-group1.jpg","remote":"::1"} +2022-11-21 10:31:27 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/samples/in/stock-group2.jpg","remote":"::1"} +2022-11-21 10:31:27 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/samples/in/daz3d-_emotions01.jpg","remote":"::1"} +2022-11-21 10:31:27 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/samples/in/daz3d-_emotions02.jpg","remote":"::1"} +2022-11-21 10:31:27 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/samples/in/daz3d-_emotions03.jpg","remote":"::1"} +2022-11-21 10:31:27 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/samples/in/daz3d-_emotions04.jpg","remote":"::1"} +2022-11-21 10:31:27 WARN:  HTTPS: {"method":"GET","ver":"2.0","status":404,"url":"/samples/in/daz3d-_emotions05.jpg","remote":"::1"} +2022-11-21 10:31:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2955,"url":"/demo/facematch/index.html","remote":"::1"} +2022-11-21 10:31:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":11293,"url":"/demo/facematch/facematch.js","remote":"::1"} +2022-11-21 10:31:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 10:31:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 10:31:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 10:31:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 10:31:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/json","size":222560,"url":"/demo/facematch/faces.json","remote":"::1"} +2022-11-21 10:31:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"directory/json","size":4096,"url":"/samples/in","remote":"::1"} +2022-11-21 10:31:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":32320,"url":"/samples/in/ai-body.jpg","remote":"::1"} +2022-11-21 10:31:45 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":8596,"url":"/samples/in/ai-face.jpg","remote":"::1"} +2022-11-21 10:31:45 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":41937,"url":"/samples/in/ai-upper.jpg","remote":"::1"} +2022-11-21 10:31:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":87064,"url":"/samples/in/cgi-model-1.jpg","remote":"::1"} +2022-11-21 10:31:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74741,"url":"/samples/in/cgi-model-10.jpg","remote":"::1"} +2022-11-21 10:31:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":101868,"url":"/samples/in/cgi-model-11.jpg","remote":"::1"} +2022-11-21 10:31:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":92230,"url":"/samples/in/cgi-model-12.jpg","remote":"::1"} +2022-11-21 10:31:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":202628,"url":"/samples/in/cgi-model-13.jpg","remote":"::1"} +2022-11-21 10:31:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":194267,"url":"/samples/in/cgi-model-14.jpg","remote":"::1"} +2022-11-21 10:31:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":56160,"url":"/samples/in/cgi-model-15.jpg","remote":"::1"} +2022-11-21 10:31:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":114715,"url":"/samples/in/cgi-model-18.jpg","remote":"::1"} +2022-11-21 10:31:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":57297,"url":"/samples/in/cgi-model-19.jpg","remote":"::1"} +2022-11-21 10:31:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":150007,"url":"/samples/in/cgi-model-2.jpg","remote":"::1"} +2022-11-21 10:31:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":145437,"url":"/samples/in/cgi-model-20.jpg","remote":"::1"} +2022-11-21 10:31:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":142049,"url":"/samples/in/cgi-model-21.jpg","remote":"::1"} +2022-11-21 10:31:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":64439,"url":"/samples/in/cgi-model-22.jpg","remote":"::1"} +2022-11-21 10:31:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105991,"url":"/samples/in/cgi-model-23.jpg","remote":"::1"} +2022-11-21 10:31:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":72513,"url":"/samples/in/cgi-model-24.jpg","remote":"::1"} +2022-11-21 10:31:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":114937,"url":"/samples/in/cgi-model-25.jpg","remote":"::1"} +2022-11-21 10:31:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":113390,"url":"/samples/in/cgi-model-26.jpg","remote":"::1"} +2022-11-21 10:31:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":61631,"url":"/samples/in/cgi-model-27.jpg","remote":"::1"} +2022-11-21 10:31:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":49476,"url":"/samples/in/cgi-model-28.jpg","remote":"::1"} +2022-11-21 10:31:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":92658,"url":"/samples/in/cgi-model-29.jpg","remote":"::1"} +2022-11-21 10:31:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":71745,"url":"/samples/in/cgi-model-3.jpg","remote":"::1"} +2022-11-21 10:31:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":113690,"url":"/samples/in/cgi-model-30.jpg","remote":"::1"} +2022-11-21 10:31:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":95033,"url":"/samples/in/cgi-model-31.jpg","remote":"::1"} +2022-11-21 10:31:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":67547,"url":"/samples/in/cgi-model-33.jpg","remote":"::1"} +2022-11-21 10:31:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":109337,"url":"/samples/in/cgi-model-34.jpg","remote":"::1"} +2022-11-21 10:31:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":126443,"url":"/samples/in/cgi-model-4.jpg","remote":"::1"} +2022-11-21 10:31:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":112339,"url":"/samples/in/cgi-model-5.jpg","remote":"::1"} +2022-11-21 10:31:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":110532,"url":"/samples/in/cgi-model-6.jpg","remote":"::1"} +2022-11-21 10:31:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90956,"url":"/samples/in/cgi-model-7.jpg","remote":"::1"} +2022-11-21 10:31:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":58461,"url":"/samples/in/cgi-model-8.jpg","remote":"::1"} +2022-11-21 10:31:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":73478,"url":"/samples/in/cgi-model-9.jpg","remote":"::1"} +2022-11-21 10:31:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76025,"url":"/samples/in/cgi-multiangle-1.jpg","remote":"::1"} +2022-11-21 10:31:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90485,"url":"/samples/in/cgi-multiangle-10.jpg","remote":"::1"} +2022-11-21 10:31:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76319,"url":"/samples/in/cgi-multiangle-11.jpg","remote":"::1"} +2022-11-21 10:31:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74777,"url":"/samples/in/cgi-multiangle-2.jpg","remote":"::1"} +2022-11-21 10:31:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77044,"url":"/samples/in/cgi-multiangle-3.jpg","remote":"::1"} +2022-11-21 10:32:00 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59741,"url":"/samples/in/cgi-multiangle-4.jpg","remote":"::1"} +2022-11-21 10:32:00 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74481,"url":"/samples/in/cgi-multiangle-6.jpg","remote":"::1"} +2022-11-21 10:32:00 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88349,"url":"/samples/in/cgi-multiangle-7.jpg","remote":"::1"} +2022-11-21 10:32:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78438,"url":"/samples/in/cgi-multiangle-8.jpg","remote":"::1"} +2022-11-21 10:32:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":100727,"url":"/samples/in/cgi-multiangle-9.jpg","remote":"::1"} +2022-11-21 10:32:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 10:32:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 10:32:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 10:32:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 10:32:06 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 10:32:07 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 10:32:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 10:32:09 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":92537,"url":"/samples/in/person-celeste.jpg","remote":"::1"} +2022-11-21 10:32:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":98872,"url":"/samples/in/person-christina.jpg","remote":"::1"} +2022-11-21 10:32:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":186643,"url":"/samples/in/person-lauren.jpg","remote":"::1"} +2022-11-21 10:32:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":142086,"url":"/samples/in/person-lexi.jpg","remote":"::1"} +2022-11-21 10:32:12 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144985,"url":"/samples/in/person-linda.jpg","remote":"::1"} +2022-11-21 10:32:12 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":233964,"url":"/samples/in/person-nicole.jpg","remote":"::1"} +2022-11-21 10:32:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":80615,"url":"/samples/in/person-tasia.jpg","remote":"::1"} +2022-11-21 10:32:14 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":80721,"url":"/samples/in/person-tetiana.jpg","remote":"::1"} +2022-11-21 10:32:14 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":112231,"url":"/samples/in/person-vlado.jpg","remote":"::1"} +2022-11-21 10:32:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":170190,"url":"/samples/in/person-vlado1.jpg","remote":"::1"} +2022-11-21 10:32:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":243561,"url":"/samples/in/person-vlado5.jpg","remote":"::1"} +2022-11-21 10:32:17 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 10:32:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":67655,"url":"/samples/in/stock-emotions-a-1.jpg","remote":"::1"} +2022-11-21 10:32:20 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":83172,"url":"/samples/in/stock-emotions-a-2.jpg","remote":"::1"} +2022-11-21 10:32:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77125,"url":"/samples/in/stock-emotions-a-3.jpg","remote":"::1"} +2022-11-21 10:32:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88183,"url":"/samples/in/stock-emotions-a-4.jpg","remote":"::1"} +2022-11-21 10:32:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":96253,"url":"/samples/in/stock-emotions-a-5.jpg","remote":"::1"} +2022-11-21 10:32:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":89673,"url":"/samples/in/stock-emotions-a-6.jpg","remote":"::1"} +2022-11-21 10:32:22 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78702,"url":"/samples/in/stock-emotions-a-7.jpg","remote":"::1"} +2022-11-21 10:32:22 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":75690,"url":"/samples/in/stock-emotions-a-8.jpg","remote":"::1"} +2022-11-21 10:32:22 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":33583,"url":"/samples/in/stock-emotions-b-1.jpg","remote":"::1"} +2022-11-21 10:32:22 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":38977,"url":"/samples/in/stock-emotions-b-2.jpg","remote":"::1"} +2022-11-21 10:32:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":42582,"url":"/samples/in/stock-emotions-b-3.jpg","remote":"::1"} +2022-11-21 10:32:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":32127,"url":"/samples/in/stock-emotions-b-4.jpg","remote":"::1"} +2022-11-21 10:32:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":37247,"url":"/samples/in/stock-emotions-b-5.jpg","remote":"::1"} +2022-11-21 10:32:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":39138,"url":"/samples/in/stock-emotions-b-6.jpg","remote":"::1"} +2022-11-21 10:32:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":31928,"url":"/samples/in/stock-emotions-b-7.jpg","remote":"::1"} +2022-11-21 10:32:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":30001,"url":"/samples/in/stock-emotions-b-8.jpg","remote":"::1"} +2022-11-21 10:32:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 10:32:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 10:32:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":75846,"url":"/samples/in/stock-models-1.jpg","remote":"::1"} +2022-11-21 10:32:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":132655,"url":"/samples/in/stock-models-10.jpg","remote":"::1"} +2022-11-21 10:32:27 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":81324,"url":"/samples/in/stock-models-11.jpg","remote":"::1"} +2022-11-21 10:32:27 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":133010,"url":"/samples/in/stock-models-12.jpg","remote":"::1"} +2022-11-21 10:32:27 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":137494,"url":"/samples/in/stock-models-13.jpg","remote":"::1"} +2022-11-21 10:32:28 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88332,"url":"/samples/in/stock-models-14.jpg","remote":"::1"} +2022-11-21 10:32:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":119827,"url":"/samples/in/stock-models-15.jpg","remote":"::1"} +2022-11-21 10:32:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":170222,"url":"/samples/in/stock-models-16.jpg","remote":"::1"} +2022-11-21 10:32:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":91317,"url":"/samples/in/stock-models-2.jpg","remote":"::1"} +2022-11-21 10:32:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":48479,"url":"/samples/in/stock-models-3.jpg","remote":"::1"} +2022-11-21 10:32:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":97194,"url":"/samples/in/stock-models-4.jpg","remote":"::1"} +2022-11-21 10:32:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":52883,"url":"/samples/in/stock-models-5.jpg","remote":"::1"} +2022-11-21 10:32:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":181836,"url":"/samples/in/stock-models-6.jpg","remote":"::1"} +2022-11-21 10:32:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":148741,"url":"/samples/in/stock-models-7.jpg","remote":"::1"} +2022-11-21 10:32:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":102060,"url":"/samples/in/stock-models-8.jpg","remote":"::1"} +2022-11-21 10:32:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":89594,"url":"/samples/in/stock-models-9.jpg","remote":"::1"} +2022-11-21 10:32:31 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":73931,"url":"/samples/in/stock-teen-1.jpg","remote":"::1"} +2022-11-21 10:32:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":62280,"url":"/samples/in/stock-teen-2.jpg","remote":"::1"} +2022-11-21 10:32:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":71777,"url":"/samples/in/stock-teen-3.jpg","remote":"::1"} +2022-11-21 10:32:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":99423,"url":"/samples/in/stock-teen-4.jpg","remote":"::1"} +2022-11-21 10:32:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":81412,"url":"/samples/in/stock-teen-5.jpg","remote":"::1"} +2022-11-21 10:32:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59718,"url":"/samples/in/stock-teen-6.jpg","remote":"::1"} +2022-11-21 10:32:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":108468,"url":"/samples/in/stock-teen-7.jpg","remote":"::1"} +2022-11-21 10:32:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":45389,"url":"/samples/in/stock-teen-8.jpg","remote":"::1"} +2022-11-21 10:35:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2956,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 10:35:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":4279,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 10:35:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 10:35:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 10:35:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 10:35:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 10:35:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 10:35:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 10:35:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 10:35:44 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 10:35:44 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 10:35:44 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 10:35:45 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 10:35:45 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 10:35:45 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 10:35:45 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 10:35:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 10:35:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 10:35:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76025,"url":"/samples/in/cgi-multiangle-1.jpg","remote":"::1"} +2022-11-21 10:35:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74777,"url":"/samples/in/cgi-multiangle-2.jpg","remote":"::1"} +2022-11-21 10:35:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77044,"url":"/samples/in/cgi-multiangle-3.jpg","remote":"::1"} +2022-11-21 10:35:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59741,"url":"/samples/in/cgi-multiangle-4.jpg","remote":"::1"} +2022-11-21 10:35:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74481,"url":"/samples/in/cgi-multiangle-6.jpg","remote":"::1"} +2022-11-21 10:35:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88349,"url":"/samples/in/cgi-multiangle-7.jpg","remote":"::1"} +2022-11-21 10:35:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78438,"url":"/samples/in/cgi-multiangle-8.jpg","remote":"::1"} +2022-11-21 10:35:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":100727,"url":"/samples/in/cgi-multiangle-9.jpg","remote":"::1"} +2022-11-21 10:35:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90485,"url":"/samples/in/cgi-multiangle-10.jpg","remote":"::1"} +2022-11-21 10:35:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76319,"url":"/samples/in/cgi-multiangle-11.jpg","remote":"::1"} +2022-11-21 10:37:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2626,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 10:37:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":4279,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 10:37:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 10:37:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 10:37:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 10:37:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 10:37:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 10:37:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 10:38:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2626,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 10:38:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3934,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 10:38:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 10:38:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 10:38:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 10:38:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 10:38:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 10:38:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 10:38:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 10:38:35 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 10:38:35 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 10:38:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 10:38:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 10:38:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 10:38:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 10:38:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 10:38:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 10:38:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 10:38:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76025,"url":"/samples/in/cgi-multiangle-1.jpg","remote":"::1"} +2022-11-21 10:38:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74777,"url":"/samples/in/cgi-multiangle-2.jpg","remote":"::1"} +2022-11-21 10:38:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77044,"url":"/samples/in/cgi-multiangle-3.jpg","remote":"::1"} +2022-11-21 10:38:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59741,"url":"/samples/in/cgi-multiangle-4.jpg","remote":"::1"} +2022-11-21 10:38:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74481,"url":"/samples/in/cgi-multiangle-6.jpg","remote":"::1"} +2022-11-21 10:38:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88349,"url":"/samples/in/cgi-multiangle-7.jpg","remote":"::1"} +2022-11-21 10:38:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78438,"url":"/samples/in/cgi-multiangle-8.jpg","remote":"::1"} +2022-11-21 10:38:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":100727,"url":"/samples/in/cgi-multiangle-9.jpg","remote":"::1"} +2022-11-21 10:38:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90485,"url":"/samples/in/cgi-multiangle-10.jpg","remote":"::1"} +2022-11-21 10:38:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76319,"url":"/samples/in/cgi-multiangle-11.jpg","remote":"::1"} +2022-11-21 10:38:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2626,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 10:38:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3934,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 10:38:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 10:38:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 10:38:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 10:38:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 10:38:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 10:38:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 10:38:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 10:38:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 10:38:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 10:38:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 10:38:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 10:38:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 10:38:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 10:38:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 10:38:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 10:38:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 10:38:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76025,"url":"/samples/in/cgi-multiangle-1.jpg","remote":"::1"} +2022-11-21 10:38:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74777,"url":"/samples/in/cgi-multiangle-2.jpg","remote":"::1"} +2022-11-21 10:38:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77044,"url":"/samples/in/cgi-multiangle-3.jpg","remote":"::1"} +2022-11-21 10:38:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59741,"url":"/samples/in/cgi-multiangle-4.jpg","remote":"::1"} +2022-11-21 10:38:56 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74481,"url":"/samples/in/cgi-multiangle-6.jpg","remote":"::1"} +2022-11-21 10:38:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88349,"url":"/samples/in/cgi-multiangle-7.jpg","remote":"::1"} +2022-11-21 10:38:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78438,"url":"/samples/in/cgi-multiangle-8.jpg","remote":"::1"} +2022-11-21 10:38:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":100727,"url":"/samples/in/cgi-multiangle-9.jpg","remote":"::1"} +2022-11-21 10:38:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90485,"url":"/samples/in/cgi-multiangle-10.jpg","remote":"::1"} +2022-11-21 10:38:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76319,"url":"/samples/in/cgi-multiangle-11.jpg","remote":"::1"} +2022-11-21 10:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2621,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 10:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3934,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 10:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 10:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 10:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 10:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 10:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 10:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 10:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 10:40:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 10:40:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 10:40:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 10:40:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 10:41:00 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 10:41:00 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 10:41:00 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 10:41:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 10:41:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 10:41:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76025,"url":"/samples/in/cgi-multiangle-1.jpg","remote":"::1"} +2022-11-21 10:41:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74777,"url":"/samples/in/cgi-multiangle-2.jpg","remote":"::1"} +2022-11-21 10:41:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77044,"url":"/samples/in/cgi-multiangle-3.jpg","remote":"::1"} +2022-11-21 10:41:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59741,"url":"/samples/in/cgi-multiangle-4.jpg","remote":"::1"} +2022-11-21 10:41:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74481,"url":"/samples/in/cgi-multiangle-6.jpg","remote":"::1"} +2022-11-21 10:41:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88349,"url":"/samples/in/cgi-multiangle-7.jpg","remote":"::1"} +2022-11-21 10:41:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78438,"url":"/samples/in/cgi-multiangle-8.jpg","remote":"::1"} +2022-11-21 10:41:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":100727,"url":"/samples/in/cgi-multiangle-9.jpg","remote":"::1"} +2022-11-21 10:41:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90485,"url":"/samples/in/cgi-multiangle-10.jpg","remote":"::1"} +2022-11-21 10:41:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76319,"url":"/samples/in/cgi-multiangle-11.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2621,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3552,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76025,"url":"/samples/in/cgi-multiangle-1.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74777,"url":"/samples/in/cgi-multiangle-2.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77044,"url":"/samples/in/cgi-multiangle-3.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59741,"url":"/samples/in/cgi-multiangle-4.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74481,"url":"/samples/in/cgi-multiangle-6.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88349,"url":"/samples/in/cgi-multiangle-7.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78438,"url":"/samples/in/cgi-multiangle-8.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":100727,"url":"/samples/in/cgi-multiangle-9.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90485,"url":"/samples/in/cgi-multiangle-10.jpg","remote":"::1"} +2022-11-21 10:50:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76319,"url":"/samples/in/cgi-multiangle-11.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2621,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3984,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76025,"url":"/samples/in/cgi-multiangle-1.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74777,"url":"/samples/in/cgi-multiangle-2.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77044,"url":"/samples/in/cgi-multiangle-3.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59741,"url":"/samples/in/cgi-multiangle-4.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74481,"url":"/samples/in/cgi-multiangle-6.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88349,"url":"/samples/in/cgi-multiangle-7.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78438,"url":"/samples/in/cgi-multiangle-8.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":100727,"url":"/samples/in/cgi-multiangle-9.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90485,"url":"/samples/in/cgi-multiangle-10.jpg","remote":"::1"} +2022-11-21 10:57:50 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76319,"url":"/samples/in/cgi-multiangle-11.jpg","remote":"::1"} +2022-11-21 11:01:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2600,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:01:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3972,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:01:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:01:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76025,"url":"/samples/in/cgi-multiangle-1.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74777,"url":"/samples/in/cgi-multiangle-2.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77044,"url":"/samples/in/cgi-multiangle-3.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59741,"url":"/samples/in/cgi-multiangle-4.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74481,"url":"/samples/in/cgi-multiangle-6.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88349,"url":"/samples/in/cgi-multiangle-7.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78438,"url":"/samples/in/cgi-multiangle-8.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":100727,"url":"/samples/in/cgi-multiangle-9.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90485,"url":"/samples/in/cgi-multiangle-10.jpg","remote":"::1"} +2022-11-21 11:01:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76319,"url":"/samples/in/cgi-multiangle-11.jpg","remote":"::1"} +2022-11-21 11:03:07 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2602,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:03:07 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3972,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:03:07 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:03:07 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:03:07 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76025,"url":"/samples/in/cgi-multiangle-1.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74777,"url":"/samples/in/cgi-multiangle-2.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77044,"url":"/samples/in/cgi-multiangle-3.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59741,"url":"/samples/in/cgi-multiangle-4.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74481,"url":"/samples/in/cgi-multiangle-6.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88349,"url":"/samples/in/cgi-multiangle-7.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78438,"url":"/samples/in/cgi-multiangle-8.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":100727,"url":"/samples/in/cgi-multiangle-9.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90485,"url":"/samples/in/cgi-multiangle-10.jpg","remote":"::1"} +2022-11-21 11:03:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76319,"url":"/samples/in/cgi-multiangle-11.jpg","remote":"::1"} +2022-11-21 11:09:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2684,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76025,"url":"/samples/in/cgi-multiangle-1.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74777,"url":"/samples/in/cgi-multiangle-2.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77044,"url":"/samples/in/cgi-multiangle-3.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59741,"url":"/samples/in/cgi-multiangle-4.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74481,"url":"/samples/in/cgi-multiangle-6.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88349,"url":"/samples/in/cgi-multiangle-7.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78438,"url":"/samples/in/cgi-multiangle-8.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":100727,"url":"/samples/in/cgi-multiangle-9.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90485,"url":"/samples/in/cgi-multiangle-10.jpg","remote":"::1"} +2022-11-21 11:09:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76319,"url":"/samples/in/cgi-multiangle-11.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2676,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76025,"url":"/samples/in/cgi-multiangle-1.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74777,"url":"/samples/in/cgi-multiangle-2.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77044,"url":"/samples/in/cgi-multiangle-3.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59741,"url":"/samples/in/cgi-multiangle-4.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74481,"url":"/samples/in/cgi-multiangle-6.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88349,"url":"/samples/in/cgi-multiangle-7.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78438,"url":"/samples/in/cgi-multiangle-8.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":100727,"url":"/samples/in/cgi-multiangle-9.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90485,"url":"/samples/in/cgi-multiangle-10.jpg","remote":"::1"} +2022-11-21 11:11:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76319,"url":"/samples/in/cgi-multiangle-11.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2653,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76025,"url":"/samples/in/cgi-multiangle-1.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74777,"url":"/samples/in/cgi-multiangle-2.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77044,"url":"/samples/in/cgi-multiangle-3.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59741,"url":"/samples/in/cgi-multiangle-4.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74481,"url":"/samples/in/cgi-multiangle-6.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88349,"url":"/samples/in/cgi-multiangle-7.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78438,"url":"/samples/in/cgi-multiangle-8.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":100727,"url":"/samples/in/cgi-multiangle-9.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90485,"url":"/samples/in/cgi-multiangle-10.jpg","remote":"::1"} +2022-11-21 11:12:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76319,"url":"/samples/in/cgi-multiangle-11.jpg","remote":"::1"} +2022-11-21 11:13:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:13:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2664,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:13:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:13:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:13:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76025,"url":"/samples/in/cgi-multiangle-1.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74777,"url":"/samples/in/cgi-multiangle-2.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77044,"url":"/samples/in/cgi-multiangle-3.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59741,"url":"/samples/in/cgi-multiangle-4.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74481,"url":"/samples/in/cgi-multiangle-6.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88349,"url":"/samples/in/cgi-multiangle-7.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78438,"url":"/samples/in/cgi-multiangle-8.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":100727,"url":"/samples/in/cgi-multiangle-9.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90485,"url":"/samples/in/cgi-multiangle-10.jpg","remote":"::1"} +2022-11-21 11:13:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76319,"url":"/samples/in/cgi-multiangle-11.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2679,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76025,"url":"/samples/in/cgi-multiangle-1.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74777,"url":"/samples/in/cgi-multiangle-2.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":77044,"url":"/samples/in/cgi-multiangle-3.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":59741,"url":"/samples/in/cgi-multiangle-4.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":74481,"url":"/samples/in/cgi-multiangle-6.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":88349,"url":"/samples/in/cgi-multiangle-7.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":78438,"url":"/samples/in/cgi-multiangle-8.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":100727,"url":"/samples/in/cgi-multiangle-9.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":90485,"url":"/samples/in/cgi-multiangle-10.jpg","remote":"::1"} +2022-11-21 11:16:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":76319,"url":"/samples/in/cgi-multiangle-11.jpg","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893784,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355368,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:17:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:19:31 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:19:31 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:19:31 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:19:31 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671145,"outputBytes":505098} +2022-11-21 11:19:31 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:19:31 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671169,"outputBytes":505118} +2022-11-21 11:19:31 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:19:31 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671351,"outputBytes":505309} +2022-11-21 11:19:31 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:19:31 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670282,"outputBytes":507790} +2022-11-21 11:19:31 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:19:31 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807551,"outputBytes":1450687} +2022-11-21 11:19:31 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807551,"outputBytes":1893847} +2022-11-21 11:19:31 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:19:31 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:19:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:19:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:19:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:19:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893847,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:19:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355475,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:19:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:19:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:19:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:19:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:19:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:19:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:19:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:19:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:19:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:19:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:19:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:19:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:19:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:20:35 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:20:35 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:20:35 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:20:35 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671173,"outputBytes":505126} +2022-11-21 11:20:35 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:20:35 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671197,"outputBytes":505146} +2022-11-21 11:20:35 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:20:35 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671379,"outputBytes":505337} +2022-11-21 11:20:35 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:20:35 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670310,"outputBytes":507818} +2022-11-21 11:20:35 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:20:36 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807579,"outputBytes":1450709} +2022-11-21 11:20:36 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807579,"outputBytes":1893875} +2022-11-21 11:20:36 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:20:36 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893875,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355530,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:20:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:21:33 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:21:33 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:21:33 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:21:33 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671168,"outputBytes":505121} +2022-11-21 11:21:33 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:21:33 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671192,"outputBytes":505141} +2022-11-21 11:21:33 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:21:33 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671374,"outputBytes":505332} +2022-11-21 11:21:33 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:21:33 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670305,"outputBytes":507813} +2022-11-21 11:21:33 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:21:33 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807574,"outputBytes":1450704} +2022-11-21 11:21:33 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807574,"outputBytes":1893870} +2022-11-21 11:21:33 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:21:33 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:21:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:21:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:21:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:21:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893870,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:21:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355510,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:21:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:21:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:21:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:21:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:21:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:21:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:21:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:21:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:21:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:21:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:21:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:21:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:21:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:22:35 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:22:35 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:22:35 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:22:35 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671217,"outputBytes":505170} +2022-11-21 11:22:35 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:22:35 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671241,"outputBytes":505190} +2022-11-21 11:22:35 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:22:35 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671423,"outputBytes":505381} +2022-11-21 11:22:35 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:22:35 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670354,"outputBytes":507862} +2022-11-21 11:22:35 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:22:36 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807623,"outputBytes":1450729} +2022-11-21 11:22:36 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807623,"outputBytes":1893919} +2022-11-21 11:22:36 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:22:36 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:22:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:22:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:22:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:22:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893919,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:22:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355596,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:22:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:22:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:22:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:22:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:22:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:22:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:22:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:22:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:22:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:22:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:22:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:22:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:22:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:23:30 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:23:30 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:23:30 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:23:30 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671256,"outputBytes":505234} +2022-11-21 11:23:30 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:23:30 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671280,"outputBytes":505254} +2022-11-21 11:23:30 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:23:30 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671462,"outputBytes":505445} +2022-11-21 11:23:30 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:23:30 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670393,"outputBytes":507926} +2022-11-21 11:23:30 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:23:30 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807662,"outputBytes":1450762} +2022-11-21 11:23:30 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807662,"outputBytes":1893983} +2022-11-21 11:23:30 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:23:30 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:23:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:23:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:23:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:23:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893983,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:23:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355666,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:23:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:23:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:23:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:23:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:23:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:23:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:23:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:23:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:23:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:23:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:23:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:23:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:23:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:23:46 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:23:46 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:23:46 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:23:46 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671248,"outputBytes":505226} +2022-11-21 11:23:46 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:23:46 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671272,"outputBytes":505246} +2022-11-21 11:23:46 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:23:46 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671454,"outputBytes":505437} +2022-11-21 11:23:46 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:23:46 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670385,"outputBytes":507918} +2022-11-21 11:23:46 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:23:46 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807654,"outputBytes":1450747} +2022-11-21 11:23:46 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807654,"outputBytes":1893975} +2022-11-21 11:23:46 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:23:46 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893975,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355643,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:23:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893975,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355643,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:23:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:28:20 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:28:20 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:28:20 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:28:20 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671301,"outputBytes":505285} +2022-11-21 11:28:20 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:28:20 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671325,"outputBytes":505305} +2022-11-21 11:28:20 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:28:20 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671507,"outputBytes":505496} +2022-11-21 11:28:20 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:28:20 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670438,"outputBytes":507977} +2022-11-21 11:28:20 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:28:20 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807707,"outputBytes":1450772} +2022-11-21 11:28:20 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807707,"outputBytes":1894034} +2022-11-21 11:28:20 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:28:20 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:28:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:28:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:28:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:28:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1894034,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:28:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355728,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:28:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:28:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:28:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:28:33 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:28:33 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:28:33 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:28:33 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671299,"outputBytes":505283} +2022-11-21 11:28:33 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:28:33 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671323,"outputBytes":505303} +2022-11-21 11:28:33 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:28:33 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671505,"outputBytes":505494} +2022-11-21 11:28:33 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:28:33 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670436,"outputBytes":507975} +2022-11-21 11:28:33 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:28:33 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807705,"outputBytes":1450770} +2022-11-21 11:28:33 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807705,"outputBytes":1894032} +2022-11-21 11:28:33 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:28:33 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1894032,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355721,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:28:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:33:57 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:33:57 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:33:57 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:33:57 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671325,"outputBytes":505278} +2022-11-21 11:33:57 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:33:57 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671349,"outputBytes":505298} +2022-11-21 11:33:57 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:33:57 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671531,"outputBytes":505489} +2022-11-21 11:33:57 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:33:57 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670462,"outputBytes":507970} +2022-11-21 11:33:57 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:33:57 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807731,"outputBytes":1450771} +2022-11-21 11:33:58 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807731,"outputBytes":1894027} +2022-11-21 11:33:58 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:33:58 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1894027,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355779,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:33:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:36:17 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:36:17 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:36:17 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:36:17 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671483,"outputBytes":505480} +2022-11-21 11:36:17 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:36:17 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671507,"outputBytes":505500} +2022-11-21 11:36:17 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:36:17 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671689,"outputBytes":505691} +2022-11-21 11:36:17 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:36:17 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670620,"outputBytes":508172} +2022-11-21 11:36:18 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:36:18 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807889,"outputBytes":1450867} +2022-11-21 11:36:18 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807889,"outputBytes":1894229} +2022-11-21 11:36:18 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:36:18 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:36:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:36:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:36:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:36:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1894229,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:36:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3356078,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:36:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:36:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:36:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:36:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:36:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:36:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:36:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:36:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:36:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:36:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:36:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:36:20 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:36:20 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:37:10 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:37:10 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:37:10 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:37:10 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671486,"outputBytes":505365} +2022-11-21 11:37:10 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:37:10 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671510,"outputBytes":505385} +2022-11-21 11:37:10 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:37:11 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671692,"outputBytes":505576} +2022-11-21 11:37:11 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:37:11 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670623,"outputBytes":508057} +2022-11-21 11:37:11 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:37:11 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807892,"outputBytes":1450797} +2022-11-21 11:37:11 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807892,"outputBytes":1894114} +2022-11-21 11:37:11 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:37:11 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1894114,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355998,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:37:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:38:01 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:38:01 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:38:01 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:38:01 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671499,"outputBytes":505378} +2022-11-21 11:38:01 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:38:01 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671523,"outputBytes":505398} +2022-11-21 11:38:01 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:38:01 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671705,"outputBytes":505589} +2022-11-21 11:38:01 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:38:01 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670636,"outputBytes":508070} +2022-11-21 11:38:01 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:38:01 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807905,"outputBytes":1450809} +2022-11-21 11:38:01 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807905,"outputBytes":1894127} +2022-11-21 11:38:01 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:38:01 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1894127,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3356021,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:38:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:38:24 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:38:24 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:38:24 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:38:24 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671412,"outputBytes":505255} +2022-11-21 11:38:24 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:38:24 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671436,"outputBytes":505275} +2022-11-21 11:38:24 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:38:24 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671618,"outputBytes":505466} +2022-11-21 11:38:24 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:38:24 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670549,"outputBytes":507947} +2022-11-21 11:38:24 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:38:25 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807818,"outputBytes":1450724} +2022-11-21 11:38:25 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807818,"outputBytes":1894004} +2022-11-21 11:38:25 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:38:25 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:38:59 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:38:59 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:38:59 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:38:59 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671356,"outputBytes":505194} +2022-11-21 11:38:59 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:38:59 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671380,"outputBytes":505214} +2022-11-21 11:38:59 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:38:59 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671562,"outputBytes":505405} +2022-11-21 11:38:59 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:38:59 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670493,"outputBytes":507886} +2022-11-21 11:38:59 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:38:59 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807762,"outputBytes":1450701} +2022-11-21 11:38:59 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807762,"outputBytes":1893946} +2022-11-21 11:38:59 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:38:59 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:39:23 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:39:23 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:39:23 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:39:23 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671368,"outputBytes":505131} +2022-11-21 11:39:23 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:39:23 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671392,"outputBytes":505151} +2022-11-21 11:39:23 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:39:23 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671574,"outputBytes":505342} +2022-11-21 11:39:23 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:39:23 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670505,"outputBytes":507823} +2022-11-21 11:39:23 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:39:23 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807774,"outputBytes":1450677} +2022-11-21 11:39:23 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807774,"outputBytes":1893883} +2022-11-21 11:39:23 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:39:23 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893883,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355738,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:39:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:40:03 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:40:03 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:40:03 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:40:03 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671366,"outputBytes":505127} +2022-11-21 11:40:03 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:40:03 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671390,"outputBytes":505147} +2022-11-21 11:40:03 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:40:03 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671572,"outputBytes":505338} +2022-11-21 11:40:03 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:40:03 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670503,"outputBytes":507819} +2022-11-21 11:40:03 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:40:03 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807772,"outputBytes":1450664} +2022-11-21 11:40:03 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807772,"outputBytes":1893876} +2022-11-21 11:40:03 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:40:03 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893876,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355709,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:40:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:40:31 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:40:31 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:40:31 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:40:31 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671356,"outputBytes":505117} +2022-11-21 11:40:31 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:40:31 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671380,"outputBytes":505137} +2022-11-21 11:40:31 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:40:31 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671562,"outputBytes":505328} +2022-11-21 11:40:31 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:40:31 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670493,"outputBytes":507809} +2022-11-21 11:40:31 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:40:31 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807762,"outputBytes":1450654} +2022-11-21 11:40:31 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807762,"outputBytes":1893866} +2022-11-21 11:40:31 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:40:31 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:40:37 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:40:37 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:40:37 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:40:37 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671356,"outputBytes":505117} +2022-11-21 11:40:37 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:40:37 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671380,"outputBytes":505137} +2022-11-21 11:40:37 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:40:37 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671562,"outputBytes":505328} +2022-11-21 11:40:37 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:40:37 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670493,"outputBytes":507809} +2022-11-21 11:40:37 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:40:37 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807762,"outputBytes":1450654} +2022-11-21 11:40:37 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807762,"outputBytes":1893866} +2022-11-21 11:40:37 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:40:37 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893866,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355679,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:40:41 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:41:02 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:41:02 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:41:02 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:41:02 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671281,"outputBytes":505117} +2022-11-21 11:41:02 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:41:02 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671305,"outputBytes":505137} +2022-11-21 11:41:02 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:41:02 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671487,"outputBytes":505328} +2022-11-21 11:41:02 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:41:02 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670418,"outputBytes":507809} +2022-11-21 11:41:02 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:41:02 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807687,"outputBytes":1450654} +2022-11-21 11:41:02 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807687,"outputBytes":1893866} +2022-11-21 11:41:02 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:41:02 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:41:49 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 11:41:49 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:41:49 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:41:49 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671227,"outputBytes":505054} +2022-11-21 11:41:49 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:41:49 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671251,"outputBytes":505074} +2022-11-21 11:41:49 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:41:49 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671433,"outputBytes":505265} +2022-11-21 11:41:49 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:41:49 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670364,"outputBytes":507746} +2022-11-21 11:41:49 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:41:49 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807633,"outputBytes":1450602} +2022-11-21 11:41:49 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807633,"outputBytes":1893803} +2022-11-21 11:41:49 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:41:49 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:41:50 INFO:  Watch: {"event":"modify","input":"src/tfjs/load.ts","skip":true} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2416,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893803,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355496,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:45:35 INFO:  Watch: {"event":"add","input":"demo/facedetect/loader.ts"} +2022-11-21 11:45:35 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:45:35 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:45:35 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671227,"outputBytes":505054} +2022-11-21 11:45:35 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:45:35 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671251,"outputBytes":505074} +2022-11-21 11:45:35 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:45:35 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671433,"outputBytes":505265} +2022-11-21 11:45:35 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:45:35 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670364,"outputBytes":507746} +2022-11-21 11:45:36 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:45:36 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807633,"outputBytes":1450602} +2022-11-21 11:45:36 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807633,"outputBytes":1893803} +2022-11-21 11:45:36 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:45:36 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:46:25 INFO:  Watch: {"event":"modify","input":"demo/facedetect/loader.ts"} +2022-11-21 11:46:25 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:46:25 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:46:25 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671227,"outputBytes":505054} +2022-11-21 11:46:25 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:46:25 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671251,"outputBytes":505074} +2022-11-21 11:46:25 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:46:25 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671433,"outputBytes":505265} +2022-11-21 11:46:25 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:46:25 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670364,"outputBytes":507746} +2022-11-21 11:46:25 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:46:25 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807633,"outputBytes":1450602} +2022-11-21 11:46:25 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807633,"outputBytes":1893803} +2022-11-21 11:46:25 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:46:25 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:46:59 INFO:  Watch: {"event":"remove","input":"demo/facedetect/loader.ts"} +2022-11-21 11:46:59 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 11:46:59 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 11:46:59 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671227,"outputBytes":505054} +2022-11-21 11:46:59 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 11:46:59 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671251,"outputBytes":505074} +2022-11-21 11:46:59 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 11:46:59 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671433,"outputBytes":505265} +2022-11-21 11:46:59 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 11:46:59 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670364,"outputBytes":507746} +2022-11-21 11:46:59 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 11:46:59 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807633,"outputBytes":1450602} +2022-11-21 11:46:59 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807633,"outputBytes":1893803} +2022-11-21 11:46:59 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 11:46:59 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 11:53:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2475,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:53:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2595,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:53:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:53:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893803,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:53:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1756,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 11:53:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355496,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:53:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:53:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:53:48 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:54:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:54:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2595,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:54:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:54:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893803,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:54:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1756,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 11:54:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355496,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:54:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:54:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:54:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:54:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:54:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2595,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:54:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:54:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893803,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:54:05 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1756,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 11:54:06 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355496,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:54:06 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:54:06 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:54:06 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:54:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:54:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2595,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:54:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:54:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893803,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:54:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1781,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 11:54:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355496,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:54:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:54:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:54:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2595,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893803,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1825,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355496,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:55:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2595,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893803,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1825,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355496,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:56:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2595,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893803,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1825,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355496,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:56:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2595,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893803,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1991,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355496,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:58:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2595,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893803,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1991,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355496,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:58:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2653,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893803,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1991,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355496,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 11:59:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:00:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:00:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2653,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:00:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:00:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893803,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:00:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2017,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:00:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355496,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:00:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:00:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:00:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:00:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:00:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:00:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:00:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:00:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:00:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:00:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:00:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:00:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:00:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:01:02 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 12:01:02 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 12:01:02 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 12:01:02 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671261,"outputBytes":505088} +2022-11-21 12:01:02 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 12:01:02 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671285,"outputBytes":505108} +2022-11-21 12:01:02 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 12:01:02 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671467,"outputBytes":505299} +2022-11-21 12:01:02 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 12:01:02 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670398,"outputBytes":507780} +2022-11-21 12:01:02 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 12:01:02 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807667,"outputBytes":1450631} +2022-11-21 12:01:02 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807667,"outputBytes":1893837} +2022-11-21 12:01:02 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 12:01:02 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2653,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893837,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2017,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355552,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:01:03 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:01:40 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 12:01:40 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 12:01:40 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 12:01:40 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671266,"outputBytes":505129} +2022-11-21 12:01:40 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 12:01:40 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671290,"outputBytes":505149} +2022-11-21 12:01:40 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 12:01:40 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671472,"outputBytes":505340} +2022-11-21 12:01:40 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 12:01:40 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670403,"outputBytes":507821} +2022-11-21 12:01:40 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 12:01:40 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807672,"outputBytes":1450667} +2022-11-21 12:01:40 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807672,"outputBytes":1893878} +2022-11-21 12:01:40 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 12:01:40 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 12:01:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:01:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2653,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:01:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:01:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893878,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:01:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2017,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:01:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355598,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:01:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:01:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:01:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:01:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:01:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:01:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:01:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:01:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:01:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:01:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:01:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:01:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:01:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:02:10 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 12:02:10 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 12:02:10 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 12:02:10 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671266,"outputBytes":505129} +2022-11-21 12:02:10 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 12:02:10 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671290,"outputBytes":505149} +2022-11-21 12:02:10 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 12:02:10 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671472,"outputBytes":505340} +2022-11-21 12:02:10 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 12:02:10 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670403,"outputBytes":507821} +2022-11-21 12:02:10 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 12:02:10 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807672,"outputBytes":1450667} +2022-11-21 12:02:10 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807672,"outputBytes":1893878} +2022-11-21 12:02:10 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 12:02:10 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 12:02:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:02:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2653,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:02:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:02:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893878,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:02:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2017,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:02:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355598,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:02:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:02:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:02:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:02:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:02:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:02:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:02:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:02:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:02:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:02:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:02:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:02:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:02:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:03:39 INFO:  Watch: {"event":"modify","input":"src/warmup.ts"} +2022-11-21 12:03:39 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 12:03:39 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 12:03:39 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671273,"outputBytes":505136} +2022-11-21 12:03:39 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 12:03:39 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671297,"outputBytes":505156} +2022-11-21 12:03:39 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 12:03:39 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671479,"outputBytes":505347} +2022-11-21 12:03:39 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 12:03:39 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670410,"outputBytes":507828} +2022-11-21 12:03:39 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 12:03:39 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807679,"outputBytes":1450674} +2022-11-21 12:03:39 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807679,"outputBytes":1893885} +2022-11-21 12:03:39 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 12:03:39 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 12:04:29 INFO:  Watch: {"event":"modify","input":"src/warmup.ts"} +2022-11-21 12:04:29 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 12:04:29 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 12:04:29 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671244,"outputBytes":505117} +2022-11-21 12:04:29 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 12:04:29 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671268,"outputBytes":505137} +2022-11-21 12:04:29 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 12:04:29 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671450,"outputBytes":505328} +2022-11-21 12:04:29 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 12:04:29 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670381,"outputBytes":507809} +2022-11-21 12:04:29 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 12:04:29 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807650,"outputBytes":1450653} +2022-11-21 12:04:29 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807650,"outputBytes":1893866} +2022-11-21 12:04:29 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 12:04:29 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 12:04:31 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:04:31 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2653,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:04:31 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:04:31 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893866,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:04:31 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2017,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:04:31 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355548,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:04:31 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:04:31 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:04:31 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:04:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:04:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:04:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:04:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:04:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:04:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:04:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:04:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:04:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:04:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:05:22 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 12:05:22 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 12:05:22 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 12:05:22 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671210,"outputBytes":505083} +2022-11-21 12:05:22 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 12:05:22 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671234,"outputBytes":505103} +2022-11-21 12:05:22 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 12:05:22 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671416,"outputBytes":505294} +2022-11-21 12:05:22 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 12:05:22 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670347,"outputBytes":507775} +2022-11-21 12:05:22 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 12:05:22 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807616,"outputBytes":1450624} +2022-11-21 12:05:22 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807616,"outputBytes":1893832} +2022-11-21 12:05:22 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 12:05:22 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 12:05:34 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 12:05:34 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 12:05:34 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 12:05:34 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671235,"outputBytes":505108} +2022-11-21 12:05:34 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 12:05:34 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671259,"outputBytes":505128} +2022-11-21 12:05:34 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 12:05:34 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671441,"outputBytes":505319} +2022-11-21 12:05:34 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 12:05:34 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670372,"outputBytes":507800} +2022-11-21 12:05:34 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 12:05:34 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807641,"outputBytes":1450644} +2022-11-21 12:05:35 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807641,"outputBytes":1893857} +2022-11-21 12:05:35 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 12:05:35 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 12:05:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:05:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2653,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:05:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:05:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893857,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:05:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2017,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:05:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355539,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:05:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:05:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:05:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:05:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:05:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:05:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:05:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:05:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:05:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:05:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:05:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:05:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:05:43 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:06:26 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 12:06:26 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 12:06:26 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 12:06:26 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671133,"outputBytes":505108} +2022-11-21 12:06:26 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 12:06:26 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671157,"outputBytes":505128} +2022-11-21 12:06:26 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 12:06:26 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671339,"outputBytes":505319} +2022-11-21 12:06:26 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 12:06:26 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670270,"outputBytes":507800} +2022-11-21 12:06:26 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 12:06:26 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807539,"outputBytes":1450644} +2022-11-21 12:06:26 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807539,"outputBytes":1893857} +2022-11-21 12:06:26 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 12:06:26 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 12:06:31 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-11-21 12:06:31 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":1357} +2022-11-21 12:06:31 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1565,"outputBytes":1786} +2022-11-21 12:06:31 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":671108,"outputBytes":505083} +2022-11-21 12:06:31 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1573,"outputBytes":1810} +2022-11-21 12:06:31 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":671132,"outputBytes":505103} +2022-11-21 12:06:31 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1661,"outputBytes":1992} +2022-11-21 12:06:31 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":671314,"outputBytes":505294} +2022-11-21 12:06:31 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2371,"outputBytes":923} +2022-11-21 12:06:31 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":670245,"outputBytes":507775} +2022-11-21 12:06:31 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":2371,"outputBytes":1138192} +2022-11-21 12:06:31 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1807514,"outputBytes":1450624} +2022-11-21 12:06:31 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1807514,"outputBytes":1893832} +2022-11-21 12:06:31 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6088,"outputBytes":4160} +2022-11-21 12:06:31 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17572,"outputBytes":13919} +2022-11-21 12:07:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:07:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2653,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:07:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:07:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:07:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:07:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:07:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:07:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:07:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:07:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:07:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:07:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:07:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:07:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:07:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:07:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:07:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:07:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:07:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:09:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:09:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":2740,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:09:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:09:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:09:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:09:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:09:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:09:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:09:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:09:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:09:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:09:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:09:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:09:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:09:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:09:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:09:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:09:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:09:19 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:14:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2517,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:14:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3224,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:14:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:14:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:14:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:14:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:14:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:14:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:14:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:15:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:15:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:15:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:15:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:15:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:15:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:15:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:15:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:15:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:15:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:15:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2510,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:15:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3224,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:15:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:15:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:15:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:15:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:15:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:15:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:15:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:16:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:16:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:16:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:16:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:16:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:16:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:16:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:16:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:16:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:16:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:19:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2510,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:19:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3395,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:19:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:19:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:19:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:19:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:19:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:19:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:19:40 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:19:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:19:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:19:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:19:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:19:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:19:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:19:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:19:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:19:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:19:47 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:24:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2510,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:24:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3406,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:24:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:24:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:24:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:24:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:24:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:24:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:24:08 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:24:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:24:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:24:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:24:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:24:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:24:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:24:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:24:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:24:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:24:15 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:25:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2510,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:25:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3460,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:25:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:25:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:25:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:25:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:25:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:25:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:25:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:25:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:25:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:25:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:25:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:25:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:25:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:25:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:25:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:25:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:25:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:27:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2510,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:27:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3486,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:27:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:27:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:27:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:27:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:27:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:27:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:27:10 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:27:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:27:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:27:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:27:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:27:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:27:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:27:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:27:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:27:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:27:18 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:30:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2510,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:30:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3515,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:30:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:30:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:30:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:30:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:30:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:30:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:30:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:30:09 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:30:09 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:30:09 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:30:09 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:30:09 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:30:09 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:30:09 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:30:09 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:30:09 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:30:09 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:30:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2510,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:30:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3551,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:30:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:30:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:30:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:30:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:30:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:30:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:30:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:30:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:30:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:30:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:30:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:30:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:30:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:30:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:30:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:30:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:30:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:31:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2510,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:31:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3516,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:31:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:31:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:31:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:31:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:31:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:31:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:31:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:31:28 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:31:28 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:31:28 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:31:28 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:31:28 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:31:28 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:31:28 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:31:28 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:31:28 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:31:28 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:32:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2510,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:32:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3504,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:32:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:32:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:32:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:32:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:32:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:32:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:32:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:32:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:32:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:32:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:32:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:32:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:32:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:32:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:32:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:32:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:32:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:33:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2544,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:33:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3504,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:33:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:33:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:33:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:33:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:33:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:33:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:33:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:33:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:33:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:33:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:33:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:33:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:33:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:33:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:33:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:33:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:33:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:34:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2544,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:34:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3504,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:34:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:34:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:34:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:34:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:34:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:34:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:34:29 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:34:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:34:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:34:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:34:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:34:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:34:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:34:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:34:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:34:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:34:36 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:36:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2544,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:36:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3558,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:36:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:36:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:36:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:36:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:36:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:36:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:36:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:36:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:36:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:36:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:36:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:36:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:36:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:36:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:36:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:36:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:36:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:39:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2586,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:39:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3730,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:39:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:39:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:39:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:39:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:39:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:39:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:39:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:39:44 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:39:44 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:39:44 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:39:44 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:39:44 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:39:44 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:39:44 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:39:44 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:39:44 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:39:44 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:40:14 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2586,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:40:14 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3730,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:40:14 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:40:14 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:40:14 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:40:14 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:40:14 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:40:14 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:40:14 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:40:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:40:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:40:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:40:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:40:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:40:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:40:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:40:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:40:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:40:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:40:45 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2586,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:40:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3733,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:40:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:40:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:40:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:40:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:40:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:40:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:40:46 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:40:53 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:43:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2612,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:43:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3757,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:43:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:43:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:43:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:43:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:43:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:43:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:43:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:43:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:43:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:43:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:43:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:43:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:43:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:43:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:43:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:43:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:43:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} +2022-11-21 12:44:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2612,"url":"/demo/facedetect/index.html","remote":"::1"} +2022-11-21 12:44:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3774,"url":"/demo/facedetect/facedetect.js","remote":"::1"} +2022-11-21 12:44:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-11-21 12:44:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1893832,"url":"/dist/human.esm.js","remote":"::1"} +2022-11-21 12:44:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":1966,"url":"/demo/facedetect/loader.js","remote":"::1"} +2022-11-21 12:44:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":3355389,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-11-21 12:44:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-11-21 12:44:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/manifest+json","size":304,"url":"/demo/manifest.webmanifest","remote":"::1"} +2022-11-21 12:44:42 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/png","size":142790,"url":"/assets/icon.png","remote":"::1"} +2022-11-21 12:44:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":318970,"url":"/samples/in/group-1.jpg","remote":"::1"} +2022-11-21 12:44:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":105349,"url":"/samples/in/group-2.jpg","remote":"::1"} +2022-11-21 12:44:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":281433,"url":"/samples/in/group-3.jpg","remote":"::1"} +2022-11-21 12:44:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":278876,"url":"/samples/in/group-4.jpg","remote":"::1"} +2022-11-21 12:44:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":397445,"url":"/samples/in/group-5.jpg","remote":"::1"} +2022-11-21 12:44:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":221061,"url":"/samples/in/group-6.jpg","remote":"::1"} +2022-11-21 12:44:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":203063,"url":"/samples/in/group-7.jpg","remote":"::1"} +2022-11-21 12:44:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":216218,"url":"/samples/in/solvay1927.jpg","remote":"::1"} +2022-11-21 12:44:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":144462,"url":"/samples/in/stock-group-1.jpg","remote":"::1"} +2022-11-21 12:44:49 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":86664,"url":"/samples/in/stock-group-2.jpg","remote":"::1"} diff --git a/tsconfig.json b/tsconfig.json index b1cb32bb..bd60e9b3 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -52,7 +52,7 @@ "tabSize": 2 }, "exclude": ["node_modules/", "types/", "dist/**/*.js"], - "include": ["src", "tfjs/*.ts", "types/human.d.ts", "test/**/*.ts", "demo/**/*.ts"], + "include": ["src", "tfjs/*.ts", "types/human.d.ts", "test/**/*.ts", "demo/**/*.ts", "demo/facedetect/loader.js"], "typedocOptions": { "excludeExternals": true, "externalPattern": ["**/node_modules/**", "tfjs/"] diff --git a/wiki b/wiki index 41b5880b..185d129a 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 41b5880bf084217dc6ba76f0eb3a93f26f3969a7 +Subproject commit 185d129a178776c150defdc125334bb1221bec14

    Pp&G)5Tenc zv6K!js2p`++L(>Ze{@~iN8Z8dejpwfCwG9>*TqM32zX!gdBw9coM9N4Pv`*$e@NBTy)&!iVh-_5-IsHw=oxXqI?MVHkCq#3*jY%X+G@FY?{^cKun}sV} zI5iG04t*uAF;RFUOvYPpE~L{@Z?FVc=^2(tI=yI}X0kJmJ=7~z#Z6c?4QxQ=-- zXAn7Jb)fM)Kk6P*!9GoJK-)Pt8yTFRSf9F=vYMY8Tf!|ee^E>z-?+&m%pB->adpc@ zt{hjDuIAXLHct7S4%%LU9m$&b5}@tTi)xqhI?xUEKwk`5(9qxq{4Bv?Yw2I%{@`;o zO&-RWq36_mLFN)Q1y4mfWe@&$<*Dxs`LAiA7# zf@0CS#M+=5I%&R%uY|*BHP?JG9iPUH!@q4X)5X`f|`)E%8**5n`94PI0_*aLKXIL=qV+!S8W z>C{EV%YrRMTU)NI?NEBYDL}YKa@3%IoLjm2&$BaxKvhF2fT>*57eU@+z=EPH;wR~aWRx!XuU@!3_ z&hzftfEzT^G#Si%|0ua&*ckvG6wbl+1y(Gy-1GDGMhB|+O$BR#24Kcd?J4Y@&yIH{ zSz89}qt`=c%^N_q84=Npt7UDdMJ9Y8|D})PV*>5Dom8ZyoK9K4sxRXv23Mk*cn|@9 zH6oH7kM`nXeU6xe{{dtsR3sb>_1B^cuSk!LY4~JzE0vD{Wk1EJ&4_4amUaPPywU1ucPFnTpO^h?3|>)QinDG)cH_as3KW9Y*yVaU>(8}}vK z?MIM>cntT8veLGKxDf0N8=^YvgY<@2uKQ?OoKg_VN?)JUGCYc6RK(5WSwb2yw74VP zcGDtXk>O$vsCz@SzdKT)U=r`=$Aj*|UyN65jrD>U+dEI1_!T-&KGqMy+mi(8hH087 zf7M}bB60*@-D&Myd z#Q2Ez2#vRNE_b0y|LB31Zb-58i-G}v-+gE@HV-SOZv=gZoZ=jD6WBv+Ef(|3&6^xg z1gy>%cPA&r{S)Mh>LfKw8^f2DJP3JQhvNodkA#}kuwtvFS_!O{D8udjjDXPt_e#E^ zJVriqo3RUk84#DUj7?B9=AQRIa*(|eQAzv7a|gE?w$M@fH0PsmBwATnt3LJ5!sO^! zu24Fr9A9Zm?T+M8L!dmNujf3_WgkG-pk~s)Gr%WJJD$*57zr}}kD~g-JJ&P4$nS<4 z8As9cJZ}n4(0fAx-+Kon7?JftEP^^Rght#dJX333+TJ1||Ns0Jb#rjQ-46@CL#;`MwomNOmKB!XFbJ2X#&5kndVOW`(d9j-xM-%^X0f z)4YaoO29EJ_&Bf+IYT(v7$0a4;JKDzd>b3etxS6vwZ+^!aiX(%_!zlMYC)gd*hf0e z4Z_-EEzlOWQQ9`qX_*~3ZrCv0}Di!qJXb0jjl4Yt% zb&-Qho$6HKsW>K(!#3yZAX|LXl!2kb1dpq62qGsdm01*@$O)eA-1`K`R>gilyb9^T z0SpkH<1Y{T8WGuBxUK%=;A5o+yOH1L`$X079AFZ~mV8g0 z2+sl?w{yl3QfKT~em813>vG16oNuL8LJZWfP&;2!mc=Ub7tn<Jp${XUB7?rnK%~#ohxwdl?&+I0+wV zt0nv}PUTU!JnkwjFlI^iG~Buh+q*eTG$sd$5x!+&XXpX{R?CPzDyG>Od6#%V-EY3l zvP?W)Sw4VNRt|_pV!R`YF9800qp3r-kI+tRua*N#{u&V5`=uwKM z>w_z}=EjZY!(2UlmAcjOXA#bL3yF<3BQyQ z(N4l!?IkyYu1%CRFeoQuVq9J|HN)N?_#8L!0d|zs){(^-KqWsnkPo*;A1FcMx?6+F z>c{crY`au9F^L+%3^Oevyr#vV6Ly{{GQ8k^Fa8ct+6eX<+gF+=ptf4#N_-?ynYe`H z$_`?Ot-YZs)IgfbXZijRZ!)XcM21qbH)*!#)+^XA!QskMrFz;GDwtSJ`IUGjl#0WH z^Ra1A9+-|L1k*Mw4Z`6SLIrD$jU(ai?q=3Ia!Y3^-MHvJok0%PLexX&*W?|}6cnI4 z_k84|;ij!QYjoHUFpbXd9$JofA&Ioh*l75cx<&^+v~WL5-Ho(+gw_UkQBQ$}UlR2n z`2zdR;e=fRD8f z+onAv7C4TodrX~`DnY;X2V0pU9fKW*w2Oid-2_}&`pf@v)5Jpa)uIMoAN*(j{`g74 zMd0Xsj!xwWxsCZce@{(H_=35xDW(sb?t83`JZ-0Rhh9nV<7&7nk(ae^M00B*Pb~e39DbW1vzNH*iWnTo6ksd3V6YYWfyg1M zG2KdU^Q)Zu#9hcyG$Q+=-prk1_H)M_iPS0Xv+pTDb^wteu9T|EQ{<4Xi**QY#(q_P zXGdagZiaACn@)_TBmQ6IS73UiacT&=A$2slpv8g{Z%rP+0`|YrWyVE7G4gic8Z#MQ z0OHAXe;MSW`!}enyvy}*>rtYbB|uygk_=f)8Zp-Y81D*2%Q6|m4g?BZ=WS=ivB2|q zjL=dqaI`@3+$6KRmJw)`Zg+LurdgUOb(G;Ci{+}l3zidK*rnQ9qy+?vN_q+R7K>0i zOLNfXo7~Vd;TzH%?7S2)@8r3@nffELB78h`LH<69gii#Mq8_-NPmVS-nkiSX4z^yB()RY1)d0ft^YwMtYfWzz}*2BuFOC2&qfYA z7hs$12K!2#ELlPuH};1nC=bC?6^(mHA$@GZQmPYT0~0y4D3&hRqFCpX*G+e^TGa6P z&6clHTHzp;1l1jIX12tE`n^9^4Apc^a@AC~5OV$*r(XJq{un#b@qye(MJAJ0)0T3f zDfD#UQ8~lW%il)+1OA}>CiYAC0w1CsTq(X2YDZP1eyHV&Zz!Xzb`5b1=OfLF#hKVm zOLhMaYcDDpu>K<=Qg|rzyEUF(s4(Iipx;$S?^~dvM{FaIOrWJb)-hOouKY$>WL9rp zbXQ0+whCWCYbq6-yAz-LhEoMUCyWt29Rtu-j&bT5ZPcn}O1$qz-Mg$mRG)rj9tHj9 zO9x%u1;lN8u_?$83$&-6s6CTTY8;4*6G3gBAVLr&b`CQIx`|cUa0j8m1hg+sq zrV0Yp@YqjH1m4t`NbM6py2|+X`G#Si^>hYym9i{}li#5Q_ZwLL3S#B*9 zS79QRRUB11o$O7xt-JLQ|2N~T6N9{^CsR#4qp|P!FMt!l5XVTLk{+&yd}5n{2t3c0 zs&?|9ra#(h(a*rAstXv~t%$0&d}g^fKD`Pu^yj2{OMT&oVZWa2XdGBU9c7}`3;J{4 zd}5a3v|eM|Aj8808Cu+w2d07PCwok@i^B!BlaOenyL8XM&yKJ;e^`9MjM4Gxo$rs?X^J zb})owwPOG2aMkI=0*2!Q}}Sql+NdN*@IN zCDliQ4H2^cx`|;PXVg?rFY8;&%uTPtM@#k#BgtO_J*7JIAnkr|SVCRuFwrP}4IHZS zN_GfiL=o&rcI3*i&9URbSH>l!$aE#;zP_DeSmJX~QOa{tZnao!9 z5IFbq=qPFq=(U4QHggB%ptCmpuQfeChk6vdHV_Jpg`dh(=`5tbT7kN-p^5E3WR?7Y zTnnr8BfhG%P~(6X9N49!KbYHxTmduPAiRsKECW}A>v?thu4N$=;&}3$zpLYF zAd|T1>Z?@MH~+qlonr-mH2Xwgs(FVJi&=>eCU9l~0dkz`^EmVgf=0mX5JLlqqq=xD zf_P#kuLAe7Sf!jN8~u-~PuG;1;a~F0`BE$cte=qQ`Rz>`Y+Lz1QuecP!PZJSVJbjH zgp6!*$WO_}P+P~WRWSgc)fa~H*RXcX^6)+o1$g|wco+U%7T8xPE>^-C(Bngla@}<~ zw^GOeRH5ptd#IOGjBl*qDoGN+qA8~-KZv2I!>8Z8{ORo15F_t)B6 zCd<8{?o>wcDrrA7(i}l`cSHobpxqJ<$xRZT;b)`HD1UgT>yhGIZwZKbI}khAlHMtI z630_N=y*%z+KF0OFPHRPuS>FZ<B*=atCJ?8Q%i#x7 zt-KYXGDZ2IFE^t#6v&cZNGGwokXF<{*!xpIBzvOc3jB{{4o*jHmzFEr1Ld6WO+Sow#ipPS zps!2%(q!N$b|TatX&hW;VdNS1wV_;VUj-7jL8H+5;zwnV5bLO?mQ~j0M4hS`?V7T1#dt0r`Xdsa&;~!^#r}wk$}Z z@X@rL{0w!)3jEitx7}vrL-s>ad3y#+QakgOWA{OH9><+Wrb`t8;vSb^f*U)|sefV> zC6FV@(bxgFdN|fNtWYJIVK7N3=e7HKA=jFlOf4;5K-KcZ!t80=N) z+3X}@U7gOwfFCD(0E+VVv`E14T`um09zwset!qF+eE6*|LW=a?VpZyTm`8svP1avP zx5zle$9?l}B)%}CFb_FY81IQjpYzX!!^)7nF^OI5jnamjo8ZOFdI@F<1YNMvU##ma z-S9ER?F0yF;21>x7DCfnXoCkV`!}_9xa%#7Te{1he&8 z-Cn@!C?+tBc7hy!4E|<%%+4hL#r|a5QZ?cRXg_bq2xx%O?98Et5EEbtt4$4eglv#9 zzQ!%0Wyw+mN|-_Z{H>;Plxec#I?+>@s!ekxZU!2(=ZJb)*-54F4Y1i;j+>8w zDm9yG>X?o^F~r1{#Wp!Otfx?j{U;c(i=krV81n!|z?}c0zXd?wdmK*3FJSKR82t-g zp{R(-%=PWCX z4SPub%iqJ&Cbcp@%pcHqISq~;%v19eu=pN!7Segn6l$ti!kn;r98W!4g;?#3Jxv;g zJT-0x=Xa1{j(X2RTHoOwYCgb8x$AJep@$pekVu8Ag>7n^Eaf+&)Qjf8Ps*v|x!$3Y1IGH*nEdW!qbFN$=9Viw)R(82p+Li=n zxvfBna5vgQS_d7%yBk}YPuPi)KY<_ZWq3tGBWd36_mT$S=}HCn*1#C#VM3xcfwGp& zLaz8~3hl(h{4pXyAE^!%qf>t)9;?H(4wh#D4<5k!*^{(%<5#4TZ<;hv7>E8U-o{=N zO~sLT3h?iE4j)8Ei&w(y=oBf)bR~ubeu;UcsC02!Y;+^)oW)JPfQh7T*m7bb{VUp* zAvGRqMRyTiY0Iq{32)Sj)=uIGY*6tcepF}%)J;3$_zx%-`a(6ibI?(CDE~@3!n(F( z1YKOJw4NO;jErxfwA4Bge@J6ea*6Izj{Zd61Gp=PT#;BA)hYI|RrX6;_9AUjCA zwE<#t#};|FblQ8{auXn>G~DIw5=s|$QHAJXF(a-z5PB@T=lb@txfh>O)su}Xk zzMH*5Yz#P*Sn4#@GW-^t4xmBAm4kDX&)gJGW&2TLysxmv3ttW48Pgh$myQ}*ScG-s zWKpnzciJC4jC^G0B9K%~nB?3+&NQV_3#1kNS9@IpUu5A~-&yUKl*!m<>>x`hEF1;m zqrJpM_W|1oOKlFad9_0zVh@Kl8D?ABT03GT;5FMQ{Zr?`UuBKB!-d4h`gLoVyldI% z@`Oeiid{+QbGK7D3_43&$PU=?^`BIClG)Tq&(*GD6U_6t{&G#Bj?$E|n5*g2)i|eP z(^q_V>Ig+u;Lsu=$J$xy>abu#R<$)&hMGCLQ_FBE)XPWVyDgc%^B^M(kkhEc=pM@- zur6G{zhfuaYQ>X1e*nc&3Ov>Co(^iUyhXsrp}fA>t$|>?-e@b9=%xkEY0(uhdL#V5KiNA^1sFz;lJ?7 zshiU#D_e<(qL!hEY}gA^+o2oqZG}-9gLpcN+GbuN?GO&b0|E{B9^z4=l=6LbJ^bZLkr_F0`!N6EX|`h+W`y_H&6bgaIgg zfUZEOA~x1nMyH@l+#T@{cGIvK)H~ZizMri;;1sDZc7od^y%QG}H+Lo%SHei8kvvGa zBPX~w-#=2PW;DX2IYM6U^IHoMAnNlNpSN`tf_mh^kV6Jx^acVzX)3`vaa%t?-KT-yrIjhM+@*f-sm$)Us_;>< zjQShWch#^!59$I^CoUsps??YO8n5c_^g*e%{|q<<1SS&9oA@Dqu06m0DRrmwBoKkePwMxF`!EcQU~I$kHgxA_BK z59X9ES|amZ3`$E~h?H7a$NtBU1_Qn$n#Am$>hXf~JF+`Y*n& zdK0m{@?IGO9hEA8^BkoPx6Vdd+HQ*JSUusg`4gy<0e{|BC$|!`!Gck{V7F}mRZ)2i z%@dMLUdu$GtI<+20Q&h`<(OCK7JM5*yEyT%x1068WhwoLUFkRu*A=FilZ0x}1^%nz z1sSKAcwOw_?;Pm4;hZ&$90habUjp~n-4mYh8<7*l@&H30NE~X}A#qe=)J{eEPk?Ai z0bQd8E)kODuq1Qj0;=IY%0)RdSz2g6IHWA)m|qBW~4Rnh^d0 ze3oIw4$wmEEB@Zy-<7DgHtsVXK$nIpD>>>Eq!Zo=Um;ioXUbHqlWZ?Rr8;Uec{qF- zivs+VB;JR1KsTf~sVwI-F55fUT~4cqR>Lu0j@{~Oz_#`Lkj6+rp^AQvG`AcNS5UZ97w#2_`hR@e4knV>uLa@a)0E$l;221H9Os<|2~QSfps zPpD}7kZzHUf8c^C@3!j zzooCB_pmHTQZqNFgAMlrxRF*@`Iy!}&?YoMS)v@p6GO28p&!;- zaXVud+eYR`7QM&riv9WD0M?xiK5stXu;?m&%CC!~LQUa9zAWNWMhQS`CA=wkES%x~ z462X9;5KUxaoJoBYsI}_cMEeZ-^iEzQYi{L1NRV%!o915{*jVGPjI{yk6G5|pYoMw zr&C`1g*Dz$28NhorAHybT=3@MgQV?M)-zw(McgENKOs)>IY#+E%KvdY!6$!UC{ic! zTa-J2o3c9@=(uoSp?7)l*b(@)I91&l9N;LE(%w42XC#hL+x52SK+c7V#Whksv z#Ex!;d1TBlJBEs{+ZRxoBrY!v}GoyvpyP-kEDS5~0~l4fj7{kd8)7^y=hZ zx^Dgu&IH+Ejc_COS$_H4pu3&z09}M#G_y9|+MO7wem8$)&d5#p2lQn7W&4mYLiNPA zKxy?P_OmGIj?Ko7?m6=v4&?Kt)gSwl5eDUDO@` zNBGr}#yF@e$v0D9`n#CAq35CN7Mz*jtXKR9&aGM?c2_n~b*YhZ57Gd%g~M!m;S0Qq zWqf$BdP26z3n9S{+kD>UG5^_j`qjL4)Gt~-6co!a<<&^GUQ8S@NPtA2jUpDal?*_) zk#Hdgf6gBwYVZc&3NceTW!gz4*mvXYlV33vU=|)sgrU;~Rh1d|0H`-P$DBq+D*+na{~!ZdoIF3_Xvf#By1DG%*F22Io51h$>!9|gr-w(id!=#Bt;w~AXr;g z7uxZ=iC-iG)DV8DwKUyAdkRN^0`GDEw$MzV%5@*rxmC{F&W4V|fpU%wd|jfVt!=6< zH}ynAr-*87C8#ntl-nyjL5tHr21fZrW;~q)6_Gv&Wp@I1$?k^9wu6$jL^5s-ei!Od z?VZ~#{moU)amrSJ%}d~EL{A#jJ_V79OToSDV0nu*b1-;+rID3mXJHSJt{9?J_gsVu zKwlpqDd_~L9{WKiq6j;qCh$Mdw#G!gnqv!=s=3a7t5dOqwLf4W<;D>=@$riiO z);E}fv}bW!V(}(^2-O{~8|Vw)P|uMRe1I(#b1})eoF0?>5_kic68ccDx!qK}94R%< zjmXwQiDX-IqN4z=Re*q4_1d3P5GlNqe;^%&%_#?^OTamNoV6D#g#O_p+*RRz_Q8Cd zQwu#d4-lAgsxMBEG1Dd=Q! zqI08|Ksh0nEaa2Pz;SL`89iBD}G0AANEI<^|~ zsV3ST&c**qI*hf%XRWuQmtmWD18ax3W3S-9*%#@>Xdq;j;6$)jS+JvYo-&%ubk*bL z04Cs3inQ#)wg}%sC)t<2d(^YkJAp!=|2z$fMfT%yT&j7q(nP&P7;vv})fOvki`}Mt zlB;O(LR`ux=!|P7H9g!bb&V@tHG!!4n7c?;BQim@t?#3-awP+aU!c7j=-%48!6`Ct zT*e<$o1t|PU&vDLP@%x5fqy%V%s_h$FVWuN4+T$L6$4dE{3U468YYr%Ilij_y{1~3xUcu~*+W0X385d} z3W4biMMRTcwTgEYQ0xrU*=PC-YD-UK$8r;bQ~Zw*3~nO#k>0zqY^K^vU_!Yb>PL;= zU=h~97vuh9no!+BrOF?bau(K1i^bir6gWrrmYx^B3Ac27a-HYj zDqrci;?+c-!W7^VF&c5J78!HuiimcoaR@S#ZvBZg$`%vbN2wY-oyf#((^MD?l~a8j%9% zE+XPQnHpMIce5iG?GRW{w1M~=ie=vLmZ)CTrhv+PE9d{GBuFLpP-*;v;T9Vivc=8OdRVA+rJ5#XZ$MBgTo>T_5$$g5- zT8z|CZWt5B#qFyURtj z;j-!sgAyn@+=We4GtH<{oh-(CdJGtDeXjOoesFV`hICJj5rYL4h5ADI)Nfp@az^(n z4Iu-Ughk{Z6iW;msGo;xqb&8+4z9n&XxB+WWg{Yv65&`3co0Rh*`a`xL)9a%X&I)Y zh#+;^2$VdNqm=c`5aphj7FqzF@&qkfE+JTMwy4D>_^SqvrvSI{ut}H{{0{nfVBb@1 zV+I>lo^kvEdndI|;J&LBcLt7?mcYFA=CsHTcHCiD)an z1HaIMfjhhpPLr85|DE!~VRat#YzFZYQok^hkO*$A znx`gP_w&Qz_EqatJ&LsZzXjh?fBISge&uC(5nUKwLhn~zV~?Pla0BYKc-c0MZ0Ns9 z<&dv7Y+^pjmrGq_&A>LUj+o8Y=CZ&BdIe!B<3k%*Z-5zSqF5q)x7qRgrdA0h;CnI! zX=JwWmKndHkIN7Jz;d;}SeulAEjRa5C#Pi^XWApl>12SsYi|P7kSAfss9C{cs*pHK z_p*)%W5`0=YpI3wBk1;X6(h2H69dT^5?Ttjsr=`PvMrJhuP$%B6uv8tW*ewm&0`h6 zU=ODt%Y0|OjUCg-ShX`cTBuFlXQn7O43oB$#j>F>hRcbWX0LoG9H5@Tul=jt-8548 zgxxQ$8`9W0N)&2!T2&G(ET!N;v8$tth zNowWdmFrjqPoZ}o*_#{W+eL0KuCKTC^$zU8vQeGb?U~DTa{ecj3&#O|)XBi0P!sr1 z_rJnkye0GxGEaWx`xKq5Gz7Z~fZd1O=MqeZg|oJK{x)cirE};*ek}iis>m*8dy|b6 z(1=L8i9{5&!=7>@r0z&%d<0ud-(^k5%ToQ646P})SNK=#End}}1;)Zd(q74leMd)$ zv0{0sk6d=sXMUpC8hYxA^!ey}N@uta9!#h#Of^QAS(6$C_0YetBgHYGKA7%_5y+q2 z{Or!5M@YHS{aR(ViG708UAzPAtha^#rq)A{SC{ugnJHBvS1q^LHaK5@1;Ylfw}){E ztb@C=KsxWwa`VgUq)l}^Q^X|i&v|}!P3w;$uRJ37o>`VuQ`~3iYyTZNOa|Z^(gS5a z6ouUR8MU)_15d?(cR1WF*9}b;FGH;@Wvwq_K76iVHr1=N(x>OYBQNh#^hYNEmYYIHcA*18xK0mR?!m*O8?12JUOAI zDQN~1_7{jRzgrh-_TsAQ8uT*Ia{_8_Nh_4O-ulAg*!Fpu>goW!35U;Ge-RD_{`uK2 ziNLUa0GF9UX7H}}&_5sx-%+lulZi@FTj2)UMR=js3y82?t<2>JlG>c&mF%MIf*HY? z%)HpOV*fYrSy8j&3W(=-zb`;I4cab1(zY2UOJNJ==xjT4j6-#`rL<*mez#DOAstX6WUxb4O% zcsag@zl(N3c?}oApJ7Wp0gI`*E>;0u?6vr`>6~S!(KCA zHWvt&g5~K9_%?mqQDUn?`W%`yOZlhxSKP)=AO>(BeWxHN`izdm?a~A+nUkafb302V z;k)!Lpkt8rnEe$o22^NosV(Fxu{n4aZ$kHxNy2-j8a%YbW{#HI0o}K0N-m$Pjbk@p zJzzD^9_pf=Q^#BS5F>PJ`Yb9bzbLIPecPHDh(#w@)`*`%edt%jYjKuAkuw5}WDk@p z%@v;u<)yx99pL`TVd^~hS!<*A(0dUK_l*u3WsR5Ts4E?VecLcaJqhy78=-TID)H1m zY15$_)NldgqPZRXM_snpiC%{Pp3sY)kLgii_jkP_y@!cUu9UEbs^f!%s@fudqk?X1 z)|zv~NvJyi9A6ULp-vQ52kZLvRaS`+?*(P*j(*JkS7DD(8%Y(;3kk`bViR(MVlj$2 z0}Aqn&#*X3D-dx!;5mE73-4Ec)B2mU*?-Xof!WdyODpRcsyt;k$d>1nrUF&+{KtVY z@&jRme3x!2tV3G}M_9K|m$rpgV^@?`$PVoX`vz?CO;H9=2l)#M8p>zJ#81Xw>f^X9 z?mxa(Qc>-%;yeAKd6OE8ZRdF3P;;&n!rGJL!=DYykY(U~^rfl_Mi9?|GA2#%X{nQ# zS%GRLt=P)S$?Q5%rs)v)!~ zT7wnH5wuCPE8BnG=j=9Ki}!u(eXy%7o2t_5lm37QvAcmrOf97qvplwkIu2mUh=>oN zTPmV2O4(^y%Csq11G=b}#JQFsbVf>h)tsLtE>_AoWU4)Qrvc%psch0prKm8IE2q}; zwkzK1tySeM=pk*fjtMRC{VRi>JM>oQ2lZU1qg^dWKo_Bnyxs9tnMOT=f~)6k2vQLd z4XhFVLud^e3IX-L?7qY_rJ*u}=t94+sDL&6*j~<8h<8C>_}1a45Grv6*d|{i4YR10 zx`lnk9nNt=$oJfFCG=fZv74q3#vVR|d6m==A1K|_{-P)GtKfYqYWZCm!Ocr)Wjf0) zq$*(3@YZ;A+Ahmb#$a~GzcwAgy;Ns;GPn^lsdC1-)@7kwAxn+3B|862ZKc-o55j!r z>R_UGHu^sKMf)3Brq#1F^8vJGe&arDUlyH3A4|?9CIkN8E8rW}+m!+VPc`tS-r8z7o4^>pL2Q6sm8;e`Bt)qj2{hQjJ4J|e3>1bTm4ZdUlQqjSSI+gG6Musn zS?!^V(r`P0PZH7{-H^us69Wq>%a!6m0v-5U)^n#~9~{fkgLp5hPJSk+pQ^}=Ff3P* z4x$&~pWTMp>M?p93Wf=1G(M_Rg zAmW0IfDA_=Bs1JcXrTLj`_$t~LhvEek8}h#X|szG0MeXe%`@a+LGRs-Pm$?tvhP|V znDu98fz$9RT!u~JyYkDVtJZ8hQ$FK>#f|PZ7MIo<=&HoVtOSvbCa>cz`BHErbY86@ zv>^Y1bh92PlHT}>tfR&8%tCN>53p;2gYhW&n{ZjOOAlSeqECCvuOQ|aSC|5(x`IxR zk{|0IDf{wCmI1`sU>HlHS!*->0Cr1E^)3Z_LGApcv_qU0Dv#Hfb^ttj8>^-)#z!%g z|ZNHMEsRAA7NQzww8TE#R3I8IP(3$2);OrJ- zTM}-jUGrY`wOk$%5u$qVpO7QqtfouH`7_viGzLov^-wkfeVw{!Yy2tWMXbsh6c#=O z89W2}?ki`@4QCoUZc)g>kVD=ESF}kMe_%Z{0w@(U76&IQAiDd;Kxv#4u(8KHEKZrz^0^jwJRk({y6epIv zEn0$fFK&XgV|Nz*R_=-1#qdH%2#z+s#yB<8*L2G#rE_q;(hfUE4>2}Urt9tSOb#N7 zlixvU3Y2;~X7T!Agi5y%o|=+~e0L4Q1HFtje%svIm(KqpowUvi&B5B6KN)x`#Zl2$S90i2@lOB+?6oftmVznbPi9YdsBH0H z%%(t2>SSfQ!kW(~bQHSSJ5mt*1d;Gr?#NZ-#^p){zBf7wY2&Cx(~jpvTfkK^(<(I9 zca+O>uGBa2lYG5Eo{GpG92iry0%=}&g1yQ4?N2$I?=U*%*D)&5xkSFGbL`3#0LDIU3!^Qb2G3?Zwc>r(A z(HGh4ppuv>O#-)mm3bYt%lypR+K?3(f@J8dHr=yMt-(IU_H$w4rSz8`jrq{^d6$t> z_%xy)(oYBmE2cKG{KahsTcx0%FZ-L&?LueHF9b zNZ2Bk@vm0;g$CgBvFX(A_*&XFX^eS1K$x##ll^_Tp*RbwNylsZH4`&gZ@sCLlA6*V zAR`RQ!7nJC=(ExwYe#@A$4~`WCH*~v1=?Ev5q?J!Q5cRSMdRiCOCWB7Iud^f@eNx%Y3;q5!L-zd>y3yJ>P9iF4bg_Wtsn!TR6D(TaU?&rxS4>j8|G7? z3Q~U5B5tR6n*7gD+i_Tr$WCH*Tldm6xjY}AcnU^LJxZ?WyZpnHbKtc*YPF$jT1O&D zStGAAHwP8oI8Mp`o88Dg=gU%^l>5#M&||2{RRp?hm;If=jJOf#MBn!P!99ld=397C zTtT~#hfa;_hD@UP{EPT-_%+rzlxFX&ck?eph6>$%DdslXS!&suSL&0{E@YHYSw+YN z^mxk@VWn^#IALRL7*?6<;GTH7_BH?UQ7yGGE?I z$D|Jib!xI@Yq$+?j<#8918wn_a#qj)7=0TwD%?hDsc}+ebQwJaIuxL_f%3ePP3l<@ z#~XO(%SXhn!h7ycXbd$Q?jpW7Zqrj7&w-C~q4; zH)O(A98dLkOu0prGn>VHq)R~;Ex{zv53p;Af56inm4#7QZqnM{^MbX(4eCR-fSXvq zBv=hiVHM^9Gq{g>S?F)wCT8M?T&IGcu?K;2ahiI>dl8unlOlHWq@^5f6#iM^KHNfU|SN*t7qquU-9P8Zbmc9Q9VSq=95t((#!l;jzF_!_fBOG8y2|hgrtc}~wCczy_aVeA{EfkmHUi`a!{0#HVGkfLL^PU6x z@L*-Ip2`jb;N`=Po9-iB0|*qYy`_x0hFwI?1pjr{$E^tslAf=Dsj=yQ77tNafYWzL zap_S}8R8;Fhc_D^VzDX?tus7x{&-)*_?gB9&I`of{3G8gx&hMLkwT@(xA1+ujjl#4 z2!kjbJk=a4i@Yg*fD8`Dg%zxvB;YA=dj&$JAQ60>r zLuUjDyMS6^` zsZrbAmCJ;>+UDpV$m4KM%ImbzOgX?ka!jkMj-<}w0jP@p5SKlF(9NCMayP6ckAwYH zLKR){mfPM@qLY3N>}QJWI=L*Ri8#))1EQh2?!}RjdX?N`bEfL^8lO0;Wt$195lgyLOPdNQD_n=ve$d{s_I6RKe6}hrm&5RAvS0rgci7r*_GH z7yH1RmtvAT0nYd-z%%w@yBJ!snA#0rWlV5>qb5<~q1wn1=A(6}a31jZ|IoNCqkIV8 z0D7A#@=nLJD(wWux|mvTNu|3}Y04RTDcv9B_@}rh`~zV&oSnWPbP~QyosRSkm9>6M z8xJiccs5EsnlZ>bm}()-%B$fjQ zCs460$3LdCwj9GKYdp1;i08|5C^}G@?i@~?j2uz(f;ZA9J7&{2#lPH>!Vbr{aBKHo zd?gyNPfyyzJP6*P7h-$ENm3H&6b7=O&IcwWrirm2{@fE<2~-4r*Osv94qv#jb3EXA zT|q4@MIt|k6UE9{e`ZMfv$&e-8}lu|6FHG{3#SZb*L~wByp{PPIcohC<57MjJxfV3 zFOBacKVT$SELsF@(K_W!RYwQjxLT?E$iLY;;vt|O*N{>G-`nNz2yT{L@z;0MQHH1s z@FEahU*Zo6K?0_(_yKpBN+1Cg$^=oPSU3;aDCo7JTd0l&%{Mg7NklcJenQVRBr+=;e_ zH>Q4t%GAk{Us=jaII+XQ(ZyObBHwt@vI_q_4Q3l4Q=v?U1p%Babn6Q59Wt2ixXk}5 z3SwNaj&U2E!lel1>AC2|auLF!-(Sd2R)1bzYpr^x#84>dO{;h#P7DdsaW)+<2ztam?)nO{!5v` ztplh=(>Lt1d`GZYFy&uc3wW`qO5sN6Q)v_P8ac+ZPFz}eS?S9z2c51<*b&7Fo$&9H zPRg%na0k`Pwm$ewY$CJAH;yLQZS-r+#>7|-NMHC@Kn*DgSj*-_7XL(F#2-dbVsjY` znH7XV9sn@$QlEoXySR42}9&(awCclU~fpv|_+>mSl zdr@0zlXsB5;yM!8rHm%uD~04Pz}h~&S{fW9*A`X>bmdO)Wnh)#Hm!{9m=6&d*vU%R@B_I*%1t`A80!4zimd`(N}0)XB}D=B787w!mqIrASoNWwwz* zrRH$0&8txe02LdFvR-1kE-4YBvaXm^WyBVKyo`_F7AQ3tc_!{lZOB5c!NX{ktP(TY4ah4nd?vx zMBN4Ua3SzL(dK<@Teby~%wpEc&br$wlk!N-EZ7_&B8@z~gAXKH7s&bt1>y9HT z3!6gDl9BG7Pz!lZFfr^lCFkM=wJ4gLLty78bvnYH$;-vRJEM_w0H(!h%n)rc-TG< zelO3%mIU8B6A+U(1Dol3Nzb(9ZaXV1F4UTeqkv~s#WnI`%L$S2G%*jiERN}b4c;P>!}I~N92(==fr@G;A{jZr zwU=r@eQcX$zq5ZBaM=a_M28z`xu=*Tme+ehi^W_y+VYjGj^4GDrAG=y-U}g^jO1SB z|7D!yK=R(YT5P6#o4Scy41H9VK|;(PtOa#S97c=|ouodJQBk+_LsAz|Pl$@@DrAe> z!^_0$w!Y%3@PEQ}^FF?Q(j2{uYah8jX9qJD{c0ShHelle!_g$aoEHK$1W= zJSqyYAKW_2y@!32|C3-BFQ=HbLg^32t6wZ^MTCJ3S_k5}d;9_ruM90*34F6l3L)8W zCpwWX&r8ZkXii?Q@F4pkvNwC2z9jDR4`RBrnaE;x28@7C!vu8FzjsW6`l*f39?&Yk z9&9Lm4vzMhkwUgaX&zJGQj?e_rRr~iHsKh5HCq$45#=bg`3D3v7W_R090B-$>1$B@*1wZWPeoqke z;UD_OTCb^b(uv^of~%ur zBnMK2jTQV%mZ`Vkqw3n$x)f^Ad2XW;fY@ASoIBjszCw&dwacV`=z~DiC z1ehQK+!*0j+8w};;hU>MPzVyQq%A zLn+n5>DVEv6dq-5C9IaS9p~|*;F;>eH>kQWNZJ($+Ny+B5lbB@ByV3J-r)aXGo{If zWO|+LpnOeQBHEPKXdzk$8B4A%97g}fltBMks#>BlV_|}u0_gjnG0T`iz?0nbld#Xk zt6#ac#DC;hVV(mwDndE6iO@&ctwxY2nX--1`pKO6jL z2$D-e8R!jPAM{U9C9bLL#Q)ybyBN$O3p?5Q{B|tB{goWXzhZL=-inu1JF_{tyl_Q$ zkoPXsAiM)kq7n_;Y?mX;h3nW)h9>lRezWJMtyju|ygbUNWpHE2VM45+U}b%Gq&KdI zwmH^?V0~l!?#LQ>f-*cftZ0~Fr`ydehY;x~T_E+u1*+JwgV@RR5Lbg-vzqP8HXkxu zJnmS_4fOZYfGU;miN7uA_H%h(#R6ql$-Gb*eh*%mTT%QUJWkljEKn;dcbH@JE}=X$ zM9>4hYsO2piD(BM+J(-c8kR!rLa4p}a zN|9Y`E2j!;&~U9^q$&Mb7-_T_J=%tX&^6%vJWv8s6;LaR$~+7I zVNX_$t2J`~7pgK71}a1N1Al+Lty)>Hg1s%-oZnv>Y*%fY*&2}+YEW(KdJQyAtAI%2 z@9+S4-MZ}H{_r5RpLRlh|NrbPk?#)Jz;6VbN>hapufrsFX`*TeS0gpO8`vX`UfL6`DmnyGzgs2KI}cE8zw1LZR=T$ z>S8IN+}XR7JgTY^0&_TkTU&f5ll)M&rfOmp?hMxrROvc}3($n{!tiooyHa^YG>Ef@ zdP!=g@ST4lV!&%CY6Dk*U5o8focyyGM5#&KQQrn@P_~f3bw_J>w@~}##Y&kVE9Zu{ zO8wP}QjU5;t;KZ}&m$%JIOc@L;dS-#&KHiA&gP;^nweBzxo2nsKS8_yKlM-X zGAj%Js%QNTB3J#DN?)%uN8U;o)KYNMDwOu}kCex%9dLzuEUcpJJKIuO-ehScV5$dv zxka1R>7{oKTZk%5D}d}@`tG6qB&qim&l9R zCAytCrk-HMa5cDZ@u%>+yl3{_SS#a2y9K^sT$WOeM};-aCifmuM@HF35_V`^;{2i^ zrHRE=^<&U;y?=zDca{!xOhy&5y;8>>QfuRrm>obNX=^wxIW}kk-#!rIw0AYX*fuC@ z;c5t&mY~0g%|ImHknC?Q0}wSw6*TQ3*`KndzAO9_Yi8I2OFBm_Nx9>1Tzp3!^Z$x_ zeeJb+R=DiBrgKp2j*&#fn&%wF*+d63STV3Vh%$rWpYXRuKH(yx3OS(TJyHA{%)prP zK(*KL-IOe>b4<)WT`l~dmWw>MX@ zb5q>+po-E@qz_`{8P3Y!cg#~}FkJ%|ktUX1@fFk?+RR9P@g>^=+Q&q*gOp`r-|f1! zvA#~Z#(&m7L<*}z zLalL;D1lwjBVZ?vn>wmpft>+tE0|lX=$fXzP$q$5M?Gb;SiMlB(>xQDUPv!|i%pDg zD&L9-+H`vhdSGb)Z5M{Dv8A8Yq1ZTp`g-Q?65a-8Zq|u2{Iz0N$PM6K!HUJ<@I?K! z9>2Yog4~zD(4iYEtL8IeC}!#~DWZ_UDa6 z&vMaRIopE`+l4hcrN0jiNSr}NGku8N!Z<~Sii3H0X;C*%A+(1bE4iUW_>6f(sG30W zG3Lg?2<>L*An+@r`0`?N?1p*=YC_IdV7j`n*#s$T)z?BjdjmyB85bvGjuU}nM#`^< zO&sg+b;{?YCJX>RDOMC!cu4>ZzTJJ%tY|P{f2v32;Yw3+C_O@$&Ue8YP#4*E+Q#6H zjY;c&N1x%-h;{y{ctL3Y+P1c@T6gskb%6+af3Tv>(vAlJ?j;i_!D}aohK?!PZ^msv zfpv!1q39`do2|^YaU(#bB~gOR(dgd5S>YA?t;C<6Pqu?j2B!tPfGnKCU6%IfTZRi$ zku>s>*Y+bji~3a5zP4ALY=zWUzPkY1f5!Yc@0jqgXn{XKkAV!4N+5#;6X-&$?!vz1 z2TiMT=L(%|_du7xCig1o7qkK{)k>b5%4+Bka={M}GvRmCJ6_tr|# zQb$@gD&s;=%twV>L3Mo3t!2uU+WCGH_CT*dZK{?MO&?X}2m?I**lFt2X5R%3z<)IfNt zu+R5am|I+`))l*0lk|k}eYla~f@wCk3VtEa^mJCs(2Lb`!eakG<&d#T8kpaf#!~6F z%iLqvW^|Y1Vnzf5ISs{vF$>9M}@R!lh|WrO`* zD@t0Hw}B%?+F13CuVuKsC(iZN5My4+qbY;f_iU{7ggBV5K)(sRmtL#mfyD*ZQHBwK zAJwgaM)=K)eaOCGjJ17flw&&UrFVJlzygwhjnLxnnlx+EerA*Xazb0;U!Zju4dUIi z_G*BE_p4zYe;UUmb7+ia*2-ZWkdDp)#&V?#l1BWt3+Ni z<%%nBo4|OK@5*TDy8S<5g`iL!S+mYCryL}Ik6y*J=L(rx@m>6_x%%dw;o618;o5Mf zvR8a80R=tb14TL>f{5E-fvP3$#rJgmDb70x}Qq-6*O`gUf#*J8AU=wn*>%I%fAbl5UNyLg@ z3ab?f^9ce|F+Bll5m{K!25)O|a~%0fI#PSKG#_4^2C5Tw2y0yQ9NQU)5qe?&D$hN~ zOzUm2v^DK^V2n$r-b9wG8`b&5{BW9@6HYFA5n_WeQX~98`u@NR%TG)Uyj!>ceTLdg zErIp{6+(+wSz>L8mPS@198sH*pj&D^<7`uIvhWYQmTj#xBkIBd`)$5C#-UbrJ~qLD z(;w|oQG;^E`l}`7Q{8-LeJ_#81y8vDm^2MikKki%bHZyP3*7(tjycx)zv4mZFV8k4ilA(fyGcf^teb zp_uBcSR6ncN(FVgT%{tj+5do^ zTA_Z>Kz@kl6$jGKoLSh)sEcNEBVa8Xxex2tv}#f!nJ<G3$ z+Wh0hE2?52>{y-h6gwwphSLMQf3|idWMM7gyIfO%h-{a!r>K@V0ySVu;9cJ66mEBUMZYot}Da;l)MK`0v@&py3ytrEb0-Q|0LyyV%cS)%6u98%e42yl0&`#cP-v77gi7 zhSaO*F$KX*>OW0aXv zU1G9rF4NM+358;5pz&%z3dUu5rfpmat;}C5ZkF#j)AMs2pF;K@weKjF{E|PPSP=Q{ z|IHCXlEumCZD`GRdy-Qi!*WPde5Q#Yv7tapfreW;um7=>x{b67%0Nf(V4{yYE8 z_EbIMY@*Jjw%8xZ;eU9?)65N~pLj$WD&(kn-lIVRSj~mZ zbl#0E0Q-NA8!XNy{?ZySn%om_#8gHsdCMsrULp?g&kM#tG5maWmOjS%4_brkUvM4Q zggH6Zl5ygTTF>npEyIzT#SO?VNeOy$sL*iAehq!hRnABaFLE81S942MfAMX(NG*%Z zher_?!vBSSU>c&?t$I9ChVJiNgiZIZR(1gtK*NGh@O9y5W}fQ<_Xwz9WJ0qy)*xA5 zFU_;HkB*@Os5j(B9Y$w3rqEMC{4+|Jq6|o$8QQo#s^FQ0lBOwD7<1^QD~;T4XvmTj z2=BSOY*~=Cx6liy*6cbl$~%zVhOgolDpSRX(vld!{>JRUqM2L%OZHbHLoDMfgUXK6 zpOtq`GfO+;uds8)M4RU6nDU3a2lKabD6~?EV1GI^sHy9rUnlw$Ri!IoxpZ9kxdZY< z>^aIgC=;Jbwg{WU|1w?GHp%svIbvBN&A&t*Ywhfqk2NJOP-Sy_dwvziCa2kEMrQhE z+qy#+*ml7RMd@<+5_|4kt$%pG<^#JjaJ$1;2V@6PK&_A#_t3{8ll^(5M;xx^5DRr9 zwu!sTv~?Y{4-}H^U7@prrmQwUj|8`yl{WZZsY{XwGRsD;MTz4~1C%etwfS4v6Av2x zaXUh$zt%3%8j9z|mw7|AzPi8U45Mw z_lbGRdUg{Rv&~GHLIe4#;tIw|Z)c*SJ{DC1%*dtCb>DWb6PB)2R%a@&O?TC6QY^O) zFUz;$PT9Nq2Y3v+ivI3zY%OsBcBjw;XPibsoZ8!RxT+KU-g4^hFfDAOUWR4^3-&PW zSDK+LcC*%v;e-9vwm?H@A%%dNNe}BbTf1Neaa+0(nGBdZzCiu8Xje62pfG;zL1ME| zQ)`GD)r02IPLgh+jlrfNC(LEBt;n9*BSUGLqR%m$D)eNpD1F6sk|}5zbzc^#Wdy5@ z4EFb(V+;xDAm;B#!65fuv*V2NFuWS61#oRKmf1e9GESKU?&0KGpVU!8k+vx5J3Aa$ zsBysr&El%2-3ssbHk6u4t(XDOCUPEcvDE|j3}jYB45*TwD{RMYA~>W!(7$U1Zz)}w z*P9kY)m`(cgZ8$ZoB5Y(>QRLPZ8KdlOa;@)H>Q%}%E6As!{Dlzj;|Ne3VEf1?PCd* zK39GRT@}^}v23CGj96kkFZV0HB30DW*bESFt^?Y!tY5GL?o-{C1b8mAYSe2k39kn< z=65pDpnq?pvhVyQ=EXf)B*+YRr!>jv8vOCFYT*$YQcpK*|`* z4^$r%%%^@r_G6O`Uf&Ov$JN*xW@xBV(qR7-YX&plx0$~SdjG}Xe};ltiaua^DIq)t z!z@*yMUf-?XsE3GvhZ0Rt%6ci&`JL4>Su|DpDQ?ZH_{ACQ&I}X@#Bdz;x<<|QFB(wUB%XrX9X@Wk0O;F z1=1k#kUmtaNOb^x%@fizD#<^dH?R+h?*Pq5@}f|~{)B{x<#2C&xX`Hd1V9|U1xS$x zx*C}g>=yZ33s7ZZ%98@)62}WIyrY$9*HZgulh@P@v%<#+G8_y~*Xst`10RsXa={yl z0i6F#ds!lk&vgD7IA%R4KEf&@XSoI$1GTocq3A^75QRBXT;pRQ^&M z1Y3&}?fvx$=AMOvu+z#0J<-t8=Cw}&_VWwU-XCxMoyt#25c?@Z0C(dsHedJ+{-886 zr004~BjNOHm+~7l)O{VtBg@q1*cSCuXj$+el4H7N-X#12#Sx5S8PwAEPR<0}FPD^A zsk4cO#*4&Z5!Y(yr;(o_Ln$yG^e1AN@JX7qrHb*9Yi00Rpa6|<3)nPnGF1hv`cC;E zF&)O``&_oQ7uJSug4GG^44af@iWJXSeBb!NWL}u#H?|%%+bE(Vja*rHuPnq2EAt zbChF!7KzzLT)>>pb!r_Fc=#w2H7`8;2Y-3gG`Ko5w|HCehTwnVb#}12hKs0~L6ftL zRvQnARfT=teYlC+;vdK%k^Pz%uP-ENoM9cXy&u&HEwhPMpJx-aq0h~i`jY0 zQZv+?z+`qhJO_=TYKxVHzQ}SIW4|k3?U}{DfcOGTZOc1cWgJ#p3g1-D%I7=|@<`ei z^CI&+e!m&p)F4>SKTi0a?(Y9FalO*f7CTh2EoT$Xxv0=Zsv`O}P!JxeY_|VLwXnqz z%khPHW!o;trD_vX4v3Y3&53nil6t45(gnl@?s{ffaPRseIe6U=>Uu0K0UARu6xg*B z^%PumKlH>g$=X$FyLee!R*ZQ^NHldDO-GkufH%wY7JuSj1HSYorsp50)>7f5^Ta2t zV^Gwyq+Lo+XMgcksIjms|ElF9c{{wy-GZoYUmf}dzg}m9@LnCe<*~3Y{4)VK_|g9? z4X7?;9r8W+mS)DUUX6&OAIR^F7vMGcWYK7!lw-wvKy3gn`yz8Dw9Ks)l(1{8 zrcGoTVwXsmSqlFXdg@N4O8lIozS|EyMxz3E;&L2|p=Cl(+$b8XccUwU1p&3!Oi|;0e(%Qw7(r=84>(iJMhUhv3`~wNqw+%xKEtwtu*5NXC z38>fXccp71pf(`ZyX<{dyU4LU9w-Fc3#rc5>%;@`<_3XlUFxGS><;)ogJq$(#9V@b ziXYSnwNs-_^_?vu!SEWTiZD$Pu_R}8qeH^+^&UHV$~|25h(E8`?Y@(C#0C4`g}OTu z?GeM9oEUs^C`yTi?{KNgUV90#*D_0}Esu;e3|plv!m9QYtKrSXe&{YHLHd)O8i8~3 zm_Kwsu^#zN^{OYtX5M;CUdBirOq`fEf*w|RS0&{PtXifj*HRenZ?=&uE6^%I6M9fx zN=6sWbl2oeuEoKx?nLaLz?A%Mcmx-vH`d)XTO~A2X=_4l72OS0W3Yyyp=%6YEfiw@?z6p^F1pP*R~&0X^EuZA_qgx{Y=Wnh_#FJx(bc`As2TlB^0(kAs0C%0 zd!ubZ-qeLFloEx^{H3%4X3Z+8g@!4P^v$)9eR*;Ade%kC4%3XS@ACKS=iPbYC(F-Cod zxuH7#BUZvkKJQX3<^kr{U`Od!Y{90=b25|39AQK%j&7 z0I|_p2n{lpP7}|eAsBb-< z@+xo>AprCCK0F(Pg>L|FeT84;%=MKIrD2)D#UT1?DkJnn{5o1HbQOfuzO}8Ot5Sx! z2_4ntgudu8crUnVcJ-94 zbTsO8HlRk(M-zS(*H?c>&Sqi9a_TeutGASSUfc^*yGZ7emMsnAhI=z;&TAq$tD`@@v|3_=vT6U=;NVWGG{x7kHeqm}<=Bs0S%9X=|}c*TsfJ zJ~hC+j<01|DVl7HEi`K`xBvg1Xgb#04W?Y>8CZQ?aFr_5WoKoHBsXLKT4&QQh3)Zj-U33mStG?5>TaOz71l#rlw+35;qrlTj(Ymv+AhcW z;CYUd5qO4vP+e_3#67cy!8-mT+=J6L_X(EOUNUiD5+V=T0OkN|TdxS!?H`y~&Y}7! zS0zVR^p-hV8jMBz-zlvV_bPkXTk#t;J(&l-3-F(s5-j`4r|IvZWb&FT%XB(@X_BZn zgw}3b#dPG(fhZ#!ZcSW4dDfLOzW~uDSgT}J0aelSAn)D?`Rom;JL);?v1>5W$w9ly z<9#q2GD6!U^c7|YQb2{Z9sQfDPT-X7l=RRO3*Se5;>D0TNmktcfmDm&I(PsL`bXF| zzN}JD;+=QA9Ox#;Qb&vT3CAE??b}2>^r*p6(q71+@57RPB3qYU&hpBG;-91&;pL7u zVu{oWbh7#t)|O@y>5eD(M5U|+Xdc*a7rwN;A{b0#%cm3qRZFZuGTjrjqIs?niY>Ir zP{u!4=M9P6*T`IXzp_GXh-V1zOn&$~v=?iqw6f(=o!zM{Z_WX`z65$rtU-r>v)oL) zK`M5;1yQn1w#ejgx@jgAfK7Tur5~0r-tnJNaw9X{i}8)yi?BnnQKHFGL0ILVVA_Yb=GGV82K%lT$K%I^L*yK$wLY26!uBPPC+{KUt!@3u zV1nYC=`gb>_YeC9{!Ii1e8DS(m!ak&C07os7$kKrviO6+Ge|FNd(J}tL;A3_r@M;T z%vV%zhiUr;;xD2xdV}cU$N-#dzZa}FPq%ZvX2Da$3Tkz3n*RpeP@Cu;Z>(q=sJv!p z(tclgZKMzI3OIW>SJ7Ey9Gc<4)ooB0)8EX>q&?^kVHJ5ed;r@6&>Nn@vJwW(2tP6o zlh&v~Vjf$N(wy`$Q}|oRA3$lLJKcx=fMeDXmhtdX<)e9}Z!YK$9k<0m3^(KJQPk_n(_?)tsq(bnfvYkRnl)2O6>bdb8@<6uq&PDYICv6YU9j z46Ah-TgI=mduar`@c;~zp;HQKr&FIT(b6USsJfI+;M%dP)Cxe?ybF8<- z&Bn?A`%v z-f@6Xa*>B zz#sD;5;ZIz%gd3o>aWz0lC_lCn?Oyn$si*bf>jWFkwW{zAY*s{PVPUh8_HnfGxrVa z3?_Qgu$a`tq{muh?-2s5#9;q+2Dbu#xD(fd*Ojui8^kAMkTTIdMp}_>Fq&=II=2?F9U)kxhBc+z&!wVxRqdT)Y^aCNmm337n+KmnQk-BD`nt&EOgtNjat;AX z%a<_G+#Zk0eC%|>JBqBv)0GLpabIxvou9NO&pqfNkOhvzI0Nsa*kkxCOET8c#^vtMnkbA0HUh z;TWLqc|f(Z?bI&fHguRZl?btoEZ@&)FmDNj$s0Wm#fE-GgQ zRj!5;kpA-OP&;8GKwF$oU%`C_=MhZgLGy~fV6c4xyWZNu`ZV~J4Fv~+9lGqA=!mn| z6uV;;4ZYO+DXH8@$7NTG;4??VVjnyj)R|T*19O3Xif~GM0*&-8Q{zAt2p}!ReKC{6 z)4802yI#98UfhdaV%G7k;eCidTq!ayEe>=$KvwEawl5YtfoZiH+8f~bw!tWDbsbTL0dNreQ(; zGl($%4wfhp_*ch-P#s#3{Xh@oroo!~&Q}6dtpU4TZX$kBA0)@QS^F^%t^N%rKu1$c z*calOr0>M%O;fo7wb1w2Uxop{6#SbFXM$c{615UkE_!lS5wv1RK5vik&hs?)h;T$S zrtV;NFjb2G6l{1a;ed3l*e%y07YD1R?XX(m?(ljoUur^D7aMWS)RdIkL@Vm8X)IDh z8^JF3OWJy~1-?QywNvN@R0Q8X!1ReY;<3NP_B%Yv3 zwgOy;N^zBhV#hg#qRRp6-e16|U)UK=-TyNYkw*sF=LO+kp>|k8(J*KgAL8DI%hH$A z#7Gz)Lf(|h;R7f;^tX}<)i3JI%;2tw2cU_GS?;EZ5a9&(a#LuMUKE@K?C0rFXJVEd z^beIPx^y@jI*-oP66h=8eu$v=WU+!AUMZzznNNlG!*iUo^y5f(Q^yjgN$~FV{bcUN z6e)-!1T>II@u}EIN;9>swV39^B>-140_txr7cRD3SK3%^0j|rCD~+qAuhZre>UIZN zzO;?Kf_{R%#x~HSqB{D2E$9kZvcvczV@?6$G9+S#enMfmII=XbOgIS{f$G6JEhBIi zGev#@$lPqxGV-%;4eu?n8x_w|q9?P9>hAp>s0p{0#*wcvKNGU{BRf%@>=UR(fZz6t zqXQ(<&8_{!I{sI-UXh2E!+=vbTISK9e4n|@HqaF7x)9(6us^24+?lj2XaqjTza6l6 z8spb7YYQql4~EJT(c%=nQQgJLGJ74Ume?D2*iV9)w!z3BMJ=E~)IV%hl@(eLb>eTa zBOR|(8f(SgL)b|TvR$Ej``=*Su<67ukBZ-_e#2mgAJG;0>5lK>zm%Pg_PnLbtFY&N z(o#AV{{$>dT%9GvG}@kiIMObVLb5_@LBE* zyo6Zjw7xOp5uW0{6KsYgfDUBGw276I;hxru!c_hiy_tRsb{nuS7Q|S-O0BUop)S7T z=-TB-@Qtk^V+h#u4omG}$wfopq0FW@L)KJ^p~cWY^c!mzW;;8MY8Fy;V;;L{i@${t z;ADY%(Lr#RYDr^h1CO&-WQ~2V;|$l%XqM~pLp}S1?=~Bh#@{F7sZD`j>}`;xOpcdE z*Mj(VFx68Xu9Y_q#Y{*+rBR^Pu#O8!r?>U7J+yQJUhI5al=X1x=;Q!&34RWBb5Bm| zsxI^PB8DK}w!OlwTv$%FymPGu6`4VfxLkpMAXdju@(y7?zn=Sxc5)ox!?_2PlGi(L zJM!w>#SD<<&ttaGeXs|%IOde!By<&)U0rZ`;P0Zueuzdj*AV#D&B?P!`@)bQh+;v zH6(Hj>xst5EcB=1?f5^!{FL2PFJ?G)T-bs)LrJztnn`u}~|E#mJ`12WG$tYTGLE4;h&BDsO; zhSvx4+_br-`78Md==jV9T+12G&1_%b$)ckE;*y2B;G}1XUa@`JRZp%XUO7y@;Krc4 ztXG33Fkujf4G1kX=+%{%9Xd<^@0S zy1|$}h;SljVKDKFcS|dF-AyT_fA?(SKH;N{$GPXi9C5Gs6PdoP4Jz(d{0zn zR?+EjiG4fS7FmFQ0?|aetvpj(-0CP&Q7l<&Y_qx_!o%D>9dSeqG6-#C-O2wRGyu(w z$>FM2j95av;C6aq}YolBSo&nL=uH?*uB-da@8w#CPjau= zEOAIA8tSRmh#ZYT>{Y(Gvw`@GxtQFYndToTg=h*n5o#HnFCN2wBc*M(eGQ5Y*c)>L z>mt`*V%P9@{7gUy3>GL23TJFv#^;5f8gJ$dx1JZTA%&!Y>MR`M-m{6$T|f_H3foT| zsA}N+d=jQeKal1?5zJbs5(1X7&C)H5tF6@Rf;*N;+(SG`2(#arai+QgonKRJ5}aXe z5gAxgM!tm|keW#KfMvT`T!!sn+2vU(9rB*p7VS?3b!LEH6sma4S|j6GbsT$!idAap z1CnRxlzlyzMo82I{b$f!1RAsIRb;z;pmdOZq5KxNJZm*mPEQW>)%)dg;Z=b}f!bjn zo}g_2UpR-|sN2D8+INKpowf%oqty=gA%2&W+3x%dZAJb@elCWNKD{S$3 z#w0&4xxyV3ZWLMRUf%WUli<(S?evgE^ih{=ths@JmrYY2^U!VG4Y}Usvt#_u0#MZ_20bAF-D1_QHB~km!&H@hw@O`cxbr z(!x*W7RA@3&B8cuw%AQ1T^E>%;Ze>$T5oBZb3A+qzm6>|u1J>ZN#VzU-DBz2O8z|( z6mGz_RBG_&K-~6{O;Pb`!|AD*PYK5Wbso(i+_3jm`pcu>1;UreWDFICGCTDQ>XV`| z^@VBV98d3(K08h_HHr%&^S~QG#R0L0`^b~I-dur_;NC`CY!_9VE0vuR`dvBAjRRHA zJ$iSoZpv;xrf4{`QjHaRs<9vwi2y4#SNzP>kqIbPnXkMMjLPb;C^uz?inVaJGL5Pv zRtCF2oV$%>OLTB%N@MkgIJRhpxJSoxgNLlvYbU%A}R-QZ`G)N=n`z#An&TJ`dIOuP&NFwswp(00unuPn6+f zn1lW`;ydtl@03dd!9KJ7takAEh11$*<*sRstzP&nCMp)r?LDEdCk#+O>VX1jn=F^4 z`$)9%Rqd{R6!U!314mP;D<<8fU`$n>19l=yuPYw+7XbdxUsD@!KHDckgv&(QxE|vz zq~CqY>YrQ}4FL5gTRlmj^HZDabiaguPW8xa6mb3ke91?aB zuN-kQ723}?hC1qfy_VukwV17={!_fmayCQ)m4Xra?c&asXf;-UlwblC#6e1q&gj>b zx{gXEEuE7`D~EjJ_@i)EVH2irV3hM0Xsuk;u#?zQyuNVH#gn?Ad8ge zze82F#VY3P_O9}!`NS-NW1!$7EuJtT*|^M3wi%G+#jMm^xGFCafsQnni$^8DE2*Qk zR7_-T{<-+4ureP&#TRkmr^M^@%4gFXhBuCd3NzL77HK74C00B<6Hu(c8@dY1bW z#h$&P2tTqXBC9C7*%=i3d_z6S-I$mgx&eZ=Z?8%ga7Jvv35(i+L zU76VaqOxq>dKq*iDoA7bjbalTDZaWHOd+cKC7;TLy1BMO3#?Z`r}Su;5lqS?4w9pV z-pm`Oon;1fD%b;dMUwqZl=tYf%_rcQNK5=rUuV28d9vhxBwclU)9C*nGF*miOxmuJ zq)D2z={97z>*4OMhr2Tl8_vd<)*H8`+pyzs4%gxC?r^yM9=<>Rfx8!UZTdVPeM>u` z91)dWnrbd>;zrZ0`H30#^^=+-poeOV&6D?|UqcI=PJ=3U zw=ZG;Wa0ytoHKm+fkBSz2H12}YO1dFe+ub^NixHXa?aA6@(H>rdE8V5Xer!_YOVVZ zUTcpvBY~?(hHr(hKe0H^3(ocv(6^+bo$4I*Ir>iG-;(7O*#8pr|_%CaJ zqP{){cm_{V{Ma(f!TddRpTec4^g@U%4K-97N_OM#?|!vi44xtu6z)#gC)Np7;&xH_ zK#^`8)mpW}=Z&2~_0^gKm3Q*Ij)2y#lP9J)f+R*u?bA3?viN}HHQXj z@yv0pH)PW{6t1w1ZGZSz%2(80=p<)8n8cOy4`XwE9{fw(Tj_hCy{)a>o!`c;5LEvj zOMU8|R4P~m&SexnBzJK^Rr@o#j5+~yIA+sjsZaJ&VJ0BHjKX7udXA~wB?H{o}=ykf728g7*AlyaT%HQHIdTH0DggaPvps}Y6bIn(V z$rdGsR7+d7q2ugD@^;G^Yt7(6@ad+|mHDsw!=yd*!Z#DlK*j}g_rcaUumK#Ljks)ab>PyYgZ5_bYE#OgCo>11kZUJ{>Rt>dYN z!)UgApDIFY$eZ+{Jx1PuozVY`*7&k;f8;WmD~x3K2`9wjgci72DMejSUg>HP|3R{= z6jq|v^)|HrB&Q3PK<)Slor?|h{XWfYkSuN_5l8JnPMZiN*^1X04s~LW=`SixX;i-8 z+7Lh0P?=w9*{0t`wIp{KF>Df)9vcTTV-w;4ECg3#&s2b%jUOjlL4OCFS2Ln>MO$S2 zSh@i_!X8cA(KNvJp6hKd_YxqfA-fXX_K1jLpwIEe+ENU{|8h&1wfY1#!|CImB&I_R zu+&({@*e8W{9rzSDZy}II(0-Clz$?0#GM*@0N;<4)utMoJ6>>#aTPJ%)ZZVCcSiG$}L=ax>I2H$`|1Ce)HIgNYnH@HS`}~QjZLc4!yR_4?ZKa z1th<^vM`4v)<~UdcL@#>N-JOZ-o6rWUqpYDa$6$k`PyFkr8q2kl-NFS(wpxq?_zu@ z@{rI#bvI?l*C^{a&I(JAxQyIwSQKpQ+HWg|Re+B1%b3q{XDyCDCLd=O8|U!7JO`D2 zfPd7B?IdpVZXzZ?PZRnJzzYrAMLPAHfi>F-u-A3N2DGAB8z4s=(nD~Q1p8rTRX7^y zrbOjlGndlk=JP=LuP)Lh81Z}mm!?xgAg**qR+wATUhM|pjTXR@LPep{@-g#nz`8yt zcd^zD&Y=3^F9QQiW!$%IJuFE?YGOUo5ai{a^39}4a(T=jco~|m%ut%!N8ssPe?DNV z?wuyK4^CsVAi8%V_jnfh_gQjaHZjNFIJ$BE zFo(%ETV4&f7XOL)6;1Nj_?8Z!dAp%NVOXGS1bUAF;T!nhL^A641Kw)*xu>Bt-A!sA z@D8#^+8($J@JlB`Pt+s6T5M)uQhYbOv@L<#>H(-U2*gn334bWxonzzgD!97SaSH#1 z#GYqemhwDLEdk3|b|&bGBkcX` zFmoAx01&?;$!}OfVWhsT(1CiK!@En#x5(L2O=xwY1Ko;MBr3sqo(-XGY7QsJJE=yz z0ms3K8Vx0cfJ%cJfTHu0%@Gk4;Wc&i7Ye`3iNs2$MY^p({x`bio3;Std<(P+d6)W0 z4ziXv`LJW=8+bRaLBeV|hixLi6=ql}2RAa`(5-fNaFMhxbi)T!WMqSJH{J^LUsIvI za_PcP_-1HXicLEhngW$&XUY1co62&#%UB%v#r|oNm42lU`KsW}Qn~}Dd7m$~s3Jem zit;4=42vraSti>|!N=A(q$>UxJHR-EgNf zq*Y-TcpbHgC_rN^Ht$+{1ahnCQ~&+0D@gR4qhrZRYn5s z#+CZHVxM3nIUswuSkK?DPG|hzEonr2UYKkMb{T)7HMqL$P{6q#FD*v8lP!pUiSNuo zbBQ&%Zk;@gig2bUrGg1zKdPhYd>lB<5ibDJ`%=9D;jQe^P%Ct?ajR5DUX4U+m^Q*{ zfR1ygtf!Fzw3zt`N69yp4@R0;4Ii&L71Z=&omC;fI|0cg%=V?G-av!>_v@`d`{W!T z=Cg;pq)>*_oWF-H9X$5v9px-n_us;G*rCmrXYyvqIu0bkVj{j(= zGyTL-D?#V}A^sGC%azg?&*XcD_Cod zg5r~&W7leno<`sXoz%>h2qm=piDh+(3L4oIfEPlOOTRH`fk%szOT2)L@_Q>OSmR~8k!c9P3yn!L5&BRn@JakOOYZB5TR~UH! zVo-}FOZZa1b$7}^!P4lEV zKoPCI+)9}Y*E9o7alDL}XGgHQf%be8U*7NjJ?#kl2XaPwM`pm~WlEEfdFH`Xfjl7G zt{_(G#SL8xCd2@_dl6!6W%SEXhIxqf_N9Q`WNok;vJnHJWrlM2Euyx3z%j~tAE4>rOG<_`f)$z|SZfewk&tR>Pebw?7If8r~c zM(T65kQf@g3LWOdN?I-e=rs8*DP?T zgpUK2_ee{k(<}O^57-1D2~3D4$t}#YtQ+ZR#0=uHQo$Y@#)%gAF0r;)6TU}e5U;|6 zq1S;$x*N7sm&e}?iNx3Vqe8~`$;?6%$71MrV@$Xye45P0^1(dj9nl!8YJLJv?o#Zs z_*}n2zQae$seF9JPjNN)Pd-E|(b_BJ0ZXt0l^;4I=i_^V52Q<$2H~^NL1UhA43c1J zj}0>}pz{n>umSez`aHHLR}+GSl~RA<&%{LBDz1-iLPTOs0qSp(K8jr;H=<4%s-s1r ztNyPAmxMo3Y7+YsI`H|MB_`ztFHHYpiQEE z4^HIzpyyS@9V0xG1#B_dhgcEpg9SyuVVmm}pCmSoyA?M0BV7dV_mb3X{#6`A{R)aw zG~mlN2|l%%LVDjA^ek(XD~J=BSI9FgQ~KbIVD2*2-HpjZbPk9HRXq#I$IM;&lj{H* z5nQEH(~W#jL%cmhnC6R8bx15t*bjur-~r}uV;^&Wd64g{^4W5ZUcq+_p7abmRtv|O*MV;047CY)91VxZvHNli0AXIs`=_Yml5OPjV#s zfAE}T8ViXVg*@AR`I&gY@C=Iqleq@kC}>fjhrh0GsXW{>K{#*x{d(_wQMy`Ke_aLl zeA5DSA9_@(DdupEJo(bf!aErr?Eu&hfPX90cWy1hJk90x=xulxI|%BSGb>orxe6lL z?EK9^7hi!f5LqD4-xro9)h{>}2#IFPhNQuPQDh%!vb++%WW365mP?}rbT?%!!-{vw z`NDhgEPVysw2lleFHzH^FR%eGEMo-mWe@#T#pvOVhiG$vp-CysBI8g}uCKPv9a7LA zFCenCD{>>YYVI3mcS3*HPsVBp6P?ZVjhh`in3Ui(LtCJ!5G|JG_gTt1=Hsg*hgc$h zR5|r>D4!Y54`XDlqBV=xAtPwS(h+Q8V|`QPPUd8OHr@^4p;4%ne(zeToYUV4fa!sJ zF_j3pYL0uMl!0Y{&jZ+B;uQNJS!WvPehMI4OMc zfr$w-Q<)ol8=cFx5xRhzwAL^rn8D0a>j%oN_J=e(tAYBV)DQOBAJn-OK4-%xw)*us&4`@zdhb|BXR zXv&W7_+vz(J>J@inSO`6G!|`~@`COmmZ!nwfggz0F)DyZ-LsfX$Z+m;3;-@?^^~K; zMx3-hZ8` zb~70(EK+*#$4oEOFWhDHh4`9?U{pR;er!3Rev`(4ZftKLQTZO~tJSa`0LpG2_8+4Z zJ4{?FbmRv?g14R|k-cqG$U(rh8Tj%@3DRHCV%Y%osTE*uX$C_dfNQrUyX(MEN5ika}tIFZTJ-Nv!x2J zPr>CM_-tE*d|zk^dbiWsi9k2=+~7BLn_7h@t=a#J$Cvn%bq@PaxM$)`nKk?|e!ZY^ zi=`k_3Yra+a7Iaeeq#V5CRiui^%9@ZRz55QGcuxU%MpCt$kL&Co>JId->P71bsCy% zehR$W%StfzLRseL<4)uqD#HBr2}6TCS*Vl#E!$Ep2COF&AMbxB*UtKgouET}M%ZCG#vWDC@CxFYnkSbfR*Rw>*d39x zDjY&8$!qP9(2}Z5Rtx?mEKR%zfqMvjQO{A$l>Xcd^SMN@NzgxmIJtuMP#)=TkM+cd z#qSEv5l+D4cms$7ptBPG0QqpVu9)s(YAIViqojk%d%2c;#M;hRU;V`2ic1r2=b7;v z@q@UtWLtHsHr2fd6?L!GAL0u~WyBe35~>)AN5|S^|IWz_HWjA19*!vE7~B4j!wS2(Lfz5{3mk>nM2+XN&!XB(?T_QL@1H0PW0t1 zE?%tXiw@mkK51vI^#fNWM2-ZXFCwBj`Cq8mw^9YVCQ4b`XW$LpR_O!Sx^LLI5=PI8 zj)+LoE@YMDl?2LV=f;!>ZzPRv12$_Scy<*X>-ejDxA-1}LH3~c(VxYal9Kri{3EE5 zT)*g)`zNT$UC>1TlE9^mip(xNh1m%_F0Z2ROdp}n=;*xTtYUYOzuD`XLeH#jtuMJc zu#~BS{!|VyDMYzEj%)1dPF9oRY^TstczrR!)rcvlq{Nn@&Y&mdZ=k2pdH#?)flbCk znX{F}sa!w%nJ26fX~vL|by${gRf&FqJ<4$<-p2ABiTYw=zM@=1`&)svXtuBaI&D&J z1-HvxxmnU^p<{Mm$4-5HCOxAgo@$vAI!SF$+^)+98`f5EXQUR|3;d})R^1lm$h2Ms z9&8hZ2l51IwsE#;Z}1qV6Aqd-CtT$Ug$Sx|Vol3?LDHt^kBf&b5HSNUD=dinT+o6I z%PgB_eo4OfdcEy~PlGklX5Q`b_d|V>yo4y8)Ks>gItnN?nW+I-A*0jg2s}GoX~8I6kAEnwtw|6rc(mlu#e~+y&2n-*MZ5|Zd3(hK#xyP30$OZ}JYr2UZ>$v-u2Wsu_e{(%pC5r-X%`iv^Xb*t;=1Z+W8h3BO)BZH$o-!y)Vb|7c?S1Mxp?ubR+b~Ac9s!NLmhwms$ZXc8Nb`(d&d1tU zwF!tP_3eO%2<{!wI~SrQNcoVLS&*aVGP{K8{OP>8fBqV=BtI}Vt%8OkJAf;?m2Gbqp&G|Iob=~9KNmC@Do~L z{u8;Gt(1@yI%obV-_F_Luk2_ezT)rMHU*B#wCo72LHF{{m?m5Mh3B}3QZ2|X#4_e# z;w09~ez$U@n;Atz5X`W0JGzS8Es^o}Po04ek-&?NqZL5j0_nA+%5I0ST|{X+<0xA z{55U>I5*|JidGBuA^oib`6VE`y$TNmP77r<3tr0fit)&-P`79wv`qZL_AwrZuba0^ zYuNpTX>3)?6fH?1z}^Ma5cVZ-Y1fFPVq{5TK+Qll6n=vktrmGLcvkQw#2LZN!m+@I=ovZ)vs*JUGWf$ppw!bgWU@J2q<1Iw(XA=vlNH@8a6l4l~94K7e47x-)Pzp&Zj zL-wAs9o(b}awapW;4~-2Y!b>8@APjpo|88*d8mwcq*_aDC=+B5dNFNPhiADuEe--G zra_n@R+Nh3w?j7QPfHt_g_;U$(OtrGkSolvLvAM(0%n9GPjCETpJ5-{l)`7Lli>xtL~hTrv4?U^@;TLSjWUkTEG>>G`WV+5eNLRQ@!DAwr7j92@DFV& z4+8!BR>&&-4SKgDSXHAN9i&~2-4J7gztcU%>-n27UDg!xw(S#ommDR=IU2<-2dRV# zPVwDDU#kz%mrz-BxwK2%jlZ)sLhjIK?9u#kf%XrE&fpUgkC^`x=JK0>u4om{c5;Ye zd!QY(L~wDVi6?wzu8b}7uU57R*m5j`*bC~u|7a_+5c69{FawbJ^z-=DKt++0*Cg&j z*9K}+7AlSOAnUYJE27lzXuhqJSeH1&ZF1I6JZ3s3tglmuj_}t(_S<3WQ3BJgLFVI8 zG%S|&tRaWt3fzy#Fg*x%2F$C%teIk4KHX8B*U=yO6KGz=AK2vL5WJr3m$VaU39{#L zu^9W215R@UY3f7{qlV$f&5zwf(aU5`L03mb^sSPib+PLmJArcdIjAOZ;f%-1B(+C# z(DG6Tf^x3~yL&fzHuf<7?Boqc7fQs_>tEXeC8 z#d-KmOcD>9%(|V@4i>kqr)$tVSdWY&w~a&1!NgT|-nWMz2bJa1_*9^{^c!svWBda? zfVIx4OcYk{XNyQXM-P?v@-IjZ#Xz?^lK#%?a;^ddhShx4-dKK!6L9 z0Tb1b1$=n@*u=4lgID=j{=T$ZXyielfwrGWlfW;&7JCn0?OX?R8J0rT@hiGi5w?C- zz6&W>mp~Q#I#Zbl*D+d~Cs$!_NIzwtu1Hq^w}z5~2$*Plepx*j-1U4$CGCH8g#Npg6Y*ga4;6r?q`ASWI z?xhRIOkLBro7Ek&a@c z8Dct6{|Hqr-R;+ex1}2L9qE`vJm_G`5DUSEv5ewj7$(cn6bjPMpXMY z{|lF;QQ+NqJgD`(L%8JAm5chv$rEIRmmrTD)#o@DchiF@>loG(bn3lb0l2 zp?cbe#okDCSU(c7e-d@sP+4pRxMXkLDf9;Xkng+sS7Kl2g|!PO5C!CRY!JE?-A_lL zL+!_rbo*dkLicZP^t1VsD@G!(kU z&a)lB((xA2e=|pwI3mZM3+5cadB>LsoiQ1qt=N9PBC_4`3aGUlNN6qya4p)4=FmlA zZ~3FCGMLa;w65Z|7~eyU);?6G0xv{5)y=9`&ogon_4y$>xE zF2F}9I-B@{*isL7mYWB!PeKH!nB39S+3G?;h*VyZBB_*Dw$U( z@!6$-i_eY#m`CR{Hasx~H$;g*8QGLo_gNwT(c zbydpOs6u?fYieJWNIu7RQp-j&p@Bukc7t%q2+_~;Yl?L@l!6C`&qHVZca=x+lR)3Q zGk91V7;9io*fOy*ATQ0etCCJvgv<@p(wXRqayunS9zjn9o6P3^EMvTJIM;GTJE|_2 z1zzN5X`pikzsiG+Q6p?=XrDBV*M$sxKSw4K6nj}W67^zgA(9@r*#{uLxAzQjqjnT? zA{!0-Yu*duXBjYmJz;C^qcZlh3C>bUFUZk~kq8lAjBD9fR#}_i%yKUT+rw7GH@v!k7)q^O&(@a2SBN1tL%;m%@Y%6s(u@%xm%a!>;Q^#0c2Yx8J zz~4{qi?!iLqaVmFVtH?>EmG=eo~E{?<5e=boKTN1&E5c0>{RSI`Af0!i*oN}+y#@X z9_Sr$lw}!unKLTSfx_zmz9IaNt)F%hz9N4`WAXS!2-`c3g9QH$b_33^o%h$jj(Fd~@I* zIbT$)IIs6lj=n{Xv3XHK{>lBsmlET|x2AhJJv5Ja8^b~y*>7wfz`F2;zM+VSo`Ht? z6R2Fb8aWA@L_F0h87snNm4m`Wxt@s>HqkA$^I{bC7nB*iBUApT_RH2Y&{&=}9K$yA zH<=Qw28IPI#txC2>qkIlTW#k^vZ1+6-hLh6q$Ew}ny@#+8;x#ni9HK#3+E#kG@Bm{ zIjIZcJ@hU*P$-L46HbcHz!^9V9}j+35Ag4TIo63-5V{vX2lNCL1Uom%P~QH)G0e6Z zVC6h!7nY6;ARgM|uun)IyqxD8R6sDwVyg@$;Im09z%p8L_bHR)gZ8>yMQjCnJkZqs zg=}Z~YM#jev%Wg-^Dd(|6b!KGw-b+jzjD)sALgA{MR%4`O8%{7(+RTxWajVF?6tol znyQ;9n)!x|w+@l+8-GgE6Dh+a?mXI$bt&_M$=OTg#&lOvW+nS_>stFTF|}$G$x+&x3ZIpyvE$(?N?+n1YEC93 zO`-stR28Hdx`X``q8--)dxT4Yx2|JC zDR#545PRh4fsWC2wO=G7f)4_R0L!Nls2RuG&eI?K{X;A1WppdFF~2lbro;Rnh!^(pv zI!{dt>=OHs8Bz%`4>}wUhfmn2_*2|xkP7k!>l~(*)DUdb-Udu`S6o)6aZk3iasHKf zTpnclOzAT3@|m%{gG+snkowLB&=zSTw#`fuz0g<&+rYd|s0cc$DZnqp8COo8 z1){rCdxF*kJxCcx3qCpz)77;c_rHd-@ExIST~%8&21A?BV&uJXojYmMd}R@JxMmBY zDB__1_dB)`VQh)CQG7v+L<@;!aS_teQL4SrNA`Pyw&7 zteMgU%r!rN{4BYf0WXp-^e<^;-W{|&J=Qbs};BmmK>lDbaL-eOWZ{C-P;iu7@aKgO`>Y??>{bqfF_S9_Ep+&6u8XZS8A0Ntnmf(6*9&sq>-krlvNR7hwF+DoK-#C-{0b_9Zp|9j;TU zi2!zwYpArl+PWg#k#64|e_gFYMxsNc!xZ7_mplgVq9knirW*W*P)PRZA0XT5Lf>Wa zPX=HeYnMPnvDL&NY`gO1_l%rsj+Lu{f{ZoQ+|*nb`ir?DR}@%sG~NiBfHnk9nPX8~ z@*k!t=-1%C@+akNp#-a7 z8$tggEHC_193T3JnWvetcGCX9cK03Zh;5^3CAyl*#{z;CF#>ju9XQ9Vre-8Zr0qdp zTgRw=b*B9by~E#%9v;k;?EaguGdwW6tJqF3kkQazwm9m!uok#H0as);A=FQLRQqaC z9pqMUJ@yIr3g6(cP0y5<--#b3kS{h5f+M-btQQ5QjGEoix?mmg){<^btMZVoVSC6~ z{pnnE2+A)2c*zD_U+uExJizVhEtM0`3(0}L^s>Nb7*zOdwYWu^6DTrFiHot9N0t#I zxYgJ=e?#f^<`@;FKlOIn)Lx2TAUyTOs{}?bF)A&k;}TTT4|kFot(=b2X)IT@gUsg_x>TG zA9ml6s%_#$&t0V@nqX~E&=Fsr&?sd#8A7v|t;D?51CjlZ%RCwfNC}N0Uw9*l?{pHl z>5W5(XIS20w57Tu{;85_?gGATF#8YW=HvWxT`*x|)~Wbc@MZa;JX#vzT_|3*FxL4P zXZiiNI`Lt)*mZ)rE%p@O^Evu*D#tI-^({16{773@X*Unw5n9j+sMf+{8-E3OGV|8+ zlCBYMK|C((WnaqFM=vn-v;5#eoHW(){b6|l88C* z&h;~!9#}8H=ahGOWz|wzjQHNyR2U%JY+WpSaTl@M_*C2^TA0h=_s*dnjzkQ2Rie`a zD}7?UH+3qb!x+E=3`Gz%fqtjX(gvXIy2u|urxzr$_@Ek;SC}djFT{=U+nqh-xiPb} zOd=ZeYa5_Mu8`en|AfTl{Rb+`DE9z(ytc|bR{mw2P9G*0vPX^8u$8FESp2_fqE2W8 z>Xni5jyfbA>8K(O;!6A(;#%>Z(!#fyujDU=_QD*0FTKBVJ*$Nrqb=g+2m?_RsK1u= zyPW&D0dP;e7+XxMd>y!(HWbW4H{v6dr&x};k`@LvNDtr|*s~?$C%qoCjDLg6QNxAJwV$PU zH-jP~G!R!BNsoeY0DC=yYEb+Yd5_mCbUO3+17ag$3%y;bT`Ln*@N3w9;X)brZ6_e? z9vdgbxEIJtN@Hk-ZocWD?Wbilh@Ywa(oh)xAi|P|t_q#eH5OLUsmvDgJTq24L%-oC z6&1M%r`MOJOL4ri-im)LU6qdpPHF$qjRWUQ83w?2NA49(GLAJ=;D@q6|0Jyve1<+~ zUPO$*CnAHCCN%6>%rsSBD#L}__CHKrfdWRAgo|1@X`C=#9FF~KDBNO%;`zhs1Ll!+ zBR4cL%=`?^uXap)Apz8L#A^H(yBIwfj!0YPb7UvUe&ZCO92FHlX!>qWFb+qzP%Zps z=OyDrbZ`8UA@2XSUBzaZfth^{@f<_h0LlRgA7czBn&lU#~sYIsunQ=gx{(<8K z^vE%R+DWD<2W+R3w$q*Y5;n`yRjzFR!M~&2g&)-)%130fR$1$5G~#UG4KPu8=c_2T zO)S6lD^tnODGdwDn3JF#WOd5tjmsMjX5C$+Sq`0ZJm4%na_$dp;I4Xi%1fDhiKDR_ z+!Osn=8%7Yu+2xy|EZX8O&sX3IFB3a)2&%Qztq#du#b7C;Pagma+M888^!PaN$QANz+)2L9hLhIe7zU3GMS@wL9$x~uY>B4o zMN8#=%#y4yy<6VRho}iuiEr0>o2@C~A(jW4aNGFGgf-S>@9g~(ci1{$eW^isQw77G z3#Z5=_7k6OJScWe*lmjS!{}IPKlw^(s2^usXbNIow=52AVkG-AP}P*<@5;x(eE^e< zYM-NeYWL*XfliJ}%=DFS{Qp>dXjwK=ovvQsD^u@H{g_YI)?jx&)cFcuWc`!OBqI_5 zrzau>i2O%khCnCc9rH+^ud4=XQjq-vCn|NaA2A`;XP!y?Q{)3R$ht4PI?8a(93E~G z7X#`;fa4-clhdLcOjmvt|A6m~#ELZ3%>7iG6Q63E5a@?i^v;lfvFm9t4@9HnCr~Q? zFl&i#Pgsk6pf;uQtRrkc;N@JL@(J= zs9P3+(_K}~bVPx!unqiM#b<-AIWbh^e0|w~sSRz883~cpjKEygVj8T5;DN-h&;}U7 zBk4EXU#gc-G`AcD{$Ky#Bx4c&6^hY(YMy=((OmoFEAJdFJ!OwD1)EEPopo(6M9QNl zG1j8qG7jGLQb!|UgmTQ=N~*RwVO$HunsMJ+v`_CzT%mGW3 z?-1CMbT+MzL4kjCW7948g9~({_y|;T&W>03@%oO2mhc+P$zJ0s(Oo=Y&+jKWLF@qL zFgsDQU@NgQ^ubuu=Mr7oP@Kd1t)Cw1NmK_aZc~`C!jZ%ymYU>Ytgn5YVG7W5xJKsj zm+)=aHML84ww#)9P<})lD7 zCEe%{e6TeMosSDhZ}w+mtgSR=0;j5Cz-8SfpUi(xjFzTThJcUI)TOLl>}TkJlmmK7 z7s0mk74`ry1WyZbh>SJIL&c9ZBY(he(^BXI;Pk7+QSloeNndw&G2H|mKv2GFT4H=< z4f3>og}em%sGoq%b{hQ}>cK8M2su^pL6fCF#Fi4T9{1+SwYcrFJ+FpXE%*ZHBu1!d zOnrT0@{F~qQUFdUWVuDIpeBM`QnBDeVtRhrz%AGT%@*g`i*@ms53*W2`R8+A14%Ks zWw;b#y4lH?ei#w%kDBonP>lEh9_JqDsUjL&#|XEuAavB>=Evw}iJ#Ce$bw`=t}3+% zcT;c6S&nVQTC5{)=PBb+xh#Fd+fDdaI1i=bCC;OkH2j2VM&T(iwI07^aKdeDG-Sh$ z(>3@(+HHEf?_y$vydQs8@P@m?M60UDOjnY76+f3&>gy0E8H}iC9RYPG*V%%WCdQ+l zRCW$~NUINTO`H@}MH}sSsdMlkuX-bbV-z|#g>NC0rgDk5;*-3xjK8ohT2pRB$fgSL zzrrlxB)~eaBV;dNW65WvSKLnNA=Jfc1lZa?Jhu`i;#szM-6Z`J)S!ITx;YcI9-DeY z^Y{_sQ6-Y=t?2!m;(SOF(M^D5Um|c#3v#|y+`Ogx#CK8z{!XnaY_|mH6HL2sXLJ!- zGya>n!nJN)XI#`$gFlsJS>5O~&xY*!@)hz8+8y??OF#uSxag4;@K(V6dxx)bFLkK= zPhVYQKdhByH9ScUpcXC4`G#F9KhcKz4#kF$vAoK3bi5)b`7g`K)&_Vqh?Tw2a=JL= zAwbpKM`{7M%4=}Gfh(uq5E~<|upDgTUJ*9@qE99^Zv-rc}r(z8Q6smL27Gtlq{x?f4_b9#s%OfzVY3t zdeL+Ms9N*@JDIC$T`UvoXPr)$aaWR7a@Vz~@?^RQDrdeQI3+dnh83~gDSJXCZF>c<%*}+;Inb1h zujLA&*M}ava&tR&8cufl*_|}0Re1b9$ zdnN!}Z6JlHgIuP~fq|AW?tNlwv5E5neHOaS1-&a}F=4R$Hxf{j)i=7A!M9q@?}#5U zKBpIRm21iW8|cHYP8#m(r&g|_m~Tl*NTItG6a%)KE_MTp(`C&Y87GV2HA3x}njn)r z0^egRsc)qW67qfrT6JORyl!8SEz~4`1^g~tC8rtnGRT+!HyLhQxPd_eQT!LOtmzyV zVMrHRRNstsMW#j05aUQAcwU>~T1@lMdZi4r0_42j{LA9zDbIb&(aX$gVJ|k5Dn}u~ z@>+LxB;8&vQRYG;jZ?8cu63vnIK%y9{swwWUzs|B2CW8t%}kRM#M2eI-_7s2CBW%= zjQl3~y6Lid4*IT*RdV?*%Jv*g{8wEk9_ObhI_m*qCb3T;`3l-~=NE`T@5J5_K8fQJ zK0{-OJ048#2c`o%3?pCA=-CbC?W(`o?O4U;2rx#}P|jic1n#JB`A6PZwwm<>n19`+zkBP_0Pn!f zGG3LNDV_62`m*@3=snDtx7xOsXi%IA|LuRoS5e2v9=54YO{B7SAg|$iq?K)BjOEIs zdS3y5S8a!0Wdi13Xr9&vD8FA6O6aBP1>{81-&i=VaZ#Rn7>UX)@kiPIF!qDS&<6rr zX&*ljHz7$l7HSNhdXB|v$mhnH+`*H;Cu}2nGgb$!k(0&pY>H_K@8VBt6BmSkiD;Q_i2#)%;BpY?SoCJ>0_6tu!ViEhnI zR-UuVt7MWQb5dSk+3LASe%bUOX!ndFc;p=3PBH1kVjqOYNMfQ=vq!@XmG(g-rX@K3s$)Q(qzhQbF>3GqSR z!i2d<*Gk_b^8?HbCc{PkZg5hVugyaXDi?y+2fjp5`QlB1ytwAFF*6qQ@6GwsT4g9) zIKzApba-3&N7N8wBwP)RK)=O)&0)A9)D&{7+C~?Y8;B|HSrEZh3?J~Um;0-A$fxo* zdI?>Xil?ulrTNLqjHuUYWFQYIkl#zE`SDmAqPBY=U#s?Dd;(RAhWv~8Gu#7zz`w#= zo4-t*g8t#>1jZZp6U`E4(`GO!n`wO~j6@%b#tp-`QfM^=4W$w{%yq*Ww?dJL1<0fKxsA?u!x! zDwl9`D3Y#WeB#(=9Bsd_Wuvk*R0g{zKQ)X1Gn)#zgKX7Y(f%C2EznPlwYMf)L`6ir zH-f0ej`SZ8`Xj}%2zuj6j2)i^TdgI5ipFZlIPE)K8UsE_ye}LU4#)j%nrHGFQn(2D zJkvVv95Rod2l;Fz4=>LnCw58L&^+vjQY2z7)LwL|-WN_6lXBS8_>M za-7$?6#>64%aQ!|_-il`J7XP*cLJI<-PAqyL&>j{Jp7ekKz9(0ly6B3ITJlvx>B@P z`HS4d)uGPv$;`iE4Jfww4c&%bufOSr=%{eIRLk*-nzG_1;|;EXzFV$iYkW^Vm8ol{ z3HSmsPyLfBV8$BO+v9xMw%SCA^Qy0m?X0Y58vKq}BNy|hz!ag0Wmf?&ZYxgLjYE0~ zE^!gmD)?S_EIn0@82j@rl?u)b?ulkDY+`SmRM}c2%woRVE)&n(eYELufD3~q(?`u$ z+y-j`+eG-w4-59~&AkQgW$0Eopzobu-|EuN^A!pSFy}rERS&Lbd}tJ>dLkGf9qKX2W%>f?o6?y*jI$!>8O6YEtQ;)8SNSFY;xf5^YUIf_VIg03*ylSisIJkyij z`==@q1?h6>#65T}UrAgo{w>y^bE9|jsIeznHm7`YX*AY!tsp412br-+p^-J@-eNN3 zc*lKzc{vN@b>OEfvcWa^8R8SMm$6W4PVd${aP&ZKBg6?R@IL}SwL9JcT9%bd zPXnmgk3@ff%h;SU64|yj)w_sk=C98dgpTtO)<(dgVhXyBIxbhW3EWd|B4<$t+h$P? zp|0>DYbq@Z54fi}5lAmjvj3|F!&yobJQ|>EmKHw4&l6qoTP`pgiuw#{K3Fh1&v`#t zb`&v2P_1#WOzB7ayVw)VE!a8I8!=iJ6LKh{Eop(*<_fY>{M7a)I0613gzR0p%~UyP zFV^01*w_j5-&e6Zazp&H(E^$APJ)Fxf}Mx{g01`o#Xt^|AY>Z%NsKODq<#dE?v(A2 zJkcMBcX`XOgGfFsVP249x{~dD1?I)_Dw&c?2}9tr;WGTJf;042&rJ|7AE7^yms*st zRS+RrU+1@4mRt+#r38S@YUMg#`Ey4NFkNkV|Ok(_|y5JRnx=VN@wojU4f5L>J zEc*XAy2`*Pt~I(qkm3^0`i|SqCc&Y&L(t+@+=@f-1`i%Ax=B{XZH1u4wZ*-~U5ZPg zK%u0moqIn$-#IL0E?uugw5+^odI|qBKL_OR--WMBlB23zlY1+Z;VC}emj-IQ zZ-8ap1*`rdZ5Mt{&vmz#R!b47ed!^&*jd$mLOB}Ew)EuyW2T0(MCpnRY0BuL3PC?m z=jccb^SQ?KON@{J@#XW-UB0vl%)|IKWQ?3qT$|Pk8nxmbIu;S>g zsg9FU8O@2mPZ}0>8)Nt{;fYL!U{{x0O_`hRo1LhgQzF)pS_!D2bfyMk4V~}6lu&1A zQlbx9Mcfvb8h>y|t(f4-&}h6=nrQr|F9;_FehXz`e<-aGD@JNhC7Wfnl*_;NwZ(Jf z0w3D-S%n=Fz85}GJkK|udSE-G^%ZJqm4%T?WoaR^7Fu4?y<{XkN9yPIZ|UWnslHY! za6eHmN>;0I^0uNC1=sPL)NX6-C==ct?16SvdI$2T9OEy3pl1^B`M1UT&~E3V)W*IV zP)kguPe9w?HvoHE8r^M~O+#?Kt=qA+*pK=bU#@X8wheB>`n!{uwtx^n*)gH`Q|;Cz z6!Ej{_B;rFrs{Aj`Bz)a_7~C>v>Do6pG<%6F4pP-lx{P+x_+cc32b$e$_70_9_Hw` zp{Kc3@l&{S`gZ6Y=nc+Mj{~LUmyXuLVYLf^DMPXU;&+P;A)P65BI@tqg0!93a_peR zfU`x8dW>hmRme0s4yL6~$Z6G3>w|c<$k?ISwI93-w0`pgQln#~TGmTjc|$p)UL}l}q$czoW0#yAtdid_|apCQxU(9sbVV1&R&8 zsg<2Ca6GmY#Cc#2m_vLWu`pCf)C&sk{fQZ>)ACT;XRD&A#&gI}tAbNtGF{<3!N0g4 zIFEm_woTUa4+Lu(e>;S2%lLM9Z1Fl5P^@O!;Mrh8U-xazpJ{)D9k-+Q_^_GkWt!(7 zZacZMBi>zj>dnG4WG^!VS!`>B%}9FY&vbI%cAs-3D{dK*`wJ()UDn=)03tN--=dOeEO zqbQMoNu!y0T4yE}{jo;hP)+w3yc*xeJc)&oanK#&Z@NJ1NceJEY&v2`X{QGJtnM4? zV0x)bC|}Oyr7u$xr4H0ce`~Yq&)}LvH7(V`VFHq$>ode6u#OG5x%nR*!x%vX`xI1~ zr|KKIf4OPo6{uE0TW%v+ObuuEQ+oqxp>Npn&mjMqiBp^4e@?6y#%~t7w~0A zx^Mef@?pu<)RWQXk#m8C!Y_6AsEx3Pl{FS ze9_jO5VS!?^I$v4M?8%zHvXZXhg++UL(k|h6esnp%_Zvb$rJr z_-xF>$lv-fhs6sf+N}SGhI6L8FR(&_@eObts4ZmJC-}QtmQkwbAOAq6P#WgX*0z8+ zeu~fBtkkW6=1E?Gf6R7T-{gevHVfEOnTAASoTkOmv8q)fdsc@#QZ zfT%ypRg6=~pK^Q1h^Ll~&?jn7n(Ldf@?rp8SBIy%*IEmA7M2U=r1gal9B0?d z!s^89!WC5Wjq5c+tNC#B0;4iWB^A0*Yvl_IKvR;U9h0~tS9)K&^DJYL{&L4e zZ6lSyT%t6ktynS82RjPTyqVNa|3xYX?86kJ1L6UG*pztyzb=a*ELy*~1AY+j-_;7f z2rTAmM9YRd3N3^0rMZC@_&d3&{Km0n%Nu$mDj*XBA;=5f#iq13H|4$fX#Pf>2J*4M z(y%GC>&;!b9g)LyO(>gOY{AoabnNv&C&uyGRnLA@pV&}Z0N7}0*l zu3_~`7HKBhi8pdQfV)X8laGr(fVWD_bxLLMN#0SgKqbT+2IqzFRwV^W)@F!rK@BdB z1S(YFYDQmrDr6*|)91QH&9D7RHMN7um*Ry)wcHOtUl+;yfZR_y>_C$Lp&G3>Z>b>c zBKqJJ{ClLfp*4V=I6h=(4-5--SDXd+*Xp2g^ep-Y=dk*zWhF*&p7oV{K2%O>Z9D{1 zxu+e;?#p5$ynq8XC*I_&px$D$iigV=$!&W1sEwX)uO_DBBY_7hE12{F)FM3}`&B&& z;+);gaeYY0!C!-Xj&5QX%m6Wf*b#34$x^el3HT*0PW?M{rgU2HD%dfp)+Ld4;fKfy>U+S?v(@=b{KUHecXCqv zx%_3sAI5%=ZO=8g3Dq~+a6{D*(pY6X)(QW@o<{;?LH1!`zWCA)5tUsQ9oJabGQBM3 zEpBJ*6eMz>0<@BZ1a%ttii_kl^`F9|e6uptVqpP(iE!kulbcZ!prr+Aq4P?8?4P6` zj9;)ZP{Yt5DNg!9g7`|lc2Njz6ar+W=BL!m5(!T$s#09hN=v(|TcI56yTqA5D>E6? zWuC#BF+uzbAY>ld2P@B@EtVrnUukJ(0$I7Rg}t15fEgp1OZ~xeicWaK^Yw<|R$LvQ zgFfRrE{=DO$A1l65#YchbP-yYJPaQV4RbZ+T0y&fVSA=}wq^roUAPmyACc)blsiy~ zTVy|MUoDl>E};8idjv9^TWNU>=wnTQT8Xdt>c z6h{UVu@(AiQ@>N=l%G9YXoqU@l);{;oP9j~Nt{K^_MAlH$f4RJEFyJw9Fd|T0#Hq< zYze!^_0)BPtcp6)F{v8SOD|TgQdg+M*em-Dq%UQHYaz>sV9_i`V=9hY5iE+VWHLYw zQi>IEIHug5U6|Y)AtlC;i|*Wvlk=hSXufB zep|4NPlx8ambwlDp4>`$C3PpW6m(c7P;aQaz^9u`<$Xm&qtbdzD_>i;(>oZeF8{1O z5mGQVDT9UZLxD!te56joTJdpWamt7-O|i$gTbe;!0kKC}W^2lSDO(|4F3+^$PfPZ1 z*UN-$Db@3E#5#j|=b)U`V*UDR{wyXJ!bO*;()ykFC@yj zKn0E$|vmm(##U$J@N&QrL8OVyqVfpH3%n9c!lK>hcpx>k7 zv{%?2^KknE)j@AG8dw(+%>n;%9les&M&guuWNs-0btBvB7vV$Hk)Y)7$jq@u@!cs6 z!9??EDw`-(zPe{eKT%(cn!weNUa1e!d$3i1g{?$nWwHSmO{K3Oa{(`Sb;A()YhU1B zlq*<0y+6R4KgReaBV{UKmaOn-zo0K3+Tdjct;#esp+ZqXeqOYX>P zMl~s3Ua-NHWgY}H;CDF>%U|RU+&sxb9|>M04+J2J^lk!Ot7g=Y&~-WuU%e$9Y074Y z+ov{M?F1@3HfcX~/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ⅅa}~(CaBh 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

  2. k5MQB-HkI&N=p=ZNKnMa*~)~EzqT>Ir`Y= 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%0DZ3hYZLh5y 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Μ_1l|u^eXHsp;V(-V;pH` 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

a(lZ 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%0Ar*h=(Js%Io}!F{{mJ#W=b+tG_4+QlklS%~3 zj7aMM@JZ{58+tV+ULj*1vCU}*&KwulN?BLC2l*o) zAkM!+e4Dufr*`+}G}LMvBM>LbY?R&=)HfTtKL%AU1{9SS(5;o;AYLk>KLjPru5lAL zy5+klhOUy)F5?fXChDK`!x5!aq9-P9$rW-tIRs}M@+rf!=O%ZCX~q?&6l=$6vl59j z{Yvs9c3Nf>*ri4UFFQMhqBDA9B4LiBAf`x?mmWqJ2s_Aw;Gtt9nin@xd#M%JWO=IG zDt@z;#7?C?1WNE%)G>LR$-C@0@udGy?rExq`LFg>3SvfgJD9=M7Y{OxxwDu8!#V#U zJu!XUul0}7dF1n`LH=R6-c5Ew!;Nc=FJzTI|8sN7+JI*eWktP+_te z=EkajnkdCI3tOW%Z*`SUX>1>AC8w+u{<7wqEPJ`!!KBja6U}cmBy2=)-QzArmt;1E zsyf=D^+XB%Ih)KFP=M|7t9oo~7jd9Z;%ZYpq;%~H_pj01`$_3Syd*kckK0Jf!dvRM z=wq;T%44CUSGi-UwW|?}9Ui&Pu4;2KYz@+< z@Q)Fs0)c({4CHhTHlpP!$cFh6ZRxfNF=kaQHF7K49vmPecrR{-wn`@bc5O^nJ*Aa; zmOrd^vU_~ZrCRiEgKL~7&pJMOOUE~C@LiQc0CfJ}? z@cg2F8Ur)VNeZ64_RqNO{xhk%x?HLcUEnUcmJIo>8$-mh`Z)W^oEhPdMoIr8%?6{T z?)IiymaB-MNRi-bl_}zCIt~>gG=uYWKqo+L*b?!WdO3`A3P-65IJ4OUiA)b36L@kz z@x5VpxZbu$9SC}wC)AeKh_ttKD{Pj2gh?T>ITrB|R8_9iWrgo(75Eg|Vhxsy#1@qu zoI!O7H{gZ@BaBMQS#AZKLrezG%qoEszUkceO{25B5@DW_5{;GUEBJ%j96L!{WPH}= zfWrD{XQY3qTte%`wl?=M%N=dmCc&OO3Jilt9_Wj7E_bi8aNr&1$8BLxKL`&t%s$}h{PrGYhfK1rIz+Q zCPur42U?`XD@BOGRBdY-bq5pbGqH`T+oncFN3)CETIw%-mN5_2Y^QeCRyn*0zwE2Q z0gglujrjex@`%0kKz5OUZ|1?z!1`)k5_fXa@%8oh1Hb@jVbV zMTgBh=4S1Ra+04cq|>-}r=9`(#PaeKpX7})8fz)yLh3^7u=x3~KT3rJd+P|q~1!-cbzg9*~-d;(nI^n*zi8; zT9Su&TB(rLi@nJnHA;e?;4L^Ul_B40L;WOky!?C6Ux?!@I?5T&If`n*S?Uk1g1Jm; zo3%^tiI%SVPEIw(#*&KU0RIYGs*bZMGuGi?#wLAB?5GygYT;)6;?P_6YQ_#K3tdnjYg2M^ znW|*6?q!B@_fSL65@rBg8TerJf^KpTiq?bH5EvPLidKp7g2t>C9%_?O-;{+)O=k(V zvHWjnr>iphteMgO1AlM&*KtArXn#lDqTVu&T#c$px+4d8IIRRws4Z$arltCobsE); z#lB~1CG9u$sQ81~Y2~s3zK3)dRB#=zRz#JFcxtWloi(oWf8Z^Ap7Da3jH!)pQ4(~k z8;J_cU}J=qUSWZsOxU9T>AhUJIa}5R95c`(x*i%}%#hmhIdG-7ssENZ)K9nj8Qg3xD zq?wG&*5Eg8oVSUZ2gFs`m8MlI{VDC!Z%qa$n3mMdH z7;UcO#wV6l$}kP!0(V<>FL-FZB=;f0r>qW}!rTCE4U42392E0B-C8!6v?d&fc9>p)*4Q$7s z)T!ERM+%b({MKi^FD&j_#H=LlIfD9KW}0WUF&i|-e22U868xQwAS>N@G1b31U?X;EGsp<}{!3G9*8{Bnp_uwu;LPFZRyiQej7~Gvf z2X}WE26q^^=Xsy?-tT@lELtkf0@kWj{bld{+oarJoyH7#B|Qo*%PXzVlai>jq6xkO zJb4$K#LmMHqb*w>xK-azbaT%DwX!b)Yvcm^5}P6na<{fUA{ouAH&$*@9kAwRAv~;{ zphcyLzXsl1uFDStZ~1-XTu*!QBHUl8xr+sh&{pb*Qnyl2o1rZ<&uYcE6+TpP$vg3V zbU!|5*0C@0mDI`vOY0tEE@KB4_OZK4{35m({9r+eD129LG}cDM>rgqUv~NB`zbHx?UR;1FF7eo$-E1H#=>nrUXjR(d!7E&qwMROuEuUTL}< zOU)dwx4%X6oB^QwyJ?o7J>SM4zyoYV+YD276pb`^Jp)R;@y2{cIv|M_SIT`~KkNbTy#0Gr`Yu$Od;lZnzO8TYBYN^P7P6({kW z_m%CD*;K0-iKbsy8MU!K9vtPaIGS>I!L9Tv_73j#wwe6oz^cH%WN)Y#Kbf-Ja9A;v zg^$uZ>4JT5pq2PZEuQ~M=xlt}piE(c^Aaq{+l6kPQ(VZli(eI~!dK?+(|&WV=w!A= zhOI9KeniN~BlUo>O?d!z3r(DHsbe*Vdmr^cX%!4AcJ{O7Ayb{1B=M0S>vv$O?vJF& zoYp)WCdR6#gW&l4#zPq;RWzskvy?Fw05`Y zdR1>{@RmG7u4V2BHQ4$}!;P2KYVap~uVraBeCw5Aur2pYd?~g>oX^`9n;b)I%IT-y zLHdH>(sgVZW?F$DD$iL3?;4y1oLn1X5;!ZVIyws{0 zi-ZKJ_xg0B5citu#L1Qmf#*THSvGuyKfq;~NtUOGx_K^ef<4GKv+a(5sqDgz1E2O) zUBpdeUMLL^%YHOFMcoC~aZkyJUd<6kooPp5H*QD&g?-AO&?{G!|HMM#Af`WZWv+k~ zl{WNH2g@9zcTh#>yJ}Ho5jj>%aGf$58*|l(@FDyvcd!hWJXkksS4g$TfTBhaolV<( zZP8t5zFvYkjnAcyr@ppG>Jc>~c+PAu{Y7z<&iPzD!FXx2?h)5minCrbmJ2IQz(4X7 z`kQnPxy(-6_j5OuRP}!FRphJ~3+@TMh%miY{TX~@@aYG63uqSn6HDZM?up=tL9la! zubJ1vaCCRfWOMbkaH5xS1>Ixd5O$PXL{o!O{(|lU+B@Y57w-g`1$I@~{9Go6;p2uv1}aYJkv}8IAJ4n}TuqkFjf1-?*N}kN^0)K*i}V@IU6$C|Q=j@6q(u+tXQ|0lcWpA3t?eS7Zh8}2(pbqh<_4Q%jH>2t@kvl+TJyvBTI3U>A6E%N z*q<2$O!11^j?RQq^2yMC+LHEy-fLEav+1FMM@s*sAS@Ib#m_UhsTD%6lV$Y?*-YCD z$AWp5yX13b92-_&c#E@sW0CKb*eu!xA44_QmP9n?2sN1y#EyKe{8M2>n*ybcC+iyu z2aqrFpmt4)jlGUM&J|I{g~aW~LXk1XBC#hmG+JxTMwvlhUYI7as;$S>pG^H4v#@sZD(7#|?2}7BxWl|qtKclm-f#P6%-XB5_ z{;|5jVW+-hD*Z7f-Z&?hF@C3)g-__Wgp#&%!aADOcx<2PgDY}7;gWJtv0@9>yRnmC zYOp!}fbbY6HWpJ8=$3Gx)|wsTc+d0V-|!yXptV;f)0~wI3Dr%#d_~>jdQTRPPS7j-VErQH3AlSjo4^3uiTP3=lHVr!_wsyZDpZM3U zD=73YRfk%gR3q?Es;|YWwRxGEhVg-V$gxZZlf8f1CZX-nw!jg^Vtf>D>AZ5mxs`k@ zxAlBNS!L_hdJa3r%>5xpd0*O4;wjNLp)Pp=>C!o~f^@;wRr(M*;Alt9roRNj!Pj(^ z#d+))Op%lWu!OfVu_iu6X-2vD7o{1x7FJ_}W{oz{GGBWypjoLdulmM3p)uB3o3 z=3-FKcHIA#bcXwyN9i=O+WLF8^Kd7q0eLJw9HZF%d(kz#N#vR5u~5@`o@*>NQN8YC z$~*Rbac^*C?7$sTY+|*f4d6QA#ewHKOyCwSgn- zWNkKaUHBx~gInTTum`Dz(6G3$o7``XrP#UL;xw%k<~mVF(==%qmf#P8g(%VE7nT!? zF*|wCqQ4T9drbTDceQhg(i-iG($Ec!~Hzpb9)al`}+(D{= zzZRPMzY2~OIna+7?f7h*gpJZ!CKHnA_9x794NxW}&SQc8n5?oY-J z$ND(cxg_uuY{m-N*-%7Z4#S|3kisZT-{@w>j$jL3YO%L^7XlC+%>yBqUi5ZhoO|L@mLwq#nUVNP8-fVmqt=)IbTgR+)Z3( zc=WIQ8)_HUoBBg(oP5C9mYZiQs()|{qujV)cs#3_>EdbU7iCO#JMx5Zj45Gm^3Pz3 zC&Z~km~_!g9hUaO@yZ9WxHVgE20ge}ZcB}I79wctF8@he6LpSJm$~ALBOBSvnfG8( zr7yRV&xHfDFv>Kr!b^!qxn-^~(hsV*d-VDk=P-V}<0GBtTS z38`A@su1S=g7{U>v_k54O@Kb}6?IGL>FSJ~2Cc+(t}IXU$Vy)~Z+{W0t+>O~WH_7L zL$t}<>1rOmsO%5+&}uTp`2_o}G!{J6-Rw>G0ZX3>wdE(uzt+Flvv3MQ!p}r`CPhCj z*QAaRK2jy7BE9`W5h|lYo2Xg|4dHYP5Nha09nXl8^i!pwN@!)dn?!L*B8O3h#V|gB zX3)0#BdUIf+8?{T@Psr`>&Q((Il?*kVDA91HgK11s{X{rsF%E5(-u;<;3Fj_;ivbW zI>^x~YSa68x- zZf&^7VkNdp5Ab31@9OH*8q{9YA$J2?;Yw^Awo+Zlj;YWK&(aHXsYumDvgM4mJfu5f z>#V)BDt2BSjBN=o0|oRBdf&v|)W2+gh+rHtP|659Krt@Sd4t`+th2=_QL1LJg7q+! z!F8}k_CZG;QN39$xyuia;`nT38+ACo52fshBjX4l%I@vIn9g#C@p#;!-TGDjf{C}0&!TW=qQ0WSh&0ZHz6Zin59Jot2$SP!+NRo8P z$T;geW&l;)*r-laF2`RJ^3m3FS7aAARXwOkTz&oG1_^xDcQ|$OtXK`dOce%pTPc-Q zMxryHg@uEcoY}U`Y8Cf;@$8b z=WG(%8FVO>t#-W;%VPE14e1<|4)DS#h@AnO;5TCdzLUOX*c`pNEIX~n65W-h)~iTi zKY=;sD#h(1-fh5`Ke*R9B~#l6f8bY`0;wS+Tae039OVz}w1J^$WNsI;oEMZGLsIhCcyF!X2e3I&5>2 z$>(!hn+GKnjcVCvy0on1?8q=}i;{;mQ*U`F*B0bBZ0>JFw@Ft5gB`8#iI&Q=Xf{LH z?+MWz-uvow^%Y-SnkvSSYw>F8GbT|wreuh3jENj>KS2N`?3}^RGThMtd@}J&+b2C& zJAuvI9&b6&UT;M`Pc+a>qqv=hRsE296h7lGlyZrh$NWZRI4k45dGCV##u4{$@Cl=$ z+tuvwa!dk4v9Z`3VxSn|z5>74%v~~CC(;FJLaXX`s5GsJQc?RBNP#VN8u35hag)T8 z!93$v|3tn$cg@)D8SDPUoS?@sR^*(GO4-vL+a@Ib91z1RrPoIl)vjF)bCaDSVim)Hw8*Wat)s}}EumN$XlC$`&x-+4& zup{8+j~HG$+wB+o1-GD-x)`n~Cq`oMAz%*O#nvBGkc&Wy`yFQptK~g?i7Bf1o$Dgi zcqMPYJc_Ml6igZpig`{-B(7s1-b>BF=K6VMBX-O2$#I9Ss!Vgf33Qa}aL3sOM9Vex zB6kFtYwFIX9qL5OTJy@L(PT$rxY{w)LRn8qx{&G~y-oI$QLYa; zfc}M@Z>I54cX4S|-1|tJD+|pw9`KV;KG+ii^5^qMNZnH7qw}f9(KO#aYCZFg9z=VD zYqTi8j^1$gXWQ{#(jP{<5Ld9G?1Q{mSXCIsa#SX@hByae*}ilet~7BTZ>>AjTTwRH znh(a8;F_tAr0Sb?aD(K-(pqOl;dC&c>%|eEh}H~_(2sHzxN~H-&`K$5=++K;MfWZj z!{G`QtjB#|K6(crx6w7_tdBG^*=l?`xscrjTWafhf!rO$5+_973Z0@Su>8$m@Tp8L zvy!gqGAsk!i7>%w2ethzjT?M@*Alt_eptTmI?R5`ZD$UX{*pE4es(Hd%RLpAqxu*+ zeN9OuW@-~1hg}(n>05&77G5RpkG_KKq5=JWbQ0VinZ`G!6X>n{M!FnVUrXVu5Zh>! z%@e+o{xiVJ@ z$wq02HW(V@Zzh}MY^5*wrmWV!F|1{;{>%}i-%FhoH@*oB5S}Y9*&FPiBEm&UNXsip^!8WlY(TQCVtWO^#n{FJW_YWLak5NhLPIZ`3#*DY52Jgz- z(w-^ht0g<9ip^Mt5Kt&$Y^aMnp!v59^*Dl$99^2tQIn7|--+_K2T~W19-xya*Nl4Q$VH`+x^3fFG@BR_S??N1#n|VXmdF`pAayP3 zgz4^)=!!l=iW8Ou3Z_>?Uabl0-sJ9LD<(%60kZh1>cX5M{ERRScWTIq$1hF&o4CL) zgZnq)cqwfxPCN@S|>=jhT#UE69V$YWRo&S$x+w~he0w4RpyM6bu*wv?y-&XK`^ z@Wz!rg+cM3+gwGGInv}q>Xg0{a0p=gjZb27Y^K_ z3tHW1CwM`4ZZ?N~;>+2;5M$tJDF?63?4&f?Qzl!P5MVd}00t2&*O3vRGy0 z;mFhWxGZ`QpM#as8nK(SDN=1eG=JmHnmZ6RWGVL>RmX+6!1Pn`D?XkQ9sgQqhngc- zQHJo^co}ZZ+no!+X;=Yx@ogZ)p9ck`qu>XkE&d%g_(@KY3c>!;IHZ#t1FCVol}6fl zy&l<(_)JWoo2nzJuj*2^9;mCtZ#c?a()xJXM(c!=V}I(!_)UCo&&ykq69Z=sDpyf3>^rXu zTohM2Uj#cQJ#{UFZPeEKAt7q78J;6Aqjx!-wnOXzFv<3X?oOtJkFe#H@~Bt19xW%v z%in}0l#{J!{6@7zNk|o`O>|AFBui@J>A1jjwHKW$pC!vX?<0ns-E!R7100}NR4g?| zn_=$cliWvxUC>0k6u;H>GqO^9$F5>?^kHe^jcbez1jyrBO(jYHRcfmrM2vxZR1M&T zf2%{~YFYEd+3YcCG$^Vpo*eRr{UT|PTE&ub3$b?K2fkTr&KHxLz`?v7-f`8S$Ev@QaiE6v zWNub4M$B^NLZ_(kbGg|_?VhJ@RR+VUq0{cE4%Sv0DZxKWcVIhuAo-TB9jz39L8G{4 z=o)d&I>F4=9sG4BhHb;f8+D?qq9xfQjzicYdY#k}=_~pf%jtVmwZL-k0_`4jyHcS& zEfJoHTcO>FZRl=->uRvvY`6^X>}kEOn-92X}^&BZpxZ(FJBQ zo8T1uZ#|cNL`_f{8z;0M)FAynS3dbcBy4rk22~#WnRcB~GKbJjz+bYedfCy2s@&5S zMLVW_3w=>O$VG`@e1f~Da|gak&eZzwg7Ss=i46fiF@{VCJ{L94t~8_z7}NDwDy+@G zlZ+InN%3f&yihsIj|Fmc2>XZap1UMwan<&8^o?+3D8rO(o~qnPx+-6q>g8EWehdC3 zE~i)E``8#^p|ZkQW>y1vjKfs`_KTEqyWEM=EA6S{-wK7On$-OCD`pcI$6&6Kbbu(K zc(hMtq_tPD%G$Vaxzy8W3v?wiSlOa9L4<+Alo<4CO|AFzSmCh{=XsI;LeIr*D1q3; zJRmJ@A8aLVrgnfCOhpsr{1cDaexV(XbNC>9zdDf~gI~U!k1bTWg@pL&*(F1jMAkimI=*_y}RitcKz1mRk$Gvdx;-6fdjoUGqg ztDs5q-}al>C-n;0nwYHI+sN~Ohfd>P*@&M2&$YguR?*`q2{N8e5EStY84~L88^b0( zJ++ZomU$GO5#KksmMDU4VmIqh>Bc^gE^_B_S}vEFLU&P?P=~2=t}J5{TuT>Z9&^7+ z+rb_^*1Ibd1KuK*b`^g~rX!pNgZf5xec}dM)D^He`wcrCF~`mUpVCRF=S*jcP%Ji) zcO)+4-0m%oLj1>Ys(T&r(YYEtmeb%OYZauFzOM#TiUM8V#{A9?irmyrkd$aj@3{f) zSZYQ<@)V3@$cd=umc;f_EA~7!0eQ0ubGtzjV*$U3Pw_^4OQVS5Hl0{?ITd3;K;44x zw$&2iD3{oq+y^Tz5Ep4SbVOwlx_}L)OtAd@}1C%xR6wSvU21_HFzRsF z1hj#JwPHj+x|A`C_houGPodbS7_acq%smaG2-Hj!YW9wm~2)v*24yD6XP%7bu7Tk+m;hA zoQTs#d?)&FE|dv>$2-$~i~ov^R$uuJQvYh#m19whG1&f>U$)*s8@7B!Wosb)=>$Di z`bmjOZT(evIC!4=NUIDsxN3qJ*AUmL&^~TfmHfzj5;vPfSK9li_xNSF$2QP-rjghg zx+G{8`O~Zp_qrM}t8-@?#px>ME~2xs2z#RrrGMI{8YXNB>Y5X&A4nraYAjV=d@f39 zsYrLeAhD-1)7*d`^bIj4)9-vKCS`2^Yja6xfAtU!Vl<=$HU|=R0X^%^BMVe*QP})2Ro85EiB9p#9fLmBPDg`;0(vI={ePox4P{I!gmC z-IJnEi2oS5?^}vdB4cH4vffzGICjCW+Bb3Z3`7tn!C5KBl!&X2sugK zjHQ`*a2ZzLeJ~J>O!c;c*~vdZPkpa-lDdm(Lx-Z*P;WY3sm^TJ*jg*$N(bM=hn1*n zGMb;b$|q|WzC3v}w*@hHAKNdB!$N&Mf7*5u)m^Q%^W^J5E#)Sv1rxY(urqk)t)tE} zUX#rnli@SpV#d$(;pbE1L3MJlekQFtHH7_+w6b|>F58&=2hOJ^hleQ-=|1>WvL8yn zwfk|CWQ>T%{E&Q_w?&;6${M{Uoqha2IqAy4Eqx1DFD7&hBAG5XWo z#&mU04aKt#txjY)*zdd?s;KtV-Yci{)=DAQ1o&h9>&YYSw0Qq$5naiTR>0|Z}+(~w!YlZrX-pqaC&)RQ$EqXus2vgR-m+sBxQMb{& z7A0r69Lfh*eV`ak2`jTEMRr}}{l18CZqrF+xcY!B>-bC2)en3hxw1+;rJ|gV^5V_) zTh43rG2~G(A+~ z?s9Yp7sE;Ix72cMIXGJRr2Ij7$xe>yL|Kr@l><6nN$sWfm)38fpi3LZ{j2}MRJDFm zMpD(VGF(~dFuzefrJZAnga_*c${vb>h}z0lgsDQ!;iiO6Qgtjfp-4c#f}PWXVTwBF z`y;f_xaR0#4i&x09gIs{Gb6?}(g+!JTszR$ebDtz`A5$L<*6m+7HE}jxhk=LhzVjg z90Z@D>9@wA2{%XEfHpn$o|=qmkbBaBoJ&M1-7}cw?4PpIzl*La*F>t3U-(bpUui7W z(X!Z8CpgM62}}$+^jd1Myk+=3|6f>PGi&1!XAhSXY4(@FwaNRGR-j0*mF*7oB2<$) zBmEhEjyqA>e_3}XH-c-&J`h^1*oyZyrcze*3EUR$2zuz5qF?x~d{Rq9JAwwvWVZRH zqkmM!KiiVw*!8^-1#C{Rrs|GvPkF#iat;X1U~uLkUR{2G?IBF&6n~GqE5;E8^GLrjd{^qu%M^{80WUxpbUZQ`EDi1bJ56&?yL0iE1y!Y=BheX3eH zQqy@!E3Ni)`RH-fS-p!{6y+#ZB7bFXM37QZCY77YOkASvNXQ(U)IVC1TSG5}XE_ai zq7IAYD)m#_ka@1L#zt-<=fuBj2{40>c(aWU>;&wh)KmEotxmTC^FTB4f_=GIKy&DN zXqQ%9d9PMdD!NaqRrx}$&*C%pP6jh#l;V6xZI66a`7GSj+d3h!&=^miWXpISy3ezn zLtf7o>J>`(edwsi*NIJ%zv4~BU)35Lii-XDNBBcMY4gCJHt66 z5@Kfyjo9jNexxLfaNXJZ)I4I4yhtD9_Q=0$ubHbP1DY^RE%({RMg@?*Vi3E`U(V+YW|+C8MenF=wSQucAf4PY zth{HC){X37QsPufPtJhz{gP5Hy}cd%)HAa%hxQp|k&KUSQp+vtZB3s>rvmN zwvIB0E>(8y80f0dAY^HHM!RCwfX_S8-2G@SFa$(by!;_G{%~$bMksJ ztn;?iAE`$&qKDN~@EKdLcF%7CE$I`YYn1u0PpVU`Po_kWy5HPGrRQ&Bjx8-JHZ~^& zB(;>Umeg9SL#jq?Ba3dV0?Tqw7#=mYF%84VneEPjT1DjlkVLyW(LRlA>{+b2kOJjI zI7S!5E|ElXgMQ6c85}h)21?swB91E!3yifwy?bL)+0K*<>VzDl%}yslttR*>H-TY4f&J$6U1k098F+8 zfRPlJG}E_C8liSj3-htG1WUL!$Tqkeioy-;2yh_ct|j`-{DE?uMCiuahxSDfk=UU* zyv9v+I?B5`h;_@is|C0{T&gh)-ARTE2f4{`47+;c631+27Bj#crzq%pRhuhmYI;9B zM}A~KN^q{XW^vb7=NhX^j@Q0nizu%eZ%1!SM=KK^l+l@<4T_E#jC&mPXa|WH?>?D1CxH{l&GZw?1;pgfQRDCSM-hv*Hnzpm_L9w_NHFpS` z^5gQ)=iO0a$YacFiDyc1TXIhzWzG`D2D|7(QLR~+aSM6e7QUPw1O@3q(Fw{owZ5yI zt1dubA8HrQ%PX`SAe*bCTg)y22fdIU>2Nb~^gJS$s(`rmFPYtjm0pQu(>>A8d>%Ji z?9W^i&xQ_JcR3ov*V1DATK=$g@0dxpM649pYqXNvF{#p^#0~zoT1d>rHl@bN4Q^KJ1VkYq%TP(iY*&1+gb<>3(fd#$X3(~rt*jlTk7~0}5@vs6l_x2e)r%t< zWO;m{?Gjas`Q7T&6SU>*40;6Yf`!8bZs(5bbL6Ae9M`YG!t#9lop^xq>n?UTN(*mG zMLcu$v&_G2>m-9bWCWtUUeo5$R|S@E4*BVcXQf z^hK;W*3029lVu+ei9u=j54Fd@LXA^Vk1wB(uP>QYJU@k-gwGT=C=K{cbS0?{Q0t1N%$()f@{JfyI=aEJFE} zYwY$A&;}u2R|#{5V+Mesmz=yHTl0q-NoUO?oHf1$C1`uW6QnJBM%&zH^l`#EP#9|o ztAm9JCA<=wOABl>qmlRqEYMS}ucfN;3`-}(GagUsY%ylF%c{%-B3F-c;%DhOj-czR z5@DZv%euy!1F5>+-P$3oCV0dTq@75c8c=S~PVAey2;MQW)1L8A6s3_!?>|o1CvQd! zflZoAVUQAXEgsSqQ$MZj(MOj(m?4YTL!GT&{l1Xe66rU84rdR?qjXRY}-M=^$q7 znaV4NOw0m|Iqa=t(#AkcA z>;zRgP@Cc9Roq9qz3*uB1l=&0w>ltRQ|q`V5p`Vqh!M)hpd=*gkGU9dSbt-**0-r! zfw=ss_<~&qmx^_iD)c~qWqDBCeq)+)E7H^$82yT8i-QRqtW(y3k>D`b*rhq!IBTZ& z%6p}|nCgaCD6QrrH+isr|tLwVkgwEUWqSLmZac3>#Cirt7`$chrmDhZnqq zQ*0H|`7E=%+aX%@Bp4rPj<%sbYJ*IK#c=X@F?zN(0z6O;<>RG{bsxvi0 zoacHC>u*{I3Z$K(BC5|Ar(fWkY0H=;+BS+nKIL87Ry~BzgzGi5U8nkSR&j!~FRi}* zlDQ^KaZW8r;v4^Aj+ose3&g)*4Crdk0F|xxlpFA(b71~D(za;_ znp|y`E1NaaCtG^c4^aw4BR-BvQnKK!r22>|+S>^dUuy%YpS-G$N#cO z5jAu@O0sGOXm+*TZA=V-O=0U|6y%;pAEbH^y+9Xpf8@DNkU{@YWh#tyZ;h%c*Mmb{ zFTotK&BlbBcR6eQlPw|a4OL3}p0r$XMz9om5E;d_je|G{?Dub^ZtL{{Qn;Q`qyOhq1@b~2n1!As zkVNEYWzrCr&VhKh$~$Lv_yx60yGvigUb|xOxw?=3Lgy0b&Pxn*ZlErtm~0t zaH#NfTlF^g5__!H1Wna@w)J!?b}^`1f zrCu4fzyab(rM%hh-1D&HuZms|R2L6NRbr zT43YrGBv`@l^sC~9O7z6wpF|4Nb6q`G+!Di3koq-?unADQ>8lc&yzOc_k@vTYxxLu zmic5Bv$wHKkGxCRjxoYYrA%lOJHp?_ycMah)-*{+ro1$GwaAp{5l1#(UOQ$vD|g)Jj<9v*T)9x$?%78InXftkJCbJ z63-B0og<->XpgPjP=p(2ZyER0vPL=N$wSxX)2^dvtFjRo+*}L?cj%!+4SP^NPkmJS zh99yEnZ?9==?QZqY7L}$TT!nS)MvslqWML9mx(;74gITPiL_znO4X4TIZI5_?}E?e zA6d^K*6b3ltx*jd5qj^;qJL38*{873Gf4F6m?h+yC=X!vF&|+W(FUhcd0-Bg5%yMk z9Vn)uDKIsGTg_dOG5seTnbwgGCmdEk5gGoeQf2`bx0A4PH;@MGAHRox zNKe$m+68|Fhr@j$xK?e?G&U=f1~)}ntUaKr>Mf1t+**1*h|!jby@IExcFY1{(b`pNTGBipWL}ZpJMy~cgRSC+*aJWSCaEt9De8|_XXTde$N4aiie$FZ0t=v}| zi766gYlJ3jqx^qT?n+0Ah0#~iRpU1Io_YcrVQCTIjMwrKbMSqFOWzmT$Lv!okWf8k z8<#c;b?b&@CUMv`4bB3!%u4C1XhzQ=UI~phGEU)%;~h0i+~r1WFZXS&a&Ua`W3tK@ z3vZXo+cz6mob{vwsJ6}_*MeL(8~v*56&9#_@{77>=}(Q{BOk0Y>_y$;h6f-vb&#YQ zvBV^%k2V7K)HZ~5v#EY2wAEWv`+~G+aki*9+3YSnBkxNCxXaPjk)G+bm>;}1bjE%e z(HB2*r|3M_T>RanBTBQ=%&QJ!O^Ev4da zV2Zld`UB-frLotXg}K+*Eb}4vflc#FHJ2NkiQeWxb#%0@4ag6{6+4^%f@me!`1M#z zB@y2NZ$dI~TN|r)iQbIfP)C!eQ4Q}VjwAi%DWkCQTsUf*f_&${&=;`!-ks!VW}kit z>rBqpb_u`OKPh6`U-~igNcwWIw3PBOHsaB@v)AayB8h}dP1+79V`O{q81lCDSelHsThO2%sY`qJ_4 z;zoTgPCcxzwa@pJ;ifAY>b}4?xLn(fr7J7pH?xrKEmI)SQHeqN$u{PCd+k7deh7b& zU5b(+N1CKjKX{BP6O52QEJ@lXV<<@5Jea#GP2mFewfWccr?5NpSL7&1spu=$Au$HA zm`)}4lWHaGH52*5nm_wA+a zJ!&C#Hz=tA<`=AnF9Vc!DWEG&>-lo-N?=(N>VEFV#n)mXtz|2N`}YTcw1TR z1N|=XJC#cvwJqRUlM41}NokZmG!3bW_vOs8JDffu*;)ckRlmziz$U4d^$Ye%I1XoP z389_XF}1w&0+oQRrAE_DHB!AI%uyV^SE07V^SD^=a@Oh2!&a-1$RciS{FD~-Wm86Q zsRo5-bW2NBUrS3OQ$Z;UFyB1tvU8Wcf3RujicU&@z<%NQ@b&OV$2)kFJYjE$6e@Ro zKVTK^q|r1zoak4M!yZb1UZt|MWHgn$Ywag3fl)^m#gIGrihfgJ1)dN-BAIYB+_1;ubTa+hR{ zQU6g=n6fC1X(rV>R^&7E@3|kfFrKVVAPld~)thY!R zsyFN3&M3KO+wM-=4{UFxD!Xbmbk)DLKc}`@x9XnEJ*)Q2ue_;2)h$?^q18USd+wTD z=ZgEsmL7X5?Hsea`N6E}mky5CYwrG3`^xUPJ&w93YC899-ZP>>{c2U}cH7l*_q!b~ zZ#p|B&%5q5R)|i4?c`hX1I{Feppi`Fa4WHo+>ZKzl4lz$*VV7~a`J6qBr(8oC`}+Q z(r=yB)jm~Ra8`0D>NBXW9CZ|REh0o^mGDe%1urNhXqdh+FeKap%MM3VcVow>2)zL* zy5=Kt(NSurSOk2{i^nafQq_pMNQ;}PZ045>FT>4JcB)+DFJN_@QBvsPC@WoLbG0Yl zX|6x0qeyYLfZ41(^cVMm@IWlyl`q)oiq86I@)1mbLAWek14D_0#2e}t*^@k0ZJ|~d zEj9sklG_S@*^7e5YEyM7_>i+(N>xkShJ%haNnyne_GEk)JtT;fLu_eDh?YR|BBz~!ShA2*-@IF%;s1wzJ z+(AYZ+ioanZ^BfG9<-e#E)z!s9&JDDp_g?wfdpQWx)vxMy6AtXB)ck7Q?+rRbFeS$ zsx^|P>uXV}@_9jWze=o6XW@uYNTk|VRv4XnRDX}OXZtt3_pB1%!FR#^@NS?M{fHl7 zjDeSZqM9UD=EvG+qN!2A)B;qs+|PzvrnI}B!mi4~ZYdUal+F?P($n&(GR`W=Yt)f& zGuul#$hVYo=!wZeWjScU%(P`lPucpxDZzcz8hKl2gr|~qj9yF_L_Nh?dzzcC_<}j( zaf`N19z&)vZRAoZC)DOjX}dM4uU=hwsTGa>>Ag;M37y&)aLzZH(nPeIO~f|JFO+BO z_uy6G2H6erdc=E|6DAgf>YP@H-DCRn=5R5i(@&{q_VIWY{m65hzNQVJ>q(7-zIa;%4ZB4B)aE80r2EokEiuFiJRII5 zHNiXB?PY9)-^)`Ena1ugyaZx}M%JscUE3YqY8ZMW=RQ}IIi|k-e<(W3@Fuc03-HoyWQf2jm z^9oVlWEP{i)xP)UFHw*1{-m6^7YSK8+N_`TOP)>QXr;DzM(B#o<_-2T{65qWi`!h`bgTDq~<{f|+RT?CkT{ zW9`o|nOa=6ZeWr=gnP~n_UBrQkt388v>J0nS%D@A<*Q_}<fv~-&)6=d*U#s)eK zQQ9^<0c#WLNse-~MBd^3G!i~#Z$qsXm(rDqF3J$Cw+7oT!DdG><`6#`bE~7h<6##E z12jexdPMMtOv7pRRM2ml1bf*Ot|z^ZiWcML&0G-dYlrJO8Vz>nGpx1fvH1>j3s(wY zlAE;=QZ&fU%*9`5SN*MJpLW|jg&nsp#a;uw0e09ryHn{AnunO^@1b~m73QI|MfN0> zl)4Es{g3Pq$cy|wxfKaDvi@5B={x5wvEiHPuqJs|Ld$f$aDrvGeJxome@Cl(Hg@W?6q94K{l+fc?4COSPHiDBd~w4-|j!_ z?Ed{+s+wu7AG*z#7N1E~J)6Zr+$jeOJTeBu0yKxJ8{7`paXx^8YHdet>aaA-Uk0Nb z)wIv}5TcCAz@y=L<}=1}q1N7h%-CQf+kV@n;30n>ygb@5pjt-A$=o?pbruobWJzI@ z+!UPvy6tXdBAINwY2F5R*QeSR`MdCQ$d8BvZX*>V+Co*)FG`NwA@7XhWuMu)>eIB| zwiLXv-6+o!7U*r{yMO@g%~~ZVhrWUAbGDp?Gvt0|hp`~18`)h&iB=9u&cXY6d*vNX zvLz0bcF}Jfr{oFFHt1s}kxt-xp(E)B_Ahw(JRYg5*F|AuBG;K7aZI@pv4Dpzr^T^u7; z|BH3f_dx5E@!4)}KghsZ@*>zwaa!_Iwj_66y63m)Av#u%qK+FcLl2!JgoVsm$t2IS z3A_`QH*bOGptqGH)@5>{cZ2l;-_kld`P_y}!NxIt#h*lLY>L|)Y)^euYCv7lDEb*J z%gvN!?oy7YVwU%wTuB+tZAScZ0u(EZqV`0d3(+}4bgMfdyK}Id{R`%WiEuXl4|o%P ztnS+ zQjX~_x=CP4sI=p)d4zVJI-wX0m$AA0lBBJG>e5o$k{|2;Q_#~if{c^;TAL-85KQ6g z#^TgvUsd8(L7Jn2eZ7B&zo&TIy$S4&?gInvG<`VNTDc%^V8Oo+H5-SRKI949E`84| zwsD+x!&;XJO9sO{s0UvfUL*PmHxo_d%fqDHP>0Oj^lxd6_msFdi+7bSh|#LjpGh+0~S#viX6$qW6=5PkX7S|YgzTgwW%6)m~@>>2& z{D;sNGLYbvf9f4Mo74j~h(2;J`?%Z-kZY>SjFw8t?E=N6Tl)9VS7{-vtK)HSNUFFL6rSBu&p=AFSq@3^;m~@SRL9eK2OXEzLiWbYQ~(Z>NEt#HP`&y$=47R7c4c z+smQQBR3G0s>h{vs#l0*T0kSjU&NaHT)Gx4h;NaaeCwPx5-6Y|V**csDdZP7LHZA= zgxuj~S)T-Ip_^@0@r7DBu1-=exd`;_Mls)P(;2INpH`_bW=Q@!uqY1pSm0)Bn@U~q z!P<3mp|A`+Ari~xunW1+QXWA~OIzLIU_Df%_id7pI+|`o9wQRJxIZ-wI z*#4OaC~5Xz$~A0S=($=?{#m7p?YDU|DF$jNyXk+~g}@Hj8dDuGpj7OsIhVKrr%+ye zjw7{tmb)Q&B(fg5D3RzVHWhj5RJ7f6Gk;h4rtEOEL8qBp(ko@>vNGZfJyZUjzmf~n zR~_lz%pe@uApeULsox71DE~;&vdHIy8F(xGv;38ZxP4{id>5uM4gpKibk$DwHOd>Uh);8?@V>dNe|&R zDL0ju>_KEHXnB55xP*_<3#0{2}R2LA4D zV;1Q~j9EvtHJ;vTQ?3_Lf^tw($+pR7^hJUxQXjvJ8`7q^KH9dhiPkJt1qnY<`=V|Z zY@udQ7rMDt8?{OQaFS!NXS>SVx3SqaiS2~9@I~QEf55mArg~FT@+||*l z`n&w2VA6Cfd=kNeQDlL-)brE!4|qHFGhdZgTRWNdV2`MMN);){d+}7wtRp`aD8wSFGS+S(^Ne9kJts?Af%Wk5syOaKt5%N(E}v}m&q32V(z*1 zvh{Xu2W2&JD9gj?{&=A)KQPoyPSoQCPVdXTg}(~8(B4{xcH0li)ui7N3%0pa0#(@^ z0?o1DmE7FsirE~!c|pT9<0gR(jXA1&8V{%G}? z>e@cLo!i26luJohwJ0LPv%wREmhwHf9?{y7dGt-l=E63-m$r?dE70!S*+0f})yJF=@?@DBbJ}&RQB!c|F4(6B95xS$FWTwKyXm@Z6%TUoQL(C+~ zV?XUSM<;Hi%&I{>m1skd3B|m{1=(~`oF*&{mL^Ne9-*mcJaeAH=;{0nIun~J=O9tE zODmRV&>J9HrIXxVYd$`e-%NbehG=IsL)uQQmHflnIPjMjW5$QBp^4-@xEVHD=qMb; zz4#5q=qV&G*f5ayj|tcGH-b*e147@hk_4pu4u1&dNPX4Kp&e+j*x|g}S`0QbOlTQ$ z|HvG)i(7Ye#7cmhqam%iP=&5&4RdWbjlxiWC34_~&a{bZL~-)4oL=0_;A^c4l7dUg z4YhmhTA?lcW@A^aV`vN!TS<^M7-6oYWK6gxz9BDIj^)3WCLt`f&@z}jrOd-N`m@C9 zkVk7uycS9-4GZ>j1k}QN0nvV zx6ls0IoBC~MD+7`_e@hS9^+VPjML}tvdKPttMLnZ{)3QCnLAyiNrx*{-_ja z%16sBnC8|D(5b0ljf#JU#ZpV8zs9s)vn|hZ-(?7xd8~1?LtQM zp?45m1+|6F6B|NxWSi8FI}+1D&aCmb+$)m`^+qblQ`rf|4y4yu+xcJ8H8K;#jwyV! z^&2^aDy_}rb_dp&a;5G{3G19-CTgUgk@MhuHG$eDc1!MT-zjCeB^4J5wx+xn?huaT zKNoAtsrX82iZ{>3ad*JAUUwl1|`$?XbO(*2Fo_ z-wL%yN(M>=uSz?CrTRF1SNj}4Aa8TQ5>_f)92q5OP)`pnM=4c+VKZ4Uqu=3s@M++N zd1YOWFppA(J%}J*^zV%s#Ald{Ip@S5s@H5SY^fX4-qG#xTIN0eAJtDYtBg?y zOCN+w;l=oU#yD<|JV&kMyCe0*FUe=T{q0Yr+0Yzy9K9aPXVT>E>P7Ama9#VtJ0oK) zi!EJc2EWZs)=>OcXo6p2x6#hvE@XJvkoHo!AZ;?HqUC_4XQ94UwdphEH0}7BDaL%c zk8szlNx$)Jt{(^>-+#%~BHwgKAVNCh?8h#83$Lsb-*?1Cv+MPU+}gcK;TLC||3;tK{O zRL3tB&bQv?%Y+*9PR_KcJHCy(gDmzcz!_FSoQ}2%WUCFV%{&J!g<|LM5_4%Si+rh1 zq0@}l!xOY&{8;Z^bu;r$KA`j!{&Hjj2Jm*zZ*5s*2-YIDjq(CcA?hSwRfg(i>HCpr z)Djnwo{%Ktl19WIp&AokK=ZUv@#_2iM0?%f7KWJ%JJ>3{41=8+KL+PnhL)VZdvm14N{iWODi4T zB5sQ9u9@x6{4o?7s>9b+!t`de5n%HCt7P)y@U41T?6p{=KV?&(HtfI>xVIbAt9+*n>mSJ>E>*PS@xWehFh~JE zxLMzG9E7^*3z&CGN2kLwgeRe2@;chV<6=j69+#VROpmtk_)wg?ZAj9`LsnyG^e0$4Y0RaR}GL zJpp7APPyA!-bb)3gP|75+a{B*j8E{L&=YKE=$;TD3zXv4o!VLAU$L8~xbV_aQgB+Q z`eSN1w6R=!^duO3dBO|$k8*`7UbH4t9*>C(my4iGdKDftHxLuh8|+~9opcQYC+(`(*BePz&eaU>3dC9+$fko#;K9Crht@QS7%mo=hOavcYe{ zA$}0}I(H-A&^l^CT%1nC1*PR8XuoDArlK?OOv|=FHn~x@CwnwlD?{t# zVqrU$VU}|il4KW)_T;NPcRJ=Ay5{A0-~2THS;DJsT89 zz8$#MFRZ<-#k-KmsN}4`GHRCMf#wNA*KTC0D!1sa+G?&lb^y^6=c`wcG5B#b8qI{u z2K?xMS~K)4dL*%(=(Y9|=i?9f#X=NFPFt*Ddwp>{gn^e>P52~x7HR;PL{ZY!^=FA; z+E(TRy$%P)NZcb#w}V*vNuyO6KsXC#+Hk)wq~ zbO0I!N13n7YTUY#;AYw# zb6fE#w>+FB#e7yhJB>cBq^?p#72`6R+r{ zjt0t3xGA=fo9HbWnw{H{W*jekD6?7W<$9LPt7aPLZ=MQF4O5ma;?XvJ%ST&Z&m{RJxT! z2aHq|uDv=Mxlcgiad}5>8QEvL$RCJr!;Q77)k`y5*e{7QToI}aH$Z9ZD4QEZRx=f} zUg|GkJsX|)%4SF_R>PIpBKK$6$)ULgvOJl-8e-gu`fVkadFkloPUSRyJf6a7k-2_T z;va1k8&46z`C7vus;ttMQ!lZSf+39y$KiQ;Trf)c0{+I!%iloDP^G`R-=XP7hAvKT zmdC>XKquDSTL#943r}lId9?9&}|ThvySK9nal_AnARz_ zgr&ZC4R9(?M(X;s3W;z=yn$Gdv;;22bL?V#F>xH+IL;{X;Yxg4{-E)S%P)S@1EKlS zP5vYAtFn`59G(?y#IB|k;)F28_Jp|0_oja0Zp#*Ck#8E>Q~Md{$ivGm9 zzY%{%d0~jmx~FQVlo{H^-234n)Lloqy`Nsnx&*(>O$i1iLFovf9HOnY_K0+| zMSZYbEL^qVgyW<*xL`hZ6SvSW@+JYF&L~OrScR?7)=+okoYlvdftz@@^M$s()@pG( z0YT)awK;wky`-7AMMg?%sx@Lyg0I&U$dGhiUn(rg84aqcC)_KAcj^{7PgZPc=D*d` zYzN_>ZJf8I^AuBtfQ9#9(>jcE*t_Bi5-T~K_u&KL18F+{ME!%O6QK3EE}Lm%*+eXs z(sL$LPaS8GemQ&XA4yC02=tmb+aZNo>u2cN1J%tu{a)d&7usBiC@PW?t&_Ht?e^Piauv+)DE{k0AU-NCzv)L8K z9i$L~+R>dzTz)6K!XT%>9A< z8-K>pjci4q!Ty18M_VDFHpWG#gI^B!7cWs~ZPHu8FzC%cml^>|ACCN`i_~Vv6LPus5q8R5xqWaWq!xW6u*_<~iZ~;^ z9}T#_xl^!1_93nmkSyI`#=#DOp&OCEk$a)_2|L8w!dj|#FoMJpv2ekz2Z?3uIq#OG$YgcNVrhgLGg&o1^;&Qqo^P6c5 zFXw)dRj`e64AEG>f{pQ=_xuOX#G63Rsdw@SX*mt6@o<69Xj>zMX*QIg)LH*aOZP5S z`cXi2W&h;At3C0J4F&1#)Ie;HStk?ldU{{i!~82)FZ_fngDxwN440#$u`ht@VI+IW z<&(zJDPXR-11l!p2~M&nFiR53>-CuuD3o8vRMoY|e@OdbyDTTDml8h<|2jSx$A$OE z_dQv-%3j1p=?Zor(h#p7T!{BYKL;|QCwwF60zDgAQ)}(x$Q{x_-&nbu_93Z$9wb(U=i_tuWPVwAs?@CDqN{*d$T=hEz@G^AbAtL6SymRckBhV&q5AaRmTF;7KT zB!-CZv`cz{wd9v`?QK=D$#DX4U4t2qzL>2ZA;F1K2QGn#uE${id)AX8*~m9O(W*n0 zw4mBSkgX6je&git4c#hj;97M_D9DIzglnn(QwZ-Y&)^W2NzWNBt@ zO?x}4GS?RIDzo{@XjzYmxlb<$^DOELGP^@-$RAk~gCK>3M>~r_)4`pNBvQo<0wH}Y zciY|zJ*lp?B6x42D*avUMliMvX-u#>Jqp}hrdhMORP-%>OM6AUR$ehTeCzxN$mQOe z+6ZsG90+`=Mv*CM;sXrT z=L1*3-^571&|Kd38SlZAMpHv2I9MLXyfyiPsYb$j$n}tFq8Z_jo`Xqqh<29JHiBsB z*oH>aulNkj3z^{IP&a7`G!!)J?V*}%2WbfSsmwPP;s;|F143eQax0Q9I4{iOrr3v} zdxP1bm`DS}WIv=9@qd^U|8sClzDT_1;AAVY8v7T`k!B)pGLGz`2&fo zS+{VpvA5*L69h)umGc9gpgJpq1fM_AUXnkPIFBu3zf0VpUs#9Om&;cYGjbmgacY=v zSH(lFvko8^Bo6WCaclV`eo@FPWQWGPDmV_?p1D#X3pjtTMjHDSBuq3VA5){mn$SOX zGkcF6K%Zb1v!K0hzk#*GtML1+yYc?cS;QayIi)Zaotyln6a+J>7*L)yj4eMp_@ zYwC|*0^XEbw9NSFT3K@iir(dT@7zS6;!wyQK+z@Ua#{-URccH;XYWdLefP8udDrPn z!L?$##gd2w>k)W0?fU0Cc~nv868Y9~$I#a3zolLL$^&*k$PiH`HgEV{HeEPEyH^4|rc! zdty4=(y~G>q@LJs;vRc*`6u08|7x=$5%F*7h*(=PIBO%B;vBymKCV{M$MX?Dxw01y z6-H|N;AsMZC`vwF8%^hiuqNsqQzsHa4!{)vg_$RgCf+yU#tHaAY#cvIN%hBB($!vFSy74F7xe`(@z;CGfzR0Dp?AIOgaiLa>jgKJ9ngGRQrwHn}b9x3P+zldyx zx8xBv)6`o6dW7`Dglf7Kxr90MBBjCl?Tx+AktkTk*jDWFa~TY5DQh`HjF+nzA{NmJrXiNg5g2&QScxa3B2ym@PFF(x~-G%jq~QoUoAV0hhp; zobk$!jMDtAq$x@~)!2ACFBOi3s|(f03-$wRn-{g&(14tUQ$&5GoN&y<5#NO0;$nZB z@R~}<2iV$_&3~4udFqs>TPm5nQ$mgTdDh*@~ANIjgyS+O{K+yBNfkjzuajW38j_$=TY8v+BjS@29akLB2f$(hVu z88DLRX4!LV49b}aAGeK`-*`%T%cx(`EW(2};};Sok}Febu1a)1pkYNSbk-ZwHsLP1 z8-5;q&Wv|NN4`>aQ!qG*a2ksV)f|1~AXUnB3!B5!p{$rY$cB*M8$t~U{>j;>-p~fi z9`{K3r~MAa;!m(y!a-sS-cEZ&y~56Gm+-sVL888}i78H>VS8Km;kR;@I_GOm!nKiT z{HgZ@$lZ($cR`Ai-)t@6i|8Y|tg(%LNQ-h$S5Q*U?E%vD3CMopF}f|70hqK^kW2J^a+Rb_QY;e*{p(Ip zC&>FExcwMh&4|lS^o_xOu4OtHz=S)40>u|{Jh@rup|7K#A*{FoSov9|G^fZw9xbZR6{qBP~w(P2K|bGj`dLAT46olD{h+(KvKy&=np6cPum*6t=$O zbZnSu3MMWujp>1PdQE&8{yOP=;%aVOm6!AlBu?oAZZ>XVN%$mjj<|@e9u5d@RjQ%<^UGbbi9Q`T2s}v_GDism|xYWI^eC~j{@j-61&j{ z{26^1T-G-bRqamcozzlfSQ(!PC`mZ8Soli(V~^m?<-Jrz!4e;`O(9s}8C(hM3)89l zSYPZvstkM*r2_rkr)BcDJDv@CYlUYt75#RUfO6TMxz$9yA1H23l^(>_tFt(CY!xxUy#O%fh+ zL#5bij*TYk@a#X-bvdG)&HKmhNZ+Z?v79PuMjjRV(u0971lKNwRctS~PbS)5keY1- z#)RW+E5ypkU&VntWs( z?TF^ONVgpQ(Y)aP3R9U1=3ekFc!f~SnJ5JKZb}EpA(T$Io-rtLaDV(M>%+o@<-Db2km8)-(D@sYw9o?@U z#xv1J zOTFabp`Jo#qZq6pok1RG8ui%H)7N2;lVzU zTEw}phTJ_V4bHn4Sq zvTA%|N6E`~{mGHQJ>T9b`Dk`Q|m%iduJg7e5Z%bJ^TdnOo>1P6Yg%5FE{<7JjOcs0~Ph_(G<(vqb zBF=c-6EEN7-rF+dwv@w`>Q4~*g1xvbM}m}Eix{gY!ZegD491MF^gurv)Z*%btk4T# zxUev30raI{uYGXgeB+}^1_NH?v3?6&M4#E}g*c@ra$P&6cSnl}Yo!BWl|X~_eYXU+ z{ZV9GPEVx`w=+-{W|6th&Vc1o5vgJgiG#rmd#Ex;NW>;t1?dJqT5jP=t1+6NE{=8g zV!BJm=$2GCcT^&$*<{GwirVD3=%vNgH&#P7{IRbDKIj8@DKQ$pI8I_@q!@Ncis#1ohpCV4(OPa`h;x{)gRcep1Ve~R+)DZf(hgp|{Dj!a zE#pg&7x*N+6k5yvidkm44jbU&;o(vrx``NNYbw10bka)V7rHmHkzthXa3S+L7`8Zs zJ!Vqog@m<;Uoq~AwYs?h)1N5jJnN}JpDl>iXAl^?iR{SEwK4&l5 z;6Jf%;XLmv`hk|t^^v3c#c0T?sC^nt1I>3J7& za0ZXlD?{LfCHC{heT}HH#9~&a-zgbT1FkBik?nlZO!rU+_zu@so*```Ye8o~=>Omtcqw0zxrV;SZ}AHP)v@Bf0;+7SXK=K7bwe`wkMBp)`@o<=Cs8SD4sa^Z zwVw+PC0<}NA#Tj`Ym2yDP+f2b=X0BLd+=@gbgl^+D?LQn z@NQd~+-lUF3i}9ytYm)+z6s~x2E!j~`|!ezBdFV!B5oF8LT0P)ZL=9lup(bVeaSqv zIp31%61>To*<;|GGYie>nOH069yt*t*d#2GpQY4x?c+_+8?3q9A>xZLc9YLGgKJ0h zitC|WUeAayNH4aNd`yb5i&oNuSci572GpnIy-6hUjs;J7 zSE}&>d@@juS}9j^_@zZuE|xCy_#C+=I>o*YsS{d?UnF{f`SWG%YqkM5_y$mlu$$~! zcor`ie^{y$GKaR>vJ!pp;rJf*CvtCN!^|0xof5|Vijjm%(vBePIE~9_edV!~puBc` z<9?yDtOVOg>tHev^OQoV!gEER5coNC7Qhn*O?_ohyIG^m|Xo08tzv$2T zZJ}#gZMjk5b@~mm1Ra8dwkn?!Dsa01H@E~nBT^z7sXDK`KQNg-ZQh9`lVjuGJ4&jh zHI7RH*~tg+S1=H|A~e}(!(&|&EHgqEh#!S1IM}XWH$0253I%SdIzPrTB~+?vj`cZr zOPTF{BrDUKys`XvNeqHUnzUNH$1X+zkD07Ua8edB7i}p^N)xgh(@7eu{NXy< zk4Yo#iGqSX7H*;k;NKQA**a+=dJ|Cfv)x10so8I18=}X-?qCtR3!h7!j0B{zd~@u% zy4dzzJXE8kI#2S)&jY(HcQ^wyXZq6H0`)U@+E3cw1zcQ$#`t>a*Qg5oSmC*Hf|s37 zBeUi4;4OYZ8%_BJ#-7cWq$!! zZN-u+0mc%hRbex23GP9>S1f>R#H;XaZ8Y*2DX^E4Y4&>PInx|3UrWOV#2EOgbiIv( z=yukA&<>d;DsuPof6!xuD#mSaifon6i+6>d=0U<|EQc$Hcloif03W#j~5&i`da(S9%!8~ zU0h?ErGJyJOWv$FYAOCRc~SMTjvDxqT&v8w{J|6Pe~T=960VNT7w2O$tM~J_Dmoa~ z7C&3m4wykwh3Wi%wtR6xa5a&t8q$U-(Rf2+V!)zigP!UN$6{=7B)~mLPRdUd&a>C8 zM;yVbxZ~eIN42@!DL7K|GXofpnnI4qnx}V>6LCdP#s(%B6GkN^lOlW{{l?tpq5=Wo zEzvx;7C$|50cNC~?8+#zNUn9_X_YsK_uM%tpO8Olkb zA~_d-EM!={p*GSRbr!G`9(9K~G3SQeY?G<+avA9;^wIs2_=RtUF|?ufP`d&Cj1*V0 zv{#sh^_QK(40?OSC^d(hC`r;kRGNQjQV<%UEK>RjMSvwE!BGT59yfP0el<_k7ZX+Z zo8m_8BArZC4N1aI-Y4!myr(Rn_N0D}PBo zNM;57QUiN)aZLDQUQ2L-6Z!x0QQQsKnRCP54q!8GLy`Rp>q{ zgbzX4OiJVrK04T1iV4@p$M8R;TS#AVAKZ*P&mRhR!D29-H;5EXaLMFdWfR_!Dht?I zqvF#Ln18}qL)$#BkkL=vh{#$%eWD=DNx=jDZ_DQ;EU8qjc!RB;bYY1@NksUr0lNugrD;KC+M9B}z75P`e zN9}(nHHu_-HWOFSq2hWvfc^5Wb2fJt1g?Ul@1XdWVi~!Hqy^?uJfSkiB)WT`O@5a@np5)Wi3x6$3 zZOCppK*ngt;;&Ni++5^@Aj22&SooOMm26KWIc}1#^q0XTYL!>I2Oarr;~D!oS5aP) zKhx6@8dGyUbci#XwxKm_?HwhuSK0ou-3^-IMW$n#iP%S-!-_4zK=pA?p&j#T2CtPoXE{*|g4jDs<1cQQMh$6pq3kS-RxBqQ)bWuo&Vsyfw2>-XW%9-3#J9-~1@u zkl70M_q)VTHlNmuT2BkuM}DsM4Lwyen%oN-6b^y{uJJkOAM675W#jPV0q{xbx?_l7 z&^7=@UwM8f*Uz?(`IS`{>Q_{Us>#>Rm?*tBp72b}+s8koHW5v^h`JDo!CpC3j>Z>I zd$d$_4m<;xq3TL)d<=Y%Y@)v-hQ~+fkwkWk+hfVaJZ^nUH6pNz=;nwen(#LFdQTRM z1-;5h$M4`3Ej!sI{Kut|m1Aq*JyivZa+L`+Ut&fNQk?ysr5w_sMlRVvXzQP%9>fe< zUfvNj$>md5d){E5EpNs5ayK~B{?cDUZAU-HV}kK2Vc(tOfm>-4p$w%$Fpa^GlSnQy z!AsyRtg~|?UMn3Z)52BjQF zH!wY?yKwmw6s?Z*lxLAQ z_zQ6!*2p2K9f(%2iug?Z;{KwGalPnW$U-Z|d6H9<6I6!foR%aWK^JZ$$x`rgchGj5 zx?e1VT8*FbF5ujuBkwg2cv>(d9WEF|HIdG!J*7dKGxUG6b$|=1i3So&@D1)g>&19>0X--GhOKs}6R{TF z21r!b^2flh!>PXa!jnL{FNLZh?2YMT?ZmfGXY)mPOWWVEXZWeqd_BgDOU1z4YPo-j zbf2%PulL-B%R3CH1Ai@6AnLOfkkj6YcB6JU!YD<^AgQBxgoq$(&Hbn&a4D^ly&-V% zoq-Pv;HE%5m-ouAgn@cDKQ0KwZ+Wk~8|X9l;7K0G8~V38lgxw3s}*MB^NhVTpK7G~ zp^EE+t%O=%!UeQ+M^`m)miLEC$EMM#FryC=kBUE#{lY)oXgG|%1xBKq*2>O*`G)pO z(mvM6AGDw}hhS_kc$^bLl0z|}BHJyKGo;~l*fCNM+YfXAGu)rNZf}+*o#)>}74Vn7 zn%31o81m8DR9=goL_3fx?Y?m1O;UZpX*!}FSZXYarMZg7}uCP4!-O=1{ZxeU7Cq+Don$Ig~e8-yk2BDiXEx;~l^3X~I<|-(En5ta}-Q zp#k+p&CTh_%}V@2%9aOs$3O<0UiBp0f>;6A$gjDRv7MxNX@lr6S*h~i1%J9$gik|? z8QUa&s-7(0wPXd-3O6!D!byZv?g)Puedip~D#8o=o|QpJd8p%P)p)pynx%I4S5&NMD`aY<3AqisMhEcAuG#9!Ulp|y%poa99@m_UhuY&8_Q# z?Z}|&xKfNYB%WRcT(6YbU}zQphB~I+5}Dco8T zaAws4F>mcsdAw%8NdzOm4F|WI22I8gjs6BzB z!gwsgx+CwtV78ngo8jGTPxx_Z{~_7L0O3ESvws5E_-x=Gr7g5OxrTyScnR0`H9(iM z>&SJ)RUyjwB1GHqs4KT|-U=A@j*_Vw( zP3$r0M}mO}pl;@EX|ICj%s12|4kZ(ea6(IX2b=@)>NBkSB^s$K^iofA3j$S`*U8cR z3E{bhX)ir7MIHUA;K_o_;qr0QHH4=-in(++=%=pIy32#~^+*TYP}c3v(?<8+&$PCMu%&8mO_is>E>7X6YF?z+xt_= zgN9+R%`=ffSd>24Pz#AAW#IY%&30y_<+|$+|2DD{*^BO>5oua?AL_u>}uaLCCoUPx~47j%r31H+QbycPg5@2s{6VU z_2ucldO;-hU!g5{N1U_2HXX&HtZzb_9T8GjN4EEzyG^YNSU>VOv4}XCm&y*aY$D=6Mq=J9m(Tv$_9}G|`CS3S7rNXtFWKWy1Gj*> zbQt+UZUEi{KOi6d1N815h#N!E=6EGs281G^hv9-8=}RrUVYm1%rtGILdpFjN&0lUl z?YMzJ_*?Rs{>b(W~aj1+6y3z!1W6#iP-PwRz%poI&cEyK}{l?%9iAmiUs12k>9 zE1QJQv`iEG@h{jcsHO0LWIacbZVXbgS^Gz6U^{Bd)s5s(zA{lJZm}Jp^O$W|7G}gt zT*;+f^aju@zunNmwhDMvHzHx)UzjSqie-`cP&_jVyN9nqTgEJv8&M|Y1?%T411l0l zS4U6ajkSt-m5cJ2u9A&YplJN8UX31#S7R*vOUx%70!`DsmdE~-;=_Phd_y=%w-o+E zmfGyThH_fmiZ$o<`ZDav$W*kK_$%brF3|U}f1sb*8FrXp7B4c*0E6r& zDhv1ZgHo3=7OSOC_EWSQZ{c`E8u{^9BW$G~R z_7I#a52;P49Ry7A#dXLiC6Z6X7RBX}N&0vJ1s*5V{K-Gm-5ov419@bR%cKOr)X*BkDbgA!d*?o6d=6js(^P1b&*0iqGRQeKMOvXrr1*s;E*sbj4poolgr{5@|Yr3$IJ1I&`bX0%YW+tMF2 zWFhJeK>2NBa?(qfd-mQ=r*zddhOGwQ%q@0jnL_w0GNP3(e}XoZF{i@qJ>lq z^$7j#W8gD*O*|p+E7=JCTh*AAK{w+DZxqF(7k($lr=&>T6E8^)sVVq>Iv@tTg`N|? z$G=8vtfz>Yo)$H{><8p0c9cCpMo5piP3ph!gyemeu}lGR5?_p+=4vAKkO+TWhLgY3 zAC-ONR{f+D%Ou$MX>Ev8z}or~?-VpS9oiFPoX=u=!(BsvFw@HV3Nhx9mS?tEtcniM zuI26XZt_KmYxTpJNJo)b{La+6+69uQPU9i}C*h}OJGVlatXm6X11vE*8QLN6G=W1l29pq`&YMru2;f$V(dBz;JE zWp%o)GCQD})J8G}si#cm8z5uNg~mP1(coEZj67Z*3VNX`w*+j1D&fo1-XrIk0~?OX za^m-51MOl4+oP$MK2~}wjbm0J8^xW{S>civfla~Uth1B5_!|05!B*-(CXQVrb~8*( zL2O|}cXF}uzPyaTBpqVrvYAp;k!!;MTv=~6oWY}%SyEeSiihzmgZ?r%$iI){p|{*f z=!pzyRMwW3x}{mJbHJ$W4m3Eih5I&Y(LJlSNM&n%vg(`p-1HyZS4Z+RZ zz;q@(VuipzPn!n_=Tp{j}IvlNN zAC8W2|1^yzSBdM?wrsaRSN%Jn!2Iy+6*>_VIK3Wa&$2Pn6YF754s*)+2U>~!B}k&- z(pD{s8<~@AT1xEXK#-naL3Y!-A*1MT(kbZ&6VKdp8KkNupQ)C_7V#Q#MW4#ew;^gP zt-3bElMixEelAX!2WMH%dLb=b%VOp$BXyf>VwxHpQgwTCi!5yloU>vefAx^*o70Jy zD{Obab}Utsw06Of@L%*eESYr&{&j6YUq<&qS_)ICx!%RV+Sn2QN*^LJ6E+j)u~_gM z+hMB!rs(7SZ~SqEmAp5l=RR}NG3k={4SyF1#nCCvpl|$Fu?ixAwo84}XE(+z;dWqi zu#sS^S>QeErELo|tJa<#o7_`+O}r?b92{BnO+QKu2!66=6E$pM)RUTMX}tMfh_f_} z9)JvwTISh;wF~}?-b0?i7NMwe84Cw|t-WYAQD0gCOlokb2K8Ay5E#VoH@wE%(3yq{ zv0xjC-1N&5tjuA1QNQ5RunRG@pk#T2R6Pi~u}Lmpn#V}GxTbm!^>82p0{$37BXPJT z$}_;5E!6W}D4t3Vkx1bwKDM+Uw~ebJ&vQIBzqDpKA$>RZfQv5LlekN2RMd~nVjjAO z0pnUv;H>ru7p3?3da?o)lRpqmHVd;MCf6lA|hLp2lL+zUHjyPZhI>dmD?=xSfI zkD_AbV(p4h+cJ*G(QAd;Xmn{iOLy_5+?dde^Rz>j?^F&->6;D5H&oHO8yNIg%XWW1 zGCye)6)#3g_o&C_l9G;8n`$ei3I$CGkW{c&at|nJD2MnR)-Kc{nMN8*Hnf^^lXeTO zDYb`VY&SHCZ)0XdUHLA=elyB$P{;Waf`bD=(*iA-=zzMAUCDlXP?M?@O4lQ zN%?S#R8P@FTL$q#uUqyu_ax(muQHdc4TGz&x%2?g=LYr-ygQOE*n%bbr^F5DL@SlL zf?rc`vtS`vM_nO*m8w}2<6cvbg&b@l8RJdFmle&`SWzOkBg=(lYJ$8EQ?v6*2gx1P zokC^xaB6);Mn~|6JZ)hId`n*L%@^8IiEMrAWFkt8G;}EJB`A7>So6qA<|CT^k)rz%qq#7uPY2-vK zUAUAwg^0#4XxHFeKA=}m4L2@?1GK!k4|i2)AhZx8osrUi;_T>V$tSdr;+)`1ZUNbt zj6%07-FR4hq`qcxUl0E+wcOIj*#wl%<`qS`KFPeHT$}Fu?7l|aq|eIFEI-89gpGld zuw4X{kur5v8*aqvFfKB18p$zFgbrxMh9yz8{g!~r#R8x65pulzR;!(#0ws}?q)uEf zdOg*OY0GUU@8I8flncwWFp6YQ6LJD&73Xr}&=Sp#-h$Hg$pl$en=Sx-uI)ruKNHwVb&Xr?8;LBF4^S?y z7&s*&EhWeiDJ-e6FUs4)KB8z3`A$t_7SgrJe_6zHP#PjnXYx(Il1qgS+D20^MnEwiEYhG&5+NK5odwmS*qLOsRJN-l9!+z;vIa&i##ldqzgiE`>Wi#vWM zO;V$=-%79h$0|$Q^NEi7WWw~MIMBbXrUc0XBc)Z&?Rey97L^nkz3 z^s+6b_pp8V1WRQk$WN*wIX@^X)xO4X{sf7KYO2u&L8yrb$FEEeo%ucz-J8N%c6EluM1W23- zx5Peh!x0;p+q3F6M{kdSnS-ynBK4VfJJwfA!Dje(2u3jz*i=sh8SvzK1iNOVcww7t#QSk=iyk9S z3x}}(@#8(?kaE!V3=+ShMs}2DfO`5b%C#*|z|F8_)Nb<#A}x&v+l(6eKgv$k5i>!| zc5DR1isr-zWVb6U^F!!TXq*VhdAe5fFNvi9;*9EKon@AwE}lO?JpV zxbl&8E1PO7(3|-;X*cMCu{3dwxbPHGuz)4WD8@`RE{Q@y zwxIHoP{_%)H-%FI!w99cf8t>9o4!T#)E7_yxsdud)QSFpglSWiChlia3u&xy)ar!S zcpB)n{hRHV3eFdC^Lmxf~f>Mr^H!?vTu+s z$v?0X|KQ*-bQ*by<%Bc9$|jLX$m*iW_G3=3CqlbUjT75YH?&7VQr#O!rk+Z(nHyG^ zXhThKR3x+fe|ao~$TW3Tu#n7c;Tm{?x69$6{?@p>8MTX8LVpv!5SJVs$|r*S2PrRc zf=MWH-Uk{tWutTRtvk54j-B3_>SeBH5yAXJ&!Mi!n}nRGdO};r2@jl`5&X>UGuNW3 z+OB9L`F`XV;Voza4Kn}9cv;AFNx4rAwbdgIB6YQ7QOD-49}aC%`zzOpGOVrGSv_S; zHg)A9xkwzfg?VGBOKkt-uuO-vhwJBC4?j^9Z5}j)-kq1b0{5I1EJzxU&ZnhpTZG@*+6?6rQG1{{ufeR-$Ugc^NB~0TGY&Z}!^smYW%}dqR;zEC=rzyRlx55xC z=(XCfFzeaLS|7_;eU>;yHZtqWzVSIoJJ16>i#YHJT5F;}4ojO$?=A8=bIN+*7P!iHAP58hr*mTi1C$K12q_Vkn~N}6iValrc9ok4K8JF&R*LTEX-g%SGfm~&+Dd5wj&nbf z8cRiZZB78YJ(C#AJd+~h*M}~82_LE6lby(I-w0VFYk`DJxwmh@RbjN8lFK+z{yTZB zcszI3JC!-_q4=ei)9_>0Mro>c$<~-1PMqUu&}RBQXJDWTR|RyM?PV!}Gl8~%VBQSb zV{4ysm20UzC)Cm|{zooJk7Zj4Exga=F$j_LiC^Qmvhjsd2y*XQ8BezFjg4te3g*D%VJ@tger*1Tv0e z;vOS+$tpG%cTDpL$6e#-?$CqKGW3Sk8`3?qJYiv-Y1IF%h{gKqSJ^X$An#8X0F3~!2Che|g5Rpx`h+W1!LEoqk#m|C? z3CLTiUcL^{@R(WJP`xo#RUK_Po-))wta!J-wf>9xpM8#ys$ZvQM%7ZZU9Ne-TWVc3 z3UFvTk|h2YwM5emw>-zhhU|F#qZkb|IR!|J)>JIz`%1BvlX6B$11VfFdgFji^A~Y( z!c6^Z;J&H9J=s5v833||k5oxdbIi=05V|NP;!_bia94R~{fX?62l5@MlhRs8Me%QJ zi8mYc}cC|Z&E!_Wd`0CUBI(!E2wQ6GUw zf5H3IO`iYC2XYPA)>Nh;3hcpy!X%}Ql8GM`qkOuE@^dV6@SefmR2T1EDoXy4A1m*2 zJ@VziE1`K}JT(zs!n{+P>DkC~bOm1%*7+E=uFye=CZ#na%{2R&&1n?11{kNH6Vj;BlJP&;zfix=rQ>sH<5p9n`Evd zyzu3Ub?6`RQsOSWjF?kW%0G0rCGUH$8LN=LY3=!`shgP2a%*E9aRRZ0TFb$nu7ybw zt&9tmh+T^w6V17psJemv-WkG#U|3iQNueE)?Xe!qIAMcjvnLzRP#Xws==4%Lf4}9p z3lbsQHm*(56bX|$D-WHW*}uuVa;4x~*F@3e6fC4CR{rC; zM%slgRbMH`)e*vH={PAtz0eT5Q+n^tG8QC%)a!6Nh|Aod!YRZV=>ZLT`NdOBVVMZ@ zC1w!UxAJ5_GCoIcFYJv^m6l35E63a1bSM5>N)q~7ypLYyre`$`9ssjE(sY{@?S0NC@A8&nv6qo<*)xV%axTLuwFt2U?7&XiDK6tN^((p)#6!e(*cEVjb%kdG${c3MI+^6 zZYMRtP1FG!g5s_S0?yalMK2v)w1EcMbo7X6B-2DR5ru+FuE?zUzx~kt9f#a&*$3nz z+(sWk^Poxi?`cQ;tEKF;tdK;`un&;l^WzvD+HN`vY#P(}xDsk3oi^M#&)lBUum`JO zy9=p&4YjOs2-w>q8I*>Kud@}$Z1wuI|!d7 z>La`0otBZ-)73f<;sEphW_L}1F){346%n2dd`Goo! z8~*=}vHN=HIom@&D-8*qkQ;?Y7PWxi7}dNKG8JrZAp27lb!Ve>h^JH%G{P1Jyck%? zQ}!u8l&^!u@Pf>%8MZ}Oif^B#G8ID7(Z>M->BaCRIZzBTGif@xiM%e)h7R&;tW%JF z>rsW4PZU04BegzwBkZkB=FHl8YPL8+m?#f}Tj@1|t=XR9X!e_x(c;W6rLfGKnjUZV zB_Y$HEXzHtkjjP~$TV`8V~$cOIEFirGz?01oN+zzpE1Ue;E!+bDz!~7vc1wHpdYs0 z_M?IBU<>9XZ^PlX`JN}*4qs03px}O~g|7zua#_FfA!0Hs5MQKsu?w<>QA_y?=mV~8 za00nT>Z`-z1n+WmGCHm-PHL#8m8~=HDte_@%F?h7whGPxLJwszlEy#x%t7jCH#HYu zMSg=dkaueaq8y(Q@cJ8(^KpZo<=x1Ii;~D%TIgrx!{(k;HNYOnz*ljySnjGu+z2hQ zo70nJKgMe7k?oEs=TN??@>Ndvm{`A04eci)xNgvH(e7wKj3jdKKmDszH}zHOFAw2_ z&_}o#aQ@szYt=o9bxph|b&`6-4)qOM0mL=bcMpn0Y>{p)1-!SO>QSS20bBf;(yl~ zB9rMGXr=OAS`=AbZM3=6G~5fON>Z1?kLJyxVI-lp(!XlElxU`!J`P_lx;^dEti|*2 zbYixY;uimeTsmZ?mSE-&0ir6NEddi|Bv#sB$DJOQ<1U_088? z1%?ytN+)Vh)ydpLZ_Tn|riVr=PsAjyF!)=j9{s7TT>h0?o^Q~jLHA{bcP1XI9|GQ~ zFVc4IvHxu09%wV$O!P~eEY~b^%^`J(xG03A&6od3ts=90L(K_xi0SZDA+1a|cjVuD zfSW#WT>6XjN*m=Z+C$AO)E7H~tYQ7KMsOu_j(&{lSCS;wB9|&>x$nXlXEUO|v=cg+ zf*_IHY!+tnK)ZPdzem3#%n--;Z<=znc7Q)QQCc68ecj?KBb9vRb3#%Bbw%n76;@~ZX7GOTJD}Kf4w$g5;yZ1C>99IEubK3_ut{pIWrWgQ zL*+hvoZi!0K(68nL*MuvroWSim#vrD%kON1&{23S8S--SA?UN`9!O8*1^cUiCzT7Y z(7W1Nv;x~k{2E*n^Ot^E7-3wPVo!M$`dU;Gw@iVoUdy=$NZtT=YI3}={`g{_B$Pe zJ+y}KTiAe*AeQ>8$|DV@fkU*)vacKG^59O4mB>RFBV`9Etlq>lv_2M1y^wR+EPXjN zqqJJ^C^44nCU$Yu4L$Op8swwt!s6ZD!U`Rdif#Ko+gD5`N>*zzN0$#|Iuk=c(`9d15OuEH;CHie96? zguDTr`@-gM2~r{8#!M#$)Y_)^V}~fJwM4K|wcy+S(R5Es3n5IdSyD4ChB(D|(bu*w zwjbmN&`V{pJ%G|jNH*fS=?i)i{;3<{EP)o(o>fz&J)lQtQM2KWRD_%)hwGJ|bTK(!yveL6yUs2LT#7%zW}pVOh!iA0*4Ftn zrekn(?$fA+Y5_Kq+)554f7fudj|rh8*>L~;TtT!D8^s0*1;}STg;^OI09y4K3?rw& zr;ys_ouTicFK|4*#PdZvPi`mw#p{Y4#CK9IFauoY$Cczr$I2S{{GQ(K{sCX@D72Iv zWxIj+Ts%Ec+7AEDjYZn|P4ax|xoa~w%D9*+Fo%h$#q&5uYFM)hDf7MH%fuwvYs|Iu zfL0V&1#|Dilq~dOXMj|~7kwOE>KTr|BnOepL_a?Z?rj~bw&P2zzk$YdtX+}b$^$8v z_RK5LX5wK{voapA!2?zUvN^Z~Zw_}?pUNOH;0q(B3Ldtt)`k9HONHFf1@0Ez)N;sp z6MX%`9K)&Z@Li-{+UUSp)@C;|wDgz!cc6>ZjA=^Lcdt_s>;q**8j^*`rQ`-gdg3gf zlgxl_6?*7*2;muszVcL1{rSHb(|p&o*Yc*o9RFS)q)jEva8hg)0pWTGy;Iv@8-!=f z1N6REky^65^#orAnHO-7)4}<95#QBa8IbnQ6G>_U^BJ5Gdi(3A!BjK-8e7G825U_J zLhO}WV;#iy+&k$81oFWQR(8?$*jv$dhTVdN*8p2E$gb30{t3&m4Inx1Q`>x@hV`*_ z2VEdHH5tI1O$64Oh+rN4t2YA~0{*qv>M|5jn^-SHE44n&ZCp9Rk7V&aJ7k@pq(7rc>bqmt}E z={}ncFF_`SD73cpSx%5JcXQ$&%Xzi4kRsHyG&dZVUJEbN`p9eX_+Xi#Cv`%9fF`>r4#G<1USK3j^L)t?Rtx%o3GsYs@G$dVljP>y>AwV{d?u`D8o(mR8W09wDCUM7m*D#o$ zOt!}#W3@`dlp4%`{?%fvZzh4H_2&KD5!`IQ4J|5&FkRx`8T&aqVsXd>>;@6(Iaj(x zSrjLGUrRsYr_foxik?3`U)?=f7s%ASRtb8q-UiCVGvov54?)HSp@#BjGI)kY}=`rITcWzK-v`tU&RA>KjgQ-152K;Iz(uz@sr#-f2+`R!!KeAA!z-A%{}XsN@8A2wgx3p zWr^ZW*F3{ovYJt}T?aGnnqnUDUOEchr3rpK^U`eq{BlC9%=DE8=pBUx$X9xw;>+oLsTC5R-Q8smh zwpB~jlbu$%sA_ZixxXoO78?jQn)BEj_)e{!OVm^RUhp*iDSbf%(1CDThY9h-xVUq| zVCAGY;7DfTeF>#YXZdk}!lE>Pfdc(Yyi^5wC)2VbU8vOxO0b zbqu9c&q#cybUFBsypuUr`~e%Hb+;`iHp_iV_qvA>-?`JkvD=5QPS4MeK-b$2Dx(=5 zJu2Sg8?r5p?G?;@g+-)&{BA8;utI|ahlsq=`XVc=rzbFF*$s)Wg~zqd{2y8$=>$I2 zaU7Yz)nIx6BL7I=2Rg~SiEy(2;A4qSw#N3iVnb<>ZGYev|3-a5y&;P6sTgP>DYcC- zyq&wk3?oeVrG(1HXGDD^vhXE)R=y8eq-w+?c%}B(cEaBn`ACi}Wmxd7;+MGxDh%-G zU4h@&TCpMgf)|rccz!1%ZMT$<*aIYUV>+-e(q4g2u~#!X>{q0l)=_GNav!y@cSV7m zi;qJ7Rom_RLhaIeIOiiX zU0v~2(lYLlX9g2Rov27LFQ{Q~Q|~wICcE1=(X$h`%RiW3pl3=CZ8NoEV+qwnxb6-> z1u<>pE#9rB*(pE4KINw~fJ`i!re~I3kut=E+;-nE*1?8l{>5As>l<2o7Z5(^1M(hZ4$1&)NuNpay+V4B+IFmLK z3hH|SC&Zw1cOQ0V!<&i5MI(|c18QAgaQ_XW!|Z)A;IB%%gVe;+@cH%#g77`E-Ep<& zVRsr4i8?6CP7+E5AebAbqip@&dk- zH!O3O;U&Bm)6pPPH*+=g4&(|zcJHVj?EJo>^XQSR29U?zL&!88C zp87oCiR!Cvu}>nB_4-?K_|6uIHkh_0*zvB)EK5ADVk*-YPC-t`xy!n7uF_x8=gis? zH*rkvMm7u10pGGW=xHlsYk{3c{K5+DtUCgopEi{GDS6OI=nQ4PqZOCTG3miD9&@I&spT0zno6x=rN7i3Bkv>#fs zO%|3>QPu&*!|rhMH~clm`*&yqtb=?O_>%p5U_k05-#JB#`=IIiC%{VYCg0ZQSTx}` zs*U^--ikC%&hQLnGK0Jpw~;V(l6Fyu)VOegGDJqCs>&ta$Y8d1$^+v+h1nYo`COqc!;)Gf5)%CsHKo@>-p39Z#8 zp!Fb^ZWcBx#oP*QM_>!xB~%agxSD`O-xKDf7GXP#*wLC?fi+1!FD-X0vi@m$ZeA!~ zakPnd0@_$(m!J6@n1guujaVn=J^voBRUaq~!_l03&`9~3TgB#k#yPvH|G6qcHgcf( zwN2M!v{7W!yC zY)|%m_iTYTmW5&P<{<5`I zVJ^~wa!~D(O@;{hZ!Vddr<5sEwEOyfvfY|C@MEdE^*Hl;qK95Bud|LK0u*B3q(3Wk z7ap?brTq)uLZ`5a(nj)E;wjQp+!f#`FznDLFxVXqY9B zm0xLl3{E^F=`z|d_cs4GJXCAIg}Wt3Hd2@S0d3|t1&2YM5y%>e?2}hZX7f3+weLpS zbG{o=RnJurLo?_)(_bFzyB%~3htvc7KYjcRq_$;J~{4iB;C#lxP3mSIdjaZ^02 zs)^O%A569|!neX*nLh?C!S57Z=Ko?6`2kwnP^_goHd|W}B)#nwR1Z^Tdk*IoKs(88 z>?&vmAcXZUt5NzRZ>F?TtEDCAJ5-Och2?kbtn}RDmQ`R)?NU4^5Meo$HVN4SGQ5u$ zZ*bf}S)>e!#{Q$1F_Qz^qO-)=Vsj{+`OLOW@0sK?Y_%-0ybJbm9m0Y{23H~Y7bw?_ z!+h?x8)NAe$|Ul%|F+j5|CF-X$JP|&wm1%T!UwGT0iU%?@N$BTaN-#nJk|s*hRDSE7tufjmpDWlNN*M$ZEIl>Yd24iQH%cd$PIb0`k0 zsauSH_%0F!uCu_@7;f>H4vPJf7nZC|vT$n)GQ5#UGmWa+3?wc}`6-2!n17u}AdOuW zKSOQ7b^+N&jA*9!k5BMPcs|pINhqot%;Ca4mHdyfx?%;oA-_{BGu`l22*z+N9Ub^c z@@Cq3Z5+3k9ckXGyi96k@5f)S)75UWwAa%@gc={LK^r(Oc|FxX`4%~Vc$iuZbR;5t z^=aV$uJHxl>_{Z&z%Sf%(r?6}+ev>Ik~U1>x@q;%siduJ7&_nV$APJ(2vKt;XjXmx9~OB^ojrszEAcHFBMJ zH)D8wT={+K6tq_QuaXJ8LFOulQ{IYszCXy*%o*u&pkr_*)SVoXHHc{w%13VUw|SG; zSm>o4vzBSI^3v=-@NfQazR$u!;M%b?jp8eXCjx! zeyDXk>l;CZx0LKspER2_+jT}7Bo9cv2Pg7z{2qCeGFGc5I5Z!91s;#sGvkOQXmggc zMA}BG=b75dUacK*49(=?Se8yt$|O>XcL-zkVeol*jH|u24(_Wi2M*`jbgXbqFU2a- zO-hd<+n7pH8dc`K?LULgrzyO%{{b9c$HHF{&k7@iR-6A&rdpp#lCiZV9I%W}L6Ezg zw;>O?8>LO8!|B)MHt;GnJb2phdtiv?A+d&QhD7j_Ob61!$j)d_Q)TKbd6YPa{m_t- zHd3i}8SFhEa*&iwj`#hbROX|;A1*?6=r2>AFux(gouj1Q?pTmdhp2G<49bg**)8tD zNFU8c9}Zk2hTzwnKfRmam%?cwUK>d6pa7GE}tP^&0WJE@PQo{Xj?j zIT=Cuxfi~--n3vXY@=@w2}5TRr!!B1C1$m)3;%>~f;LUx#%#6;&T?^dV5qo-`i3^9 z*GWsH6Usc`?GD51af9#`!fE(~*iW)6bCBQR7obJ8-gnL0HSLh?xST^bj4yE@>G{w($@7$*{%8jsR?~5G*isCY~d@2ak7yx@!y1PXiw5D-(=zt zkCY-WCT1BprKVt1Y00S&0`_{>rC*z?2#U)T=zs7NvUn%x>z~zl8p$Q7E;I==IMMLwmE&;_ancLYLQ=wLy0rW zl9i)EWpW2^7yX9SK=hHWC*j%(>ACWh?;y8vso?k9I`lAazw>tC9gQFx0vpJavez!2 z`;2Y~hI@{5p5;(6M|8p7XBvY&q7KZLf6F_ey87Qoysl(m&k{OIZW}VJfrnUM5j!3Fj(Jtr6&c zTaLJkn~MzfMzVjq7qiXbHPWA!*X(t;E&7e915IS#Do;x1(LKD`(oOzqF(N)uTL_QH z2>Crz-L(Rw5n9V@$#G;OWG3i-l)x|fg>z^VIJTFwV|P&Is2^vdjP(AnK@ zwX+B4#dxMx#Qf&XL(+^12<>$-Uz7|aOB*GYa39IWz|LWYTvP+BzWm*{Qu)g}M*Cs? znma=XXg)EHq2^vE^)vkQ`!7mvIVx)mVq6V`-AONPb~^JD#bzu?#42R zSlXM`UN#k%(S1sDwffdZd?zVV*`C_5_@KF^RFjM$L*f(oYT#F@1KA1@Y}+6kG|V&1 za>{)^W)K-BSjxZn*J-itweo&wo{f{E^E-MQ``zL}ak@Xv_SFcnAD#WEWb?zg6NYTI zwkq(yFmuRfo<+i+bVH;CF_7Bgq$kkq?$FcZX}esgC4HD{pD->ErEbuOaoq;L?V6hnzqxvvTYfy*ux7;np>H zINRM=L2s73(d3rfNQItq@6go4f3^nJlGfBA&j_dvIS;AGFG9Xb1F5ARi_|eW(s&TN zl{LwDlhmI8WqMWGx8V+x#}BN^1=TA z*tuSjBlL#Ed1_l~i0f8rV?VeSGFE08_ffDD3DP9JiuEK>F|m>7u$1hd>}jt3BMtQS zV6KGj6^{-!vLyy#@M@{iQa0(;gA zX^?1rtgbbMsC&|CTFuL$I?8sto7-Y^xuVLll>WYM;%p?sO?cL+mjNBJ4)BhS(1+wlF%Nv5Ws$BYhqLd5&Z!YfHG5Pr&b}U< zv|67?_n$km` zscm*A8^+;dg*G;`+K-5Xf6!@4fZb&Dph<8Od$Dx{*PMQ#os~F4W|mIwlz8%@@OO$+ zu8&zsMqNRaqyG|zeC@b!GzGiNJx`5+*FyCmf^f){3YU=WVt)}t`L_I)r9vY3GEEJh zNvexo@NFS7i1|_%Y;W=hu1o1w|C6NkHj~ud`pruSkl&UxSGxo`QEdv=vna1V?woJJ%Q zmp3MJ)04}hDZ$GL%ZW#LeC~ndjeM^BNvj&;S8>Y;4VP;WUae0cjyUg{qaC+pd-hg( zY073tEMHL_GZ({u@WR46QBr9em`U%6GG->!-My%wcfG zvfD*F%K8_1N(JY6n<28?ueWO#Q7hU2EWf>FR<{ zw!h|oBJVs=bQZMbykqig7N(ij-_X%b^O-~}-Uq2Iv_aQUK?E zjW~ik@vg`vMhFeD-f%u3vr|VoT*`3du{K0)q|N|{r+&dKt!`i*T08Ealx)*^BHDQ# z_HX}n6bsa+?{J&(zrt~#PUryMJ%n<@_!mNy3d>L za1{gdz;AlFAdi)6!W?v?E1K4X z2B5DjZ~DOwpYmsN#&8B@VmM@Ytip0L--f? z^2Ad{3Dk4NMS9aQOl3%fJ47N{P$&x~f7CHW(d;5e{5-Nj9p5f+ewoK}gZnnB< z^~N#Nnrex?WxDuBC4nOF0j~l)AqoTrp=;1@ox2o z<5vC`Yyfsq*x<3kerHSOwYrcT;k=mF;{((B-96!!{jQ9jSTWwTG z=g-(kw}MTmv97-Pv$2oTTzmvTEVqpm`W&rA7T3n59@UE zJLVdX1)!Chyh}7TT%;=a8euMPN9IepIan8G3uk3|7M^FVD(6snS{R(AW61%*;#l{@ z$J9alLgN={6m!hc&e1|0z)wVD@K&Hob{$)7qGzZ{_=BpY)`1+)CDe>aA9_*hcG491 z4#xS@)LQIPd9EzU+wq4mncsM6Dpv%2g4yvN?pn46{6@SCc*4I(NrRly->Mh-&8laA zpzCQt^nF%VCgSZGY{?>d zo_ps=lOfL`$@LDKkNe3QL}N8O=Z_LV4{IBV4c2DZ3vG>bfDtJU`xs!!KON3+KRx{smnQmw4g4C05G0(E!GEb4e zDz%{waND3$qP*5e8)6!#dW2W{W+X4PolIB8ghSG`#O-n~NcKKPtWrJ(gGx_6YSZ$< z7y91tZ#qqNCgmem_O*4bX{BXMW;;15YC<>+D0j)gw#Zhw0`*!cMZ^*z^a}Xln2OXO zZU??|EMGLbD7C>j1wIEuGmk0D3I;3x$dT-wQhC16)mHt?Z}(3lYm!8Kaau71>9i`b zHeD~Yu-Ks-t9&H**XHG}<=lDZAH@>>TW%`6vCH}g;tBt=;Gpp>e0R>$mL{dBpQSn4 z?vRB#N*JgQ{1)Jfya`o}EM*UxpNKKxed34kyv=8{6RuC>CbG5eQxC@fZ3!t$$X*~3 zQoQ<7i-<1VO5>Q^V#-HlSHT&2zqlM1gBQ6I>R9zOk!qcYrVCf`ahvXt51?ypS+JG+ zU$8m0l=BmF%C-{U60kY?xXvqKP^nyB>)&pbI%hu19%2d{D>G+9&gpWj6>Wgjx68go zbS|}7xZxY1l(3fxS7kY_sMdDl7)FlZ7a~)>67J> ztVAaJDhM_7+Uztx%oocOw0HKa$*5eDnBu=hxeyI^I)7jo^M9PF!c!y zz0Y+HHiqAwPl-;DT6GBTnP{b7@&+Qg+)}B2=#F|98yC>Z2Q5XZ_Liu`kxUi+j@k)K zWVr07wz712tx?s*whUpTrCg~i^n5%~xu;b}t4hDc7W59Gf!@Z?I=XT1=w6_U2cUZc zZ-I%}O82yEvX{1x^j{QSI+g|6ZJH4{r(7;qC>CPTwzGbRX{-L#{UkIGQ;F8jcHZ@w ze@n|lyX6^ZZFH2&&o*XyA{1rI&5?#nKRivrL&5^Pxog*RtU-$xhoOD8{ z$4(7Zuhu^_5T8pXnU?e0!3_5TMUodRzHaXhdg5;OFn^!9r#w>{gg+Byw6~!XaE9}X ztglr|$rYEfStLysp&o6hstIyMW~W?I_>fl_lB+m?_|<^Iw`JtlRlbcikCdT6Qy{sg*s?t={=y6SP}hrsBh z+}!Ju0^0GwH$xrsTyvhbSQ!rrlpDI=SqnLh?zg_Hx`*4Rzk&9!?MS}71Z{^pkjv6m zzHz}%`Wc!o{Z4*JG{CAM>3Lo{g>WI|To=W)IaBS9O6k-@TR(h(|Lw|$N@cpae2qG7 zsVJC`T%?!9N?nv0Zx8z`M{{-wSm&QE-J{kdw@8jf7uzc_&d_6X5Fe88qFo(6sI9TXiD7mwx43YFJLv60I2Z9Jyhjk>ii8 zu@+|^!&rn=>6CO98Ha5R_jESY=FkrNB2aggNi9Wu!1~bfq|s3$#E>ge8`|HX<>k8A zT(l_jkm_uI?oZ(QSVp-%L*v*4TTK2%qbl`4+CkS~-`owv?P%B>Bwhw9Mz%_Yw(LM9 z@+|j~zhm9&hWFUq7LitLL#CvCG4jmA!i$IKc2q0$9M<^9}AN1S|) zAmxUZ9KFENmTX2WAqNRZix0qetG_*ep<{yYH50Xlo&f*$Sn5CMHn~b4u>K;d&~2p6 zhK`O}TEL#8p2t=Z21{2x)5)S3B@<=wBF=kW$}rcmEB9<uN%P@a6mA`?k&DgCw%)uWwF3A7R*0lRvm?Mq{J5FF`wRV!{M6DL=17pEQ zZkgyLjB*dIq2J`s0t2yf^fAxrthHRerJpnm^MHZU3I4eAHa&vc;eEqBBV{gAa^|1& zAJscCm4trcL?v169cpB|V=O5~OUL4$`=?2b^2^}M!FTlxyglre7W$_m&ygzBdF!m4 zd+_Ez75M_4KP%A-&K^XuU_E7}R>Tys%m8;b?DFk4pW} zo1kCdxH%I`3=|96v~>Jq;BLwbnns?pL)B_@L#712SB?&>7xSHU)WHmbm17?eCUR0_ zZ_+Y-MM`6tx0L0sNk#pQ!8xYTzeOKQSD=U5>)MkgGyS*lB)rF5sGL?;XTubEpkC4= zexKko`gvOEE0oo;O;f~1(iM+azDf2b>T?lnfxJ*m@r>h^8_N>K8HPS*yC2#smbaZN zXJ+Y`ci^S7kt|~+xLB!}a6qmfDj)bltN2?(N!XgHEyp;SGRy7-F#RiEtxkJ--z{Lynfe%4}!>;meM71YEz#hWtxv zbDpG0$UuAVs^9JNILg>h{G^G7ONI@=No+7b$~;9ra1|JC%N;lOVRj2H!&mf(;0Y{= z7hI1#jg&5ADYPv|h^2BwFqUkJ{h{~zn=yYDO-}IynRs*FBk5f7dvY)KAGKa>C+{H7 z<#x;2qOLdY0UyaTV@a;D;g3`AQvF3T2JyO-WNr=~T>7G&xNat&*$cCG~@>J^p$v7g{17#Us zbii>>Jj*78YZ;bT#=t1FjRDt5rT z`^V-^blA|K=^zniPs{!Dy^bNCzk(&OAFzAy&HmH^nAQlcWm0dX$#OdWA*YPIfC6zB z>20?0;I939D2=^r>*3FEbT)2=Po+(1txq6ok_Yta`eCssWbmxQ&#+6N*Sb{by=|xX zS-ufCM7+}9qY1*R(CAQkQJ^zC+xgb=E36~^+jN`Wj*hiVG?~m}g(e2lnt*ly9q=c} zc`6nBg&dQu%5~zTtD-zy_0YGJ{*d8ikOtB{3?2R1V1rZ#OUFxy-^gi(#@HNwuH%y- zQ!dVtNH^_m&49dx znc_b@E^Y|hp!YtG_{(wy(9#AiO1PFg)mqW{0!hGfxcPD;J7zMglMEy9)iPnauyH8# z0$vE#@JuF7BpqSLTi*tz5;a`W@LazMbrZQMWqmuzvFH||hA@fBsr(!x83MbaH9`7^ z=4;tXPazLk2Aj}n#0zvOy+AWb6!Vxu(zeL$V<5#>JUC|IbwUq_twY2{ctEtCKHnvnp+ZZ#6|bqr6KQ6TfFj&Vr zS!uAb0W@7Mx*Y-7*Y>g{vt{F}0SeBl(z9{3Hiy z%5QazpwpGR?z?$c5JPAx^#sd9i-9mqx(-Rq6?`h`7XS)=L(ea}rrxL*g2dsqua^b!k><{&VDwH^FNmo^Z>P zhVfx58onp(0e*~kPD>`pk-@CcJb8g@zFYSX)$HLZ+A{i-$pGf+{VZ~@HPRu_h^aw$ zHzv_fwN3nS$9B-i@s1uwHD}5qla)~!KP#6c9aXD@--848Lf0m`Ju*h#YFwu;lApnS z?`830d@)O7B36ErogDHJGuV#k1+0bo5E%=Gtg5W+#})_Xq*TLw%vs`;@-U;V8DL8S zt)z==c{NHN0^hs_-Q=$hTM292sfKrf8Ofc&2TLpPn}1IIS2b#WXY~%&9BxS}^OG&_ zbOq& z|1$JKwz#?xYsr~dbG98KiyM(edJOU#yoSl)%VJTx%GC-~bQMrrxh}R5=;G?UeHmR; zNJkjW?>9xp+AaJc$1?3X^xsTRdWFxcaf+HFPtIkv%3?G6CVvxcMJ(awS|)-LR6IGC zigN44OrAA431Ytc3Ym_M=VPQ1`eVYxA0$fy4;l?LT@3ZMymnSV5jbUE&urQF7wLux z*WTft$QOQ!e=?fkePpkivp4&fbTh%GZHM0^H^MQ2LavbAiVPP$pd)>Z{!L|jFm0G) z9qcgO(~3B5ddEOV?6eKTAU$BByh`t@-%|dj3-p!2c+X(HoU}>(8E10WXNr)rBT9;a zOqunz+0c`IQJyK$d40J0;cv>GEE}^x+p16nAap|?1&xLK*=Isext0Bt(ivKRD_o)USWiF8yy2^Qi-tE^MX z;xqUcJe_#RGf9~h>K|BExgP1)#;eEhH5pb*75<}ojFYx7i9Phwd}sLFo)oTF{*wls_*L^`+ z$XVL-&_kuR^iH{r?(_Cj?n-g`i;%>QkbVihLb_6f$}y)4hQJIgoKn-8t}Rq7lEl>x zm2xHME!3|5fi(`(r{r&JY3ZwNmar(lxmKXw7rTSx#Dn=)z5jA^t<~LA^fI;`tXE%= zQ&G~T6Ptc<(a4017-JKbMVcXJxV^^mp&eR|I4ZY&@#fl7&crRC&;#CYE($zhYVz2Fk!L89$D#QJ;z-7_*X zF@Ezqs%7Yq1!_$qZY@G(giA{6Bui*9-7*3vCh#*`0vXTm@h4N0iCsbqodB=HZ-le# zMdc6EH*`zBi3}Ec$@Qf>miMM|e!((OEuz=tO*$R!7Rgf#V$|?vVZE)VvhTMt_KFEc6!789Part<7nR{!6skv#b>*tDRPN5f@|U+Pp*y z*m9YOC!g5vS zr2_aG5*`)Ax=s?$#Pr^GLaZ-V9DE|)KmxdNXP>%Hl2fa{9D`kY7`(;-A;`4j zJF#VuqR3>=0ncT94O*OxVLlo6X+?7`rQFgwMuN#oaEZM<$#UcAzoi3~l$5?nrSsB& zBe34>q7su&p>43S8O6Z>^dUJAEaUP$J`^D3*c)n5YlbuxuNqjP2m+=wWOE_?!_7UQ zXZcN`lPE49rrQzC(Wed%b~`i_csDK``9y0HvisSoyV(1K2 zN6SP0<+?~|;t6or-&8&irn<8k#GZ>5H}+u1sw1hTTnW8{dJVyuRbFU5kbm>T#8~@M z>_2rEcZqB1TflD1ZV@`=?rL_Ee#gwhfoLiiGWSn#Kqy?;yk+r+3l8)Qm*?%6w;Sm zDxkoHRKm9fyQr(Rzf+reOS5KrtTq;W=AO73ldTY=rm$@w4eTo9T~-1uyY!f9EiYxbc4~$QK{H&4S)%oFj&ojzNstmmJ>8R>%ij||(-(x| zfn!7?4Z+Kyuca>P7>AExxohen`&RWCc1mt3%nWGMNcm5&wmW(AOwz^dcYI=&B29^3 zXf*%Y_%(YJUd7HRL#6M0kf<7%5B+)H*uAcONV4Uu8PDt?vBJVCZn3&`Che4;W=_-6 z$x856SBQ9dAf{n4L<@q zVbe3u(p@xKp1HzpSq=UTKbJNp<}jrM!GWjdAZJV-sS@araDc8O_6gO~qUL+hRq_za z4#O6#E6i;dhI$jt9f@q3V-e>*Ae$&E?u6^U5`J(1uQ$_~c$b@`8vQFuW)Ro#3Es1SL58ahJ=tx0I@m#RE@JHE>X4{KM z`}|ksP4-jallo5Vsr|ax#JoOLlA`9PdM6^sQ;J$^Z|VS=`jyBsX$D%6F2(iMYlUB; z#of_1%3FciL7eqJ=7TyX4bQD3O%_j!)8R?$$);`kGVfw_JBgzPB%r@R7vo*UKGM9< zBXwrry8VN=KF`Tlc6PE3NEvM{jPGDAO?)64CT*or&Ey*D1n7WJJb%Kpjd&ASBPpJz z(gJao`8nH>CxnxFm!vJ)8>YVXAT?i*ltPSvcBYf@dmo6SAr;(^57CT&bWouH^x zescTd8}_BSjnPENo_S{-&(*COe9wb*2tVsTWO&IRld;DDGlxEx021VRy(J!{5f9MP?h!%r-ifIm*=qgB+KUC!U2H z_sf}DqsTWd!!=eutxQwa6AR3Bjnjf%A<=da)<W(JtNV?-T};$kw7k~vsBH{M&B zuR}~Tbq)4)<>pV$Zl{b+iivcVUn&*pqN$$5u9(#yVv1Yq_#1iZtGHeA@8tfI`}os%IU`iWQ@O@LwQ`=scGeDV5|`QQjN0!A;x|tc&>q ze20wIh6J~GmYA(xd&HhUi!h<{$mZGy0@a=fHJ~SXT2d=*w51!}7~{1+l9y^hzp+oy zenRJ>3(_x6^3^OW?P2MXyC^hg6t|VJ9pqM7`>R(OQ5a7a<`swX&SuV{k?Gkd4d3yv z9we?Uc{w)S5lFmXEh@3BBy=G^qJ((DKN>ZlZSim97H^bX+?4{p;Ucn+ew!O-NmLf| zTeEt)-iDrP3YV|@rAx#n;e7a;v9={@{_Oldfv}Qb+M_-t=h{j+=HfuaVVc zbx__GtNp7S;6hSE`!Tpjd7f7)d`drIS%fH(Gb1iPmf8yQ8+ONeem=d|-dTUTxqamr z{W#5gk$u0?W@r^@B&Uu(4-uj{~@uLMmbN|Go=Pvs$_8NWLHYV(4pE0S5axbTs>#JxUAq3z^TDV zgm~dD!CofCP#^C`Z)0w(_o6>8G7PL$*zmpFJ!%Rcv1I7?}l`54Tkvr`l*gbWQQ>d^{mh4Xb(3E!0l zJLfp8TJ>8l{? zZH_$7bx_^yEk)Fa*7?7Jqm2W3G^;E)DSwgnVHH&m|0{IG_Ej!`-q&@3h1^`KMdC9e zU~$U7vis4unK}45P>iYNP4j67L$xaeVCfBFoz>QV8h`@U>!Ip43rP?d&So> z2adx@%UvnYdWX0xw^AF3&0OW7^>$XGnT*&!kOP%JN*}2;)>PXGnKuABoDJX}{{v7U z-gh@=lsqnw1(NY5_E;jH^vMciv=s3Vl6GlJ6R+tD{Z}D>l5`;UU9LN7z5Em5Po_;= znrAoBn;YX0>2Jz4WCXHrGb@~R&ql-CdY(p0{ohL_&&}V1!>LnB(TJYE9R3tOZvt{t zPDrr`)7fIEC9;qH*S1DWSK_$x(iHKTxE)Byb#1#yOASm8D+asnyEl&_o~ftt3~xDm zDQO&ekyuuByLiACke^WL)`>9VzK7bacT?|E|Du(+vdEMCTKqBVBxFAGhj{TuHbh@~g_#@hYiJI(^xHOG_#z!g7f?p7OVjK8B_RU;0a!9Rd zenWqEd=_gUC6Sep^WrkoX`v@kPSDhJQ#SKLqVa*CenO@%J+w;O>l#Bm)`rmqfh5Z? z6-K0-)wDGGVSdRQaH!h(~!3>lGsq!wH?sXBU0?wWWB$uv)g4U)sj)rs}aV@X%pZE)kDc-tUu z*jm2f*&&+L`5_eMSN2Nrf<@itt)cFUJQcE(QQl(MA|#EiN`6g{0u%A>>|eGepb{5N z?h+nIqg;}(!`|3ECX!unQ}O^i8MJpM_lOb5O01$iB|3YXneK;rf?*&S!bh-o+}-%=fj#=9h%q?{O<=mh{Kjy8Ph|J1*P+{%7 zZ?0+Nz0}yZ!%_gwGUMqXN%JI%Ne3IW>Tw11Dwsij9=@Zw<=0v}WV*7PXdfv7+3tLJ zu79*+9sf09C@p3$3Dt&)`>*&aVv$(dmk=KnmBrtY)+MEx^+;c;g^eelk@?C#tR_7# z^iaEsZ6HnW9WZ14(A9E4PbF8_*Udn!?OXkjl-4@Ox%N-9aHEro)J@XM)(D_#Wcl|xY%%(9#{EulxyAAdwTt%9I4^sZdi|&*7 z1|mm~rUQINzBT&_qoc#o*+~@%L*`$^8rMBrM{ErXxu5Rq%nzv?RZN*8q}uzhziplB z^jhOwOZ`4P%bNt=1b&0>XnBKfSJLuR- zK2;v+O|{{hi(nk8!u7JnS6!s0wn4Odp~2cCtJq|lff*JR#5O* zTpTxrj}r3i?d(U{*3=Ady!W$`>z*cU(k45KQ^rWHtplqOqj()=4W2tU^UXKq*iVa) z+#4tq@~ZA)8tOwFeW_$SgWbgMi=~j;6-PQ$^eEQBt%Mq@?Q@#j(v<{IN{Yj(6aV^M z`WCeYp21HIglyGa9=vfz`}md?H%;P*YkuA};u4xqpt)Q1b_)yX6G$t=Mc{DUgKnZc z=TTlZJ@L0hI=goJs+tSwV{A?O6t)hTr3%6qm?>&bOa(Q4?|f^(1hNC+A$MubxyE9; zbr!kQuupj#?BXnruZdlfS~lX7cY@6f0f|r*km?nDj%_eaxF0?}vMWt`V7MJ@5PIUO ztIy`|Dh<_i&n)A{z)Jrx*dZ*7)|M+o9`bGc!~K5+7vL+& z$;h7#4d~0v65%Ie$o}ZFk-p#p>ah42JxFdc7sacYDrwt!pL|1aha_r4gFXk2&onwf zlWf?4nqP6th(xdBqLM9N5#&5`xIB49oj@1SYx{852ww_eaHP2Uabn;oTS=+`{Vb?& zI91x!);$F+LHBc9=dEy3@RweM97gQsHj}=bMoEYxyV?G@IJO&YRazT6fRFkuVP~+e@nD1krSY52g}SONSTnMt zTuO;0`&;MW8j>d8M62OTJ^9?^+tiM zs)MYJJRvNgXuugf6uJ~{z`r2_u860M_>QzEE#>|wH${xz5Y8d@6CN%H`5xa;>dAZX zM0y_9Hhfv!5qUugtScVpKyMcFefMy4cbwzMbJe zlS6AHeM#z{%9h)%jLMv8)9Bj9OjEqPE%+?d8I-2xuod~3z~R6QdGQ(-ciA>Cb%A+V zpfqcR?6?T*_~s%-Nt76j*yO|L8L~@g7Fq_M6j>@w&hJh3p(Z1lz-@Wom^CD9C{SFf`3(5>56wzpoyiNza`T% zjEVis3#1@utyMu@(odYdnTi?#9*8fzzon`E%493Fc1m`jlU~Jrg$u|oIt_TJ$w*3a zGTsNm=~Lmx+X6gRUaT3j3#MDkcxK^i-Ia3o#ih`N2CKCjISrX%ePB3ni2UhLhRH`eEy`*mIC(v>(!9&Vo{|2f1pnI(iCpb=*iQMW=ATDQET2%*5; z3*8AV;;G!DNX=kKz|ZEMz=-=^QGO7GH)S;M1+|w0d*SJ#oANZ z4h}Gj!B)>&dWo$*Jp0yyt@!3rJ9|0G5%J(-P+ZzZ&%jq}ebpPpxAnKNRrqh_KCve? zAM+rmutr%q;SG$UISl5NRx zb%+~yV!@`Y>4qHSEHRlMi;NL6+3&m=DfHE(s=I1HTl6GTE$2)6wP8FpPx4@@`q1{D zZM;@QJ1FlE1b+vx&$TeOhMt@dxOF#TzUI+CXeKV_u)(Lq54PFssw&M?a+Sbgs z3{q*PamzhDLNfO+KLb?Kx|)0HQ{?sb&l23QNk(otFj(?a%3)pQPRMTMFj~cGaUjm_ zOtxNCbf)~2`$>K2bwob;H>)z)d6m_H&aGN9LZ+r}y-wsv?}J~HUn86C#r=EfSwtZp z55D8kh5v%apr>^u;-=2|`hgF5p5)!meLlGFmB$));T$-F7~~>2pFMqZf2O`AQF_Q? z@*ue~Vx+V1U*-zfc(S!+srL@qNtxyRoVo@tM?A}a%GU-B&>>83wH1??|03`U#9$@) zcyciGvYn(Sumk!2PFyZ2xqQu-TgD;SWH<@iZTUteg{Defpm^*FQG=UD_b>QtFUmjV z4+gTdO|~yd)3h4l<+gdqF{umWNyNnS4nsi#ouCgBKJYSu!7fNbK?dz#kPvwbk_kmx znre!y;6k#Mc_BQ*GU;^4uPqHv&hFfb|P;}3<;%433mT-D86`A%plQ(KY5wgd-Qn#zCVk=#0&W}4b|q9=q5 zWV-#Q+@4khUapD!mWG8vcoaA+Elg}9{fP87-O-BJ6SOl#`&=8H7j92m++D3VAhW%z zasb<^bi$S=&zGFqG4eBZl>N_C*Yt$-nop6a&|8`s38=Sn7RZC$8X1+-Q<@VQlQ}T- zm~R|v!Y0U_)J|AEtYRcZ`Kh&mErvVjdgo#|37L>G)*vcRiOTwC)4x>{Ra0^a{}H5x z+RqxDoE^cqH)w%;&wVm+6+2x%tGpD)hfJ0h`A-0$rATc|Wyuodl5CBclhSI#MX9+E z6T(9RDsfHCb*zQ%&$f}_-B@iyg}ln>P;d~d!vCu@HNB%P#_tMhq9iZPTJod}FcO+- zA3?sKAH26wRqA35{m#5-FQt62p28EYlY}?uT%n<*1$Q!#%#HQG7A_l_b1k{@di#Q9 zk!~p!xaCq-9;3bHFBu;2v-PiG*_sFdR~JriuA=`ikB#tq!oLbROIBySU`}#L_JYz` z+fUy>UkTIX9F&)?(becgdTgMPya;b1L`nPXPFg@?wAz)c6d&%gmh_o&otSbzw>e}z zA5t}DuKGb9*fk;rc3PflO zXl&f2EQG{`cjkfOcG2R8{72&|-&-lynZ{R>w;^Rf2c#p>AAO9kGEBfQOBv%z!4j&B zc}W&)tPSJm@#?D8Bo?^8c`q2KZ>RR@8odAB4%K8@dD?*`prd#dv=4p(YosJ(n0p>S z(nb4bfC>CBc_<{e%*1Mkh6kogb)8eS9+ett`POSNO##AnAj>bJUv{?z^|eXno4g#D z2A!#NA|Qs_2xM5Gkd2DU*8Zw6(qFNXk8dUZg1PIZXg7McZ7#Np_)0$T*^GY?fO#9K z=jlzalR0uAzF0pSni+BMT{G_m2J&tA!GUp7AGry2(weV~0h{LY~%@xQztvx z3mVlVazTUCc(5BCXN!gGisqp;_-Ka`_axk&pMo#QZ%A%X_o@v*>xe)`&98}6lzxDL zXeq}`LrH21b(eW#8D%NL@02<@dLm)^y=jM7S^LapNJ(lsdPEz$ZYo!eI%oeXt+g$& z9wK;qORgVUSmmX)EPh@7lvK{OlI^N(#%k;PtPMdqQ&YkL`-_i!?8fq_5h1b{@C)79 zA_$p&g{#thG;|@oJ5*W31vai+de{ zaN5_~k%S!(mIlXxet3e?I;*!(6J4Txh_ojz(iNG}=ze)8WpRsW4`!5DL%0b3_-nZC zIa8Az=nh+Zx{|+5@I&R6W9QB+BHUtHyKNEk6ROksavfU2)HAY%i^MDONb)#p0eviYT<|(kAek&%!3ypT32io;dd40%MN?;y z)8tTLI&u`>om0#|RqkT{PF9pQ;$w`@r0v{i`)hVZWIOs{{T0hvx-E7VW#Q+zwW}lD z6-`sSBbXdv`|G+S<4w7!lx%4ShY98HhVT3MP5=1RTN23qOC2k_3UVk zWR@;;U>*6Q4Dng}b0B*brWl z(~9c{I-xz2w~ObP?}_Kh252W}JpaH3h_CXj6&;m@Cetm>>2MOnELxsTUlm zSA#!A6KflEBf}f72OmSfUh8n0*Z>o;j`$8@mbW+^!_F|3ULQ@I()H}W=#YX>2Y~?OE)?$xhdx9R+2ek)}x)-p=T{_?WQq8mm#n*aEun3J+V#t8M zR#rJ@Lr0c0nGRuJv{=H14I*9^nV|p4Er+kuJL5hpkH+Zfgb5_EN3{`XQ8Zxg<#?;z zue6-l2@O(3g<@fmeIybf-%84*l_847w>tT-cPHM6>P5Qo+lj>kt*JxW6suK?2P?oW zRfa7761L0Cet8X9nR{zbbMwwcwzk5ypcgAgwFlkFqiinufE$oRIMS(|j*{e6^Dw?9 zQk+aHmVSYLLYB1r#ZjPS<*uPwp6^sWrYs#VwiYKser#(hUdsO;MQ6d- zMAo+9;tmDsjZBh}GnS-9in}e&;_i$4;_gr!>Wxg2aY<6#eQ{@Tmlqay7Fgsv-#=)Z zX6Bsdx$o;rku5pINSGWeQE-o`V{IuU_<`J&p{Xb0;*goS1-+Afe4nKH-~!(?dWP6k zXlCm#igmmo+8NFHw&Cj9_rk7#NDHu4;P!e*c)j#Eo8rClJH1U+0VBY{12rB}FyR*|n-lg6;4f|>M zJ?$KP0sBYut*^NaYBse{zoONqpNNx5*y^HR2pRGnGHO;5Kbl`7#bL*;67nGHJbYVx zl5Z(LAn)p1sFA9OL)de0Q(g?&Y5Xs7s}L6|X>GyZiF^za#+aq!$n)|-tbjPh3|qe$ z%i27}oEsWb5FY+cgBIu&ql0Q;c>#D-iRy~vN6PoMj4AYWF_(#YX9;~9lt_I*la4fcwD6)YARVunq`dfe#3ZihYeB^!D{SR__*V|t(kQK*)8}$ z8^Mm1*Fd8R=Fn9}`wM$6t%XrQi5_O;*wLaASe95>9->`|4B^6ziH{34MDEIcm?E;5 zWBl!&d z8CoaEM3P)7a!1e2P?p$4f>{OasXaA#+V>)VJ2?ZUg06y3Y}<8hiuTAf+)QN%BOLHP zD)r-nmEVvn;rzlvTdir-4r7rv7@;yP`C(NpN_7%YC#bp9UOKKPYe zAg5Y;k}pE@@nq_M_$z!^?$r(5xW*fQt{a)~FXmw@F;~PR3GMWw=26PoAW*u44MGih z5;h(EpV(1d7=CVy2tL;;g}0G&@cjHA z+ZnPlmy@^3&s9SB2Q`$X#@3WiRD8GtIylnGQ z;WJ{hYn&d2X8X4=WwI%lD8I7BItK?!Xz9dt#jYN=t%O^Kb4*IquXh5gl)AW8meNZ& z=J0J{uRcN{l0&-`y2R&c{e%0_14$Ff5n0K;TxTmZ2E9e9Vs-YV7*BKwp8!L}7ts4q z5r3?XagWyfMjkkHX_$Ed7PFw@){>!aVji+izoHxgw~Q(BGSdrb96l1uaW_F06;#mr zgc*E0`#N+fP){9aw2a=0uawqW&PL1Ida^n6%QZ0z8Wf#X9$^GO01~D?(_PZWVM{b4 z`~Yng?j_yV5&~QJ_MXZ@Idzh-L)(X)C6l%Ez$A7CVIkk=k5qsXOLyf>j4Ky-C>>Ps63~n7+r}{N{ocEhDR_@I8AsWb+ zoCk$g(Czy~T&>^p&o{nMR|yMLJ@X6 zx=ROy3NWe$-PKakIi5*WuET69Qq(!*HSS9XKqh|?{xyaNE30HULwliKN;+pNV;h9u z0$~A>v#D*;B1qr(A)R&($KU#Y(OXR_UZ}KDRDgHD#D61Ed$nNKS^m6xVJ}od!9uBNnP0J2XD-N&m zA-oK$%b0~8Vs5k~;4qUKvZBF6L8G=fij!5tbI{Ek7)EU8BfQ zXq$o>mnv=6N|G)Ur~IR&CoVUiHevc;M_1Pea1k$JO9gwF@34)?;(8u^1X&4BewWxD z0FNIlR74ji_wfGCPcv0uBYez)!`T1AO9J=l({U=>01QQv*oncx#8=BH{DJ($$UrJP zUZ~@(3%$5`x88^^DZGsC+%m-R1I=gS^#v7nqH936qQm+o--D#T#CqUew0r7g<&rh4 z5XY}ml~cE&8cZ+N(CaIlEGu3W6H%0&D^@8tU;>JH={wkt0_XV8sAQ|mpG){gQ-03V|uu5B&v$>FV ze&e$sqwP}IXW!y%WvYvef^BdKa*T&Xt`il+#bl0Hsfb8{Nj0iJT^)PwrFkc61@rX& z$}P4M>PoJSR%AON*8`o{C!X5Ye%{v!Fh8+pwPP`U?noG*PI{F8rWCm82Swzo4p@Bp*^$L z57j4&=@0c`w$)@N=mL30Me-356W(zhq~7!|>Y;YeNMnB27ILJzftqNk%*`|Mp+9*7 zQ;)yLR2I+hUu_6?+Lp@BP=;E&hOhY3e6V|~FV4OOa*$lQN8q7Qqo_W#ioTN$%7gWv z#6Zx&HJ%%b{qE@<=uOVkf8z!kw}WFsovAdwlVh0jsZvj@A-p;5=4$Zgv%Xd& z0mh)DRIqV1Y|a;^w4;W*Fsi$`IAy86!MTU4~cCmKwo?R<5=!Iv|Tn4MO7hR!){;a=$gESRxWS9SOJ4$Z-ynOJGKUD zp&LLQm_W2SE7~^ED}0eq?w7wxC-6ngM4@r_b(b-G?7J45}PxIU$$K16=+ z+^?K5VL4fNQK)uo4`fI|^FR$~FDWlqr+W!Axi8Us@@M;Ru$}!<=lp}!_l{R&3iTuY zI-~>+u-;QDVot{aVK6lx1j21_7d|^d(TCCv>^t+8oodMREo7DA6|O0olWALT_QalvohJ%GpXN zE5K)30L$nb##Q2oZ?f1thYE4zWyq}B$CXvfA}RVCFhRZ%yg)ZVUa+mXFh-J1q#Ud3*NTGzqxHY^ z!>HT(I#)4<3C*Je*iZ5`>?-z28G~Fd^ea!odm}SR12O@-8z-n?VTVX+D}~YaR_YD= z?`kdWR@M%DQvND@P2fQuO_WR8QH(O}G%}3M`Y(G~CQ-U+49opDg(Jsc7fcnzX~rO} zq|GLuQYUiP!~O9eDRa_JtDBXR#C!Gn=H2=Mcdu2K(056vY}GAq&;)81vs0fHb{d1A z1*{tR(mviWMar@r@$Pt6a&KX4(phMMpNmV^fi!vPD6P+bD0Z+6W-gD?EkU(UStMoIzo}T)oC(_KEBJ_?t z0)rvH`agM?a9X=+T_xYp2gw1EckWRh(=66L5OTJc7u&~4F5ej~R>}ay;PkUe!L=h))uOm_iNkITbK`7qlH@NG`feVVA~o@mxt>pc?vIbR?(hW ztt3Kjr1Ak4WaSTFioV&d!^w zdh2R)LA$g8d_@`9GvK~DRo%{Q3V(nnoiTEfijzEa_1;A?!QDb8@*A%bR?$rq8 zZRoGHRg~ju$AC5bjd`ml5N(W~$~5D+kdm8Ws+aH4hQrhA4Cm*-M!W~nSg*zQQR@@4 z^`_xV$SEq8K}|UP-n@p^oY?^8MfpnpE!N?BOUU9of((^o)?34)h*{7)yGLB<74$!n zmeP;a^+~089B+r7Nz5WQ1b3jHl|t^G`g_TAK;VNMCQ@)EEziHXpcNl_ZY3A8)>*4 zhb|@`sP}<|kBMmtz9zL*oN{Y0l|G;R3T7;qC~etE(#hPR_SdpG^q+!aGpRgBJ&;&f zS4peRg0cnGxrdmO=EZrrL+QV{6wM*e5o?=^J4&i^L_l=|_dVV;D_1?KiIz|F2u){I zNK5(_x~E*Ux*h9G8RAc}7*@!Zv;Bu;D4+OpYV*hd1IIqBScu%>D{!_*5CyMa(7Bp3G{@Xtt=HPI7gY4qD7lQ$4;Zj zOF2$#1K;Y?Rs;J+9a?dzG`EZEE))?1FJU~(kcYs)g0@l#M2oP<`6j>DIc>!{bx_DKV@jyYS1yMf2bG<=)z z1(MA3$%Xb;Y9*ti*u}abIc$e1Fd+_2Wm||QqXeCUHZVnuy57@7kQqP@O4|=xNt<1p zs+AF9VoH+J;^!1jB~WYxlg`&x8wx&1!6+0fF_WDs(g>KuyYGHMbe1c@^YWsUHgb2q zoVyyCiO!W3svK|V-QX0i4e`X>mNS`%@H4fQ^SNFse7Ue@HG^D2jsr8%&H^L-1$elP z*g{^Gzfs4zK=2A@IIs*e}O!PU1c<*COZ_K3z|fhJKjMS$bWJi^D5Yj-eeRD?9nUw zTVlnq0aVTGRbet3N9~ZiIjiV7Ql7mx*AI5a4d#Q*LrmtMggP&9%9#GtB}ETp7e{D0G7b%)*v<)3=IBhbSo6mLFSkRld+M; z?aF^)0AH=AXd`tAc*t$Z8^gt!Rdh$`fBd-caOEhZ-+q#pur4hItq&%+NclSx@BP~v zgf8Ui;5|K1=|R3noBLiM4f$hyO3q1g#CoeU&N1G4lFjzzf9!X4@9>J-My$1mM=4Nx$n)?5eO`%%Jn4o!C0$e2K#=`bO!rTmg3GFS0d-7xs9( zKYf7$T8gyO*p@ckp23UMY?=?}K??m*_L*fGwOTBSwzJRkPH`R9TZ{4CR(ElYAkv6pzjfm6O}>R>71mV14+lT3`K4=y_x=8z3&L zhitu&U+UJR;f@wXr@2#dEh-MJqRjMGOB)Z_NkF!yi4hJxbqH!VZIgLl)r&=cXVClYAro=tpKvWw??)!dn)PuY%X^l+AdkULqvZ=TqRzFr16_BtIx6!*?7{6kE{>%q=(2rWqN|^JFP`j5tW= zF~akN=?kYrZt;SQdtY!P9O3ngll~oUUK_3 zzVXb)YM_sj7t$KcM$K`hikD1-<@Hw4xGvlwm&jheiETO9$_$AdWY%aqxp!2CeE~iU zdlGcneuQ$;Z;;Ch7-zcf7jr_l1Gc0^)HTP7=1sg6+C_u26ka3z0 z)5mczKbsw=8*O6pwYs1=yNm_VL#W97XF(JPb^)8BcQ8(hHMJGCeOeoRG@L+|D5@>* zP@k-CtJRiTL+&S6* zldTk;=XkCxDvH>u6E^pyxN(qua{+A@_u7m5UCN!v3g&V2ZFrs1C^U+H2^!Hg)-d9x zz@PY2!Wn)g#W`o-n%)D5_;h8N+Q&3IZX>(FJrzFbhBz(44D&VLeYKsZJ31UpkyYZZ z+Q)w{dY;M^Z>b|4d$0y!kN&9CAu!y22+Q%*wColR%kkp=zVeZJ+7kL|O6||6Lz1#Mp1I zy8|j95BRM{6TK9cF3hL8DfgI#sr8e~OS|MV;lWI=F!XwYHCSUuYiW+y0`5pBiT@VN zaIDo=D~-rbwintw*@NtsPdM6h?}1x~IrqHz-ln06aw$lENRfN;ZIoo~TQEZ$%nlN5 z?3W}-t*15y$Bp)Sfx6naksh6VmPPIVLpwzV#^-2OT>Rm@LXU;MnV}Abs`!sS#qLy8v!R*XkB-0^;ybW1iVhfZj|QwILBk8{2yZic=j; zB_QwQIaA!$Ri0>`ClzRwgZ;SAS_f$WdN2D2Xs6wjH)BJhpN(q?2jwu*j$K1NCEge% zqf0^rGJstj3I?vi^YcMyAkKq-okVrJu%7B3S|bQ)#e!39?Xq8^lUxsodGx>79fj93 z`0M&1Ei7&|_LBXBZOn&Fg3;UZ!BEwKL}lX>znN>dsg8P9y{^wS`Snz?rD3Id*w45& zNTayRGA(vSR^b<+pP&N~A8i^f0&VikZhq!1%8OZ$sl6~Cl#}gcQpO~YE?Ji;u8s|4 z>7R`fatv4`rE%TE&-4j#S<1FxU9F4!M9^jo^Q8cd@N)m)s%$P}1-GBJ5+r31J6m3Z3G2 zR$O46uRv3ne-1_|sm|Z^Lt^h}6O5seTu3i0){_aXY*e@^DKLMM9zNVyLd(JM=&#u)pm) zv|mCK(8)pjO~e4c9{wYl^Ih@`5~i9tJ=@bJgcKaklUDes#Yi4f6I|EK+Aqk7wpozq zCZoOP)XN11GdDs{BD;YPJ_k3XZVzpB%ujHTJ#uf0`^do}3umqWXmhni+I?vfbICTO z+8xZ#B^vF?r)qPsLr%ob%WG3=W7EM$UQjr*bJT4vhjKWxq!8ho$cdkZsr)mkD*b9`ob)w$gHtNmBA_2@&drACdFb<&FcO zq?-#L)j!gHBiGl_wj7-dKIp&nd*0p51+-K4Gj*J_KAhpH7wl)5fGy-p5EG0Z!Zmpj zb4EQTx1>6yjbw{4bH%#U9Wo}nd9qA>Cs1Xf*jgAZquerdv}9=A@Z##fXc?vl*90H! z86E9n`-bE|`sEq&5eMxZMZ2`8q)eYlsfD&@6VYPK*-)lX)=?6gkN@NMsvYwCbD8pQ zfhM$#?yWqM8*bdKyf1i^Z3`Sqeyfzyc6!p~wfZo4viu9QW*3+mgTI~MgkPS6!LV`+ zb{9(EIyS&G1zRQL@w{jeBhK5{0cTVG9?@LvM>HoZ;}gXA5NY2DS;1wgHu~QMd3ZJR zIsO*3b=EN*VcW?j+XVfs|D)an-W)f{Gn6Qpm6Kc8%X<;2MU6n$1!e01S5-%jm~9&! z|GV)?|KJjtW=c~>gH+Pm2dJ!JOv3QgIrs&01Hz5A%xao9SGRcZs;_J-f-6BagaaE2QR*?b8!Xa3>Zej0R_&JU(&z0J8Y|BU@Aax~ahY+@a?@*bQb)J&S;NmI6H z)8(#oEPh>I!N-B5*ni}EvNzn6`6yhGtBI?$Mh-tTWM2hU+1=`4a89yA7eNK)97!Sz ziG|n${9;iO1~A>W4@|ZFqhF=`;T|Xv(CkUkZyUQA(=iI473zl#)zggaf#+BWez35Y z$fgaLyD1h0Qev=~ttxj#|4!T^v$5i#tNj0zxyiocPqb1gG zhL-_rXnRs;E|wXL^jFu)Rmt~!5ttXcf!-1#-j+RF4zIx6laKO`?EYa61@A&EDGW>{a2_D1Sl3uPfaXq>=u_BY9#}~|$ALU+Brm@rU zNwT}>J$;m@?g;wUg_bMzv8iN9@tr)5$)wwuluGNAE#czfYv4`6SoE@#VXJ4{qI3E0 zmK{iOS2JOdo`7GJYcObVkG_X^VE<3}$zrx4SRdl5<4NKZX${z7EAHBF%Cv1nO9;P_ z6_u~b?x5hyur4MK*^cDSS33wm-6ISIS98yikIP?CyUG8;?Y6Thn~qr!PfiV&O3u)x zi(lkEwikTWEdkR5s$r-(RRnRT!)O4d+UX-aFX(A-@bFr>cBKc2h3iQ^%jAs4_<1yL~?M#h=-!Lm+1%J5E zw|=uXc!g|1wKtchZU!R!Ykmq=SFcHy4p^9t&RgtTvU_z#FBw|sIB3iOH!R!vUbc)} zl}PaIGS%_GgfLjR=8w2JAfC#EbL4k&SG*Tc!uP4=@(nQ+{O+s>CiBZ6tu77bCsS?n zET6arNKfX3YqyXetr)@dx#VJ_6g>&OApDSf5T*2gATxBgcLq_L+$JPMHeogGQ8Az@ zRP&;)%u)FLeQx}q+R;|xV)R?+Pv00t$JgU!9X|@GsNKIzKa4C3KzgeCi9E7WZDtwy z&3ZZik@dd$ja-%eU-bup;!!Q+m5W6$*ft{na;oeU)U=1ywn;NW8})o-F5QS1q~DD} z(%)LdGM`_B5WH%n(N*NK#t!`~T7t}G%cu#ePQLJ|+!l369>?}{G^NXXo@mF!T&$2B z8Y~Dr!Md^#%nqn(o6Lh*|M+NX4ddx?MM^ait7~_p{x`i=wHEG#T9Ok zb}yWubj!|jytl5!EAVfb7mlI$ZmgvIB~X{SPiKc0E0g6p%zQZx`17hluTpcVp)!{G zogdAg6*FxfbA~afU|gY%eCyMw$8>Xi68sEEXVRvw(VC$R{5hW;O<3C?+$20Ch?4!$ zChl3J3SfK;D^ziSO4BOiaimrv``F;-YQnDHIX9DG}nh&?!%2^)Qmd%`$ex_YAgC z6DX7ay!sn7$8OVx7?XUcvr}|2RfeeRISx)?$FqkM|G8_123OyZi|bu@zL>NDJ4!@ zNxZYer&RQaZ?kgL0W;E$DD0$d1Z4`wP-|>=l_@%c+(_A_9MqO%XHe_COVD4OJx~*# zIWwc5q}R}Xv|DfDdJp>xF8N*Pl3+mwdDbSL)~cj^un%xfR_^%I!>8A^6xNH&sU11v zpuuQ2dJroHc?|V)&Ji--IR3F`0>h|X&_r4YAG9hP)HgwRXUv zO=JAzXcf;Ch*o@k*ZgqVf|=`fsRxDs$*ewCHKi=0zJbat18Or}jkcjF;1@07Yg`N9 zbZ?Zdrf(E?Z{TmH zwF|t8EFw4A?kU^#-zxXlX6e4b4Y_|{Me2LZ$KLb}BH_GCsDui_7kx#bI99tL$OCh$ z;7>x+lK2Z$754z6HKo&?AWeLj{?6@&T|$pmU!FoFh_UK*@R}_b9T7R?w(1)Lv3e&5 zL&bsKB%w;wBJwa~pLAh%+6_I!EkN74&2fPkPVST+Iu}OvsXO`S{Agoc2bpatXUu~@0nP{w&{t|d zbeWnS83|*s&g`ULNa+{ubEf?j=4f--M`42F#z3EPWg^m29JS4odVj zCCRmyd1p7^%-}CE7kyxRB*0HjDTW%_ui$a=u2wzVo!qH>f_}oMg_-=nfjC)Vl08?g zENoT7W*sDZWe1-M^-;uiE;Ld2LjELQizTbIU^ax0kd5^Ox|g=vyTEiN(-IRa+DtW-A(N^fc#%v}Tb&s55@axR}z`o(btS<(S_k zH(sZ3AwO^yBgt3*onhV;$)F*(N3Uw^iCjQN z8Q;{C{H@5^gpcr+zl}YaR|bzDz1$z8;J%~&r^P*n$h}c|+kybFV#(BL3I*_d=>{13uc1{l8 zDHsGTxS4_JfqBAKeVI+-uba0Eb@8YfRai7#!KK&)3jOYH5*}-G(5^WY@UZFt$Bv}EEeSa$AfX?EA|JU5I7NFkm{iZWIy2wc_zOl)7;n0TgHAW zRFQMb^_V!)?d=tcA$WTQv5h=RD8b%T>hXK=J;AQRbYbawM%*gA#CAcR_eHdW+zuS% zpE}I)eKe-}1@$jAS*~g0+5iCnPA@&JH7=${g?-p|lA1FPN zUwUc>he|E;bjJd8FcqUeR+qbST`TeL&c@*#`dfE(Wsv;=C~udU`kUUR*h34Fto8%p z$#l;}9dt-Lhkb#MOHX;Xb0k00*&m;qb-paxf4RX z8o}kmj_TxW<2m_2-a~yBdQcnI-tqsZ|E$!38qROF?XF(Tep0wu*fS}`*lmAYXgGiI z>AvigWB3ZBJgX?r9s505LKl`Nh21`&C~q9><&5!@3^TmSKg>D*XJCC zPmMxOkgw@W9BYV0MPG!N1(d?t2iR%bQ1~3b!8Df7g6@1pEZNtJ51DSOs{>5RH6owy zK*V~jpr#y53Ofs^z5W|HkCbj$ugbNMwfWxQ7~@C|Z)RD|`nN1Hhm4ENN^pW7C{DMv z;!eZl(opF?xt_yq`Dsii-$jn2z&@AiK~6I@G9ud11e;hq)H3*2wUX}F%5tuxvP3Cz z5dQ1fScl29MH?6JinW!a>N5<}eU9O1Uo<{A&}f%Z3ldDZ(AVTfa9)oDmnvn&#ab=# zqRbm}jgDM0xz`|qHLT^G69f}{N@Y4PrPPtC2=(NY4GTA<1!cVwlS z65CYjg7}$zd`Ib&ZxmvLtCG`F_Q{X1BsPle5XMq9a`r0o=+gXA>KhhOZ`NFZ_2QBY zg?J6N7;)kWFxa@jlw+a49*bw%yB{Vuw$``*qPh?(p-~=}o(i3rDUOGbNtmf$z>7An zRvuueG>CkQ*XAah45qzUftoM$%)J?DmuAvmlIE;V&XORa_s2f-7nq;I0XhjC9{41* z!EBVdFj;WAhbgAW7uoDOsFp8!ZoDQRp+_Kr_KY(uR0p<*6;d$XaAiUt#0vZ=&BFj; zr?;|X0cH3c>LL13xf;CdZ)|7v*((lPYTHi-whixn#;5}8x(4(2Q*iktyFic(> zzgR1YtP{`BCQv%4asyM6%{y#Qn9Gr$T=}iLe8n6M@e|lUDLL9Gn2O~{yZQI9>C+>+ z((!_sjb#=TN|Ws!LQ9nGwgy-~wtV1%c^w#;RWB`#OjWNVY#@irg{`cAw1)1rbciqO z9%I<7m3=)d^*tK;r|Th_ESKTWDy4m>aZP;{*lWtyr=mOXYY;R4%G62Npj2W{hCUj} z#^a(Np({ce`Y(AkoMHzp{~*hlp2A3?0oTW96nbI3ZVN=7=B*0Pl-9Ag&=T%A>beUx zZ15@Y32!gOh%PFVXlj|F@PvU~6b~fbRBi`5^J_Gdaz@*nc$<$6-_ky62h11ZTY&%g zqWnF^GTW)pYk8Eso_avBet&)dY(o0*Uxj&;)74BI6sn47a6X=JWps-Fm9+`+ zx00(0)Pm3*{2)?3a<-oU2OO1~^GC>IN{f`~ zOe<|Z+KQeKeXQ&kJ3`lKHFyqqsjoDKJ5QpR{-yL@*!^3qpYbl#n)}K{hSAgFt4Yfv zwY@y|HLEC!j-C~ciBZ`;LIv4} zWzsi7p%7rY>Kg!{Z-IdEJF6+Zn0KMkygU3;PO+v!Qtco5OVl7Y>L-OC%z1e8U+=Cb zl@DC<{A8Meaacy&O68>SjA(^5QaXfdfGtAf)b4UkXo~s&r`{awywX+}VZ7F_X$|Gd zxH^=ya90(^mdgcr*mVa)l6&Qpsj$& z^c4mB+f1r8`8iWEbyTpNAST74r-<)tU9zKk5Lv=Jm!8rk0{@`3Efa%&5m-05j^kaR z|LzPZV0XyJ#eHmluv^JBw+qaHl<@&Xt*9)QHgcr+)Q^t(=sdlqU;$p_T-E)-!_e_m z%DIbndzSj7Sw43X=Uf-`N)vGAr>~Gh?sgwQ7mq;PZk%u!&%U^8#p~ zcSg1le>e?(oBjjc$8JIAU>CB_Zazm};CC6zx#UP!d7${`!oTIqLV;;98}#sT&Q{Zw=~cwt`rp>GLQUbNZpVja2SS&aZOmlGU~+A#T8hX54ODSV zQ(Gus-J^mXLLz?E-hqT3Wl3dPV9liCp+}*7(?v!T>Ok|zXzUT6?kYrQs-=YwY91OQ zhuG@UBhAl4_Kh#m!{`}rzp9gitx{$(rPF7V4%Fe^fyKnI;Vy=MQ!kK`SB$?+*B6r+ zSD>^+@%@BH%qB?LIf$I|WZ5f%55e_HZ@}kmEa=Qm6$vB4C`Lq|XRSt6SKh_dPTUgB z_I-id0Sa_NCwPw9Zv;rOtNFBj2uv?Z;zB)9NF-Y!t&M}e;l^A6L?>Wpgc4S>dekw6 zJEX0r<>&=y9;u0&Dav#^I5<3vX$lTi>rAdTJtZY@)X|hm$8H6!&@tW{{v104`;*(s z)ye8|7&1y<7q&6q6Uw6h@d<1e^_lMnGxTC`cBG8AzCOT?!rjkIYIf=lWoF_W_$k#3 zgdARVuE+S&thaCD8u<8$bPs3$py(pPFAML`)~CHgmFkNb{&q&-%-wt65nJ1zz) zb7=H7pXV4z%u1}q*rACbL|WXB*&gW)_*2xA#6IFCtL8+tbTkVo2Y<)CxdXA6(r+%S zeVn{q?oZVhSmqd!VW_qYxeD_Ta+GecB;EjB=sZZbmdfL=S;%|14vJdLX!6yBNlF29!=N!Ice;a+MBMV-LE{rIklo*>x?} zaj>X9yMg!|?QY9}x42T)yI}3c!Q$Ekr$1NTB?Zu~XgQxtd6_m0Yf1MqpQmHhi7DG` z?}a;V6SGx3fh|eij8P00x)gqAdoG<&f67OJKd}s2+L5>D5<1$swTRFEV(*_njNIw0 z%DF-T(O2@(p>OQOlB&^o6 z^>O@7zaXlD)!{3SpV4}HI$cFTxLw#PY6g4K(hd9Ft%aZG%~NCb`ErAlAL)faMFul4 z&%zzSi!(j&m&hLOa=4LqJ9>yBqMDHt=n1$ookDToQ2EAqRGO9A1zCmFsNS8aV^fj| zbShcaR*hZC-eBfa->F}gazY2Cm$PDC0UkvDFv|P0`51m&(KF*4xewjz?~>LHsIZN7 zE)oa%`d6_pFb%a9oV0peEASDa-=t#7a;(1T5!Q%GAd5r3aihEpykt_E!fB<@rQ%As z>li9LQClg0;LGjx^r=CKZJAnvEQj`{NO<-=9Lw`f&C|teMNgDEI+-tuchb{t1v> zWl{4}&eDG{BdEW)%Fs-kB~L*<=IuA#c1_cZVS*9wtdaJc8gGoTpOaUqclfz_M{*&) z0Uv=?l=`{T;ruNormFL6V6Z(ikm)vo)C$Xu64KtH(4Xocof z-4{LQDMQDyC-alg3S>=Yr(n~U>N_-NAYuD!c^;P~uMaj6|FcWVA#RqK;(8t2!VHG_ zDXUaQDW&uQH)GFv56GN+7bko!DGgtUZy|?jDtO@CD@>;QDQ_(^oK1q&6S6@%{S_Hx zEHSQ1#e`Dydh0dIE61+&b5&=sw9W4O3VTAONlZHvjVi0i!_XMI(78h^=l+|r>h+Xn zuHUFJu0!4nNlk^edTwABcQdkznJ6wWJ_^6ElHf63EmDmeWKh&(W|TZ%s&Ajj{#Jr! zJGe`$@6@w$Pq8>P2Pu{Gn_5yXP2UTZSBsQ&8bwt0Zujm6U7X{jzv#ovJiUaN2iL;1E{Y-XbtQwx4H*bELW!=?jK?PF4Gj>_eVcLj@)uG%N+LiVeM!q?&6pwHcxR z5$7?V)D*|4suIV)j61~slk}E2%05b{mLD+NwSM~k!VsZz>KYCZKQ`bOW9dy!}Z z3j9E+?EOHDG^%*7OXK9uN{iHUqC+VX*wau`kQDa;)Pkc!wf*79N~E(GN;+IHkG#u#He6^EwWroHnx4?7 zXdH49Ylf%t%{=YYugZIIC!fo=RF=yW^T<1ynHWK=Udusj3VWS+0Vp3YIf85O&oFx<~686EsY>_;^=3t@|Sp z<4WNVs^T{;K#eAOyJ8=R4U*zI7qBz$Q5?=tW7O;DN+d^|j@+YqD?88? ze!ehCX`=&QnzM4SOn?iV1a{_9{u0+ixCJ{;y^SAeec)dyHHUZf7PbT7&*HyCswo?^ z;8##%v*V~SL|1ehlVfwT%N^C2zMw4LVU@sNp$0(fLP_GcaDh-EZ7I20n25Fuv_mt< z-2ARodxyaer9M*WpobnX1_oomFf~v0;4UPH)PbMWQs!HrNIfSXQr^gRx@EW&K9~5G z`vJ5G-z6`rPvpJ$RC{rjS85Bm&Uk)E+t{Ui6*j{@8SBSPQaxf@5xAuXyh9TR$-#DcEqAaPS@02s-1 zW!T_oXFR`J80VcUwv^>?RfKn5!%oQ`h+Y0iwionjXK(P-eOXzAWBQ zWmIFde<-cmX)8nYL6$}q8%-@e7^k{aJfy7(Ok<{qCz6YUl9&fDMpbZAi-kOsf?yi6 z0Do;ycW}OKY<2(sP-}d?!Rj%lIUz5f!d22IJ4=y&N<6b7Wq>eU|Ki>P#Q&q{tRI`m z+BRI=p+ZZ&XzI>Fv}nZ5rr>?4QEkJ{Fy|E#*=`hznr}?;^>}oGz|Dj(+^U_Hh8q90Zn2hX8Xe14@tP{3>|oR#}UM z17(-8ahXr?TlN`QJ%B5J$h%wabt%i*QZXLjS|sbJNH!%T43hq>{FIv}f1S~UT5Hc1 zN_%gB?cb;qnSj4MfGsj-%BCv^R7ueYz%6{uu z$r;`9*JQ6{w)1=bF00DQt&~_z`}-J5$x?RyeJS~5KYaiq-^wnVd&`$9UP?cj=W;r@ zt^@1%ZfBg`sp;vucniZOL@1P+2%#S9N~_t;m#@CKM$@D{qC4X))!J4aq$Y*C5w~qkuT!3W6$3l zz+HLW`o3bY@}gu!&NF|O+#}23v34G3t~)ARYo2Ud!A){3<_r0cIcnQ8NiWyNooB60 zUG+I}Ny5f*R>zu$Hg6gzWTWPodw=c*1hVw)K ziw}x+3i=79j!U8xAaLlg>xR8haMhV~XtaI2ya%UwZ<=XDaM=9k z%in6*QhCF+(3)iJM-3DGZZosYryCGqSYtjT9xHxgs|V}_)^XeArew6?i+8qjDHW$! z8VBDhU@0s=EyHE+Qr^03!aqgcy#&xsG0FAZa)ISaccFeUD@1^*g5%Dg$YZnG`N_N~ z?CXAi+c9&~b|mmX93@M|9e5eSVL%zigRezAsA<%yM6`{iL#`9|d*FK3VG|lcg^4I(dt#xZo#C+UeqIoPXWDlTV3B zqXML4`Obe`siM_DV}2viMgAz^Eb~kAYTE??>;1Kku--BxdB%g=g|>=mmS-s|?cU1k z>4Fxu!k^8mcuVEo9jVEkrTqbK`9yJo<*jrYCpYIH@Bj$#4_FDc%uN_u$Y;vhvhIya zfM+)6UX#u}AQexujU%^8Z`#!+kKnWTm-638zoct+5U8iVBYN%l!}VM=7VwDr$pZEl z+%{$ZE8Ady%H`ynQr}3LvqXJ;Y9V;rIF;{n)ViKiEqI4HGlVP5w}gi{y};Rql2VDZ zh|Og6w_K7Wi|)!Peu~+~wk{S)XNY?XuZvy4HhVqO7QXoKQsq3OC$pYh!UZH3B)c+H zdw(%55*#iQW(TdUMPb=kbyL=5y3HPB@6Y>5D_@&8&{Qn{s&L4<0RfpmQJQY&bQ4Uq zoJ>!0AQ=rLJ?x#l-7RaqEv1wo$@`H!z~6OvM;>Datu4uiWE=NuUPDe}RWrwdLqBE4 zydf@=;$~Gpb6>DOe-39tRYJ)c`Oo~9rp^fuDM+(U@DGJZx*N;Fl*v&|Lfl#QrTS?dHp#rI{KIRBZJTJ`E#xecfpj(OymT&rxCXtg4d z-J%aRL{-KYz$d&1XNe%>al%_7M8CkrM&c}#7a*ajM(bAqss+bM=2>3|7CEnnJXXbpMFsm zEo&~FChV$g#`2J7*>^ZN;F_>JKO;P4o}aygTw|lSA;ALfz>LbO7gfD&tsPC}i3d%fozl8WBz;8> zGgi6x=bp=L>-Z{)DLSw-()2QI&MshHRWqT;TEzd`diy|){FO1&VY6ywo5;t)KgCl$ zKgDMi#e602GQU6fh&7)##FWEddlrwVry=^Ojg+S z!n2kQ#)XDGlUC2K~ zYSVo4eaHWt&mB{!xV*X6BVHLM5m%Jw5;(fF`Y7jXuN(jp@mD8;a-AC+3 zaa+-Exdxzw{|on`d3Y}0yf@>~p?yA#d)7Wc_D=GS=al>w=2awz=*#z%X*3xSgq;W2Wm=&dOX7?_KgHDv?TeMw2%j z-r}j_>*VhoQ_BfU4Joi)vHuC&_uOM!E?K-Fxy-oQ0@|gijJ1yytx)I8WHUDVIK_gS zxl<+MIH=;g+h{TaJ>^%~lPOKs0=T??DVy=?XkS5AmQ{N?<@GB2#aeq{xqN|WhHpX*Wc1Cmg?-Xuq3pU6; z%x2OE5~HmA=i-6o^V65I6o}jMS<;23QQV2*(HTJbLd)^|nXVzMPNT8wncZS}RE6aa zXj5hACK+UWojKip-6^q{fv|umzb)T+XrW_brKoK}!V&UE*-A=fivtx@ENxKLG^aUz zFS$mty6P)yjrm2CX>;)ZGY;`?u6k;C==hM!{tnwK#f?fQ8x7LD>~!!iwrN?PcPlU5 z_)l(L><>S^tCc z%a$m|+bqB*afTw@G6FcuheR_RnYjjs(Y{f#%n{kiBd_os((~@&lJOS5as@Ea)YcAr z6Kw-2zrand056k6SZ~H_{uSA+yhrApRYCD^)mvbXWX55FJ5b!r-35T9jrPswf~IQ@ zvowu6RoZ;Np>(a~c==#OU-1WPH?X^b!#yuuBzq{WOzo7jU-X~F%=#W=st(RFN10e_ zO5nTQPs#ZbMo?^DAiB%zqiRiVtunK2k|aW6f;@-4gmcHj~w=Pff0s;At>@x-oE6EY!yWlc5 ziF;ZFxv~tEw!WfOw$8>k)Nsdp=^^8~ss);tlKG0yY@a48qe{_Be1msK@yPm^(;|_b zu@yhd4`ii_7fG*(8@LHTE!@C;m-#{1-hRi@S%leJk(bC^D`Lr#J(OUQ8B$)>L~>WT z%-Xr)Ie&LH0el9gNxgP6=Y_bj#ALlLZd$4p)BvlDEGwic2QXRw%l}6>iMLulN4(mZ z1{{>U6(s{EhrnY?m8ws3rnB9@I#qoCNkx6mRd8oj>7ixfU%Y9+0`WP{JGm-nFi$9N z$$Q5(ie^v&?ne0tk&HSnSgRZWT16RroqCr2y6e7+^&bJ#^EXtr&WrQ6xmr4=c<1g^ zQ0G1MgeUC_$t$u}vL$?%%`UEIS(tJuZ?p9zuxC^5A*A99=Qc}qb926NivXW>J#-@d zQ~q_wGJcEF#qzu68cA1M0QiT$k^Ch2LpTmBu_QS*NigLp!F0h@*=08Ke40ch*=$0k zi?ORTg&YN}Yuv`zo0n^OZJ#NhN>vFhjyQi97__XEHOwV!W?2WTkKATnt-2^BOajA+ z?A0bEXI9xR$H2oi201mP;sZ6zy`cO$n8lszIxo8660x_7Uj&QA-;G_}zN!sb#{iC? zwG?5qf6{*!9NURKSyOn!Y{#j!hSU6uWTPypD_hw_(sXOKG;GxK|K4=5Y{S76={V^fUVrXB@qPAe z+(W)Hk1|cC`cx`aW|zsF>&fKzmk;M(1m4&WsP?)(@|)Nn8PDeR$jq?!w;s-}b8iK| zSVP=tJC?gt4!?+ReI|bc$oMm4%krnoq@r2Uti*xRQKfTpW@hc)zt*~k{q`Jk4*?*v zNc32x7W~Pdn_Ev@$GOhgP?iP^YD|$w_zlG&^JMo@wbL?=oR#y#-bZp;{JH9uAh+#Z z(K1e<>9T#Et&9iQ_gVXiUP^?@J-K%b7lAaY#MnYS%>LcZDeFUCwJG?ccs_SfJVEkO z-c9gE`i8wttj=*-bhd;No+DN^8_cWdbugLb16;6fmwSbn?S*Wnyp?ycLoaMp{#Ic& zE)aLhRM?9wHY(NYl3!9haXiW0E3Q;UtSflzD>mCgJIQ+_j3g^L*Te_1zFTnHT#<^D z${&!Y4E>b#ML*3;5@ps$wnpW8fsmT*98|{5{!Jn<-{3o(|EtKzwmZ9;r)0EBKW4eF zthBc@uNMt0+ibT}bA><3SW=6lzLH4(jT$8$wd*p+n|6*83Tm>Ki7SOe6b8pg%OIP? z_=P(}Hqq>}=ZQyFH8qOd_x2w)pA`MdA8LK$Ei=$&i!fO}k6L99IXt|E=BAeI{Bu>m zi#qwtVh=xmf1Ll0YA(tWzZ027UCcWijmR4=xv5*;e-0@)BkiE6sdcxgqUEie54lSm zHs^C^Z`J|Vl?>UpxWm+5{;9)*ssGtsY_lY2*=Fu$TyAX%bab)M25L#GZ)9TbuabNF zz6kVov;C(fZt4fTV{M=!(#LX1Qma1LQu#`%R_qfcQ;VdCVxpu2@WVXL`Z9{mQ*$%d;ihCdj_9+f3^wg!cm+&NJ~OJL)3&Z>dyC)Z&%=%x_tq?)}}oSym~% z!qSZdt`yD&c~nwl?e8oAPLm#cit8HZVPzA4g>6~IC~|UXOYtF@(s7yl+T{|a3mV(j z+HO+A%a#aqlI~QG&2NMmt}BkgmIv-$-ZADWE*CY>6tHfPrsmAZ7p7;+uh?t~JNfopDIoK^MJ z-j3yy<~jHCx>XGp3~JfY&<2>G7;iqrYh7>sez|Rf(Fl~;2RihUFC4ptXLGY}-_OV{ z)ZIf9op-GF%Dady%H`IZ?s>||k~!{Fdo#mqpSJ3viTD5aXVLb@J6A}ym5dj>u=S)= zNz#^64>flcS9GFISSL7dnUfs7t)qqYeLq@7jMY?cvcmc7(5ot;=cDw!`+;i|zbLKC z-p%Fz-@X6N>%_SrO_FoAJ3K|=`Q#a1Gi#B#j^DyF(5<#~NUv`>uuEjTEH5@^*?N(g z$_Jto$~BH0vYz!9X%p(FQ)Xl{)aEp9iS<$WV^=RzCntw`COynK1w2ScIHP6Zvbx;i zIr%KaRl*Tj_3jwUANyn$@4rX-1pi|lU0pbpR5>5#&!w6=M)TUaXBj7wNg!-|ZH%xP z{)VJT#$ywy^#z3jQT`j=EV0~JCf(r;i_^KoD^poc)}H(i^0)Tkjy=*9(jATg!e5;_&;ra z;IL(;F|p#O{REl9at>6~X!9QF0*cF;5PwyK_uqDwn2QAf?~1jC_XkyvZ#VQP4a;lg zPh^Mbx%O!!YCl9C5zyjs6ypmxKdIm6Hulc6j`y4wEpY8HjpH`UZj?d*TvN8^xOlRu zMXH@6<&wVd_DS3^=@--0?5>;=ZIl-9Ro2^Cl>N4BfMB6C$Um7VBV)i}5zDf7#Dxtd z|8XVe65$@sbU_LCljH?2v2vJK?M^NYvn@xF@hkZ)dx6>K?nni)=Xfu(oGKSJTQSTs z1&G@M_U9~xYrjM%BC5_x0qTDC3hs06k<_Wep^}Mq!uHvE-u;q)M&cu{Th4pelH=Vm zS9__I+77fN8<=Jqn|WdL2*V@WszdYS&t(y^7iYUGn|eXcv75=kWq0{atPg=#4w+%- zcJ_hUGBCf^b$e_Jw$TV4T`CW^BJ{j8^Qukp@u-nq-%`%J3@Mg0cV!5 zNV-U(VeJT9ai4rzJjYmKeqotjl`B+P?JR%th(l^zS^2ST(A>&B#M0kf>AOPqv`@C* zk!>~Ck-0#l@FW%pAS3CXruB|x*?jLG29RxOj3yUXq~`vY-LdMJ z?3Tlud&0Xz-qH}Oc;e{k7UliO?=Dy?_i&1PYG53wIx1b>NPuE51YJOPwPMGWrR88cLlNzNS>25$|QWz!1Lb5XBf|PITEDcy6 zlpmMgb#&y9mkLZu`D3|GGJ*9zeKSn4j5U7emkL$`lO@@XKb7gcPWB(25TD=qPyT9S18F_Z^76rl&!lC#(z3*kBQB%Z$M4myhqNz0E?5f;$Te5hrqi;; zV4C}!g2V5VzANQ+ReSLQ>q%R&s=s&}nMvJtlu@6|^(t=XrdtE~ZFwu*C8U%;-gHMK z;Sf01rsjR{zuhHXUQ_tW8%AMzZkgE75oS3ZAC4s#tLiPR}2KNp}41Lrm($g3s=bh zUD4dJkCNw%Hm=ONkh7WJ$iO3i%{!V;w=tN9*rz$nRoV7QxfVft*HjrU9w#8#$3{?c z$}pBRIKT3N2VU4xT%(08lwJeOZ=)#7#z~t! zg=(Q1CRBs5^jB>1@r-ev?U=BoVGwoA^nvZZS%e3KJmICP+xvp%jIwXyU}jfoFF`|K zQfj}$jSL<55;np0m~Bc85T0bIY$ks**^)ya#8VExl+U!y7oP<(Y!2JeU1Zs3s->vF zSe9NNm}~qfKg8zV+GK-fLV1d%NvIu{vpRab`8rXsYA5;8>@rMM0Ir>~qtXl zzG?ABp+b4!l{KHAkkBEkqvKrpwmq}itk(gv$vKu>C4Ob7$nI}R%dQ|7S<0v}l3Tuk zpoFRrr5z}9{97JYNv(QIpYj>(E5Ba+O1eONken^}Af0ZWNKO%-k~ZO7uaX(Z@)ahx z@sOf4Z)n+5SwY(aqCIXJIAZxr*5?3DdNY%_%YcOZHKhq9!@=ZTA;ClTWrEGFRYaYW zRSMbfY$m3-;bztZ-lN@-!!mNN!My8oMK9M})*aZ&jfp__^L=v85Nmx|duvyA|BN|9 z?bZNp$w_}A{sM-ex3YL(8nPJbfUKl*v2EBo#z1$=O9hW&*EFs1f8aUrFV*|KH@pqy z8z3#y%s&?mnyidWV^bI5vXCwasfN;RoL!(5!EC6pzKDMAO2o|Q7Vj8ny`njWqN890 zJ%)W_2BAF^SCL7KvU-#sB<`s0GO3Z0$Q7&}N`*4D9_>SUl#*Zu|8jh5(28C64$*S8 zWxA>A5N3r)@F+bdJja)aO!DR+2k~84sXNtM5B;Qh5V{1B=yG*0>=XT#Iq3e?e<`$( zpRK!y&-W(=ju8t{3mwJFu%TLyzl*yCdIEbvaENwTe*|<*4ZQY$!T)sDpvUMxb=8_a$iG@oFJ7*Y{d2VQkTma2Z`8X}(;YX; zYLVlx8mR^MgzNmDA+7e5)QqpdXSiN!Qr#Mi3b!p2lFbMo_6!O;@;uMgrvfOHh7Ccp z@pihqLYx{~=bt10NKO zKr^*0VLi|hKaKtC*#p~9m`DgT#&q~2aVc%&FIHX2uX6^_QpDk0>1(OVDziyj!#VgS zYz~otq+@E&osd$0AMWV&D;vl+sNP^wZ8t0{P!RfvrD1%?RM$ z-B=TS33x)|^|i(~Lz%$Zu*2V-(+s`g-dHh(SL#q`b~CMu6~$M<7HA;CXqQ7>kqEXH z`U*D$dceP8n{-FGqax+RaPO^X9QgxTq8Axt?T3*^NMwGG7kPl9XhExGWs5=O{3ZJSV`2g(` zeFoA3OoF5Gh2BN*Tg_9|YSjjMM7STemhd5`V}tOcu2A^9e;cDmVC_72Zx0`|1P6t> z26E_3yl;V zwQy=^9FwTtf{|b+%?iR9DU)77)+?LgXQ9Hh&4t=xC;;-hDUac6DNm%E&u%O9@t8dQ zWISl;6MPa*h%1Pu(t48Xsz)?Lv_ASb9HrW#v+;#BRf@Fg0qRvTQ#c3A!284FbUdQH zt22_LdJXND4GMR|pN3KjaqAmoh_75ZHtLn6CXEETYkDgaGS3#dm}Aima7~DT26$1Z zmwUD54D%UN$0U&y$t$$baa;mGqt(ap_Tf&hY14udIMLR}R;WT27 zD^-2W_CC;)F&7qr4>Ei9uMkt=YstU?)v0K!y-uaWQOE7 z4Xv|XRv#$vU=L&OWrs9RYKqkpkS0jEqa%@mU3RrY_6F=_`wHs2r)m-sjw7RxxV|@Y z%6FXdz#SYn(^qMXf%BU4j0DRFH;vR&Z$z#H_R4nXHX=FnL+B7#?SIwIgRZGNhf~yR zUym@xOwv3-*72n+Qy3g==<;oX%#bF`$zDXK&h%uvQ5<$ zE8yRZJV6&Q57}34Epj~0^S*#{eV-K!ey+L}xfJadEDmf?&*c_E3QY>KP?_V;!y6I; z8V>D5OXPoq%e3F6$tY`v#ue(Z%7l_~>@#T99`|1+x`v@>W*{;7hgPcYr*g^92j9qx z!|6rCivM3E*OcDW3{TVr2%4&2v;pEGov=Q1o7ff1ESbevn4L%`xFV9O z3Pm0fkEt{96ZB}!s>s6{x55XC;ynDkCtH2S*HhhB*A$)-wFHLhnqcXw-NfqHQ2k(L zMqpyiZ)mSHvF;HvT+5)SuNYoRTy^?^@$p6I6KDofr0T0{V2OoS#!1~M-4)$qrj713 z-0NkKVo~s{}yyF7@!!TY8jpg?$&PtmS}eco&_Y#COp4p z75b;Jkl^WF`soNw>t*!=x$xwWD6&Skgx=#%E4vaM6uA>^sdg4kx3tG+6|N0U&_BnT zRHvdR=~pix|rNrLAF4e{Gmg4_{F02hrWBZt5@SD0&k%bM0&-k?T zGI?kC5mQPR!2iT97d2GfVs0V{c+Z-Fgh}Nue1dkwTu`8T3bQ^aVDi;N2^T$%#*bto z`{)-~6|qdWjjq%_Q?+E?MpH3Q{A73nS}(MS0JTo+G1E`)2|V?s*OPNo4J`x^- zwegM7+{35CEr_wIU4B0PKWWnMV!psGIIlkas#@h znXP9+C*kAqis&$4GOEXi$(mPpH+@Arnffx@^v~2ta$$HL_A3L!S;~BDnx+pi7@eZr z#GM(aQNKgeafSRtps6GYxg!`_*iQAZMbN)o(Jk0Vmj+*ol+YXG7W502gpLkw3U`Rz zMsx9xL{sE<1eRO~kJr>IybYyl>Y!JV21QPR*TsqD2MvyH^45?b*cuFb`}j8%=IBt_ z3RR(|W4IHxo4l#5W|~JXYReEa@kh}c#U=k=;?_`M@VY7jc>@{HVt11A1k*O$G^z?I z@z2^~xda?mlot73c+B-!*A9Aw468wRthv9Xxyue{>uqz3&hKg_uI$;S1 zV#rd>uZT+hMNQ%7I#frCRg+|YLSJ2tjEPYgl@k}mC#apCdyq?)>QA8iL8FL-!g=%o z|CGQ(WT12reoPrDY_It2-b555LEjwzT78D(j$Rx*93bVtg@5>!`rYc`^nCvssJ%ZE z`v{(auDH4|Tfi)4GrGe+TiuPmMOVdshkMFv)qmpsL&Gtht`Bx9S1O(>oCDns+=Fu> zw~$w13Vx;5>RS0fXbg07RXY_2)d!Y9>6jPhgwMDJ#)ig6qSvZ*Aq|#X(+plO|DhU$ zUjhx#D6~F3DReXNYlH*+5gQ&bo0}b-qg)qyuehn73J(lguw&{wp~vy}@+Dy~R#yEO zT@Q4JUTE4!>G&J(c(ilfR4B8Y3HKM7@nqdzVkGc_fvdBbh1gfxA6yu9YknX>I-!IE zR!P3q_!TPJVS7}!SGmLZTq8v!LSR=DCkeE(J|UPP%`)|*cF?F z9fSK7^z#m-Q?S?0?sdnQkT&9P8*wVFI1e=WJBIG4cy+U&GMFW=VsqTp1zxxct{>bB zuQe+n9i)Osa#I;05@7~v7Gs-)EwQ!L<&g|@hE4&uSGMz7@H43E*dNH|>hb9N=qctC z>{gXApJH#YtmBv)y zy~DE-ZDx$8p6e&-)FhOoBVx@0JT<-)(CJD7cRbl%4KhIq>fb0|+xj>X={7~u!Y@#} z(1L&og5eM9Q+N(8(EUqz)wct;^&^$_;^$pY{a3>hBBp*!T!YRBu8T12F@7#wgZ!fU zHwtM-K`G%@!Jcg!=+^{Gq0Qk^d6(+TV10&*-Jq-dFA91<#Tp>g*7>ex5V9Vg(qFxKy6kCn-i+%t*Fz=6S^>s$yr(=K!ZCjuZH4T>^-PbL49o!UPx%@ZrZ}o#ZV(e97@v-2lmr^w2ua1HWVZ( z)DcH0hD4<|fQIqup;Y9&uK{kfcZ0i$cY^2DZ+-J)BjA$QXpDz&A&Y-x(fp7s&??x- z-xq2exd1OiR_*=xXRhv<`d&+<>d;N$A^r{>S`zp-njH?vVxERbbKQl4 zT=iqHPizD>F22N@4$#c|g8#W^qMG25kOBQ0>qa-#=U0Ezwep&v>+(&7b##vZ8r@!3 z22Ju?)PtC=bb%hmRsPwU)7c8BS1dy}(A5};>f({P;&!@3Rr-xe0$R-s zMSMO9(+K;I@s=f&tgq%lYvUGOGiEESrAKNLq0YWL3{sP>>rSW81)5E`CBJ|Zof|)hD;UQQSvmHs-G3dMazZlH#=_&IM zK}W~!nnC(N#9Ru+w&~pZlbUQ@AJ5`IVsI5TTUvpW&JErSj}Z&RoBD*IGl6TEkGiN8 zBUcUgfSb@xI)nn)L+$8LLdhUSi|~AKY`6oHrD^L;ru$*bH577JvO_2WzhSc=UjPj9 z{A<+D^(&}Z*aU5wX#_PH$)~MoYb*n|`x6QFZ(tL!NpMI1H==W3i*9}J9kqe@199t` zE%v)tf$b(z zp*+Q>$T06NG^fC!ZBe%?(p$Tj$xhWF1&Ym*dPg_ehqgC-$lO1j{A!W+p9}rokE%D zTYaLpv2IIbc<6C>XQ)x^LHtq?P}nSP4+>)k;7G_HWK{|(A)(&iCi2M#QkSFuD_jyt zz;_aB1Vy?r(WKC7-+lC&t4KFkzaR0$e_ZaHw`Z+P^q2&?VRk*%fs$-D}6!Eo0a$4y}nl!l%KHLkDBG zRcKHTFID8mW8ZNIhpv&)Be z!3IDnMaRP(<@;(D2Gi((Mo>5yDlXht{DGN|zrd#;3lx(>4|FKCRns{91N*~xF|Z(f z5ZMIIl-1HV^<4|9bl0jwc(}MiNqZVa2cs_{e&TF_&$C5`V3W0(NasQxFtY1uD z#$#RHs_1ZLWHWJ<$%**_aeUK}<eTHl*jIbRHCFXL_(`1{TT)v; zbO}i*oEm9!w6Xp#?`3>_alpSMk#{61{6xPuv@R%%6tlaaClRg=53TaNFDmuUY@c%^ zq2zl&S3FAFKkT5#X{u^>`?u9hF8szwqcQ&iEJ^Rzy@!s6her;F+tgiy{|WyS&R}nX z^%xU+KOVvF2eFbnR`XW(gAs_Y(Agw%kCLJr+R=n0^U zBo?*}Ojk9=>f_nP<>YzS@xX`R4(Tn<3AC@KPQ5zPQyWut2-Mf51VN@DRxi*V{u8K$=%3gI!R15+{-0|gA!ZKYLvS4Xk32@#*KW6# zh^C>Rv=f~iMIY;FZ4x>X8B8mK@3Aq|uIdVSz2aKYMV()?&bC=H2=1``Z)RV(RKHfW z(Qm}h1Jet>1=4&UB|q@%1zTu4qYjPIONn0iHDs!8A&Ap5-9z6}&yZk2pnCw&E=P9J zPeXGw$54w7B#u@BOk;XN$P0C`cZG}Nv`+yK3r5lZys0n}IuuNYbmEK9XT2JHBxE5! zMZIZj^_5V|$O(FU0L5#Vu97e6Z1o~-DfX}GHhYdfK#${5KoyYSq;3Q3aNl#*u`~22 zeQ7lpJWZ5^-xGfkUsZS@1sme*rgH}>B6B^Pqmy*+YkIm0YWl?Dyd36uJPp@pTyx79 zkTXjAZ=@mKfN33VVmYGg4?jfbbAOHhtnLu>;feb7L?;&>zKdV*os=v@R!~sQBVA3% z2}8_Wx(_`LO~i+?RG7Vl#%HeW1&#`BtiFIvfR@r5n6uig`VE0O$QkeSz$yP}<|WK- zpj}!>5LRoiIX@`>p|f-x*H~zlUK6}6ZifY_4Z*Me2k!Y^j(bGlF1DPhK^`%%cX7=~ z-z;|X^HqIAQ-a;X#$&TH6XEOLg+3GcP5c>Lr|RI3N@eg8Y&w1(ZOEiWdZ7XR5aI^X z-YeJLM$+js%E_2O*E=|YS&4r|xA+c+mQ|Y}v3~>8#o0sK(%TUJs!R1OEqn=muyziK zBaEtX{8!a7`V~a_D4MG}=M#Wtc6Lql?~S|yhZnp?G?3S|DfCCMxpJT&} z$QkI9wxZ|(k&YF+6tS55lCsFNFtnMu5nd2l9139lQI>zD+yFNU7~-{FT7Q`AuTk)N z;eUdwu$A&2x*6bPW_#$Hw4Ns4+Df-r?9_Y=B+~KrL$naQD9}`up*O0|M{iP%`Qqpz z>|J$hFjdvhpN+BNDJ@ui6=v&y=z8pUFx&H;c*4#WYq0a|{%5Frqk98%!aW5pR)nRG zq5Hsob)8EPo*es*jm1|&W>1||hjxHgdRJgwH0wNXH87q-uVTNQ!{~b$k2p|!K)Wt< zgqWRYh_#LV9vP?7`WK4Mhx&!bs7pf*QVAr%e_D3xMn-nI2879Y8I9OaW7fd%Femt+ z#>q@VU!s3VKMP**AA}xPH;-0p*MpM-hCnV;1&eTixQ=>}sh~}LTYoIj51T^tQC(JI

T2&7QQ2cL%~loN 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 z zo!wYJYGh+g6+Uu)%_9oxU*xBm(v%KYmPf$X**GH^h-)*pFwp-vSd)Pdy-izYy~fG7 zytOE}ksQ{kTsDj41?)O>kqLgDO<^A?`D>+g?#FPaJT(<0a|by zec+12iC<&A&@%I?nmb}XSa zmYSusZto`lw$HD)HzX_IAQ12}3ixVr1YDDui{57wUx^{VcM*CoJXX*6?n-4_HlDj- z%8VGjG38$CvC?rz?V6s~TmMED1XdTOEm_&6f=t?thF56uT8Z?V7uo&37hJPzCWS7@ z|E`E}a>DOIF0inIYpf+5SGQ)pk*bH9-`0MMJnFp^=@$t4$+|prgg&~+AAV^l{F;$Y z466Rp=5uz*J(7GSB9Jmavo*d1OgDu)_XXMYB@TajJlbsY1bw-yz~buob;iT!tFMcG z@y|H}W18WY6kR1HpZ)=GtjtJ$DLra)C?gfL{OE<|Ia?L~_mFWTQbxyl^WfxzftTte zhWN;7Z@R6in^4&%X&4Au*4Rm}P2qu=opLdEZ zn&KErF7abFFT2}479BN6u$@JRVmi~Xq(`vw`f&q z2a`su^X5fB{tO1DD$EYBSYPRQo;fjWnnoNp!ZD#MqK6VlMy2 z$aJZ#dDP8`1m~I_KevA1Ey~j_pb>6{?cXL%?>FksPgQWjVO4v93e+%8Vd8u+Wkn zgs#ec3NJJ|^KCR7I}%OxZWaccMS!FR;)>5bH4|9Ha+hwSRKqAFKp**&w9+slf( zj5BFt!}NNhiAHJe5Gb!c<=zo#;~osmjIzSyc86gMTDzMl5&Bx>prY}f*mcR%0cxbPUe%nSda}#(CJo!|vc5-hl6y1qQqS76 z)Lix&oM%Yu-BEZCcO=q>5~yc+H?L_J9uJXAXG$mUv@@=3cylv-$J>>L5WjaAn~*p+ zB$!VrDYso7KY=8TYndZ5EKugegn#|8)Patfln3Mr-Q@Yp}-DkL5^C>D7S3eqgD|ajOnct&B94iFK-N1LC4H>kO)7;EHSx>s|61zyd zNh}i5xef~OqzzL#KzxozhV)cn+9`wY)dTeee4M>Po;Gx26*g{?afOn$xFx=Fy`9Cp znmlXW3RkJ89_!@&c*8u(@t0s*lM}@7(_YKRR-+VOfVUrQ;v?VeVD4Inw)jne`xv1K zwokpDxXD`WDi(~B))hG(_ckfLdA`y-*l^lJRgTftJ$Yln`JholD0 zGCZN4(+Us2t&jQXnb{>CHh4)F_odWgP}PMZgQomn&`4*g`v+CxSF?OcxPSZWG!=IOW4$U4Hz2|d?9xmVq8?p??cU2YTT#!EX_$6`QQ zoJ>t9c#&urr-{r+Hnd>^gFYVbxV{|kLG60634I7#Gi zaG`yfF)3&IQ=caX6beKyaK|{dw=U7NyfvJDm()>Pr)24}z+(Gy$wj%prC+b*RI*k? z$AjlD;Ob535&Ed;XU3SMJ8JuO`4W-^evQByA93z}bx<2}``VXY>2%OsA zJ*qa1&UF=K89HNj0tBzwgr4#QRGTlA938Xeq9qs?R5El0Jd(=g^b%mYi+!PBw+9b^ z>sfA3D)WxaLRXo?e0(`QSz9)3+pwZ)=?kZ}_BGfn30ZO8De|oT z+BpKv_&IbNPhE`2f;u_*`C# zF^wR*kb(Iw@7IE@$oqNSRtK3G6K5{2t;)L=t-vTj_4A$oN6Jog&U(S5wr}mna>rD zVPvH*{qcLH-8bJ{KPY^8d>7P}D-R4e56pC&?6TH=GvTKL_-e8v@pXMyqwW||IVg2c za&GO_jheA6uuA3D5Ghg6XHNcL-6odJ7HW8-{<5@-xKdx9tcAwe?A_5-QP1-h z7Bn1&9?+42Gggjv_F3X5kWdbpldsCDH*G>J+v-mm^F`O0oq7wzU3qzm@Ie;fTlN&@Urdo!@lY$aTY z2E^yalBrqu2Od^6N?OI0^9;B35fVl3uv0HEe%u*@zSq?*4>9La_p;JQNOR(RrR^Gs z_s+8K0+QyVfq#1pNfp+8oO`P35IN8EA67NVsc#uZE3h}5xnT7rZbs^zn+w0~uFj*S z43tB&HSz;J6=?3o=BTRv(8f9h@)ZcTKUYtxRPdKUzXb0?X{dH z{+~U?)Z)gjIZ{5{_UeOHTC4!&MuA6Gc8Bi|{q1T_xmW2w**M`2zX!qdUEpX+eu@&U zEpV)pwVCXtZshE-)KIQlD03#YR?%M?HQ;XFhYG3+It*DSP|M@;#Wwc*M3yQ^T~Mgv z5b|rJm!(oLZ!!9+GCra1SNYn}dL1bfxO36_0`sKK8E{yvrSM=2l|ooqsIe5I&FBf) z{mm|!oYB?&l6Sav)SQHh#5c3NH#={VHr$+7DiC~0!u-oG?;pFL^4v{|Z>D~VEQPv% zdoQ<-SvNd%BQ3z*$XL(L)o2acp9frd-lm>8Q1D89KwhxsK63mP4qjF`XH|ADNppbz zPpbv={5t+y^lw??qZP*emD^o@hqLDV^oq!i#HQ@GZS<{G+b-c)ybYXVm%*R;EtGh< ztUzjIj!oe{czX&x|Z0>WA(=)D2{IyqYjFdC(mx0+=_mSZ!rZuzup=b=Od70>YmBO!WzF#YG zcEs%k)v3SWx+cas{?q*WYa1;qK-(0`IZ@yFSL2_#N<^P&dC&!mRbhlDZ7|yDUsbl9 z!Ig^AhrJ4(u!|#Qh3=fO@u|uR`!{$P4!ES1d_Zy- z-uX;?`JLy%riRDvg!b9zuOx6=LNqJHu^uS zrHi$W_dA3#+BRFi>^;WgzIiTpv}-Lbp-C@Y+43H5=bDpcyC{>T=+qAGV7|_K#Cuf+ z-$0&FoLkI$vEohE&jVZMTM)M=%Hln&*L?l*Hs}(M`M%OU(f6>NbKr_x$C+JWZ~;2{ z#g47ukK4i5pwJx+t!=E-_xR(TM5d%Z+L6l48ZdcI7PM5gydhbw=&QaOYZlo!bH4f( zh4H^)nOLI7UZHBu$jbqN$Ghe4EUP&J6h6x;Vf-4c*wHb;EUI7jMP~R zY&-CIv~aS!K0F^CCopr17Rq>}RtwL!4IF~1S?FsCW1p3FLkLS6*+mi)4TPP!4CHbZ zoO7V)V?VnMl)n$zd6zOyDY)Jxt8YDVcYJQE%Sm@=(hyCijqGtJ@iOi2Jt=Nyc|fI5{=Gx@&mdV#eqg zK^Rs&upp0e29unckDKK1!gbfyE%i4KZZk$jBu;N{m420K4;Yn(K0Aa)=CjoogAb46 z2Xx1FWPvttbu7(f{lw&VYmB?to8Z3W)j6c>1@HGxVLeq9uFQd|OIRRibspnQe-GE0;7@ z)6(`*`1{zkJm7U_#?`u2zwbKFu`K7E9D(hUwJX4Alsk?FZkr`DWbcGOK|4zPZZ^hw zfw_|!EXr+fm*=ys+vBxyXUG@5#9|$oc3wIkoFRRko%(l-HQfR2tB30{OEM|au2#(}njvV?A4)zQ ziBRLA1)c1C-`iw8t7-wzFr+FeY*1V;Ptzk;p}7TSPr<{24R&E;uPfQRCa&f~&D)ck zRXLP}PaJ0DeJ?6bq5bhK1fCI9mE!4!Ixxp~dvFhnm2P6U1f+eTHV#I!|v)hRP(wLWr zZ)0bn2_m6Oqq`&Gv##J0BU1NubX?qHTo-sZaBuuWa@s1qM$U5eqrP&wBG1}I*aXF{ zdTK&_qWO99`*siR5^A2bm|0iY&EJ4cTJ%c1TmC}ZHkV;|yWhAupr|+~IJLZLEs_Ro zRv|O_DyAeruh3L)_!KD|m*md|kJarn{-4+P_f?>oI>@)E#F1nEnI~HCuSk_>F|1mtv-y^d^~9~Q zI(XhA{`^A8(0P<~$ND3bO8GDc%L-0t+ywlVmA4Eq+Yo#Sythbx<2tzR$=tt4``g6Z z@V?~xp#8n-x2(&3E1{HHx1v%dOuH-n8d8d_m)I12PPkc|$_`f)(pqTrLd)pS+&&=!XkA02?LX%V8CtNpmWNZ^DmsDhAxiuVnr=sVa;t$VA z3c*9r?1fm`~ImRJ^$_@G)hKk>7u$4qN_^?aMeV$Ev$xUEpCau*p>F?x{nbTGcNqcozU)4q^Zid!RbHAe`nZ6Dbu2a1AihUwF zbg^?*jJ6J6Y6KR}lU!6j74U<4;EMmoZ?odS>6oG*z}?)GZ@X?58Jz4)xrfdD29el9>4V(n_oXA&~ml7OeM zoc&OlZ!6%wsej|X2v^o4&x`Z%|AjXLz6*fY9&snWQ|Xd~j5ysc~L|U|2>42)({h&!9~#w6ADN?Fu*N zBmjbKKbeD5Z?(G#9G{s*lsmVv)Hsv03`m={wEomj|odWeYDF)p!YI+;;g^mGA z{ME$?8MGI)yi2eX?^bo~N6iG{GdKo$GUYi`-NN-nWMGlkJty3vYKUgCp7#*eCAlGF!i zZ0w^_`n;;_tfL9AhsL%da8|rk%J2TyJ-Z8*C$X^u{l{Zpk&=85V~clFV~d8B3GV75 zhrskMw7?+$?$k*zaJy$zVo0OLq#X#iP`HqkZYn9J?u;A+T8p)B%GX}lokBZ$ec&}E zy^Q-2E_oia%|?EArqwD$<+q=-Wly|i;|vYYG&pom@r&^7TY7$=OFFjncWlb%Yh`pz z;@9=)6aT~>td|v6-)A(SN`W%VNKr>u)<+YZP(KC@_<*71HBC8HFzdj z02H{v?ugxz(Vtp9GFpu`I_y4forBIFYMmWjpkG1mSv`Z~OUt6q6<$`UkIB@|%q{*Q z_f~Q`2R(gn8%e&z?(#ojw1%S|1gj4SXPFbAtZrlVJaJbyO7{og;&0b0VBpt~tcsj z$DLsiVKG29S@nJ*eHcok;xQ z8DFGE>j}Ng-3~ry?#w;j#;e9|d*KHhv+Y{ihF&zTk@Ru57o1ew&Ddt5O-_z|K4q(f z&W^%xZF_#dOe~W&!5n5wL4}tiuhdU;ZMK#x>ukB}jbs-1m+(WR@{Q70r@JhmKAKSm z?r&Fed;?g>Xfc8OLi`$C9@v&s<$2}*v4RHIZIo~!trYEIzW7#DyrVdj5l4M{z4$YW zAA8evI=8n_*;F3p18Ao0U9p9g&;7BB^kU zn>LA`TmMfqx8PgRK$<<))YxR(;(Dcnq*UMW8~D3_R=&mfYWg(2%qP6Vz>h$7at#!1 zXWqMn^&OF$Rarxxi8;@N0nW{_VGFoeoiQlcpp5m2x z11X=R!d<&xX*ziuiFRa`NAuZk29xY&5@%j*x7+v?cy)g;{kVStmSzu0L%EUeMc{S| z{i`-o8xv3SHfShMr_P1TlXn@P<;&MrT;ActxI>+^AFZIms$jl7xlqmA6!XK)-K;a?gSg#~w zJX$mZJ3scgNEvA?^emS$(jSuhO?5YQMxUG|VaJuftSMkLp7cscSFLJgY*u2rupzET zv;QMh7CumzT6tk`RfadUQU1l%)hbn&qWUE|`V^aqQTmc!D}L1(m(8yY^&qWK zqORNcP(|)-(6CedCHG)BoK?u?G1w zUCiai#sv?tssY<7HA>I(HBWc2&x)^dtjLTAw?u=qV`77!jXkMeAv!nc3PN zNTY1%q=p#@>r85S*}D_j%IFP0Y5HyY0G#PHcu$$yaR9fa>J3MT*{I9cOY> zX`q)~)axv$DYGlg$2W3pdn_oYAwJA7_jo98TJ_udwXydjH|eLspVJ1MORtm*S6|;MfqT=l%I%Raf11_O7HCtEOjgSIryF+(SCR{} zof2Z+2!B3dC_k+k5_ev~D#v>N8bgl`2#%|~IiuapdC9hw*NJpgvKK{9xfDFHWd%XZ zaX;Do_>nk&yv!b-$8*=UG{Zw z46NcZV6?BCmx7%Rg@+|yacVz9&`B!|Muw$-x6pq^7i9O3@L9(D-m5E_)iMti`BciR zv$YxFlI(QCP7Pa2swxf1<3;;93QOZQ@3eQ$@EN|0;D-<73fz~-sm8^zP|O48w+FUlfcVJ$T##J5u8{ypo1e>&xCww|@ZWztWZ5)epn?7|dh+Uhswv_g(n zP}^ea%^F`T?pf#Gi>_Y`H@!+qPz1fW-Q7yY8941);z4ozvZI~JacIZ2^xeNzDZY>t zm=9go(}$sdocnuriy*c`>QwcTOpe++!EYUM4iYo8W!D!zK#fPDDg8A9|5d=%c|!1b zq}rNlZ*7<%hkp~&E+g8Vg3e4m%_oH}l;Hm8O{Dl2;p01;a!o-p#sACrXxICt^5jaq zQr9xRvFnTLPp=v!n%PVQS-WD+`Hyq))0k5QcAu*@&{3CndHW}8G1zrLMaoS^I6O_Fh4Dq{ z!%}wM|6DDn&oEkJ%@91{bCgDpV{I3*()U@)@G5yf zRW=}UGh-d2D(5K9xZcwTTK7$q)b;5;Dsi32mbtTLl=H`w?wSL9#g*~$vzNvzt^)K$j5WTRbc-d)*2>dUSn ztU0H|pO?5&ZxXs#w7piImlIi*RbPEzxxmbb}xIsmD1x{2DU5v zE5&`4ajhCI&A-f;z60*ka#mEBqJzgU5hdY+~@AZ7D z!sVTL1wE58mNaq8L{o1#h@2d5p9w#ntPTiVlS7SI?aop?T&7gn6{qt{?slYW&uLtFK79T z_k%Z)6YUfCj+_@N&+~p`i%832^5<=C%@mxPGn9r-mDn2JS;;&R|LtsfJZ<}#GA^~rGyS}te`Sp>VV=-pTruO!r8$l9wOTjQWpZ9d z*LPj-`#Hy0>yWT*IzXNsy^jU}CskI0J0>E(J!*gaPYw?1685da&QrA9k_Pr06gw}@ z6LZpUt8^d8NC2T}tG#WANb;ZBut&yw0f-S&mE?Zp9t< zFbOsHSp(oWwPw|v>mF*;9aH^X+#REJ>0JsdZB@QIYwj%_9XOw{fh!c3%Bc!)m{kx` z>swV~D}&fM1tw$dNX;qhZ;zBj z{7v-c-as$n-x!s%5#0H2k>1hT3*DK$EdsT~WfyBr;I;C^X;qWo+$V(=W<=R>|Dz=H zE7k0$wgv9aTo2|x1wUStdR?`!5?gqb`DODrtcwS;hdAi><&S`8{K0edVYR8?K=eZU z!e-oY=HJmLN}sTG40J7{%@Et!RR7%9#rvuf`MUp}vnrze31SXLS0|vFvf8yiU%rqy z2A;n#c(CiON%U9t#OSqAOZbBlZpurR%kOuTjuRoFYL4&1%*%!mOCX<)wV9ZofyJ+4$$UmY zmfW|JT_7tZ^nF$OQ!XrRT&eSA>vDQZi^ExAzFEQ18v>M!7_pmtPetx2NUjcYenI@A zDpq8JgGXayqmwAl|Kc4bE%V)k^d;LB4660II&WartI2q}``Y-=8JcU~!86YxU9=;W z@7ZJxvy5J|{t2IYayTquJY#_iAE+nxhQggsNc(5XmCW7KuB*;WqTH?DdK#c80$!9hkG(>J>}X%!XFgK9A&O&U3XeuA!Da3tsBPZn$Fc z8}0Z%-`xECjGR&~tkz6h%TvWB&cdPOGn{?6yO0$!GTZnb4#;ogzqUHI(09Zy`?t>c ztw`NSIpjQ%BdU(#Z&y;qxFPc0s-b4>Oov$MBSKZwy#$(}=bZ`1Yv~WrBc!Y?Nxm=E z1kbB#E1Olcx@yZ+z(gmS$(6iM9JTE zaO&#;&Q^6UhYNBW&h9=iAg~wabJws|6t}Q?v5Gg|v0!ZngkNwo<2mT?%w87{w3Ssv z?BO8xx`<6_`w3$GN-VQ3yLXO2NDHC#x%oS75f({!8`$-OK`d)*9-R3w^1K(WUQBJ9 zfG6suQkx9qTKMua$=~$H|8AIWLN7pQlNT@(( zP63zatEy9?x3$}>_O=ss6DZ+@)#GdTK!f*c->p#4gnk`pMNQrge5JTj;1?*VT7X@} z>~|yA&@zEFcCz7jcH{>o)e=u#?5jG*Q5%>L`VQSgU$pucr0`n*?ZMumyu?G`!lsM= z3QF*4d_q^OJi^hjBGYn-Gf%MIXa%+4ED5t%r88crLAab8)k12IyDMsibpNHbcX+l$ z9;@l=K8(hARdJ6%9xXbBl&uy?;w$4<#Ye8ZEO6bLUvs7e)}sNCS=F-lk3}NCS9J`~ z)3U@jRnJ|E#?EucRn6s%H4TI;q!lo+z9j8S;H)Qe9;>|4wKH@_*pt32j`mS*Y1E26 z&9jUZIAX`(buQdg^l3V9aUnJZeTn(819of>zDVQr)v5MWpn8XHlD0x}&^qLg5d3Px zDzYU{ZG)1b?zFk3d7mn2JYQy4RqC%K&V`ek7t9y?LB+nFvR8nq_tBld7Go1=^KGJi zf3yZBy43nPubNrpK5}}vz;Cb?Zm85l#(wOJJ!i)8RLJdtvy~QmuJ_V>de6#F^2~N4 zy~LbO$}#;39cvJJ{+0WZXFnQcbJ6f{x1!g48Td=x5$QE)LmHT2D(FMmpBAYlcDb9G z2y8R8r$l?VNUcyKb;7h-IP*bpwz^l>rLGKEr3v_Azs8Sx~vl~`litwom!$7{ECo9n*?o!hqXT+d2HF-BKf`dnj` zE%b_KL172@dqM}eR$+UA?-T!=&@S(vo?ZE`rDnM*f@{{n?{If^-f<}jX|mr?{dVr! zjGD9a+3er(p-qpe+}Uwo>kPAtg4&MOvmF~)Sa-zNH2zQ*@ws2W2dNoDc^WSgdQwSN zi{fGVhoyFMX*=`3FQQc|)`Y8Y1CqZ}S6O}5OXrodR-0~ovZs-eC2czxo?z_pURTh$ zsxuV-rnkgd1;uwWI-W_Po%5TDzW!yAh~$Rb*`qZjVUAO;0uE= z(iNXb_)3A{xk>ovKs@(zq-HJ}AUEFNc$kp?)vXm?GWQvxCHig2ElK)5b=8Yxn-7(| z>HIRoX&O-G8^SAQw@82DwX&a24$KyjasZefjeLYOWppy2)D`KzU0M{NWaZ~}{ag68 zN_f`Xq_`L1{Tew5Qe|EN&9OYRq zE#ZxOWna#~x--5#Y{C~Gg0CAg?L7hYf)k)QMa6u-a8LPIy&1II>uL$4nw{f(=^4p` z^=Yv;fOEJbB0U=RX7A4&BLbbAv;8vj|E#yQv{bl1Jwsws&(KV}La3lUUHzQZI%jQy z-b!?6AtUspbu10O;LuKqQOH)alI@;uiVH2#WrQyyRk@UIBMnAc^Hjp~u8L z9(6w#8gL4TkNsIDEA_%t6hEG;cunH_y=q4SFg914n830QL&Kh^x8T4ZDHAYaTZ$hx zY(*s_=A_X?>5y4{B#j-^;z0{IrCB?rPI{X8C+3t`(?kl1*T!Dqepbf#%&$e}%&WK$ zRF>ZwV_(aaX!j3U0n4sCWcBgHh1QA4GAP?2{e*W2W!R1V*xP@x^Yy?`FfrM9Ij37u zPjr13>d>tE=in4ciCs6g#Q&i1_r^WxlhQ70%bW*8D~p?T{Lyhu?0wfo-qZOji7%%~ zOPS=qo^l*UV&ysquGy%cOD!1Ft|}F)LFHPxGCIj;n2pitKO+`}Cy+R&I~uAkrFI@c`|nKr>PtkUQV( z;yyv7R+Fb?i25C;I0GN;m1u*{-j`DskVFywsISZVfQ@ zA^0#0q5e`w4rS^o^)kbaoGs7TA_3N~AXi&#tbtZ3zl;1!n7b|3JfZSDz={RECEfa5 zRF{g50*;xHc z#;T-Fv>>97w9h^D-Ye9Tq*kK(<L z@=Zj}{Wiu)E2*ogF6|LwbauPocli$ON&C#Yl|Za0T522J*lLQ6v)7U|#FcuRsZvIb zNy1xNn>3!Lmv(YlSzEew* zki|>_bswtQ+>fg6jO?`^^$qd#>b@q@rP>i3i2d^uy8LL-oez^d`A!zi&eQpkG1SU{ zsyB8ws;{N2lBQ-{v3@PJNB(uEl^yAxGctc$_;^6V*111Mdp@jcBoN{*(Ycu+SIe#+ zO8LZ@za^UL@J--~M#(pV(hl8$&Tgi18EgB+_{zUpFlf@AklWVE4S@?9>LUNg7-37* zIvon39r6Y%Y_R^;c6Ve>`h-z}9+p_=R^^pSR+o6*Zq!c`8{5O(P`w}ZTF_$`yn-{| zsGBY+n(WMrecWS`UxQx{!L0*ghh5XNp+Vwol}nLl8#H{bp@sLd_`$HIs=Rb3G6h6pY+C1!oc%^zH=J?K9;8S?$bHztb zqEFGRWp`wBuX#8}N&uJ^FW4PE;QbE0p`4i+*Y30tn_d%$5&2g|4|)4E?^8G&?s!2z z-2N^9EO0K@=1ooU!y-fuzOo7Y*U6Wx?#3+*^1QA*J14fg;!1x&XVf zKA>a-yE2b^bHapCfII3E5-Ou{-@|I|P=svC+Tb z!m~T`tqN@lqdW8#;=M|St|>f&6@1QVY{!rakyd)wU*~npqc<+KBK+>`6!NE@)veri zvgi`%(8(pC;&o5tU8HAt0aC5najEB&2Dvj<2Ns{Loo(pZm!bz-=3GMQinfRy(G;Udo$I%}b1DY!c2qevh`sbR~bhm_t+x@r3tZ+djQ5 z)c&94^j|Nv(y+nJ#e%c!2g%DFKb+0HDrHH+DH6__E#+jkFXKK8Ub!WcN51iMK%O2U zrIw2RKUIDTXKI=&zTX0x`8eLxwYVT5c;RXl8!9#pYg@T%7bS|(pU;9ztT)AnjJ;yL ze#nSj0ovsw)#{D02-l|5YIg+#oa2r2i3O3ZY!Xk1N0MfK6x`cFy8%puN|(JDnZhMv2wNX8?mesTLR)Iaam`CzCQCT79H(!WFKW++o*9K=y|u*AAQ!& zvP)f5tiPZ?&%F5~mn-SpA6o4?U`Su3-dd^eLj!#f_>%T317E2BM95}i9Jp0}=2F%E zy`l6Ir%z^_I)%5!l9#W$+^F+ot`&VD&Mfm6`8$_RG29|c+J{di+M*kLiO^-S3(_Yj zUkl1ie}wyh$azrcN}oi#u2B<97-OTf%!8l8!m+b!KxEInU+y>^ETJcWVVqBYLEq^7 zqt`BDy45_?$MY&Ryg_LV34On|CuN_f%GD)!V|u3ky??Q_)w9(1yvlJ>ouu+^UeCl; zd8{Terz!l5P%X=v9Gg)GCdiPynTg}6-oeZc)}i=BD1{^Sad~OZr1Y10e?(W=>7_}T z%;Tv)OFK~3{^087c=P}8--iBVyUycuI1=tyzW$4x=gDul=k3S?!Y!o97|O<|U|T(3 zQ8Pt!uQ@dT)m-sO84~at>3tmeUTKzPsumJ)Ki3uK%tFthqnD2UNj{l-bzLiRmFuW~v{;g6PkK{5tM>qV zp_K_4MQz0joNq~ZPD4i-_Yh~oB^~HNkY>|{3-qC)5lq??^xSR8ci8(*K>=fUZR?K4 zehahqk}qMi4;z>vT^43A$P4G*k`8OkbB=Gim-c20ZPf)LL)x9G?zQK5O2FvjVBlMc zVM>3^h&U~twF@(Lf_Wj@adjjPT-%Prk+MaiZOmJ30^i+#zb?OD#9Ef_uEH*>ekB@K z?H6Ib^PS&FsMebK!>;80He<8}O4lwdY?J)wi8+C1V}13ZwHwkuM-P#woB+~0y$Y=$ zX=bSs(JBU)fVr#CvU$1LMPa2yS)sgXTi&oJkmgH?Z~Wua|Es+%>r|k#;*z@f3rK1% zCC;S8uO_{0c1`CGta{#YUH_14he7_rRiGSH%AXsOc+?>58d|AmfkvFdE;u{0wGBR*&jleRF=i45>Df=X}SP!@Ej^EMnIUz%fHYr}Zvd7)< z;G$%xwta`ym8@PMb{F?`@gH+YgxKrg1of>=ZJrCO!JHJEL>arOxR=8>JCQgbaWWPt zG31&Qr7tQHZc4}x)*J5W&|mh;FfN3guy!iA!luH_Nr4b}64y7cnbACPA2Ujsc#O1Q zL){YoQ^HNDtta>GboZL~^Z9G9HvNX){SZM@H|p_WIMopOfFI zT*k+ih1Mlnxh@wStbMz>9PEGNF`&%{>FxonAp76sBw@t`d#ELAph%Z9^V=zN{}9xWEw>a5%IhX-VYLf+*6%*hY3qmr>2 z7xtNcHq>aHuOPJGraio6p5^!R_-5amqVL$}rY9h&6v$TuRcgBmJGQxK!U-M##prX{}oYoYkuMxF74&L}p% z{S?F|*K4FURPmCUzb4l4GSWs1zJ|7Lp$qK8a@TY)doC2SzzVHbWlio)`hH_p*@+D9 z&4un6d4;N#9E84+SsHY_D%Yl}vzOjWiZAEA=Ex(z)5-CUNqY0FQut&>G!5$Bks!vOf)6L(@(+%azwL0|X_Wq5?m63G66}yj9j6k=ZES?RK5Z;U#uQ83jPh7JTabaLHBiK zJ^rb&+;=3-D*oEw`zo4*EK9zVU{!^DA(y!XpUO!>de_kgRsTtSVm7Q?_gu$A31(eN zhJ_0GB_{vp#8ZM(c{3NqdQnrE87T{hA1A+YKSu9+*M_A^3zP`e1X^1g+W|e^DtZKJ zW}M6k$vA8~X!A?qotEq_l5fq7v>r>2_HExd56$~TcN-EYY1|k)8O(97kKBh0^Su*s zX6C-Y`5tk>O`m6C9TmM*nEAQ=XT{ZgEllfIa;Hw)3H>Ig?v7tW8RmDn&N1BI6dKBP zGNon_v~FmokD@7HBT6o0HVkQ}GEQ(kmx7{{)tUNvDhpe%1DlGw5m2Q8wcC7P4)$=kxT`l#&H@{)@+RTY3w;4y`M-u-QP4IthO+lBj z9>BRD+`c5W5NFEm3Q7(qSRIUMIBX$87(?s(hN zzVlQKSrZ25*s4GBzF9lpdAuB&Vas#oFSuM*^qAsO))^#bxZBiz*!e4JE7wEbvjrRG z!{IStQPO-03q*boQJz`ofLmS7g%5C>V#huF0KM_4RCq)59{6%{Ku*6nD={RDjpxJKmLEmrdTSEL{Heq@snW@HMmqJWwz_K&g(UoSr9 zoa*YPaQAoalgaP=pLsk1URd}GfKsN z(A7HlO!n0UV^RZ36SM=K!nJTV{ioQ(tOL+-n$d*xUX%99{MGwb-RtfpSyC2xr;jJ) zQg1_StYU_z3Zk-4lDQl4H$MpOf&z^&{666+Phtm~P+c4l;rKN8^kdo~*_WB|Ek*a? zOdIrhq&DpPJXDUp?O>dZ48KckEV06iEN`!NqT_h`!WfD6l&8T(O`KD6#umR;wGFtZ zN;jji+MZ`?+B*sz@`dUl-fJq=h?NO~z2LQ|brosaRvx0K(A82l`IO78VU6=fv` zt9_-ek`9+>Tt<+3tU^lXD-L3%XwgI?n;ZxFW}sa%uzj&IGVW;Q*`l?~6>Dt9M@3V? z-~wyImQSJDxw(JH{Eoyh`x-}EVBPfGCOSi1q7%`-$~xSqxIjSN(D-bH`+nXx1Xhzh zYx2t&Slxi4S@zyGHGgAH?$8mv*Q;<|ey8H1^dfj^L|ovO!2y=@2<7K%p}4nf+)Vz} z{c7;D6Z*b*HWXB4c^fX4uzM&u9BRr-?jw@}gW^_6kHYr;%{hD0AC4#vAGBI=vq? z;A3`_@~W%1;U)B=jpJ2IC(w*LX`koN-rHzJ{Y6O73=eYwto}L@KfmPMkULIzdNvX# zDY(NEB5m_7wTi*rpEik~@uzoSj3y=da?br0dqqtNkQj3e)|&IQoOJ$7er0162yORX z{K)|N(VSH1b3JV^PAah4FyC6$9?Saj*=s9WA#-U-1IpT1X8|px$H+Pr@1GeRLNsQk z+GB@{wAWq|nItp?z8V?*4IXsIPQ;s_kwfu5##Z}VVD<~gTxn&shxKoC1xQ(kk^w2YL|;XVLC;lq1~@x4j<|QCqdN64 z!S=^#@qgdqu07{HC8g4CbhOTUFeT>`tjT&?aWeh#_;VGL-ID6V?oW*eDY2}n%u-mm zB;ha1^L^`H=eoc;RC2hso0tB8xg5Gy1oNnq#9AWSgq${1orBDFB)+{;FT4QT zcN*-oFj;ZyE!%V(E1ri`UZcOROW?n*ro^a>3*4D&zR=Cwp+6p3C48eoI_oR2{DxNy zX|w~r_diC9wVqU$3thGTrAG>mMjBV|n~R|BE749q+u|eL%Pr!GzSiW_!5d?*BdL<= zW3D}gk47#_v;nK~{$X5pH_?;PFV~fid5^U8gscFQmhgse6MQLG@AN#u4No^!)z;Kn zw~*g9B;{7`p%ACCo4?d%X0Af+D(Vs{KELRakRCa%TBlz_+qzzwiLITW-WMRrj02X- z85z0pMQ8*y|D!Dc!|fzjac0h$kw%{1q)(E)HWNS_8(EgP3CVj!N!`x@@!#b8h4~68 zyDPLyG%qf%*MelfL}q26ytA8&9A?&qkYAJ!9SAX>rTq zNuh~WLR#wrc$kB0WBTpRogx>kv6*R&uE{HOp*QKTmVZJ^u*mfh^>G(1q>ZSxLaL=; zrEGp(fEea_>b=rcp}6PUnkS;~W@RNF@?H|SmN)~FcdGWGw!rIKMvAXR_9VrUkhE8J zn4MT1Jf!B$tVOejji;ItfBt#r!uX8*2?Ekmx5O=pkyTB9U+WqICd*o=DQVV(LXglQ*G$07GvAM z$X=@q>_gu31s1nOXH6}xO+eB(yX5@{qkGT?E>iNqDq1vPZY5&^P-jrRgkZCnhy$AN zH_G}vF__zS4o|$1SXWzFJ|Fta)z7mzctX{=RJDI!!vD{yw&Qze|8N6ZkSvePUYC>7nbBY)ZaZizwoWZQCB}l%XPa8M#RpeeAS|hRH?Ak(nzY)!^%FQsbFlO|)ca!wqp@xk}jD-`+LzopPRd0EF!{;gkj4;-fLsjBJwocnDL)U znKyKKjQ4BcpNZ8^Cwjp{b6gH%1vHa1k(T%}g)@0Gi>66yYQEq-Pu2EX#T_*k>n!t{ zf;;xA@+`k_SY8{-YD@b>4=A5Uk#7fMMeS+dO6mrIll#(dkngS4@46;7eDC-goF9th zHtMA%wh{4}*)!uU!Ssj1aT!NS?>Mue04tj9<15uXipdN9ogzP12;2$s?U-z(GmlRx zJNidQuMquHmu-FRr^Ko(HIeI;U62dqs>*I?1E!Vz1{UD5C2szadV223`!n3CaxmeV ztC7hA>2>F@N=^K0I(c>G0ep)aw~LqYA)WACJZbQk>V5d3vMn zjl%s2MyO@m6$Nv`IBAU#E$@dBP*nUc%83T<2L7~xm0K7!s) ziSE}flpM@2eVIK7XD5Xv7FEQiy~@%P)m9qQX@zIkE*u-x1xFnbqs*mD398D6@Tx)}}T@bZb%m=UJl)ixXw;oC4VcSx8+h#fuvx#a*f# z_6fPZ2Qm*t>6hd@=jkcUFr;*DK=ec+n0kdtKs+ zd!LrE1FfRJ?cWBtBPj#3!Sh$S&nqm_w=8%CiPVDnx0ams`o$%&cYN>RC%K6J8s9ZH zHaytIJsfG%L`l2)_E1YfwMcN{%&WXHd2jT&bR)Cw+E39#@Gy34C{OGZF5zd1xiyDz zU9i5w^B{GQIQRO?k)iT*d1ly}e)%uZLp_V!`PZ`|BdbW##k%mF?y-Fb4BBrVTYZ0Y zdrVoyTDfOkaxmDH)NvqL!B2J)%mLz=@Oo_iFQpz@($KX3@BHh8l&p(Cb}9IrL7jNy zcdhdp#{uZFhv+j-mzI00D03hZU!RxzU;|ZG#21C5>7~#f{^InUdU!McAoMRj?LS=gYV`BS$UP`V%4_!NRo;1*-5)^3Oz_d`2>1iOK& z9u|o)*fH8WqWH-Mx_z=jt#i?7RilB%4rPWbO6y{+QuXK@Agx^5`-VD=jZ}JsbrSq>wi#|`YAh+LRIlsd z2JHWjkOkoC1e8MGhPb^;C6Avd?J00EzEa*k_dev$_kNoGy0A~sEaO-vXM+cfLf4Ad zQx?`;d3o17UT+*Y>dC5^?xuvD$#g0xP2L;7J;VsN`_Za3Xy`l0xmo7hM2(N$k^ZrB zcoLX6SIXXNiIhSwvbwz~(+br*Zuc@+B%FC}ZCY5xF9rjz3i?cRr#YJ&A z`~%Y-CIvbI8M?%z54{SA+>$g;L~fH!vgl=7zEbEtQ6 zMFQXkC>!OB$Ts}Y5Tw7|OqJ@E5#QYn(iy$u_0^52%n5B03e>0O^l1S1dVmPy6WfYw@d!GD3te-DN(h(6@6C@ zOSCI3^sFtet-7G%J9J`mw;7K}5Bdf_JuGuVQ9s{}!Zk|X z61}zR4O-S2K9;?>Qk%cyvr^BmYp9XVD5=g`0NRW&;hBZT5R^OtA7E9{qiHhD+n zSL{Z)`V{==V&#)o0?$9`+h=XaL+gTU^C=7Cdth*z>$6f>l|0FJFqkc4Ynr5e&-pEU zVLpHB-lFCWV#d=7_PG}PHPJ|o^NU0>YWu;xq@picDc=uho5~X^6vw$?&>iK7Hdq^u zBxD})d4l_KP;3GCI-N2WRjFW;dF^=RN+owBen0a`|H?DTu?#+72O%fIsE~{ixU_l&(E5wC*qp?6I?>GW zPgSd0HR!k^;``_X3{8eoK#(1r`F9VASd!_!Pi)? zwaC+;4Hq~Vr`9f8&-ehc0X~V^GxO31tP4YoHbz>F0vf6>Q036tdl0PTmP2K`dC6BJit%b2| zp1k~rLyuD1pB0{dwTnJ1C!M%X&I6gp@)~*D0A;y;cAO`z(U*A=P>1-uDdXTe<3F_L zaR+vty{pJauDfb7Cavfjt%bJxeDXb>DR9nV->GO5V0*^BT}jdxQ;$)TSG~Xa9xz5) z@@T2_pbuoGLPL_bgL;irz84oZ#lqQ_y^+?ab=Ue#pm(9z4aB1_E;>do+$B&HnnFEO z?_>urE5h_rHJ->r9{P(`OxT zy3dC0=o&$e4GVP6SVOM~UdeBO%cf+{7PwPRPiDTzxivH`d>Af9t{BOJD?Q-~CnI#s z^}1zk&1~!2NP#cYc`^C^+$2-J>sR>A@0NM|vLigHq*QVH7mDOh`-y1}9Tn4Q2|NGiENzbF_B1b*hpxnkGK|C`>5c#7AEum6`A-7p z5e}m04<`3H+q<*G{^9L*S0C}^X;An=>sz*UsmE)rVA2}KcF^V8Vd?Aa-;gUS6Q}`e zGXu?Hg97x+FbF;^eo0YZccc+3+w|=PZE4Ri-%A@BE6#bNK}sl1LfSf|B_!uD(E$x| zZkRuBiBy8QS3O~or!&he^~BNk7LHW(*iZOLIep_GBn*#w!1J&n|4X4?dT-D524kP1 zQyIw`$K3Bvv1SG`fI{k_Ew@x^ax~&bu?ViQMih&5Ms}uTDAFa_z5s58AE( z3-5(Cwpy7fhYH8?Ha)O3pR-SKzk53S#RhwWS^6W{QtQjpog9}JjrOc_L{_!UN#;D{ zmQ~Dam8DJs>hXnzRhsm*dDE_^#3wrJ5-w01sJq%Q3YvZ6-GxIIX#cQUi` zijB{VIhj>C8!E@T|5dycE4U;!7ubD>j$0f!Y*G2@WP{v0mk(plB1^T5LuPvp8-(Is ztnHn>2i*M;Tc_l-#Ad$Obh@jHxoabP`PYSOeLaBE%G?W!p8^NHs;^S|hlu(W&hvxJ zp49bgphVX1D4G62h2+*t@+B5jLYebQSOirMQrVVWj_Zltez8Xm!J>cL#>=Ahw8|{K*)VZbO@!hPgHW1 zeEB_?^Os9r+9awngBrAqy#JS+u!29`S}kK?jlk9~$?qvX%d3v8PNOFFx% z6N?C^k7QxQ!i$Zny{P0o{dv-K!FL`K6RW7`hB~uUxo-)|i9pOD)?K`=7KwqMekV3% zKOiv9f3x#mwCYOF?&S5sE0Jt>`qv8H^_lTE;Vko-B(j`z!J?pxwJQ2B=+2^We0`{o z^F)d4gzdyC?)zv1atjWgWEp@ap^qZm&HrH z<}nTkpH?To18Wi|hc?RplGsVoIe^}paGs}yUHlj=skzAUgp#&3?m?Tkc;{Dtn!Z2p zA-Dyb*O-iCZzK{^R~HX=I=E>UXVxcIKqaRCkAWA^it9rEQFHP8x_tHXNK-hLF*#CZ z=dF!<>tDv!5x2=;mxAlZ#CeIwqr;)-h}fgreXE&2jM+0PN9~R1iQ>tQLm3%y6t~>7 z-Y5TKTyE%)OZ)X1^M4pMd);Gl7EUAuNTC`8mSHDD7{bf;=TJ0tOT-vA&4xNHK{tou1c6=2Ox7UMR z8RS9L_nZfxzx}kC1G=N=rVX3W_-iGuc8e;v#LsRs<^HrhE4Bx@$MTeRpTcZCLSE zXFKmI(XRTSoJ9Pj|LH`9l8C=lpUDX&E0W-76FICbdY8+5wm3 zOFmjV3vXzF&B>$C?^jCtFdL8=5B|@^VgFH1Zt2(X!*;=dN*Pt>hBz$P^We(#YZ&L# zegUW3y_XfWUiU0%hPW(HHmA+n>aUIiMvftjJ+rdF*edapK9 z)Ft?>;z*@wgP%jyq*OFG)xyeUHL|w1cBu0ocy*%lNaquzZc+D5;qCUTJ%howR&Yr& zL8`Z*t%PGs!td-v{niJ6us-4#L;V{8r->`(gwAxAoL|puk6xa~Sf+K2=Wj#mmZ_WP zIavLlWx4yt@b9)g!EVOQ(8%BtiOr9z8@QCS@x%uUUKM)@Cle`rccbgYC9d_)G+?TmQVeCxYTl6ouK8@~fQF`3e6ed*qHU=`E z@vI~>^x9OR34E_l+?IDCP)OUv3NroPp+t!frRKk)(%kDT3AHb2>tL;tXZ5C|)O}Kt zv2ayCG>+qCWbchd%&6<8-vmYPKS<9>mmZ&)Ulsgtufo#>nF#`Ajjz{A7*|oOxUQQe zoiElUqoBD9poF`l7rFewUg>sl{EJG99H)d?KG~6?XC(cE|DXM{op|%%zHH$6iP$OH za%8hOw2}6XX)$QCa#vLRm>Ji-K3-5bX3bH5H{`<4$aVAjJ@F7VcpZMAq^bd%AN9Px zsWdsJwf&af7i#SpQ244?h#Iqr$Iu=Hj($kT><~clmDs zZr{eWw63%XX|-d?C;rdo+LPx|H1%fnHjm_d)Q}h-!XFzecKLYJ$4XrYL3i6KX!#sB z>%!$7_acvpl~J>96wa8vr|S8rm?o(0;WwyYfQ^*DK)E8|o-fYETqKMyi^e zm)Kf!`R3zL2E8TyQMK#DPkv7oJ^&oCqNu4{?SfEi7+%#m?U0a91QYsOZi&;cM#jFd z7xPC)Lr`h6Xt&tkiX)I7wfoZ-Na@KzFXHi%iU-CrJHs6q%5vgN|n>Y2V z^Ll@vMcv8sqvw7w^`o{J>XPfSSQ{|(486zEmOgcNBu(Gxb06Iknmu{2v5Rf@~;v)t=i8o1owf1_FI zn9P7eNt{#T67JF2kEh_KC|O^PTzfd_u$XbviJ;Q_%#j5~IO?s#g3Re6CA!u>kne|{ zHu*ORWVE>j7r`HQSG`#@vD0<_H!H|qKj?hEc)7F?CnG|#vzVRbwlnyJV=a*yr$t(5 zcR^!IO?ubSy~red)pZLY53b`~xxKdPq*%OgGLgUn>-mz88v=Kt>;xQ$mW&R|xN>V@5 z`PzV@}2d2Bz}3t9oYDAUTQ=75P3`pEO){u&_0$y@;h63WPzd&sfC{nO-*>#F2yHRwEXdb^S?LiKVf_p$M>@$*_v12Ex~13j&dl@g2IWtQyn6!&w@CmSDfv@S18q{(e# z-OCNozag_W|7L1P6zVe3A^&?4Co5(o=HmO5YkyF7TY$wP)_#&#L8PU~63=i?wZcIM zs7lf_!&m-$i$>s|K7d=Tb>gX0biZorT*71o9Zl(<1U<2C!+D8C-a}GL{^`xzJD5DH zB@43b_^L1KFzR0WG0-<2-vk%o;F`h^<~Y zDLKsjb^TW^XSqtJU()2`h@2h7NRi^&{>bC|;3H&@=abHIUPwWqE2kHna&!Ij?IZ3d z6YZ$&m7YJ+at_piAUg-$U%FZr527@${lNNw{|vBLMr{-6>qAqN?D;!+GGf5(zvV5D zS>Zq|-c23s$5X|TKVu85iArDi#j0(Lu-z-IC6piI9at(d1IgQ;Xy1T;dJ}nDZ8;@0 ztE+iR!dO#>j(kigU%Q5OCgNHCR~iE7 zs}A@8!qQH-wNu5r3Wwq+V*<=Z&<9|q!>wZR^e(aHFv7vfY{eUR z#sX}RZZZRvC>wGGeHWHhNb#Eqiy2qia%vj%9;u7k?$loUh(c z8=%DeBlQdlrQ(9L&FMT^^?^OU@vQfZcbenkhLCo(zf?Ua+~Na{;pS3zNugf}=Ps>u z1K00>RN=;|#AiT#pr=i`PUMrs(nq@+a?x2GpZo(2h2>#=4Op1L>9E59GC7h5!d>r@J z&~6ih@NY_Y$l7ta*1^xasdHhXOGc+&`(pQmZpibXxyP5j>5z0Kan<*b*xKV#Dt>3( zee5TZv}y)YdC;NuZLP#-a!22%a^*%Ayy$RtOzv0igl%ke<$xgsiro9ccwV zmnsN6sqoUY+G3YDlXFf6OTg$e-ox=m4O(?}Y;Hv+D4{Fj8|+KSxfk@(OHs&T*Utqj zG8;;2+ymCM%x~sg=h$%`T4N15GS-V)O38V-+;Qz)Wng17E$zN$N_b2Ihm>SC+Xlfm z?0H_)v#zakcR{lK*=P>%r?$aXa7`srK+>DJxs5i^#H6{y>M6I3v>2z*={{9=*l0!|{M>*KALRYM0SrBaCp)+%_)ODPS>ES2Rm|B=`o<&CV2sb~XTo62tW+$VE0xU}~w zfxE^kXl*}bp%a7m89!Cd@k!p#xenOJx*S1uuC3NM?=U*$-DeJBX}yv81BtfEcd`RX zh*|G_uAP*>*CMC6{j222Uyg?hCx=GHFHAP8k~x`Uer6DfJ>B(M@Hnk(pIZqw%@wq- zhpVD*TGjeOqDYP-XoLK-whn3?1LiIWGyAE|w#HW*;wf#Q7%7)|S#PWS@zlBrZB$M# z?v!xQb0PKPom5WbrFMi9{1f@DPF~=6(moRj7I42wswb7M%FkNu=#iMxz_CfAH8es3 z-Ir-zc0BZ2=8j~BRIG$6PXp2mjDwaGrTYVA4q$7^1|ct&K$UBmcls{9eXJxezJz-9~J+NWOK!# zrvr@)iJLO%iS!#?vPw^4f12N2)jcmLF|q>-fi|ne2zg7SGjUGS>Q>~l+)uwvaZ7V0 zQPx9QH&Oc*iqB7YY=N*PllZynWK2>s2G#B6yvd5E)ZPj`&%z!bRl_mf@4^mG4asb*7Dx?!%QWa&|?>cVM0fEo{~bYs_F)RiMgs zH*)U!wI4~X^p(a%J^7atf5hQ)0k$dQ)I7IC!nO~*W?PoGCUR+@(fJ!UHt){&7;xWu zntE;tV$(Bf+}puAYhB{Y{h|gg=iQud(;K@#u`r9jM0}u$`npJW@VznC`2RFj7!FgZ z_0z3?vB=YEW18`^=NG8%XjP8=b|j)D^il)H;jNfRm4TTq)X#J~1mYSq52Sr3ZRUkN zO}gH+2CWv%E|UL8%oN0(9UWELqhM$JEqar*-rB*=IC5S(c|TP12C&Fi{f#cbXhrl= z18J=|s=?wXCrNb%{@IVjx*EzjU5bbPi7BzPt4T3Xc}8tD7ndLR(p)M zfTo$tcJ##P&Xd5*GPL|0#}&S7DyUcHld{X9Of%Md*2`6G<*jG&S7-pnlQL$`?+Yfi z$xv&~(gPWJ&QcUBalW)o16CtkWpEY_pEPj3pcT*v%DTX%+&wAz^54YZ-HA%~H{qXZ z={Xw@H%Jp}u(WcNWvcrII8cqPk^>iRX~9y}t|h5Lui7UrzWn@=;-EaeifnEfA4A=k z$=0g8dxJ7teTPw19`G$}poqSqm_y>~l>btJh47b^ykfk8|68f^Xeonv8uJ8OiOYO7 zFdPl#d{@~mGEe9eHwZ`x( zMshG4WS7vp{fsH$hB@biIu~GVd7q7~ZNSK?%#v__g~@o~O^$ELc{M37qz-Vg(X}#d zdn~gv{gdN()yn8gncI+ee?n``Yb&}*j;ws6TyfL#J_AFnTGf_Ex`gg%puM`hZI0zZ zsl(aepNSEHm6g_5IQoFnBU9pkLfh)JF3Es6^dFSm-5vd(RV;X^12X~ni-1#>?;b2K1A})&`{=b* z!&?8efJUcNld?vUL`5-fsBj?id%-cdO_q!f#&B{>EjV7I; zSK}cm`Z;Qs8@(_jHQQiRgqoDEOOA?N)Zq$XF*ticQ0kcPt4(eo_S;Xt2DH9WwAjSE zB!02wZ>d#-I}NS!$nVLGtSE%Lo4LC{8NH+&a&J}jx51O?bo#EDUP<;P>garN_*5h= zCdT+MJxf(L{PemK6{@{Ky$_|HE_6mVlV_%a{(?SMS)TKJ>lXB>D@Q`e^>M{h?bVYu zHTYrP&aQ71kBW7Kdd5eqm#R|q(P2-hsjR1w_}XqI&tEjs1wT6m!aKRXGs)MWQ*;Lq z-T-bdipRm}JDI$~i_j?8?ZV-tzEB{^|BWVP@HDY={RZ*D0(ZQlxZ@{EzD}r0^MwCW zZEBu#tCA2~!MK@zp<{l74qXzD%Xh?|G zUQy^DaM=bd64{%Cy_%}3_}Z29eh2YWowxpQKBtUp z1Ii1+K`84wPdtBAVqc<)*yp)6RLHr-FQ!G-9!PaJzBU+Fh(5LciFgZI^>H5KTDB=` zLOycRCf0XwJ_Ib%(MJkbBO9?@Yd;CibRJ87Wc13|ZP{4|qs>YGlWL=+V5b%mV5@Ki zt_jpUF1F6an|@)U9BZUupAP@@iPDUl@?)hE{J+ZbzqQ+=BfGAQ=vDK|qV*L)VrzHV zf3EgI6aB$o`}AK*8sSYE>;&!-hmkC)t$tqNyKSK$C{?agu~QM5_c#z&-_=omor335 zcrEReoNsUGmw(c^6^OL)CPLCTc%VF6Tiv0seS7%02Kb2D7t02B!B#i!=U`t)c zX#ZmhYc7F(l1z(SyOEl~aut&>lVKj*SdfDkbtOeoh9B2gvtc6~7%E=*wKm zbFIYF9);H=zIlI@dA!-}>5l-(o1)^oTR4^&VyE^lHe)98N3pB4iOrh4&vUo!kZVb6 zdcfe{bbsev`?N7GH@}EtQiSJ6bFW&>s&&^8?4c}L`&+>|mwJt(;+OAUW zeDA!e`&#_er8Ny|WRz0?v}#$g1`RREpmV@tZwA!%Oo^W+rU zf%mh>KcIl7-JM&i`2ALF7xp z+Q-lmD`TCZga9>I7_+P!8^r2LRfZpl{@s~`q`1KImq-tNBogS~{QZPi7Mb}^2KzTL z^YFFG`2!y|$p5+PD7WRa?D;6HHxj~6xc7 zDoZ1u8JE>oiq2RClAShMxJ+I4yR=wa=9yhz>rG;Zze;OuQo4p5(0;JLZjoF#t(iNc z=SYBF1wFt?7snIGmmF2kZw;x-Rgo7Ju58O5wcbzerz_hh1~k|$BZF6XIx6Zp%Xw@s zQ^snb^BEMuH;}zuJqr`PjHLha4a+@WS#J$~N^gDya^sEa8$}o5S_g@V+qrQhlzIhn z?l0@>iK~T@ai2T?%~5Nbwa+rvnx&cA%p-w><4q`o@dxi3V7*4s2d}#P_DXK-KHHN} z+L~wb2+V@2-cNS(s95^YQcn8QhFch8gJL+FWc7vatK+ghRbtmt^Bl*n*!7{Dn5;li zU+mQrJPkJ*3BM7iO-_lurS+}Ac}i=uAJn1FmDDC%f0UY$&xHaJp1!As9~o$)$O{cE z>X&|4D3|NDir~_di80WD9qhg1?2x^aI%GWWE37{2ZGkjuU%t_CldEm#7lbnPiJ4m4 zDQJOb?FS2E!%A|+vOfoMyQ6-}$yXAA-5T0r)$@|LYX7~INDjRy;rRdcRW@Sm7MjN&ivUA4K zpK^y46relrFMHP13Y=os3XY{N?Px`EC%K{VE!MI?uq^Q6x?Kfw%Fqqb*P$N-L1KC0 z9^l&7GX`p9qy@hr`9IX$Weki;Ip*&bfuuZZKO$qlf&N=pZJ|Y1HAv@7>nBb8syJ9l z-kO-4iu=7lUAfg^`8MQd;3i^K9^^L#-79XXh4K63HL<1no5A-|>orJ(t*S(?wYp+d zMD180{!^iW$`Yi%*?r<#t7U;>pm%~rb_H{8xT@b6$Gg#TV4+IYS%Iq4Q%d)A?Qyp#A=b6=pDwefjZ~^z+0^|*H=6v_|w1g${oASOCGo%Oc>x(l68$pKwM7pQ;Ymx z4-{ThR5dPmhvJv5Yob7w(^(Y0c+$MiPaAN1YW>x;pM1g+2HAHtH5R& zJ|oe`X_Zg0s_Pr*mmFI1fT|PcpjSnWc;@PInX8e!8kang_d2-4j%Y1q&MC)A5>2R$ z%kLMQhx{tGO|gAKoyNO3Kir<>yB;X+kL|ENM;*lOyDzlD+cHTPgQ#y;{(%Ut3o#h4`#oWy}HY0N|63b!=?2j z{uhSCg%WAoy#-qZ^ZJL0l+tWNO=`ub7|1$kA@YZN0uSK`nK@_cLUC5leXyc^d@O7*P&Pw=39oUEYs>?KoW_vso8{hMUZl%=1@Ke@C8 zh8YG2MZZmp-`$b8b7Rp}j4pM{X`R|cNsD~V%^V2bl{!t1j?C3SQ#t(~h1dUrk~ZWx zm)qk(bgYurP5on}j@s7>>yl==cSov)^#8B!xMXAV?9UQo7YUroKP5HPa9>e3ja~i+M1-C zrId%xAq^*#IWy@pvG$acF(>AO!Se{(BG1@|TA@29l4ZRizb-y6{X>Nz+E8aNOZDtX zKJY&dP5%~KLo1b|2JBi0_oQ7GWF6`F2|&QZM8(UdC0NtQKh15dl}RhFcr`V;*2BON=%^dqt7p{#D6dBFYe z_5a2CSNHZDq@1;}ro#0aW0Jsc zRdk6q6`n4SUWsiWtK5UWKV3Q{E>1eaU0voGo*oy6Jl(z?KPmQ~A-yi&5-t>i`*YeIsCk*gjU1gq?CA0fi=Dn`yVY0QQ zOSiDH3wV!Lki5l{XB*(?5#Lqb%+b8!(UP{QQx%Ln0l`Ao&D2n?@ltdC|6FqlYF-I1 zc7JNa#+5*ei}BKj?2LmDV|Q$H?cjp`-uCe?jJ|>$eMaFrsMg#GByq*Pq@bJh40g0K z&iO4$h@CXjco5kxenq7=VB8Z)djzO3KN4vaxnRTZ7M^+A0*Bi>_w4d@q=lF7FlqZ8 zq|%CPa?(&XnoM2JmpJ*hC_U032%n*aVI?ES+NLO&qK7OhL>mhhn;>~RSdt>ebab*^ z>`+PdEnG*cU_hF8Tq9(IKDon<=Ea-G=lz1+}QcI%7d{J!4W~`J7P)u z7Kd6pL;3Tg7bXKhmS?6T_6ivf9FXYUi;92;cJ%_eWXTjYiyC-oStu+jGy z?SQIo%S;bS2z~Q(3n&zNqn6XWZDgEH>s%SiI_y52Zs9&;l~ooy17<(7l!_!gh-~RqA4&N(%fy!%-F0hPf8wk|I4;$g0W=1YlXGs zPLYoKCaCAiKB(J10ijr`=AS$IcQw5*9Mw<<}6lmXVjZZp@m1o<|&9`bBna-t-0m%7$~zvn4a+$TkS9rsiBU4>`rRVtl1R*`1> zGXn3rz>xo!61MoK5f}1if5DjK0_b2w=6sV12>!_W3O={i*hB&o8@nV=()V`A8z*du zA8s=BSL@I8VHKklHcp8QQlTFf?WtYlaK_(|dg({AQx@#Q{AY5;xYxyNkr#(I5L2H4 zR-1Ur2xFXr_pu_0HF=Utq_qJ#U>X$c4s#5$Hgn;=#do<{J>gCr4Cb8Ebc7cNUqUL- z>jxX1ylqMI3l!5Ycx(C#sPrXANn%p%535y9TJPs(11|7q|8{^_PAhp=mh*Y0gkhw?+;noGwHoil=mqKR|Wy$TN&%fToj5*=q?s7+$ z(v}rbC(^rveRdkI7247l3H@rel#FMgT`kXszoZ?_9a9`1h#Vtqqc7~dU$CbSi#Bt) zsM!#>`FVi?Us9?KU1j?<(AayI_rp|`f48S4sr#XshNSPLB{=*L*>Z=vtJZD9gn-i)HIToG$R~X zq^?(_Cb${t$6amfGMPhC51m<>_*|8DcS}!;^5J{mDx%&Q%v#VR6CIaOCVu)&b@wVM zL(Quf8drxGbp-Z7pc4DYBP(y~-JgPOIa#DNeTCiWZ(QHR-**UJnESB|tcUgpg)Wdp z3*iJ=zvqQpU$>q|nL8BLT-14~v`1pRDWLx@K_qA(FbEmoPL^AxZ`0bjF znbl#5N3T7AJSC2N3-V)C^2zRV98IE^DY&+DZM9bfIwse`yYQ8Ke_gxHGaTMtW*?2; z1OCqq2>}D4dZAbC9b}f@J6Tb{z0M}CO-5t1RDFe8#g&+iyD!dr28c`$ z4wZEJU4iQoU=%#PY37UPm(oVUWUa}B>MlmAY7P`y;$fUXFI2NTGp!%Fu1nrvF>~1* z?kh5nG(WoEDVP@Pnv7JBg>!#Nc!h`X|J`+afOXm8c%NP`|0mL!LTC6sG~!0i@( ztnE~^wh|bB9AwqM%5`OoulL%Y>rw6)-T;ejiJ{S_C0G3`r7O3A^?X(DWM*!xkheO| z>(=At=++ub^0Y*y32BU#uubls@TU8uNj+K zF^kj^+uwLy+9##po+*{Pa(V@Fk@5fJS$Mlo(2U{8O!lsT;*ZAX&@R&*RdPd~_pJ}N zmw4;4U-sTx$I3%JWK9Rzt)RzZjO&w|{1zn{1JE}X%L+u(hZQflSE)H8T6THH>ApH< znrbD6uez8#SbN@pe?~cKuj^Ie3`UQT6P8lJ<}T>`;D6y-*C&}9(RN3I;y;9%7kJL1 zHD&x12#Pilr^|1l0Ub~>XSZn|i`>`yHb|g57^$gkczz@Q-LhVFpVqB$|C(uQ=1E4$eXC3r`GK8#oc6hXy{SOVmAivQK_}Q zIJzwKIP@sbtnw93mfg_WcM;{IuO;r;qIs_GR(uy*TiK`NS*xsLk+8ezojnv}%_!I$ znU3;=KOz0W-n5*ZSTR3Cp$DurMLjI^^sU=nQ$1!3W?5XP8gfC7SiewkZR_Z6Ncw*$ zov{b-c~8E~@v@rJlrK8xWyA`?%+~mKOA2wioA!J{zO2V*cfhMac&yRG#kgm;rtyo* z{tERZpMFth^prbk9kF7vv!KX9`Yl0eh2$Yu$HGfh+uKG@Sg$uRtir}PI<1hTlS5cD zfv1p7Z;<-{$6JxX;PulD&O}M-+|Hm!ya7ci(w<2Cap3!*Sx@~7a8nFTu~&++c9h;? z$`dJDn}z1u20kZw`lk0Nd@%|Fk3NCqsSoVVR3qQ2!(;MJ+WkPbF4+cak~Mdp*Pu4j zwQZn;{lz_tuY=y_g1e1MZZ%3Y^~@}71(!C(Uo0EOT9A~htp2B^?7p;0{)IXZ8r{Hk zw&QM~d9y`wzChJ-t5&ks2#ERqzHKcEU7P8i4tVq`zy> z&$mPLPGD#fcE72%ZiNz<+Ikb z>?+!_!xm=jg0DOh_6qH7ED%&N|1%^O&$y652xC$zM9Xz`w(UmRol!J8UCG>)saKIC z68>@CP7{XO)VhU%X~smLMu>7vko_-Id?&PwYn@u)w)^{6OtgFqCHrf(t=a2qw^Bva z?yI@oE3szLs{a(OFLPe(xh(EelJKncyTaL_(0b0wzz) zoF?{k$uOIxfv&{ID*9MjD)L!7M$P*c%Kk^VTYU8i=@=4Op46Q)OSSAr=|B8snD30d zl`rA>nGC%kaHV|pwhgJVowTFfr)0A1*P^F}Sib^SN%|f1qa35wN1QR~YjIr|;xuAO ztG$^Rx!j+d+Z4 z(K>tJBzG<_b9=7Ky9w_wpLLKQITm4)o6hZdwV@a3PwN(mE2|33{c?ACUnDQa ztP77Lxfn%(7q~R^VeF(u{#hv$d`4mCq|{XVDc}UBne!whE@kTI5U?(%LXQV8?UkQJ zLH#x)&=Dl*uS&~aU-p1!Li+p29a*eGBo#fy(4m+Qj6ho}#HV*q#?~e0a&J@Haje{_ z;U}VRK+Q7)Q*C==m6c_{Vt!Ifo~15UO1&j~%6?1oCuru8oMZMcW5elRJ`HcDy|MB( zJ*AA3iTuyY*3)RR!c8Mp2MT?iy_ z_jouxClC@SX-yOJ#B$RZxig*q4tn5e;SYTg@zw>3tWERpv;3EyR@u#VQ%Q|#=d7;N zidwd#Zvf|Z4?HBAPD;_`G}LoX>=l8MIMbuc^T4X3z?*PAu-D#;x_z5iTPLC7OaDj0 z2>sr6kT81T6)U{ACha^M#uIgJYWi#W{Zc~}E0mnX>6Wr*n6xIA~C_jAJ z8K@oWA#c`h`<1pR7m2K{>4DLy9`1Ky4GUl;^{f01cn<_8#=5rYPoU*i$u-{3R6kbAdDGTG$ur5RtG`yY`(~ef^MbKz z>8a?S8;l^YyG_woT5-LEO^Y&Kto=~8-7JlGZ$M>zpeGrpJdjQxr58qXv1Fze*ezR% zE=&9eb+z@aH1&q|gLQW3!tg-rdF1|+z)x2{@_EoJyT%#ut>5hYhftm+OzW|fZ>;eA z0eNn>-9owfKyQPyD)GJti#GORXoc%H(H+Eo%=3Mf#O(@acCpF{jvuM|vmOH*AsY(L zp_b^!>K{p~9I563eI49==sIYdp(unEGSruq-rCNJ&e2O&BX!fC+kcBi40dl7eQA-D zyS`NeuX3og{P_l4=PX>*sqVr0y8+82oqc^9fSp0K^^ zSWb&CMn1%7DO}^bul%H=m4AC-S6kXXI$a!TVIiL`^upq8OpNN!3cPT=Q$8r^Hu&c@ zSDE)(DIK@Qp%?zGs8lb1&mIp>H+F998Xqna9C`jXoXW|Q)J)#x*HLn11h+c&YlCEG z>@p;)6ed_cMaxO(5r-SA?iX6bx$OA-o1O3IS{t*Np(B7)5BrV58rLGnd-#nNJ*Ay* zAlbbyHCQemc_t>F4-{pt&yg_3z(NC+M0g<70vO};Y^X$>tlR$q+Fnz=82KyL+#ep+dc_ja6a#1DUyzgJnO4cSCW^-DYOwU#+yc zS;8tQRXdg|yN!R%ngDJeaf#0upg2503URvX&#NbM|E#|O;@A(~mWdnC7fU3r{)@;s z?M&jdP!;cYS(4@E(<7Pb>5GfKg;Fom=M%;m=7lFi3*s}ybDgcaJlf@U=P=6Oop{w! znqZ_}#jdLHqs@T;RKZ9Pu76-dd38Jtwy}j1de>mAD4qR`#NJl%6PWs`q84fTcC6N5 zWU07RPvV2r=L8@bs&mxq1UC03h8B4WzTtx}&QvVbm zJu%gaUlMObM;e9rN(}jJSF%Q)`6iX#1)qIk%>jQ&iTK*wn}quR&pGPut9}bDS6p;1 zhh>pI#P0|tU25tjVxKirGcL;Ped)@sA6lNGUq5OC zWEHena$3noc8~z6F5sIoTw5Ja``=9r_dclP2J)dO;HaT3>|RqXZ;H&QtCyTVs2LL- z&3JrGW@6|Jym@2t!pg^1kB^qX`Rik;s;1#v1df~2k($t>+}5sjqcvx;(a}rg^NO=99K~bFwq%ZC^f<9_mFez zpu|P4Kpod7z7YuO&xa=}o%M-oy~ID9#=;W_>Tzi9!J@~LVcR#>?sm8Busf4tl?18W z$r{hGmB5jnd!wRp)l!7`Q`5!jS>CjxDe+yDCz|9QB!#$tOWw{Zr2KtV`3}>E6EP@< zXMSG$T!EVYa?~3*&wV@C*~f{#vUcY{$yWkZiKjgnDx|iR_E*W5SK{}TlEjMOc}Yl~ zCFD$!k$+|1?Dkq1(_p@`!D46B!#mw|zooa2uNIIdvhF`p9dh2Cc*=D$@eZ)R3hBm} zC9v3;m{=u>do(^3~ z%LgKpt}5OOtthAGQs$eX2f=Y$avK_JhUG zxC<`fkb4JoX}5}{s{Ln#%9L|O7egmE^*BNqrdveVA$YU`iPF>IBW*10v>*pOwsfv_ zSmhA#@TDKwrb<4%@xw^mb$e_a9C}o7q{@XlT@#CoY|$I_zO=$F@X*bWZmtnFd6J#) z-^Q21&F$AS^J*Vbr6Hjf`H$obbna-tSogJ>X}cjq4mziT*}F}8)9F3xa?Z~*C0!~# zcTlTyWypF}=uJ;~H_EAZs^lAK-v{(_Qnn+3mgm!Z>b^7DuKX6Hkh}D-KwAIP#kXH{ zm5UlXl;<`@Yn%@PLpcTV{xyX0MTw)yr+Qe?n!TW}7gW3UHbIwq1`C~QKLbtqUvFTC z6+8e$UNxSE%hY*jdLJl|y&#Fb4vEz(G~FeqK<@Lswo>#aVfr2RZEILn%2U%&I29v* z>8F_^C2!Z94rtE#?wY{3;Cn`A-{HiSXy#K;&)22R8zkgj1rOFK`l|4VYW2pCDN7VBLE%?E|HL%Iu zlaUfB-B>oJaRkmPgf-iE^V zg}n=TS5zEgg6i^wD0y@k+(T|3OV#);0ovqU6Sr$th8V~`KAHc z6Cy$MvLt+!@8y!zGAu*)<5dzHedM-T9Hgrua$;F?SQm@%Q8KbFhW zu8bO4)oMIDRGgbkJ|$#p;EDztZ)y>JWStU&l1G7W0das-HN#P21+8UOTiDQiA5MxD8?UF@&+wC}tl|MAiqhtD~tuvkg3 zmmLG0?ETcPg40_X9*IqS`Ei1bJgc|UZh4wvD*(D9>37K0r6iJFPl;`vcc_|^O6zTK zlN5Y2f|*fb9d=#d=J_b$ZCqCJdASk4q4a#bc?3TzEFPyHa$R`&Gc4n;fW4#_EjCO%hG zHD1x;@ap67a+ANvsd=u%oQOqwZmex0a2ryzAW;`xn$^YDynLuDpeUJ9eP3VWO6qtF zop^S2ej7_^Q6?LH@=*)T4Nn+bq9;$3=jmPE#g=Un1pE#Y>*8vSqg{Bi8pY_~Wzs~qq z+^x8BNIv5WE?EV^$t1cS`P#7qsGThy>6;UOS#l!ovP?7b#pZ(B3L!-*#~-x@2T74XOT=!*Rrcui`qkCk3HZbw-H znYb5?{_pxbQ(regp^LZP_y8*e9sJDB)O`OHnRF&)X$3}^8}rCs8=1$Hvc!jRK}9)Q z;+SomDW&l4?2&%Ki>XB>j`V+0%b=!L4Av^hh=!J3{=NI#;7%YUZ|^}#|E(WvH1@sc z7=qu-i17Xw+CC|)Rc=tp%6phb(3*N+Mb<{2G)jQaZDY*s(D@{+?F~$p8Fs6{; zt0WSalPZ=7_i&A_dCIb(avprV9NF!2>zTe5D8pjm4N2!_EtKA>$MLw~Ygs7!RAeT3 zoSW6tl3H^ca0Qkmr5YQte5M;iDZ9HWw-!nr2o_XK{as=T`XqJyHWN1BqpnnfqaScLctPm6XHEm&v>qM-Or>w(N$-=Up`F{$pX*U(NZL{7nBZa&nZZsHK!N^6# zM%>GzlY;D@bzT z*=_PxVmx?R3m2i~)*mdIyVhe!I@5I%DpGDL^x=m3t_XJp5;M=2_;7=_TtQu)`DxAS zc13rRtDN#@UQ1&6SarW4{k{}TsCdtsFwu@+BNSARv3^_bfr>7u7>wrlP;3KzrSC51 zO~td6%|b6ck!ql#PaRjT>baq|Hn*4)bC^M%Yu1l16?aW8rq$}wE(JE&T;4yka^hXl zC|9SRPF^jvrFF$Vl<}KwhKy_tDQ#akEhup>qGghnaTxj6whOkEo9=i=Q8%N9hC3`? zlX#CR>*lTaGpe?O@?20TYnT2{vk!AV53I%S@P^q)1I8Pma%5kUu^-K;WWle3Pu)DF zQ+Cms{7C-tY3AVC9VA_S@)r3?clT@*8Yft`uDG^@a|)_gB6E zy>&;9&&&J3^MRs>%FGp(Q?z$y{HkJR#L4^hwdvrN{MQWK)hU{EzVGAJFj$;%xGhyyUvA0Wad?6`7``ymHFrVN;4|H*OBEzaQA0igay| z2aFs;>t+rg2A>q}(r@&%36z%10Ph>KvU)xQJ#~x?5?!X^osKR9kJn@ZP?71=6)aJ6 z(Uf{iRjT;sQ~#AB6EuIke^SD1=s$^xybZMS{F67#Gpk0y=A7_*+=#bz;U_gKvDY8t)Ueg$QWQ__+wbjfGNvZ26`n)xRsWX@js z@}6)#OP**PKlWIRJdl@@kmV81?Z>f(@ad9t$9S+PN_W&<`5aDDE2h*$;lnVN(MQWcN1Rf zALcAIQf-rO`iUdV*A2rp^P-iQ;|uD+o%H0}i<3TFNHb15}pdx~zf`AGtilB&!1s6ez zBGS3zT9Vt;OOB)1P*AXDfyb` zEG5r*pD!tU7C!|Na`p{eX4NHcb)0JRH2>w!J0i8WIbVw3=6{QJo)8+*E=T?zv1A2Z zu34Ttf@ddhX*_P%Xy&JmSW;7ds7c^OSSWDT@ZvC@o9X}8YdKTWl$fp76uIO6jO-PW zUm6Be(g!ADT|di=0&{P;Z`CE=-&R%#>!GQ8=Jsew)~)1X4c*tUmh-Z?V^+NeDXI8> zS9k-Q`gE+o!Pw2RDN=9|={OqtY$oUqrxI>R6SKcvR_-<1+vml>}J zqzDsA4mjV49Z2u?oPdgsmAtMfk6B^2+1`JY9wC!CR?W`OUU@_Qf!HS6IIQlf5}|`t0PRmNy0ptbiqcL(Vo3`>h!o@3>z8l2_t*a|`jl`*=2F$#rO?lV3SK`a zSBpH?O6!j(n(8I^QrC*;HMX^<%`14VSmGMtc;@cwhvKE#|D@a}E2xxkHk8FGt#%hM zmH$Rzy$*XD8xvZK)8AeeQRca>T>gb&s{dNo0HuBK+@(L(6$P97RjEAk4TH+@BL=o4 zim9!S_X(>BzPY&QOnpzRt?O>!a-%iYdIwE*0kkl^&X>30lK!mB3Z28!nPuDon8UpmUyC_jWVP*;GW0$OviAyi&;oxw{Vz zyjqtc6H`ws{#vdmg1qMYxlvapnq~b+-Kth1Ldg2bl2_OjFOb98Rt5?Irv4zpGzc z`w0HL$4QqoEZ3S3(QxPmo{xtXIUm=@r*{{>r+b^$bS8)Pio(*7+NM^G5qT5Jt9b5b zdWc`r{kCqRsihulB9T#MDYf;bKa&2YpY^3sI9Xb&r`}Hn8nPQA#K`rs5pZx8fcXKm zwY$N)N^%p-L&%MW!fSQbqo9|L*2YX3BR*6*K0aJztdwPu>pXbXzF(iYRHU4Cg>jmK z>~icUYy{drPhY1>i1Z|iPp)2qjTk67DwHO{90V8ej-GZZGBL7pJ$PGLJ_1eBDVC}0 z5cGC^fV#VFu)VKxqS~?gzpDO-RMFcCF!Eo$tirC|r(k_7m5%;lYeSP%v&uLw+RS_j z>L^N`gA|sx7It`=qHcOMK))hyXz~$(6~StljtqdBkqciIiX>@r@My|96uW6cP^?g! z8DFcn5iY^SR1Xg&L>NXN1UBey^;zd0M7CxgR#n%)S_?{+Q{w4#)qcjP$D z)7I8hvCLlrA-X_D@f_jZfT7idyz{uLa8fo@684{@`QfZuPP`b@675V43s& zFyrwKQc@a;9`lwl6M_16DEs#u*YUcw#zHkhe23KC&bXrZ)%ZsD(so#zGER+s&Dwib zW3z=n)jhNLY5mu9f0YIec=v!kbWt?wuzT{GL!R*=Ag^3VnYr=VLdS&p8QG^Jcin^2 zLc@QWRjtN-Mh3JpgBB$}r3VQa?p z20Qh2{VstR*SigCD(j6)7pZttDv}kp*SfKWrGjZyMQ4}h&VDF(GX1oyuE}fHu%0Nv zTo8Fo@zNIN7W=a$>fqWv*4X+6Bqe)BJokns6c5!;QQCLfQr=C|c13M zd@LAg_r-2~pgiW(=(o79LF^yx*~k~Jar%tdnYAamWq;i}uCtM)@R(=5YuRF~);tqz z^5#7?JQV*pQirCLbo(Rg=Jx&UG_z1(?{fYGM0rnAUks? zTK^Y3zlSerw?7G%cRDX{%E_>Bx@z_R-lUl;63Ub-Yw-lTUh|BcH^d92eS!4kWLA^) z;`F!ln9_+?gtqZ)OS*)1jz+10(6aa{p%wEqMcXY)YQaz&1&PII1<7$e^k5)us_Ch& zB+6|f+s&tFL(ZDcQaJr1^0((Z|KnY!JH|+9N;-{hIZmNd`5#eY;p}8=foq(Cc45(?83>2~Ey@J(j@N{NtE8d&Smxw7Lph&M9i){4_Ne$(E;M zbNGAf{oohgj7_$U90FS(`0qUxRZLLcV1Cit|% z%!$yZ%v_z_QczW8vZD=EReIb1pv`EKRA=td@vWPidPv<^`aSP5I3>m$QXf{-Es;}{ z=9c!00(ZdGcrju>`d9UMiGJShdNjjcFYU(EV4)RteG>Q)%2*Y@;JR`=JmL{84~Izp}LZ?*6WnqF{^ z-AS9%)=cGlppyE1ZN6&m$9=%}Vx5%;$tAp{b(KZG3E)h{YUzPNSGbgn48zpjf z>a@6|x2Gi5T@L%pYUhjgGp7lk@{7HS#FO)U_A8!~*sp-wPU@cy&-F0=f@}5%Cn6k^GzTz6CB`hm=;bwRUq9T<0MvXBz)VMTd+e^dkjpmUIX?Q`1=bD zXtI(azrO>)UY_nj<`z-$UYA=^pLiC)Pt0sDxt^-(%Spe?q0;xI+GZpL?^tj_ETg#j zm)vl2HzV8*RBo44_SOw;_$o21q;Jj5#_8=pavYC8NxHnJxoyRExI?Z7EXj#=85;<# zybAXIi0m&t1wNAa^(oD{P^en#;C_rV6AL1hdZnu^wcu@8buPW_DtM*5#2~u`BIfB0 z{iElr(MjBn`di7@GWM+WlGIuLE5N}SNQjfw7#|B?6wV7>msF`*S17batT@px^+hNT z{Mj?_i{Otg!P!Ew)DVnirH6PIBo9G(@;uClDUNu@dLECR#2piv!f!QgUWKk65g4pw zE-L|^<`oh%$9O3FTHgVnwG0XQW#)GM(G|=;g10KHUhdrt&Hq#}Jd_)`$(;&OpZ0xx zdFc+H+#wGvcB4^_d4268K(2TASs?K&{Y36EzFsy2$*E4;FeN8iKFF*P$)TRih&Np= zl7ZcR#Ee!nbbZba8&16Mm?avRa@7sniu-525{U97-(}2hcU1L~_K6u*^H%6VBapk@ z=tPN;?&lMit~i1HA!&c7A6D&6pyf*x-cAbkbngpb+mrfUte3N&G1Pe#yv_>t(!U*y z$6;7v`{N}yLmovR)RbL29h;t=ZI!I~L^+*-uyD=t$cM2&*^)LBLN7Ar*Aw4ZQfq!- zYUB;@Tac3nOrGi~ac_tE`#&fesmjT-%!KS;e9Daf@gh6{wcC&Yzgv=u6xwhA{QobQ zkF34faW0a8*`7%(pKDe(U@v@2>GQDLR4_wIhOiPve@Z=rYP*DHA~CY-KXkAP8j@1W zit_URE>oUWY8e{9uVKnHvUhHelWVQy)WC8uQJfeim?r)stIBv(S#j?$ntt1U|_bVceD%1&XPH2h`|14$cUmBe6>A{S5c`y^HRJ7kC^YzM`QfYm+=lq7BtsOPr`a1&mo2B2T z`j}hDKManQ=f{}qHNIJIi)mbLvYB#3uX$gTnZhT|}^(e5SPa#f6pmq%gq zS@gX~$>w}!BRFiK?3<-)9#b~fvr;?lV2%4PNPiJo9j;JVT~HwJW=9i;R(L~qCaREo z<2{mZF@1D|kTTk9x|ABBaLSzuaav_>rui1quNU--UqVqF`VScP6+J;n=;t~zIe(QF zB#yf*>$?>mYTpCTl0=DLqOVhXw(7;W!k43Kj17%t$uZ%_8*`EU_of>{cj?+dhweWANU-4fH%S6i%ttCW)h z7blM4X;}e;h9|o)N`h%ybGJICV?oN>)yZYU3jfjBw~~H2=f5*8@XzP>5L~KO%|$b@ ztFb1F@5iF&1TR`dB2lK!TP9MQiJxWk>mU^=N|n93u~B?{|n|o_i@GX@8{mI;yyT8 zT_ksjTq9V~9w7DVbPq<<0sQ3z2PUCNGjILn?r!lqkpSfBSX-kkye{bMNnLMegl}Or zNeCb%_pV`u6W+x?P8rSlv);p>X&pMfD_zxDIR*>V8^+4tl`TrL4mLDI2lKzASy$D&(H8i(Cbi?Oc7ILXmUvBY zsf^Mri!}yA(r519!8cPKlKcL1^MOYo)|GPmEYh^6z+FEm(9Zdrv`jwvhz6M3+&5N2 z3j2oJAvX$?9O%K{SZEsOeu){tfpR+9qy@ug-I# z=3%SUKMects>l%c^h95~6?0sVP69#gT}IGLQRLi`W6@)d$udgqyU=s)cf)t;_lp10 z+*7jx&(-1BO2+v1vNq_=C!-3a!GM52hY2sC90I<0nPVpw`?K zQqifYzQ&Y>j*L`t-s{~fa*!}@^>1~9oaK$veUDmLVV>{lyTpI^RGc!^*DH_cn<6i;_Kja()3bF1FR!o7L=;dnaF|k3UByFD4hHnXGUysZL zygZV z>T*9;mBH4+UUa$G-3YghRM=;gj^4BjA&;Pl9~DGaTJv1zC2mTOaZINMiklN$k=acG z7xP@TAJrFPZ@-!&PcX(5)*(lic{b>u)7xt6BID4SBgJ!&EU&G+rrYVzT_L@?%~{^P zdr4QYv1wJ$@WHOfumW{@abakyvxZ-6vz+mP0DXG0`T?WTA?*%zPUZiAYpOrY{Y$?i zbSV08eJ7;Uj55_Him>`d|KyY|2_GXVTBf{UmwhgNm(oY`gm!qwE`!x>Fd#8>zfchN`XM#JstY$jU{LM9)^&yFU+mLrV-?eGQ z{LSxJ+qK)DwwZIJ_%-#qjjnL-s7&QDNOIjP8;KSOaBSl?OA+@E-CVoSOt;3FES89s64q6Y-zQMnn5Jn4)tE+9YRr0Qywy`t81h#5+ zhVd^e*yRX?&aZz?r#-1r+eEKFE}B5SuTU2pBv8^+4g5@lpC$s=G*~%banI=;?9|7J z-D%5r?Muhh+5H=LZg{)(W!_Va7W!e}ZYUWdd3Q9hGs|qHB>c4Mj?S|BV~v*;bWdq1 z_R7+;=i~A{$I2^QT75M-?l>|Tdss;kzvVHWXea%YkB-lYvk@BDxvwDD3%qj zbbi<{$dmSdvho~oOKz>7_h_}??;2)H+q%R% z2q~k2xg&N|ae~y;qI?zYvFkeXy3n}!rP`nW3$vJv5;B+=ANS}aK4YM`Z)(|n2O<)QYp^I|Vq9gq@*!IP3N)b?@ZG6&!c9*MIr zb|JNp5%3?Xd8tSB|BJucI!STvi3~pK`ZV_bJ#fIm%s;Wi^m=6DpuouDp{wnhT5PyY zN#LJJxjXtDC4RQ?XSQJkC&0y8;TLV=+V1pFmEmgwGJPo!iurG@cwEgVpon#>yfUi0 zlb0t3J9yim_&4|3WKT5rr0BT{(zhgT&Zs)1&-6%o{PX(X5H{kd!!bl$6W3)C{2T3AU}a4<6eD8I%7UFxDa z{cuM(r(|pVI%`gRlCh)dA6IYq zK8H3gUVEQSyXG|>yPlbjjZiP=7n<9vOFTuL>|XUtZwh^`c&1(B1IcTP<~obx1M@;M zgVlO=3j(9jHVk-{xC(fQvl!Berlf6m5;rF}kzT!->T1gl?e*fh@JerJY(phw%ytoH z!3%4z(<#W)a3Gb;yEhPtREH{v+okAiAu?n}@N;%@kViWlUY&d`^;ddHGgS`MTPoY( zB-b}K-Dnpz&$$;f2Uw3DxoGWM(1O%ItwCn@a^*+vD>&f&03HO&{KsfCwK{~fE~`ea zB4hLw^fG_rg_V~kE-dUCkP>%f24~&^{&H1A8$Fr7A-}zH)_!hm16GXUAMG`$&aYsu_p`_|6YFZEB+etLbm(3mNos{;>#)p@{|cMc?mAn!TI z@9)sYT}^-2-JU-QO5AEKrPi)a(#(pr+r#%{x}Iw1+pi~-EJpHLchrS@{IssN@lFf6 z>scifLl_a8;wT17DsUo}l)KibP2BJ2O*HKfYm`s@dzJP+`ENkBU!9V7O;0gKb!e$- zD2dxG+15T1ODr!nf*XCW18E7d#upd!W1a#OE)-mtJN2GVNx21e-wSnUT}$O#Lah1+ zl|wk<1}Se|F722D)AFAl=P3I0HurZ4+%z8zonm|4u_ub-Gaq6 zBzUZ$8jEWz)R{`WoH${;0quFZyjlOY@eMFJ2U+)U{ORzyB4f3U>3Ff9m{+|YCk_bB zYZo-ux&Li^Gdj(?Ed6M>zIun}Jsr=>>5^uLlfdG&_<$sQorbsc@0I-eR9~j3>`T_^ z2qv~ZBdLJq#fImdr1W#aH+%y*f8j#Mnfc?_ar!R78=K)DjSTt&`rBdb5t=5ye6O?d zBF`rKo(V1W**(Fpz=yc=QwvkC0_m*c>lXAJ`1=- ze2D`#O3hzM?@jz6P)?1{zW+M!-uhEw1IqQ}pN;+WCB77v^H=YF9ynEVRv7*Fkw>w*7d3roFN_mMR`AEX_JbxK+& z)>*RGxwx0~kYK*=8i>7O*R#~OfHuHVgeJG@4hMeYV=e@S}h7xv5 zq%SM^uXIatOrx)#f!Rl_Wk~nI#fOl757zf>_$e~Gej`u}1|RT9ovdvnK1*&2&G+0* zjrZ7mY}z%S>vbwh=usBPX{#V<$8TQwj?$cR%8jS`V)*P<^zZmnW=AJtb$pg->G;tz zOe_HE-&Q22KCuG>&djR)(t!t`)+OdU3w?vG8%Zt99eU1G)`@DtT+sp#FI0D3sxdw! zOLD`%aPH#{~M3`bYR`u!k0)L+=So+$ZqNmx(*1CuVzUlsJ5n+Vh?U;5MVf85U<&F*a}~a4@fk z%u&C0J0^x#qh(imPQphcDcIoYH)GS6$bH4a7gFPqGHc7Q1qZIZAwJ;lZoD6h0lgK=E)f4Go3MGwtl3f#VpWgm;^?cmg;|PP~<}rfuFFYXM}qwA@Bk9M#?K*qz}%`RBnQ|5)HT{z>q@PHrg9iIm%O~=xu?xv#{couACXKb*S6fc#`#&;sZ*QtO-e;dL;fIizWYazB3b* zsWCkz_L`~-U6*>i4c+M%yyQ9w?u~S}%Atpxr!CqkK3(xY_JFaAT@v5}=sfG)Ak?Q# z4{h%9Yt$d!m1tw#f`0BFeo=Xg-a4&o?1m85UZ6izHcsj2MB*%KQ&kzVL)w+V&NEZp zXm1ADHRERIf3@sh{z0HhXkp0wSOwYzmqmX>JCnAlSuWy(NZbo-`;n`q(i!A6^K2=o zPCM?rW{N&C)UAnKcHy(o%lnnx?&{%-exDkT7hdX)CJr>qj)wHORinZWc)|@AqebtJ ztasQszI43o{l~@`^|w(l-&OAp{oKQXq7(Ux{F8wizQ#DK86n;zX!wh<)akERo~Agb z(2{mo&$B7q93y<7!khv*pFzrYwjN~U*f7wqymx}PJKIuHX0+@5h&*2^HUqy%vM~RM z!7tuqYk6E^mx*jOXKs|!yVmNYX}`)WkZUt^(jTixygp^B)H)?udB2l$cWGDAwV8XZ z=j(>0&P~;=NlC0-^y^-EHfJ?XjtQ5wPAyt~8QAzY(kHn9KPwaogxHdIJ^o%BUll_l~MW$(etL{Rl|IF#jZ#(y;ro$8Mk-T^e=~=3J6c~61Ucg%__K(z{uI~*_w}Vex zAiLRXMEt>!B(u|uoRsMc`c+GB$e@9ZZAvuSp-A}UbQ)$6J zqn)d|`CT4s*=B!R-ylVA;~dhz=L3_g`6qY%zddd{%BAc&&y&e#Jd)1Gd`?*<9gsj5 zpC+luPo%@SnO3nY)9Zqp^=-imvd+Mgl$77Y$K#Fg>Wg5e!RTqrb?O*_rTS9A7HID& zYMWH^QosO*hIN1RTI!Nkn9J5pla|!e{8HXxCY%}C01vZgc!}hYQ(B5#E1@!cr%HxN z?3XodfQrMb{v$(5Ycq4PDxk5?@gK~JWuu?lubu?XhgV*aoSWVeL(gmDLmxDA`h@T} zYv`ICfq`ISr}!tSL4CAcu`7r}UnNh?x8KrIDdwzd{@;)AF7(;0;uE-dBvhWVhOan< zRtE={yOY5ik%1Ck2%e?-dkg%YTlf@GAW0sAc^2~jFi^Oi-mr6Fz1JbXb~uJ4I11)Z z$y{v>v*}a&AjDb-`P+0`vUIV|ySzOw2#r|M1KC?xF@Q0$7F@qi)g|}OI5Y{So^w&E z46vgkbT%Zl6HF$OKU(}Ao5ihl{6YbW`Ci#=W2 zBY3-y;~3lnGe5^B=xA=V^?8XXGE90tAgO-Mj~$c1>k%Z>9jop!?h&pg99;gW<45B0 z=~>6U_j{)M?{?-ovO^@9r-g4@!&<9qTY4gKzbhGVmh(~9N6?@h`$}yII9XODa!6v% zUbhQM{my_Jl?Py{^?Phjp6nQtI(EVde&>bBE0f>49msRF8`xaUm>L876@8$avu+7C zHT)b7C|+S+>3v3V;`7czhu!84iei}cgg8eK$$U8VH{3uA+Wyp8%_BcMGC%j-{7ZoF zhqUui@=#)F2w!0IeW-z*Tv5)Q(~3)m6m+X7@bq&@-0S+b;#~SI7qb|xome~U8vBfK zxN3!Sd$gCdcXZz35bR4}4~_jRDJchhjkjImu@9^<(U-IE;#=}uMk)5GCB6+xPWZ<+ zMrfJ4P3g(?jz*`V1!4$d1s9%nhd`Ul?Y-6YWBm}#vAuVy695t{-OY*8dFe4y9d`ybV8;2^^!uV@zy&+ z^}Hj=TKkHC=mE`_KQ+I9K|kw~|sP;;x6L6d*t zXh*E%kk4YVx#SMt8SiYE;$Ub`>ZeCOWTyuRL5^paa z#ee3!o8c5>t#$N>-8w>WSGpo)*UI|6!uk8zAJp_Qegm_!5(Vi^%!S!IM?d5(icI}> zOZ@NqJ55Rx&2E0XtidSdc~7$rWmcGfDOi!PCi9QTTu z=|@IBTM9cQ)SWr5XsMzt?^2$%`=hhL=}#d^yW7?$+SBx)9rrR@AFrtC6X65%6GkC( z%qe0mYQH2d)!R38Y#f#l{7dK{{(R^N~*4&NNEObnnzcbT)BlFk_5st?3AG1(UZZEbc97ieOw zrj;!5DH@ejPF&Nb0!?@l7#}gl=G-4%7`h@gG3IjCu47*sbu@aj^~Xc3ZDpf(du|ZP zFPDZ5Q7Yf|z3k9qFQxAzFZP7cCQtG71D!@gd(T-JV4#Beli*3pn0cPw!hPn0uI~Dz z@|`-Xq*-5iV?gEF(tJzh;%jw}9DGkddlyA1qe^yB7&=$*u6dv)6|cfS>YT*Y&f3ccW zVAo7tgg0n4%Q{5u?toIq`W7W?si8c3cd&9d$r?4`>zG1Vx@EX;U)PeP( z&8sn2B9$5cPtl$6kvc1{@ptN8K=Y_eyS(y!=t6R%nad54hUT*cAE@8MU>5Hn_#VQ4 zN=c^knp7$Bv`S((Y5R<@z(s{|)bk?nlhf5+arCam<66=#1Wy+h*5#%?_s9v@dm6iv zD%o{oMP;5V&(+%nj`hYwRX7OszGo4Gv%aB&(<7ky;-n{$8Li@B5$+%h=;ZtomqM zkvNUy^Q5x8c&AnT>p*I$#hPIDt;TlRd^I(qa7*E!a^7Sqexd^<`KPwc!T)M_*Oukx z)yBB|7SQj5@cjannszTrTTSwRRDU8#1I`+Qh=cd1u*NgZ!zpKGvmr7-I=u3Fh?#(rYbOdX z4sSHR4qhEPw_saxTdGU?Ch$8q3;N^VtErJ-uk5hXx$b)U_ZYaWESQye0-lgCM8CD> zS&JLUh}AqisU1(dTm}o*^k|KaVOV#fz~$WwWY~FDrcvr z;uG*ADHa!oIvi?G;!`vEK5AV!e|6}4%UGHTJMO$hU8ea9>f=rP6^P%`>-~`qX z>h}nCj1!D#w2KJyEWST;$erYsedW#f=2>g_w@RgfB;}&z6FvJF_w6E$HNg#Z;o&rB zo{+J6h4h&_r}qQ@H|b^48aepZ1|T`I>i3B>B;>~43VaZ_#BsHECVcZqdUr#I7449O zl6$*%eMse@k15fy=B&)~`tayB!Ib%tcad?kb5OLOaGrTQo4qjFmC=Xk!3w`yEC{QL z`4z!@A%Cob=_xwv3f>8#ZOohMq6Mdhw}d}4t|_`6$ysH+s`6|L-d=V#cv60Exb^+m&f?aBIsWaQ z|GZ%ou{G!qvrlkW#Qs;pKLsYVb+W-PcN?qZN$z(0J`jDxwL5i7mi)?E^CgsK9WPZ{ zAu%qiyQ1k0x|EP>r*nwn8}w{|vvJA$g37VmcnC^srzr3Sn=|;|Z0HDXeE|KEiAw2u zCI4g{XDVs$D`<_0S=E!Hsrd1N`=w@TED5Zxb^$@^cF6M&=%SX&JMoDB(xR!>0{XW(8}`K zp>avsCmu-?A9%Bt;ayN*vR%=55hFf5mNdE=7kd5ahgQ}UB{O+JscmSRrd4C9@hsqW zfpwL56{t%-Ribeun9L=^^7}+&3p`?VkQiW^xNw!c>Aa*zc{2~P{-tD)6dK_z6)2kr zs&_`euDP9_-RPL)zZUrKZc^_>n38Mq@+T9>&*1BdqNG;NTOnmWJR_?}5+irhq3wxE z%I>K6QXprZf4aoWr#yB`I=gUk{0;OHR%_Qj7XHJNyIX1Jv;vzO#1zNW&>R7Mrd2EP6{<8uMkjs3psQuD(W#?Y0@M5De+RArw z1WBXtD0Pg=B#{|O^*qO&FuJ(C>7M={Jx?{wQ*yW5l3EO3*mLn}FY~cy6fMS;q?@e| z%I%{pCuzst;XQ;ty`kuj89qIjiAoaF7TtBGTeL-u7r zn4A*K#%wHmsCiE+H}Qbta^@<_uo$7dhaF$#zX(+N)Gl4ow_g6mY>9PVNJ@PXpN@x2 zT15v!Yx0{Zo>wOGO-*OFn&P3rso$ld#$H-Q?`o3-{@O=CWK60^mErsd%CQ#)sFoD9 zB_$DN@2KgJ{+X53gWo=p5R7X-6m4+JYR-7Ni;dOBo{Z91(vN`?^#@2km(M@uqL&I`d`3b@?=@k0w=|G?oEq-AWw%n%gRhe znXJ@h3gWK{Uz@XwKXw1$8@P72XK`d}NJ{*sH&CKX;K`HvXg?|F4ocnYxb=V3b(v!? zJP>emT7k;dF7Yi;_?2-4usg7~JO$BIk27t5g?0|{*X2)-EX^;><854Rq9vuS238-r z7K^MgdDqcB%~4*P7k`hDN=$2gpKABUyeT<66CPq^Kep6YK@G@Bqex_^n+3d zf}66-y{wR_eZgPF>)m@P^>A>$LsCOo6APH3r}ybs=?{mF2``#8#?Q{@1iL2t3E|ky zYDRpEquR%QPk%S~&!sStOP!4hW0F%@;1rU3@mz{_wVygfjKp&EGHb!4*|wYRDHOfS z^OFTPC@D$}nQvFt1qKODO(}|JuN*q5y=u97HqTC+oAYS!VrSn(3OKMX)^)dId9$@N zy!1K6yIUFm`3lBgCbNvUoVD~3%J0Od({7JD(wB-)3i&;>#9%z@9@_+Mi4ZBBF zt6$}IR3rKfI(;cInO-9wtFGwga&7NX;`ktE2RMDznulz|hD&!geg^7C8jeFD?4zNE z(TPosbLui3B;CHI=~4&5ymmFTPiyD7s=>fOpeZ?a1~LwQ{}(fM@R<&zkdNNUeBvC$x_m<32*0(^tN^+S;9gl}D3`Fg^%{RmQmCVPl zQu6n*NR8=Vm~0IfZa1dtc8xF8)h75qQFAy3S{8L1tH8^oCsw>438n%q?|{)>@PtR=XQBWsxb zRj*dHzbM~4qf5K9GeU*4f-6K~YS$?oeV;i2b=m*dHo!qn!ZxsFc=7x}1M(jh*l&tL zSFfYzq+v-BcVE#WYnt_b@a+onsSvlq-TB8@!f=J@*$c6Dqdb~F6)y4~U5ricFS8Z_ zr-9YI>aVX^9_>$V%b62-hu+@+oEOBebGfYra0sg<`CF6kqZht}cbwink)mpwO>CCCYFwS6yUIoWnTzT=fxq{HJB#k|z8b%b+6~o@UGT)rh(+27C4)_& zFgsAHBa&e&6vTPs=4nZ(XNIB*GyxQHv%rv+x_NG@I1;_iS&{R6`jW!WYFosaulz@o z+QU{WxR5Y`w!+?XsP$*)mEM&PWtSxG~={Izb7{%@gvpyp}yY-jiq@ zd*Q#4nl-1+1{Y6-N0j_mQzLMG7asc(y*e&62H0k$tny^>-2yVozZ!yzz0{{xP41_m;p-my6CYU77ZZGVD@F zdb5z7vZ?gtwdXZ+m!|>h)+t|{=w5~<>>K2dyu$~ntt7Qb`eR0&>Rck#$IBIuFpDVf z7VOEr>jZ4MEVYZtyu#9hAEU!+qE~utj~$d$nWGP-KIB}Y(g9@5AMmQ(3GRSg_qXF`r8gC2 zr3+jiG=87Tdn_(IUI3>QyLB>{z%j%(zh8HK7e1AfJ6adKl)PRf6!G1RmlN%!4_d^y zt$dQ#9qiyJcFLP#ysZ|yol$ODM^4GBKK3fpaqm&1>K%Ix#A0dlF`YWtb^yp zhRO76xNDiBprg?rD3|mdD!8F$dHwM&QsT#=r!vz8tAq^YMx^Ba7sqXJd^yHmxWAR+ z_S@k{)@B(y8SVEuxREE}tOd=M32)aWO5*oBu&ZS3T03+Swz1<7{Kcc$I=@}1eHSiX z9R1Gon8<_XaF7-gu3b+1@ncp)cNv8Xe-6rOKtcSq)MLg>;aC&SO`ivr*b4z1mn!al zB6v>Qt=|7xt%n4Itd^#mW;p^%{z`wC zS^g*Uv<|?r3-FxccrSz(znLQjc)rQEbK2i+ebugUaN<~Mwqpi0qD{1j_!rqFcawu>RabeR=`}Dq zjl9zgnWadr_jekR&Sy4cKkZle|E+pT^&sDugI&{lX4d%Vf~c5;1gbb-IM@jd;yG%2~h22W#?zax8MA$c}z z+UHJcJEaB)fH67E^Ae#B^Ec&hV73PIi)7A3u5I2K&R0_dPVXMMJ93%zQ1|IbhnHXBHM$onyhyI6>aU2~x!HjlL>rn&Z(}ok!&(*DskKD% zm3wTuN+^q6V$b#Nq|WWGtEGgxCL^UbQNR2@;)x|WNT|2gb_+3|N-U^5VC2Sb1p+7h z*Og1nv=to?-d5k%v6J%i6xB(m4ZnMC>dbjJl3Tld$zwwEass4wMbQ^n0WUPCTmbdGjJ>o<#%7-3?Iw6J z?a#+L*so^Sf3!0B4N^g_qu{a(x_Kx)J1+ZFu1(xic+`3V>2j@qpVAhU6{{70QOAF8 zotOujmgwCgtg_IPH+>x0o2hJM?v=-j?2- zh`FGFK#)lDe$nve(Zu_@JT=ze>lw%RGrr+9rOcTnE!=Qs!4b-`uf}zbzKN1Y-K_K} z%4%VJ<^M9i&)8J@OZKOMrT*dddqb=Q;_Vs|>j&@2HPwcLIW~JFlvD$Z_w{hc3gHJy zb*1a8&Q}s}`?AkV26VqJRA3CLDi&{nd0yhLGTuHG{U~`=s8PD4s(zw1!?rTWw>7?$ zu~a3LUxQp#soeIgxndvj)*R_~=3HhCFTIo2B`ihD-r&3`)-!(G(GE%*yjJo&LF%6N zZ9{U8Rd2j$cvocVu|MV6%(kwg-)Oe_D^-nHYs!--YrkkRB#zZy`KifkHa600xjF_5 zs_*sP0vEidL#=_5wOhbz+`3lDyVKp{E#OqXGJQ^6OY0GEN}BVIb_THoGn<&93U*Z; zuVfCnHj3X`lYdTN4o;qfwj`!hF_a~-@|mLZW`g(w)N}9Xr`w}Essy^>S{#irMlL!6$EO&Ch(fdbGQ4_asSd|vFyo^fE$JLN$2Z6zD=fQHXTMvz1D@cXX+#M0Z@sUen} z9kassMg{VMHeLbGDwtl&z8L^E{H_^B>%!llzJl;9Fym10?3TDL?}_4RN|Rt^8Zr}; zGEZ5XYJQI%E1r=&R~MMO&*0(3H7D}|AMk_k)8~&-_lt>BvTT%ag>M7x2^D%gD zA=0nN|01LO*|Vn2YLO+{RU*qsZ)?+}xdCcX!JJ;WS(Rj;mHSWC!nzQvu~ky)Lgz)I z_q9!lhb?~0o0L3|n3>5(6x~6cfgVbRRLQf}FZl_S`=M|?R=mXEp`(tSNXgF_Z68Gk zPbf{vslv8rIm+Ex8#4GDbcrjM=r_u?#Vkj@NbBf3hE%x7hs7UP_CegCIa4{ z6`fCC@V`f9l7fFl^q0wvDgNHvw2A{8n;NJ1hr8W{LxRt^hSW`K*p!xhYr2jsDFHj( zsl#737Ktw<{4yBLwn*SrUhxCa#$B=rN!t?Dn& zJ)EB6T4q5*l?$6zpnKc&{87PEa=qjEh>;W|r((y+GyYSwKK@d{sdhj(j9>OM0L{2Z zQg-IsV?W=Ptt4g@bX#}6Gqq+Ted7&*{9V+Zof=ngN4hL-AxU3#5U*Wdf-g4C*;=Nu z(M&8dYU84e?S(m;vD_W7--U--0(ROkTIK(tRjxZ6fi-^>7nedI)oK4p zGIMU|S#Vp7jf_n=t%N2h7($|?3 z7cH#`u86T)QoFq8aO0Tgzcb~p^{){6G6$0@&+{#F)n(0kn6+nf1|vF2p3Q}2t%YK^ zlj{L20`YLo3AS?YP1|utsNoCfW}UZRG8-uRdjB1`)ZH2kw+z~E@#ci(JPUFY7U}92 z2{536laaJ%ET}FjDFdD3Yetp72z*n`$lB7Z*eVgR~}J_nvl z4~cq%8;pK|)0RIUIVBvd=1fccL&Mj~9tFAj!WHDzO0(C|#xGFLkB)HKlJo;J44^_M@bp~XsKC{UaKX1oo2NxXX!mmWpkvfJJ5S74 zlRUF@Qpo@X6)3PUThadG_5U{a`x}RyGsAd#0Mow1nz{l80kDkLwh~b60H6@ zF9n}psIq=~u^W!CuPHX9X%Q^LM`s8%tFX}Fc2A+__?S)fyOQ8LJZlvUq4J`GDxUdR z`QE_AJ(eiDjDpmA49H&_`do7IJl(h|+&ce!S5NnktjP8@UQBNB-W-yA&`Rc8)syQ_ zM;c-^;rr`(*t;@Zg*}8es@mtB=I$1BGFJ3OrTo96CvXMz&Te|%iQm1XQRFab=?-lb zv<*vExhJdGZ#>g-pNfttZeLm%tA@*aC)L}c+Sv^^Hq?OItNj8}Uh z1H%7>D-;z;+8s!p&D5S3D*|6*n_Fxs&4H5bQAl5F1D*3L8FzOZf22fLHA0(pU{-e2 zsk~Zy8}70qtqll1S2Wl&5K8-9pF#cm)hIiA^Sq}w9$|EH?TKDZn^Ja1_()gHINI=B zU<-JSddAatNjP3{MG3oCRBkv}0 z&sUb(_syJeOEah0`c3MdQ2T1LjWx3QoPj&h3v;ArT5DrI{pLMMeY5mhyAr;TXVwQD z{7at-hA&hqaUr2YbIAHbjPW{n3%^b`J8y=zW5DwnblXsR#Y&r^E-&8?B4yrCIK3-y zopVU?HfvG!)2cpXL}}QyT9=w!A-*-)-*~ISi#s{Z8OCa^kp6sV45Y&=}Ho27P^8#SRu~Gmj*8dw)bT(-(r+)YyQ`nHFME z%e@~?p6EZ=qF+&Va8GJoH0C#(`!qTBS?pb8S`TVV`Nku~)uo+=M0nP@-w*A>!w=}Q zDpoV6xZS-qS%uB40<&`di=5i!>6CRBDBSP#_EUV$X?w(vgE#e1FNN`A3hrbzUoL29 z!VXTnNA0S#`7JtiUm?~7wCd6~0kczMXPt~6BJqIdt+g$kmm%-BrVdDc!qTYI@n}J| z`vFGvFnOCVQjFX-A%4s+f`50J%Luqsm{W6kRBk@%!s>g;MlgC8E!`KN>oUmosb{D= z5Su0RW->Qw8nsq_JCd@|dxnFPss$&+oE#^WUS=s8Te{Innw^4Ah*@Pdqn%ok(}2H@ z+<2ORsc5tXu0gSt>@m-+X&L%G?@Z*$(Nsv;sGsSrLMku$=V4P2%+|HfH@*qc!x# zCGPSeftl4u)F_rZ&qhBT5y~Z9eVboc^1C#am**CWmtY>Ly)4aKAv(CZr2)YqKxP!Z zSf!}3# z@(nkgZ);WhzE(eHaMPvrUjs|m+8=BfvsyJy$)g*AM2pZO zcpe@MKcbJ(zb(69Z5MrMh&^<%JO#T3>*nYJdiYCHEW>eX6yJq!DW4Nv6O&fy1^pQJ zzxz|5C;9h)R>gOczn5?*;pN;LWDMlAufnD=Eq=Ep3>RSzs@B zF}Uz-YhI{JVQ)s7z(>K#HEpodj+2r$>AgcLzqu_oQQ?fYMtV6yuh%bhlonSRNIpYJ z0%{6Je~f)C940N8KdbuRdu*5Uv6`7!E0v!9^%GQGX(&3tjH}W(6Q9DnM$|h?(VTFz zT(Y($;Sh8}Af|V6txz}jZG*O)8k~cK4N1(9m4CV<&w0^xLUCFvyB1Q08&`^SBz&Jb zxmfa?Vew%0&K#l#C$M0V=*Sxh9UH+4JbB20C%Z)Qu2(bhMr!cWkN1#g@Q=ILw$%-x>Pnd8kAJPKxi_W46!1nanamfrRa`dz;%9%}2jCa?_LJ(m2p9?u-D_6XhP zySRLzwZ7y0z=6WU))Pr=UG3}McAw7PEN|sTi(pma*R*$B1nD-n}DRcA!ZOX zDJRK%gWPyS%8{}?{ZI@qi53X&h0at?^C4aR@^!?zNNE{8dT0FUZsPYlW(~~L1A!IE zXF_&v`G+szju%sph$J@UbG0hfTI7KCi-L&UvA&`;3KwcOHJz%cpl#I74_%k!Tc^c} z(_-yGMRn{*(3(6aLMJ+P4PFnv+6t_+;Yh)x+lL&wL`kJz9wURIAuhy>TZ0@kaWW%=nr z<~V_Iyc@kdnJIcHeUUL0S|gZMi7wu>&b}5emR+)4kdks~*>F{j{s8bUB<0)e^BZ2` z{)n?@T}N;xIpkkz=Gi!=#F5l6C>F_5@`K{hd!&9-e4(!x;>+Z$*=DH^#}vOx-ebj+ z)$D{cb0HdJCwR$XT;X`T5ObEA3LVdA=f0`A$!?Z-qb3$7I!T>edX;-gURL8tjOtef zZ52yOsj-f-%$$v}sa2G34xHOqACmhJynI-nk5pJ?LHXee++pzAwX|jYul#k4PwMd+ zZz<|&14*-+7jkmK4UdRIxin#{5P(Gb=-l+pvqGct3i!S>g&hnrrDPv+Eu z5w+(5gRY@{&Y0&J1M8z{xGKBT@i11ZYFG1 zpTIAO%sC1^z$tv5|2A=dDq8$=ft>Eh zn+vt8kX~b;R4K25dAE`)ua(?gJg=9ECuK_IFlwHkDg??B#?)t_k@BD-<{^}A%rDpP z%{YLpq`nV+&I}bLR+cRB{j~_WBl68W2Bue)%xR|Z5>KymyOIW1pOBRJe?*-HoD}8X zz(-2D$5k*jxP!JIn0|bnb66uc1joG}tAXG$A5EW5T5JV9b z0|WaH*rMD)S zD_T-(aV?9JYXS-Ec-fDq<+_%7jscyaPLcJD2J13{RhsD-{G;Md$BiLLadnx?|8Z7( zX{&(WF3HoZusscy`ntP^ST7VNnmHCO`%%%EsDD_4V{YyF zFr2od{%x@Qg{!|I@nmgwD(3x6xYzVhssmY7St z&xAO8PU~eoRz?3^QFtaiJ9%B8ypgU*oE?joY)r;f%s${?gTu}J0>!~tFum2hjwvzt zY2yNXeJ+E%X`}*X_G?-K>A#U8{e-qute=q&JZrmwkS8$3zTERHK0RZ6<5)Ycu+yYy zR`{d%OKScPiQ;1fPMrBwgQI#yLE7`7Q_i&*VXsJtFEHpCv4#t`s1o|AQM!a9&mOA! zig>dlyMwlvgq=>?WhehEV<;&vbQ~yX8yA1R*dr;;)2NX=eW7y~XPQQ~-^uDT&-DtT zVcK$)g3&GErQnkDCGuJ-{HYbYS%@Dh+~Vn|4r5I$T} zq0pU#K3^fT1(K)&2-06o!ujyQA>l4&qxVhxt93bT zQl367csc(AsO44TT;m_+x<206e)Yntd*ZuVqInbLd7t2yKrS9jCOZ9M0SR-tBPaZZ z^%ym&r`}aHUGiHiEz_-TQLUpbVClM^3`|%DJ6A6q*~+i5TR+!7n2dJ3Iku<{LJ6crSR)J&Y6uo z$gGi0fGNMd>%b#V^YUI!dSc(vw$;feW51H;!4i5JDh^}XwhC%Cx+LhrM_umJBaR!zPrk>*{c+dgNK<_s zZFqpXq5qW((m8>YmD9Y-?{Fu%&j3GNE#+e_rxrCuHJ(2rO(M-}Uv!;kY^0Uq&h$rO zPJ=l!@;Q(5%T*ra(!P#9bXh61^9-EWF)_*(B>xSmqb_w8hm>PhyB7+5o03l`^Q@xC zr;Vh*-nK=X0^Qc&CxYyj-(b9t%Ry-8R%-`OF|l44IpAh8T@6e5SfdPjFp-x;4!50-0OfyU3Rq z#!4`Qqo#3x_WxmbYtJK;bVdO>8_W=r`8#-`bPlz?CUQu_Q-Yl*WKO!jhq9==(^P2ud%^k;w!yW%2Wd7G1d zKnQNuCG;}ZKU}wdneSoaU1wqDxzetwQH%g2(Z@5q?^+TAJ4|FZuCTBP7-HXo`A<>* z>LJoXLVvbCHVkAGJ;I#fktypsx+_B8I$DMZ(-wQtR2rvJisM~=4GIs-+;_(Ms5*)7 z_LPj1G%IC~k%}|Zzlhv-#u(|f#HY`ydfgUFug`|=0(xJUJr(hJPID)))L8#)aw4gL zb(2{kG{p6t5D15nS%MtR#5q=S^kbiM=sj(VylNWQUe$aggh-Z7PT_PTAZ_iDC>@)M(I|1+^SVpn?Z z7dq$iW)7;SJ@osZ5GzMB;Y9qPWS;2Q5=6|3N%MeEKqB=UWpoq;EHau0W) zz27S-_h)`I_-VK^@zAlrv%f zQ4}E|W$^`IU@&^Hg3?u7bCy64cPqI3)!G@mqhd699-h+$I!y__%opQBa?66<8?BzH zuC%Vwnisp1&F;#*+xwwM&PMds9uVl0S6=@0fw{s1;>@#D%l|3pU*U?mGthv)LtS<} zbQ*N^E_C>cM^0?%=3G$y7F-YH;@PC{N;$Yj;mM7t6iVkL6vC94_5Qn7RM#fRAoTHGH==78t_ z0?Mpwm)e*U!SI0;7QK4A!O=GSOZ<2HnyUVd5T8@OzTFFk#QZG8UAs1fOi|MLtWUiQq5KAPI#yu#5jR*>8o?(5$~_-mAcGvzig$q1IT zgR39V|JZRvs7UMOR3|sesiP8)-y!VORuX1T0RJo%HIeMQvM_&C48CAwTN9 zYOoNrK1HnDNMEszl;TY0sK9ASCIVOW&D)<;)uheHn@M0yar@#nk!8XUTnXJ7`O_p4k**wQE*pVcO@sHhER~ zlZJ%^`bWY{`Q_C90++wFTAr7MR_puh=hhB1DmvyRM=BfiP1UB39^I(7{Q-B_1=e!T zqRFL?^1iR+x8(H@x>lWmq4{-rVwT&G6CZzz4X)l6Esi}K_%-&d@B$&NQ|p|kLaYP; zIzC?;XhnQAQ)Z$+t7-+Oz69)sT9+rs(EC}M`6+cvmWxdGVO7sV;}RR^OEFHy(|b-% zcf;MR@}G-lxImv0mmF_VcY-*JEb(Up9sxY^qI}y8}2L6 zF^@x~YYJ{R*z<)%w`>DlN2u*p`3D@G+Mcjf?yUQLT(x8h?`^ELZIH=A$+-6D>bsHh zHYLCMvU?$$LPDpv2ks&2{sX^gKyB0>*WYdqUy^k9!6dMt}(xF#A!* zfbZ27eNjc3=Lg)u^OCQ7j~7%WKT8Zqv`ap2Fxt_U6Kd+-ij$aBl>!f*COGTi3f5DY zZ&aO|+Dz-kcb7L$zgN-3aqq33zf)_1hvIj&nP(%7`A%qI2tG}#nAw|ICDK4!5S{7l z{~uSch%~2uk9$4YlC+X?I`N_qq$2s;ZS2FJa)eGd?kU% z8#|fRt0w!EqAhCJe_1gLn9-l5R0oi3LS9){maQe}(W*S}0>^~#*3GyiwuDr!28sF2 z2Dv|O+`??EJY8eU$;uaVMq*23X|%oQ%0~AWRC;>88p9!1m1G>z3Y3=mhc{5$FI-i1fsrR~Z$ia(pAMrBQ z7=DZvbXa>1xRS6xLbvPk&v}{Ve&sdXz!4n9~XPhIkTk0y8G2HkW*~5i9MTuZ6(k8Ywc^ba$ zlkWz96kN-0Ba?Anv#BFaj#C5o>Z_G3zfO11*z2ACa&vs@u8@|hV*4b|mM{H_5b zSlA*_&A%Mn#hKT^wW}1(xAtvTIBZ)g@g!_m!Rwj!k+lM+M{@P(EwOKb8RL0!DIim9Hgd2;leWE7)4>W@#UP1aM zXj3`!_?)){qFQcxq6+T@#^|deQ=WB{%Cot&5ehPUegdgvW^O{hNeEI4xG_p(9tp7{ zA#+M+&2L7&=5w1X$1^wZuJsFioM>RJlX7#CuemR=?5^HmwA)6!R2~xaV%c0(i!+OR zdKynYlTdA_lNBxe=g`u@`UoiZ8DM>H@}B}(KR%FVSd!;)jk8JeI{V&zxlkhh2kQdn$RJ-bL{dv(~^cmvS%A^}148>`7l1 zx!Jw~IJ{8tphzgQrXy!cOM0#=dx#G^9~!PoF&1RXP7L*(1MRDtU(@$xwyk2e(vsCr z68l1(Cu6dbHJ9;>Gf$Gk$aQam^UJ!0QuO|%p4zI#a$jI;uH?g(@;X-yb?IsA;@d%P zlGnpEef8&+Jed)i6xD$B3Ltc!)J!|+Zs~c*RbKl{dUWJi%?9tx)KH+1qtjR1kR#NB z3pHwv)0|bbZ53$;b-g28D|I9P6IHHgTwrT1N-o`4+kK}#Co>{GPuU@z@`qDfy-|W^ z<6DOO@7F)6>XDs)F$PkdXFx;KudQ zPIVW>1{YMoUoA_-AA6P)$i4`wINF^Zou2n=|8VXF7IK}JY%Z-a`=o+O;vqAe@=m&9 z89|j ziXb=Bh>cDjr1Xcx#-+B{59t-)inYAj5GfZQMocMDp7x-zTQ>NUrQLraO&f#Nr)G_+ ziJ7R19tk9+uZmj{8zE4{&C6)EIk}4h@$|E_uEL!?cZa#7p6Aszp1wmFqDxp)mb^cF zz$%7YuCY(9TOhI!TM}DCq<7N5e_{0x9pAwRep9mk|93hJ|Cchf>I(TPmZa^UI3RG< z5=fnVW#^75iy8!&g-cF|PS1}25JUDnO;@sk^@@2jgjUV5>fYMV7?O5@qKWK?5Ly5% z{6ra5NL$081al!gi&Vp}EoD98lv0l;Z;N!VyCgZ+mJw-5_|L{u1@hfstPEXZ?B_mK z*<+6+hg7}?jL-GYYI}mzuG%YO&77{9BUOxWyS}v;P&e#x2Z*Q~O7yi&=`xt3i! zBDKI)qCKBCYQI}_W*Mz!sy&w_Z&S2#xq=ljwKvhY7WM_B_*jLV3ijD=3@<5qylz0U zChz{*vl|F8m-bkj*{}$UgSxNNyZ=9Jn%}s|g0%7*YsvrA*o*Md=&V%JddHXRZ&0@v zl0OUVRlK~c1mpRkqW(xXs80W9jaDmPPqHQMt!d?u5#ynxlCl|(NDjPOdwS-6$D7HCx}=#}DJS8~(gTt2-OpJM zP~LvUy`O`p+2v;?6bg8U+~Uon$$*XpDD723;s>Ho(3k&vWv8q+_>D-c2C1ou50w)GB@}xsy^Qu zr{KhX>C|aX4c?2;(x=w!&gMaK8Hv9r){R#DLJi-ydrNK zIUG1c!8I9OpsZ8o|ER+i*quu&OI4fB7g?oJHjP~k-z-ZU5xqn##*>j*pFr`;=n=QG zuMbiC)Obc>FYnRXue+8wpNFoFyT4Qv!TJl^mz9(Ao^(s^;uEQXsq*3WW`&Z7d|PE? za+%fWOZc1i?Mi}gg=e={9LQsaogVa=Mq5MV^qr-9V~YyDXtY|+$jz6QXoG>p)tx3G zc`E;<6>2fMoEbVp!p8=KS?J1(xtQ4JA{|=P>?k|b=#PD%Jx#0Lbxn5M|5eDFqbil!Mg2Z@P3rla!V%*t z)|Pm_Az7@iE{FzsY62`A!oOM<@2=QW*0Z*oie8N`2zb)d6H~Dd&hO5e$ol5ASK=(l zN<3{?nm)AFgcdzr`J~rw5k!fL17EHkAvMvuga?&g9h_75g6#>tG$cNU^VTAX>X0t~ zIrAkIa;be-SV!XGOsq>MCkvT(d!|c`aeIUJLO~x|jU1vONk)9m(#bjQOxk_i_h@7@lt>?w+ z1)g_9X&2OR_JOL+AnPo0m8-As%We))?onm_3T*YX~mIUuDqXjz+DQwWKLemHt1lSNxyE zyea%}{5q)M*N}v7m7b(o5uKgoHEnKTjlj@kyfFQed$;=u{oh>RIp}F&L^K;Qw2gsk z$GFs+#(gmphz{{wQ1f%;8(7>D`iUn;)oBqDXd;kcj3IU^*1`X*l%m-x3Ot30VV@7cZ|Zq5c_22f>fxZs zzn8E&SWlwo`*)NhAN56WPLZnRmDcC!8=|aFP_>f#XF}8B%=7X6fbpvKA^5|Li2fIW*-a2I#goK za6TMy%n$v#^@H=S#&$iL{ME{)9O+%sZEWnUnhEJu^hJiH_PQiCDW9Ko3MizRnF3ze3wS@GnWfx$ffP> z`H<2J%;Y8S>m)v7$^AW~5wkq{2TJO_VKMhX?EBy$@yAMda%W>3e@-$wk89Rl{Eu#Y z3mGD3`5`G3t{8QL*JX~0Uc8o_DQc?tvKRV)8@2!2lJswTx`aG>y1=rZ1LpBCJ!?)R zUf1R6H^HcRUx+>kdXke*68VwONo7S&uZThC*OYg0++`IQcT$r?YN4$Jc_OQDFDP?l zmgmb@sx$slVTcnqsTEXvTIPSY!-bM(XUEU3nH3`U%iLcIcWV19p9r-Lo`}@u<%L?7 zf9{@=tfplr!xCG<<>U`a%;I0m0NpdAmx`n_uS{Gna>D#T!A^Vv=*6*yq)Ab;H+sJ4 z9ckSjpORi>9m?(QQ~OEK5*PP)2Z(ni-WdTI@5GsMdtW4tIPyH;lIKs#r}!Bsk-Fg9 zzh;A7`nea{?-PqbUDsy0mC&Pw?<*;>C;7em<$#<&TAyxd@a+!s_mo2yb8X=C!n`U?)qPhOOGj&P zdz|MiT3`vkc0-3_8^G0vz4v>Nt|Il#6jUMp+56k1nSc~5r2dDBCH!8YP~4~Bw^8$J zm&VSBycaP{Ii1kFG^<018_F$OcwnW}jlW7Ur5&0u<|6ic9{c&ni61zt?V?P)Y15FsTS&}M7-G5zQ zLjKpum=Zn*!0wIY1GVu!zn*hSv-uPDrNM3+sNl(rBaowT0!2XW&1h9uTW#eUB=z** z-TLY4gY=p=pI+ya93NhCuj&huk9G+;h~LG|DtCsG-bQvkpeQ(+PJ82yzj`pg<8t!mTs=5iO zCVrW8v+5C~Wt^kTkq8Q}#~7U;7MjF2EVSKOQ+$1Gljw)_C4p7`uPn3_wD4D=ozO0q z8IrWc+|2dR>9~VCXr_$fEI;z;%q1fMY`AOF- zBz@qTMk#uG-pVZGG=IQZxyHJW8s9}f=bGBQO%Y-)O}>H7*0g7%uaV~$wRhKDpV-h7 zE6IcltwWgz^_J%lnEIoel#y3G4t#C4PXzDO7N3FiMQ2fRHs;Ob%9Err@1nHHSvcTP zV{4Mw2K=0gQU-`j&`RRhh{P}%Hwg8p7avBm>gz)LLqoHWR$-hmZpJJA6d055z1|cj zy!X@hITk@*pBB1;<+ZP7CAD^Xpo@|%&x5NL$O>jreRmXmU%*Ova$0VGFLaSrPu9i~m5I*ag;H z+Z)`}S;Zg@HS+GLtiei_^FSmOHH~#cFH{;x!2h`Uc18JcV2HKA8?AIp#XJ5r1<=~{ zO3R*J{B`JzWQ9PJT=#jtrDVzPqK3uxGxLuXpRAOfC*O9F@o$N-(G&5EPpde*KO?1U zcdtKx-FRmntt(0oHstIZRxr_?gpSqa8JlE%Tg9RWBYq`C|EX5;oyC)vr{`Qbb)3Py7Sa^D)f-Jqu+ z`Iwy+X5$WLEa@X8<~DG!K}oB(m83608V>}zF9{ya18KLX#JjC#*y0;>mCo#wK3aai zaHmB`UN9)KN7#(_|T}Q#nq9nIb%F6){XMAUc|ZB^CGS6OZy+FjyRin ztr}UQvS-!mR0O|{P=CMlB6~*3*xIsqyaT=meFtn_sD<$W|H-mI?T*ktwkIOD=U?IM zVr-1EN-&Eb>VmX~GSwio4#340b(~{EiqyR*ns>M6wO8-9(GB*9$dy2AZ?} zRlj;CDLh0D>ih57lxz*iubT_bmHf1i-G@})=^fIkG-jXV@3~iYw|n2MllRT-ucHk! zGF_YlioJ<;VB!xOG5H>ctPtObYRw?bMA`~ zvHqYia6oTs)n&RTBx90%o1XXY1?#3yzclo?*lFU-z-svmQP+Q^>e~q<6`m>RM=T1+>3vlrZE&PNSTh zkjZ~re}1S$NrP+&^$DAj<+8V;Q)(H{&s4Kc)x9D93A39w*5&KBR9=y#7Bjh#xg(R= zJ<|7fevkb5O!W(B0l0ZYr{ALRaa-yFg#js#bpl9F7x*i)&PkRi?Z*f(xVa8#yED`) zIf^nL%+wogS561=Wx-nvNtYK{rtrtJ)=Tx07z zhLVp!%h_I6o9G9EFEcGIHPHd&d5Qfd@ZPzAofoEGY?{XPXv;%>{8?!dc|SQxXK#hO z?IJ83QnQ9WvZ3sM_|XT7y2JN?EuEI0aO1;Q|6YlI8vVKFC2M;5ez9L4o)Y{MS;%@i z?c>`nhu*{<$;&n(vv<+I!9 zPCZ#OY&Kp*o21^F2ct=uGvvZu>6B9!jyOl;%NuK8;uoXW^XY*W30}>23Wj>d#70@! z&<`0`^jA+^bBp)y&`xl%yHxy7hkrIk`zi^}-jmcQ&qt|~wKpk!4lP8laZ0SIRV}m9 zMLS38kGslX#V7PSKh;kxB1*TVz7ko&^_gd3_>Hyg&_FYYbv1jM!U=lubr%Ulw9g{j zpy5ry!`4$pXZRJRnlGh}xE@VOF33(eVxQ0&C$yZ#^PW&W@SCYZw~*hlMz}J|ha4h} za(CJ29g4(Mc|5Jp>?V4H(LbqJ=RZf1nx>2}KU(l=~Q=H)%F__xls z+PKAabN7Tu9rJMa=Q{$I%HN^fy5cPsa}POlMB&bO3H=oC*kS=Z#WRv3L=B#lYG3F?w- zyyAPwZAc;|_77K!NPBv0NJk{rP*tBFlQoKmf9%OFI6}&@v`*YZ-l#6A+4~X4uEA%& z@R2svk`oxW0wHF`8twmk;KF=#U^Cisr)oo6dT>~-=*!2c&uJ>=Jl+!?-uy3jXJw%w5s5)}HTrvA>+rOPQZ=SQck?7Cp%z;#`mdOiI&al;Ho0IG%oaca}^Im*Z4)m1!`-5IpH zqgZg-wdB3HbZj!czM%5W;_0@1(Nz7zNn&gM{E0Oa^Ra4>itBysc_#<;Gj~8Ujn5kE z^zrvNz5@d<2~BYI%KYhG27In9Di#bVcb?!&LbX%QJfSr0;qVlfC-x#Wo0j`g8$T2` zs$>BiMi9S$ta(s->i>0}IaMHT9#kC|hWT!ebfh;3bYdEvJfBN*7l?4`i6K@NBpcxNbhk=S$~A=UXmW~sCZ z*8p7G6@2A=F>iqXhP37y5UCId5qG-#Lqkq#$wk7xnOLb{BmO@Ct;Lni;lcwJqh;~s znU_M;(Rsr6IP{ivuP0xDBGskUlzxELVKgx)^u}C}U|h~$G`B~3D~NonXkSWw%heXz zcr@))F^Oh=M*a9|gqkV*+}$1ueKfU;v=t?7QqziK(Zd$|>Nd<%vVhqm&+zp3;nzJf zV|AK9fjlJ__QcirOXa^q?~&H;Sv@A9jMJ`E_?`$IUEs+j-Az&WD7C0|0FvR9|Bcw> zoDo1ka=CZ&DP>K+hjjnMw+GC2mtG5DGikv$P`y~We3NH$R#Qp-Sj<3r3N>C(Iyd<@ za#&(`kP~7>BvF{wWwN?SM11!n%jMg6Rh4b8FR{97ydA_ zsCbRHvg&%^$jWKk9O(aRY?*8egATo|L6GsO@`daUY|+ z4*_4s^D90KJ5yT?d8Q8oU435BI{lqh?%LU!xhdgA`Sy^xwb)X<7kaYJcVlm)%$iO} zce%zTWG4zP&3Dg;jXkcoNYgF@Zern$X!ryCN=S=frxnD(wNExg+FHNBHP=I%rNLx| zH9cCVUd1AB&0AuBlGeTP>C8jP=?&Y2f3*_-B_)b0d48X|ye)ZZTlE5D?J(E!BAHVY zpXHX)WEzgQpWs7v@m686vN0q95^{0E;gb2~sY31AG@*X2lhrn>!OiE&z9mfjM%Het zx=TMZq={2LKSFsYA7=i9Z@MP$&{^A8BBub!H7VT`y1^ns zf_BPZBW=>+Yws-l&^FsRVN9-m9(uhx?6oAHCkkfgKLAFO$r|91-T5%wlNY$T_HXb= z4B~L&E_S+dX4f;=qe6XuNNfeF%d?i7xjNWHQQp5Pt}bw9HXt!Sg)_6RdGa)!Q%7jo zS*l#|{Ylz|V_&7_?0ru9o$A6~SYnX{;A*GRuLsV8l?^F&3D z_>uZ{L8rmKCgXF(dyF!LT-Lv5W@3*ACHD?B9rPC>>_pR+IA#UUl9-x|LB4|~wXN+E zLPG}fswS!&4rkkJHiN$;p8elenKAE~S=!LXrGLTJN1ws}OW`WURrDBA2}xCSv!b$R z;0xuGsdyyX1 zNR1gHgZKt)&)Pgr_1f#LkWvVrmzwVr>B?xaE-eN5L`piJzF6#xTCAaGR$dm-*Kjs{$^PS*^^tFm^`$Ug< z=OAzDiUW05NUgP@-lCd20(HrI-9xP_dzQL;`*U)bPXw+w!m&H4_f4v`?0)9olRg_R zWzIhQ`cuR(*Jh;-UJH=p-zr>n4WWMmR&hzu6N#6tn$$w?vW%>mN7}{v)*S1Ce1(6b zz9Hl-zH(*Yuf}JsP-%oonaOC~LuelHAAH8R$lc_=A~INNqpnxNDh0RypZCE6Tk8RD{_6Aq7NZ5mPp59FIPSi|G^jYKH$AAJlr$CGxOrs^*yt47m-Dej&s@F#sM@h6)XBbB#gdq; z$|t|2aPN5`NyDreaDSuWM9%5yyR5OP&4E`ln;SLB`NpTVY0%wOr0!M7*@far!MLn> z*fo$=JWG$@XovB}NuW8lZkKZr^q9@Hg=d*Aapmp&@{y`0`@4TBP}ioT6R@Qn*f!Cm zq|ofDR`PV%QwM%3T=V}cZ7wuAFu)3PWc#5+-XgT1|4W_Sw#Jd@{k5B{2U>ClqhqF` zIN<4c)OxRSmHHlKSYboTl51LUH926TX1dMUBK9DqiTkT8s%X5Jnv8Icf>yU7$DNLr z9@aT&$@K2kcia35o{UQeUj}llR?+2)6<+`+Hxdb_zO`@;R*G7AZrje0ki z_WF~y{zGZML8n-L6&t*FL>^Z-MkWzNg_SI<3j? zUV6248+k~c>Cm7M|Jvo=%dKo(R%Ue#V@t?-!u~cmWnQ^fg$u^|NB^_=oV%fJU)!U|{-3KP-Imk^#X0UB zs#K{3y*Gn@apo@IID(ZPx%Tg%zlEu+@7P#Ncu>OCUAsFGalX|N=>FF?de#3@5tb$; z&y-qVlzlnU@tMf^$bolMtm6*7{P%jN(hSIv`06E+j+JH&dkbnp zuQMhM2VqQ)y$)RtCD_&zOVl1!*g9TO7lcB_r#74=QVTr+t~yCIgK^#*Wdn z@LD$A;>uQy(&oa73ABwd7-*QkL|gc>m*UM{;$t#P1(mMgcQ}g8rYzY%BwQOn9eNu` z6u6DPpYP4QqmDkM9rgSy)tK{ZKM5(D#4HpkWseZ)gDfx%>=yEiRtt@g5weRPt zPW@y1&RSxlWv-S^H?8ITI5WAXHu{ryYlb=GjsfGl_$vI}NR`*^RXtx*mRO}8z2ccoqWu6GL^;I{Z~?B0#sKk(027?3oVHev+{Y*Z>N++FcXtWU4u zSlVvK*9lo$JE}zCPO>oDuIDR5=Cqo76yJ-_6Ox0rNy;{rje{TOM?g334N~s?$r>en zRxzq3@6vlN@E)~wPhBZ8TH9aoay!;9M6X%nO>ZeW3I{x*I9`J)w|F0;e^yN!=rMpR zqGx~R*}z_A!zWp)~1 zDP?E8_(<$0y>c?&&7uBTxZo$dD(qnHI)ffosxxl`lM{exzT>s3cwAvd%hzEt7#f@C1=f3IZRRA7x7Dr8qX6XcWlRse*`+_R;0>6$8dBaXSte3 zJ(;!rkpH&?t}bYsU`|81leNQ?)c6eu)jQ-I!)JhL<|@shMQ!~Fp%YwD?9;-R zddl;z^kB;sSXnyOb+Q_c!DpN;ht{Co#YtVb_W^3GqxIh69@9(ShZFcwmIzJ5O3;RzwcL4U)_DEZ>`Bz|cOpW0?D>;FXZN_U+*dc^Z}~t{Av(5M1y# zb-BkA^j{3s*!_R<#=0->3&3)Qy>~zhJz}sg2ER$+p8iXb6q1@fFj_Ogkv6_S>{ZKs zD`gLb2eAJLlktyi%oeI{>do8+rY;kl5{q3O(XTw;5cewKMANP;w2|(2$W2^K-=1xa zHp<(*l`qj#)r$b)#>stbkH>3OKHA^T8~o3B%hvZz-VA;(h;nE3BBWdHZM`f>T_JALcV|cnsE-?bVex}O&jhzYDgL^A#1y| zO}m_0eC_CCiSH-+#N`iqh6i2_jW+6`*`cY?3M0)EzXWDL7hfBHJK+s!oi<+IRPv!C zE|kg}KNIfdF4u!dMlH?=+Kmk>Z7+q8q7tqyBUO%#7Kek_ zBciEPTDfW$WARA;3wv#JI~`$U?bV?<=-zL1iM25AdE?IXDdA3X2^D2&mNn(x$?bk~ zuC8gf<_NW%S9pCRMLNQfvKOEs6<-_DOH$1ZUuK_c%LlWi#c3Ncxu=HH=UD4dHG?;2=_iiAGR4#J^auMxhq3Q0yC*oTIzRFX<`$|xYR zOKQ&7VIQ*oW;e(=YFXZ z_HoqIIqB1sy(-6?7ng314>g8)y4r(@yHXnPcsGk%!kK;Ky&t8@^ELcGo!ePK^_cTp z#h1VSM+Y}JL`O)>fg!BxV9@va^3D2ly@&R^+WB?xLxHjRrO~taF<^EXsiwJ&41V~^ z)miW@PdH9;;OQ;f8Nh~<29%$>woUjCQqFUJBqfS7&+pNg!u+N1cO}`jR17p$+MML| zn(INQtp6&iJ8qY_@;estgy?psznk~3&zVZTsrB8aUZH%6Ihyo_8c%vL|3d|*&RN+? z*a&xNr%uKw*GHm>%uz8LJ-B|>n951UsMrSNZLX^Oaz-o$xt;@dISL{_DS9D=)WmEG zZJ@8sv!VCF$UJ3FnDV~^h%8hRo$sd?2|Zbavp!GMhVI!wN85g}P7edCJo*XJQq&3*l*A1q4|W+r7^Io0MYm)9RJB z>5R6%gm~ijIa+3f(JI|9SQEcK@>%kB|2Yb}#IVLhUgOzD?axnt0>&i=bUhHe!d4hV z;vtXrSv$&QHf5mmH|J=Pn9B8X4vkA(xi(~$sg~G1dxW1f?*@tT7wO+hydYFzMl2PR zr|ovW^`%WIen>dSl;25Y?kV2RV`O4ZqMDxi*WNMBIJM7qVa}-hc0I)^9J4`vE8E15 zW;JZ*?t?sU(ar|s9yw(5(S{o5wvw02J!9-CfrmJg8MneohCJN}heeI0!2JbETM|hZ z1mJ+Sv9;EVG0t@)Z~9+GU&ZA%>icDEB)!EkJds-M;9LVmWOv%_ip%b}YzXrhI(b5u zmT_UR`sOwv$AL~Id8G`#DM|R94ST}dsxJqAi;c7)X`5ST`^i}4;t(z{>63Wu!9KvF z1Fc&QEuzc)UmETjSr0cJo_hjVFg5^`PxIEtBu!GuE9wcB`+J8VSvu=qfUO4<4&D;k z$NA6M`RJ2jugi({Jmfo(*GlyWIC-F~x5KTZ-FrqNxh{<4hQ@DK(qN;{@Lg4NEbsfC zryI@E?R-0}_tCMtiBnS3R$-d{ucARXC4L)HzYr?^xL|z4pe$GOorSS_bLzxu0msj* z)cY~kHQc&$#=u81Uw5 zfj7HvaeLQ27i-dRQx+eloZs?!v|sSx`YsU<7UNIC*;)_ip=0nUd@MN}cl{B#xZz0c z;mYj$^D8;c5C8WoXG>ivr70;Tte9M7S4E3;$MRH&_CtC|B%8{W=~2@(0+a)Rv7vH?A=hzS3${_F&nfh<32o{Ss~K$fO8WN zU8d;ZPo&OzQfIF}!7NU_9nqOn;)mn?bk{Ym@p+7Ritf{D$%T_Mz3&Kjo5)P7rEn`( zo33HktvxDq30FVUMbF_X`%fX>@N1rVIeBe*mC-*@0@ZGdAMhFaFr_uo)c)Jhb8rv% zSU~&Gu_d2Yowwu-#n%_>%hEGEx2E1x&lWi6-p6n?483BgXNs#DFCB5`pK7+rP# zOb1kw?|TbPh6dB`UC`COGuhf#n9~eMw@t)aNSu8&D-(MyFy>?Y!R!au$;mb$-*Zky zEyN&}CVTbOrG1A4ZfU^Xg}(vA`$QITt#MY-n(VXO*H&NU9}Df?2G{e>?|NSlT2Db; zr%QcQ+-7?A-v@pMM{$MdwWYg}*LehL7q~1;ROKd_gTlRH{9i(AapZiTZ59YbaAxHtFNOfQJ-W1Lx zF4xzd`xQ0v zqvt^NV^DtF^;qIZu$q&i2j=Ws^`h}H(j{VVlQU>GGojjVH9(^#*TMHOa7BUI2sXWT zk?UN$vdXkT{d&*O&JMwGo|;sfXbZ=L;myUbXE zSt7!XONe!kz(V_h-VrAcUN1S7DpS{SqTs0 zc#_{3`11g~{wW-juQb|frQfJ6HQy=}VL}m+y?H&uj$R+f4*2@(f4G^GF~JNWgtNDK z2M{Z-mAJhs8*DS&-ue$bH})v=2;Ld7?;a2EeIwV@&751hDNjQ zGbvk>5tv_ee0YAD`kjpLc3k0lH16p9X?UP}kg6p%fPHb<2Rt99)nBDJTd&c{30jAB z9jx`Zd%?NBTPt{a4x-)SYvKwcl4D9cpI*@%z)aB^WbuoRh2$ba$H6@Iu3%g`+ky zeq;Qwae84-(*O6BcPY+nUKvwmJ>0O`#>!IVC$|I1V(0`-4Gr8E4APr9ml978%ukL6 zGW$zksCYXuQ`MjF4M$Zudx60C*my?teo)dMD3kYtx~vtIJR73t3Fn*gO#7YmrLbB) z$vl)X9e|bC09aY3C~npRF`l@hcoNLgQ!2!bj6j)-juzPmc1+zSv%^S;k`G| z-!m+Bo~=54j_<*aoS36cK!#`=63RLQS6+$9E-8Htbh(82y_wNafSxPm0qIP-$14)w zyv0|TJ}cPTx-p${?q#lm)vDpsf%W(XQvc_&w#6^@jZtNRnG(<@@C$HSQU8!D8*Q@v zENnM96}JaG#Q3}|;wadBJd1JdON+6JXi@6*%y-e}!1a63Hr5&KIqB*z6wBL79Vdi4 z*njWwkxEaWVfi^-B_!9oq|vrnqcFs%P6#pUN1$x!xiV>v$iXAE-9w! zc?z#Uy0}Z`M7)zOzS(OyT$V9povDK|A>w^r7DpA%?Wdtv(5ZiL}34HhY` z8pPaTjiT4b0?jM77K~JQe>!m}+}w4B^Gaol^yqw-C4Gp~z)v^FUY*`)jf`_inYXPQ zp&%H75;yt|N*lDlLhY<=wxPvd&h&DT_kBrq4uSbkO{b_G`ue1(Hx%-Xl8T$ER@F{5 zdZ9U`#`3#R@rOJOp!f2R3wz4xK{B^dQV~0S({GlFNeublQ`RAQE)sXBU|r?X-}eld zyOEYm4@nHUSZ!^}^NaZSy=9KS^fH~*=;iFG)Xr`zAqT=IGP5_fBq!dqVSxjJGoJgW zMih049EyEjH-{1)31`m&At${c{*9suiI=;PL}sGXSld70i=fJvjr&TzS2AWO_zys9 zZx*#{KsN-|E;#6wxEDa_l7ELrI(U?tC})P9#bW<(m0BMvUy+;RPbbv8plH6remm=g z(6VM1t!T=xjqM7zdN#+#ZdF{fLP6xBl0M*uxi|8gnzjG6?|`a&mvI762}t>x+SRYk z1Sjthdp_*{qb8X;A&f`d#_K7KB zY+-Xm=4jzXiJhyaLMKP-4%!$qm#_SoD?6W`b9Q+gX?kCQzaTex4XLL?Z{?6(y6y4<*mYtcp$b9L!%@n2AeYO`YvW$x`|{r1vxx7n_Wl zIlUv5yl-j@RC3$BPI8vGvclvVp?r2OVk_0<8SRaWtrfKoyL02)13xKP+)>px@II~d z!j*kW9uV6gduh#O98={3cPUy=uKELfEYp?07TXZ^thdqA*SiRgl?yFbe4`A?CJXazeW*McbQPg3pt^GK;f$GUnV@RlPuk5X7?4v`Bm(^U9u8rD)H_*n7N{$ahqBKqQ z1|o~=CEbq3krkDPb`A7D9=SOX{{DfO@S;G+WE4!Neo(bsk65LlFVjI+ar`OY7=1+C z56muBHm8Jk3^aifkBWph-;6J-`)AechHB5i#DXLidezDf2>f zb!qHIAHK?8G}(-z^Jx1vbl1h9&Z${ExAd=c??$62XHIZmAd+01d99!Cui~zBwo&l9 zPH4$o0^eL}Z%|yw+No^);FbHq%;vO=kt=7u0#$zn2d-oc{glTE<~sz&aDUmH*yGyL zA^Ci*M0+*Fsk@Scc~TGL9Vj}PY+-6I98edTFbeX!eLp}*{Fv76ex=VUj7c}qgxSu+eIT7pX> z#+&xZraJ^L5<=L`(8F?_y`HJZyh|EKk~E<63X*G3RYCc1IKZ``Ma5mA5-`3k@PQ%8 zY{_5HHd!}csDzxBm&RSKfybX6Sp}tR^#?P1E2af!`>}y3`KYSRAnJW+(O8+I(GH8P zY0}>W7K`;O>e1EC^V-sPkuuCNzz*u~8Brz19d+IQ#=035cBk$VsZH3KiP8u&EVwsg zf4VP(yH@6~Dp8lP*Mo0bD-vfLSJjq!eh>Um|C#41c(x~+>6Y4UgeFiACsBk{2W?(u28l(Q~tXc@;Ev4 zr^Sjg@!`77vlklL;vCnQXMyKi;MNlx@F$UE+D}D$^~nutJqBr~64s;I<^N?(tK@DV zCg&D2Qwn`ftyv)20ym_3XKcCau(}tQB~>NM2@V!v#(E@-8k(=*_%p?t-sn zB}*uX#!_?w)W_r|%=5}9| z8V4)~D}HYBl=#2zoCnp)Q?6kb{@`hlHQ(A{tdt%hZ{l~Em-%M<65$eY-ebN$qL=62 z8ShJq&dF{$U+F#dY}}=Rjl^X(oBID&hSyggP^I+-CuowG#Gjxi*Dj3AuWMrO6gda0Wvl0LCAG)K z4>`UtB;GT~?vtYJ%*T@#+V5DkPf@C*MP8JPzx=L;2U=o7-eYrt(Tz&qGXm>-ROtg1 zi};_UTKdZ2oN-te*=vL?id12TYPP4Zd`C(R$g_}KuJB&6c0v0Yq;VAvq2#{OX0u%~ z<>^zJ77KxR!=w3)lAyA7?vh>MH|n2r+zMUZ9lgYmaAwWyk0$OESt*w`hIX9^)S(*2A=WF zSPm7s0_pXu$Y`^4l}*XCTA&z&G&nL!M z^wxSV>b@~t4g3o%)*E^|CTA#1V|;06wbxwC94@ zXL>tI7z&OhluIjvcbQ4!3Hkxkd{a(ot}&q=qKnPZSRyVQRo>eD|K>xU-z259j)v@#c$ZwIoc_K1 zzP9jMYu5yzsM5%He&va)se6Z#16$l%3S7bG;Q3beshNS$(CNh|g}aq|!Z+4nT)gAU z;76s?b^ssdT+kJa9|{-nCK4ViRMAjgiWN=xKHZ3a?5b!V-xqO4QxsKp$iLoTMnvzG z+GiZ}{se7|5Gpri_i%6DNig(2l8SzdNObHEoHV-Iu<;vP@;G$;DBOde zHmh6L7oWG$!ZV!Jd2MT!cseD2 zb&d818bb#Azm5-p8d_2AE0MnivZO`s(BA2>ugP7`HM=t%j?$MfkJWsbKZ%g+)ge&b zRdSc#58;r&RU2==jItObQL!F1pxyb;2sX@+;vI>@*B^=*dG(Es%A2H@S&DYm@KZT8 ziRD!?3Q{PV>)XW9%o&?=))hmU4{tc7xS5%m+K%4kOSoyHVH%b>}V1@X@dMrSdmT_3$|gQVOAJ^1y- zKy_`FTeJpbtgJDZrfBD`y6>|sqW+8!!|7L&!}2;$<`2bB^s>PF2h{QF$gjTND6ggW z!`Nc`RPxOIfTu2Ah_IO-1J8*ODKC%CKkPt>%D&e)3T z#l3^nIX4th;g3o^OlFot=z*AM;=7~r6|OyM)CHRaSM1p#am`57Ov`@DvjY=i=LzkZ z%p(N?xl=;&{Fv3ty%{@|zN)qvttuz%j!d6Qja&9{qAIrETUC z3*>raf9*-AjovUYowlJC>rnFizOaL1f8Cgk&C0SRTx!gRDu7v$Gb>B9HS$i(Z>Z07 zU_T($S=9{f>1{71ajlF`iGLlt07-WZP`=GLtz;Usd#(?CN@yz&D@o0#8y5K6>wEr> zr}KbwqG%iVf*@Ubxt_AAmmCLzfGAZELGh5)Np90~cT_>e z4x*@38y1S?RZ&r~_wWDAp5N>*$?o)d`aCl`NwX$KeV^ov+4-L0S@y#~NB37s?73(U z#&b=qC4H2$KA?86(7>WEo^H1&kUCjUqAy1*tA&!6mpm4cw~t~0N!u$hH|FWNbrg}= zga?=yW*3E@rYh3K5xKWMKT=Phyjy8k!Zpq*X5+%cl|hFSsrh-yJI*0hYBv$3ABbG4 z>MO%)a55r1B$=h0-14i?k5;_#jmY4@Q{JH>ZM6;NR4DIo><8d{uy!1>>=Vsf7oC@03})NvcP38)HLRR`Fzpxxb=^%tVw15sF)OzwB@=+3%u!BcTz@4uuZHJ8vSU+MTyRg z?_lBB=$r8_v3&U9kb83#lHa%nA6e(ns)8F+c*wLi@onZI&r9I4hS7EkJeZhoqfYI| z=y&EIFh4m^R!}C=PAhX2r}||6Ox&N}%ABLyl8?Ki*~nA{aSD*53MoEOV8&A~`ZPB- zQ{=U=DSEAfcklIuj`v)ZUPQhrR0eoI7rjf>N*5@pGii8E-mLUb}S1X}j$*!kKSo0Q{U z>a6mrj%LV8*-JAD@TOy@PAM}De{-6s&Z~3th2&l$p&gE z>GB-ButG`QM?Kj!Q(`MSyijOsacC?5T22q{rU&S_id3vm<+czzALQAk?!1oXNS`5J2{8Hv1_usz#gob5g;dFO8fHlP`-VX;2soiF38 zUMr~x_{U^iu$mioNvTgml)z+v6V#F=Vzb|B0ECNF0_%f(NW3n>DB$c zMegSOBfZl+TYGGq8601qHMoxKX-ML4QlT|iBN)r0tWy|W`211uZTfeq-C(VtAn3Uj znam18?3{a0bYfR$q`{-I{>aHoc0c-`HDW7}o7FU_&G;caBs5LIS?Z`N@MG`o3pNAe z621?-2q*r=9B{o&%Iql^mHsRJd`Ry3*A?n(<5`n4DLKF3Lu&i1i_{^u*?~@ZKu5y$ zzC_N*$llaa@edFhCAVO?pl;(=hIr)ePN|vS0kqtCEvK>MZ-Pf8tSx*yB`L_nV6JUy zbX|ype@2W3)ozNReBtC!U zDz$xeItLEJ5@ z{u%F8h|flH&dB_zhXc#-kXX;q1$cVF@pnW$8@ETcMJDTy+kZ<0ObQg+UGG$0jMR|q zN8P8DJl&I^cW#Mk;A&L$`szOw?XJ<+B~JM|#D9hQnD>;8wlil6{)P42A#;wpCYP;M zo*~|KEzGw`o;lFwY7==tLxVi)^QyeRbgEq1M+7G5l-xujL#I34*V?|at+fpZUkr`xFO=MT_C}|Ix^YQ0_io$G}Z_i|sikzEo9L%Y1qF zF%JxUr0`vkBlXsOv^+5O5fbY!`aHLx)OrfYlB&tx-?l<8gzW5p%No`;EX_$2yMHLZ zG{B0Hu}|tz;i|%mp{8%(d3xTiP1d&XHJM9&55>;9{#_$Aj!-hdNWPl)RNEin$J-UQ zWDgPZwd5-mhbycW)wx~NF&-{cE1Hzu#26wqJza|`;_=P;P|w`*9f~qp&-dCV3e<9Ksb|0uWCK8M+1#M4M%WJucURdSXA+(><5uBt)%7 zYyW@tgS1iKM5m%_^HK}^>i-R-W$0Sg0e%XPO_m{>iet;14?6rdcBm%bRvb9eey@TS z%^KJX)QSyP-Zn4{j%3bfv{V+%zy8;QuSb@KWH%g^Dm~Y<6#cr`F6*(pyHp29Gmdp$ zSYYGi0=vuuhEW5&&NKehgyofbucWiPJJ!pa-gfy`P3W}1g;h@~3F(MGT73k#zXP@Z zPr>7OV0*=7!DfjQ-VV0j?34Q3{R8QCQ|78S@Gaq%xU_)Pbk; zRv_T&nIK)u4u77!#%B8d%>Uifr%+NihX0_IKdt_gL&B|M9T@hiMwfiyJb66lItz-$}_W0x4q6D`M^EB z>XaK76pG_~&zc8(M`5p!jPP1(?DA=j}+YNDgWyPt9{XK?6O!4`Zo*8~7S4 zzchFl_(Y#g6|G1bd-II`$bxZI`1!RA94@g7%a&Pfb1yM#-Jh1p zN}1M$j|Agf?hs&d19Y`aC`s~Z-&;OeV>bBtD0nK`bj>+NGb1t2j%Q2FTRzSFn{1c9 zQ^7+1_kgt^%HbC+T3XQ9^aUy#WusSF!2TS zf5drl{23XE_ABFT3!T~noR((H*8gn%qoO&iAj)AW2p+f_toUB;QtoNsQPOe*Q8oPK@3sFPadW2tbvV8vCl<=zeMn=f2ANsW}IoIM=Mu|_3)^vTi*{RYWKI$G=@SHhu z>ta>MSN6AEKcL@VhxS6=7X&X7_&(XH?w+TX^qk!&{uz|{Owl*%5M8E4G}>2Ja3L=H;_rh~ zkyHQQn*s1N`+F$!r`I~c>p{`<5{!g%Sm8ybmC<@a2U@T!A2@dR{S~iYxHJ&qK4O#j z=aKQ_k{iI}V4-Q_6S24qRR^h0K^N?GGj3s=6*?)}PKQd<4wC!$28m(j&OgRH9Ne|_ zyMlYt-(}ra_y}@;h2%CQ`Szka@ikN^==9T{4tT;1d`Hbq>`(Ixy&03c%J<5|T7Cce zn{B`^B;^{XC3Zx5ZPrq1lY2SOg>O!JBtBp6@Y;It76f)CS9yCRuSo^tr&GVxVfoLB zli6Ju)kdA&E(Moc@TbfhN%km44%o4_=}{y!(0ebGdR@F>N#FnM80~L!wpX=C3vFur zLJ!)F8Ly(IwF=t&Kc}%b%sFcGi+%ij%STU)fS(Qq8mg5Xi93RP*=0leq4$r)o`U}G zNz8)!J~PKg`XxW~7ULo8we_BARbIO;@vYD09P27Tmvw}Kq)zMmROVgbIAd+_V>@`0 zV94dlF1t|fKVW>_{7*6Vv1pJ`>NUqJjQ!27Pupe|tP!ciHNbxWU4$eDe%It3HaTOm z*s5s^xMV+<@wMoCPS^Qajac&HVMBf-k>6jqR#i=}lP#@CUkdj%3oW&6ZHJZ%?xRke}sl*`dm$T;bSXVT`?|E2{+U-)K)=zN6>7SjTO}r7UUropk{pX6Nu+MFt5Wn-y9f-$4KA@sB;`7rb(aZd!c(^3LUrHvZn(K4T_rf5EON%}GH^mD-t zo@v3y^o8iCnZnt|31q-!Ubt6kFihV~oC<9&N&EKSQpb8etD<`Y0qCj3b{u+UZ%g7fFS;-DQ5U`H zkgtKl!*QFVdVd`qUjP*C0z>{0=JP6M?%CUrAw_T=+zO`q)b)*3&AMJwtCl7?`UlFNu;p(mN`qNUsceD{^Y# zyu8Dq4c$EGs+^!b}o+L&4 ztJS06x`Do#{w#IOgHxXMmet{_j^J;%CmG=@r~gf`TL>p8w(9! z&2AiDcYl=n^Ym44N~!2gqj~VJf*sCAtVO6`;FnYVlBbKdU~k#vUCw=OIX#6a(zpBj zs}|*6Vy?-&lb%hk>n*M$?&n-i6gCL znr6Q0zJ?JrHQ%hhK;gP067f=`(|6|CJmik|LK|xi~(zHM4xCcN?F4NcD{j<3;D&Wi0zO1qI-Pzx54(-B<7^oYkT@4 zxtASl@H%qkS$Wo$nfEw$Q0p*vBU=oOJ~w8R4vMt&;;X}lcP9Uo&blsCP-5#B8s(a@ z2?-`NoGlw69{F65AFtId4*$aZnB4QUKhWHK z5}DlHmr(GLyyx>JMUw01A5rwu)cnzLU$iIq{?nqPdv1r+HnFn-F9j@2J z-Pm&ws<>5Ad1t69wq+O457ban^NN>Dg4ChOPS6dsu?aXoW>ax$HVNed&D$h~oS*33 zTfJD8@qfE%%(xt*GjVXD&4}!!o-0UX|4Vb+w`7^WjcF*Ukt|mTqwkhfm&fjM&o4f<7(W)8s99 zm5XpiA{vmpUYUni%kv{j=GAV*UaTAo#j)#0@ucLhuOEe~e$IS_uCT6oA=VkFYZBV( z-q;Fs!q=%L=%MrBY|m)#p!RRTzgPR!o+6EXShkkV+zoy`00fw=Qa3?;-)vet$kuK< z?0Q`+p}P3{%2$|j&yFE&v01o|{SH8Du{SsM67as!b77~4y}#7KDy6?$A+>dae$P06 z!M?tmo=E8sl=C`tZtV!$p8i`}Fs!uuu&4HPg4b*8TX=Iw#l8l_df8Y(O!Y8_VFOmx z_AfCU8KhJyI#@}PFQexLYO3}#f`|ITk7Bx=ml!F`c3{O`~RS`q+`7AJChXB z_7q)~zgfm;+~hnFn9bczJ{L-i_DO9db;eucxz=6oSm<6^RN)zg#5#iJ-d(c>$s?tX z)k(?@j(eb_*1+*x==S)~GAs29y;ZcOP3lVKe3Xc1E=fFMe>6H3j@Asrj)&4HkW|to z20LGLopyQ5Gy{qkB=&IPdnjgBO1B_u{877;9$W>KCL$f_cgL@zhKtknqy}v=e06JN zQ)E+YL_*HiXpbHP`oQfCFKhhdm-WNG>Fu?F#M2JSP^v6+R_=^Jz9TltjSR3xWw@a* zf%7qE3n@z;mv^(0GVqU8V9|So$tj z=?f)ufY^~lAs88#9wIuN&_2mOv{8>A%J?mQ1W2J3W9{;OhuCJqJ<|%djM629)N@lNl!pCfSOA)QTNpFx& z-i0Oa6yFoFYWby;1Dwe9dF-jp8?)|Bjn8bsKbcdtu#R3^M)o_Os-qredg8I+-@qG3 zw%cbx?QIhqoVBt>V92RAF5uTXu?oC>9rz@+Sk*Av;soPeph`Y%oPxEKnB_PD)KjoxT4b8{0?~+ysbE^Gi4=O8bE_h*1 z3Kcx5`dZ(+#QQz+@BL^`b1rndX6sL(3$o&gI3*vgzStw{Ws}fe<6?8ooWM&3=nDO} z{1?Kkr5IVI_y`gon`wpl?wLLz_PQCdco&oZs3V*Rd{*^GA~&kCLE0wJSHC-sd3jF4PjREjb18O~|^gKOK=`TPfqZAb&K}+5! zsW#J*(~&Aq$mNcF+=89!Uh=8S;g`ASy^3NRbo}4CS1SM zg_qdAfxn9s{13=@jW6u|y`0v>om>t)#_$s9=j-_89XR@uOj)dnImG^qeS-IV)vitC zA=Dt4FY=cA{u6x|$KBeWy!aK6Ql%Ksqu zzdBbcNqSYFuY$UGjo5Rc!!sL7g!;6)^>50a_pXH_h6Vl%N=XTFKEXsjC!n*b!8d?I zaf)|5jkSR>z9SVuP=&zRY(w2M=3~*KecaNlV>>b=H zUX|!s@Tk&mA?WCzL>`!0h0VRTaGE}zalhx=UwMQ5d7(?{$w@C!ly?QVRjSp};g zg|tWj*y^0Opyd89!EwTahV{9So)^<%*W$I_qpCdiH{%u`MqyyEzc1})ZOt)XHh;$d z<1T8fu=Ty8y}}}O;8l>;Wd;10=PTfT1JZXznbbeWwk6OcvY48#1u_YG55*xb6D22+ z21t9M46YyD*hIOz@ieu_uK>b_O%jcpZBoZ)=CukVM?#-_Z(+=yAFA=Us)I8?Md^yQoI${LuMY;c4%Oogel)%?SP&iXAa--43 zGBj@XoOW?)XjzFmrqrFsI3KZq7htEW7Y2EA{3(IOpnA}np`OSMVX4S*) zIk8H(b!iugchjO_?nJK2)6RIePB#^us2VE#L-^fe?KZkI_PN-J2emu}xz{BM2>-$LL@ zFWj#NKNM(?&f9!OioSx$oKeu!Rh?FVUrtjb%%er*Z(Z1`I9hVDwnXV+Qop+14B7l` zGt9@JXQac$^6m7!ZBd}MJEv!{RjN_&tZQ%LaGrXSOxgtSTQ8?VWIwfj=pE<_1y)pg z{iC4vUV%k53w`qMhmttPXGzuhGZtKQw0yMh8%2q$*4rGliB5srME@8)!jA&c zBmSbUyo=lAO1NTwh#m2&ug7&w!IXawG1h0_4{TUV(JS=_b+4m1a8o`j=SBzn|7=oE zsmmRd{Z@}x$$X1_qSSD4a(LjQ&2uejN+$HLaHb)jrwW1MD&`7pnVlGKD_FxnH4VhC zAvsh&Us2dI4;h_TmyVt397dnM=G~+mV6So+mT#8X5BzaiI5#r7a#|PkkFz;FnP*B> zL04P%k)q+1R{qVod!a_Te}7xkjulyRqnXSNaKVD$9;_INFK};;#DsdJ7e z=sqRWzhwO9)LbX!6Dx{$B*V|5p|LyB(N?)1To;E`aqYf@wU_O2fv|Q#U@|hRA|Ywl z%KVGCuWfJ>(xD$ZZs&5RZeItEK!GfgU;%n_6B%?Cq zR4Xw4B=(iS*l1H-ZkPAiE8-88G$H2Oz^uf3S+Dvsw6eVYSYK0Q<#zb}F?5a8d{TEe?;G6K1_t>5AM z8=YqaSJtW+a*FJv4|3<3q43(szC80#@Iml6-#gs*6FutZ-T(i3=Z4@xtgKC0R|`f| z;GH7s{z>8eX(*jw;I{*smR2eVHo#(HmZfT!ybjHI} z`13VK%D!FsjW6W<$v3sMWmQ8o-g_c{$(vrZW#2LFg%YMj8Be^8W+W~TR#4ULW%zA}k0(MuK#eT|Uq`P^?F#<{%@)`2)dO(b5{2gJNq< zEUzvz^$zVt+y7YoE4mw>o=4u*R>7E|q#|B{z~8C;|Q~GVh zMTQVKTg=GkzF)MbMF+;c+1BnQR&vAqpZ$}Q;F8I1d=TEBtFOc^T@lEEn~-;jrV+GT z@WVjE@UqH9cpb6Sd_N`~wQ`3ylF_(Sos&15;CHC5+wkEin-^NshTua`eNlTtqzJ)S z3CFJm8rIV@_HM4B@akkmJzuc`E9dd8P-9`9tFt#uf^knEyXt)T1tGcTL->_(1(f+DLLF{4b)Ts72LDprUyUb!JCFeTaA#m}JU80)VyWxKOv}(Y zce%M&`eZy+F~DShd=yWh=B@Pu%NrA|h>^6;3C0a-p5wks43zUmF7jNc=@bEgKAqHrl=~xeN|D9+1;Lbwxmfus&B^R|L;9QLxv~nRqYRI{*qUozmlAWdGq6`wE9XG zciUA7y%gw@)XajM_61l8BAW{vV;>3S8cS_b3vx!g3!UV&N!;8G*Vxa-9?5J9d%>Ed z=ji8SS#YTM_~dyel+#|dGP`>G2AQ8NbM}kK=>vxYGx?8Cd#V~LYwWw#Jw60RfcTi` zY1eZdO(f;U5Y(jN8ZSuCyf5EsjfUU@Qq)$2+ZevbRIyCIKL*_;tb`c&~&AlF~-|{%vRHaF=PKmUhf7j*r+?Jkbj@Rno zI$`TAZIZxeTX~K(M2sA2`DNGfth^awp-C{>Ik1zB zA8OcxWmwlX*5X(d7YfrhD~^=AnT+{xP>P%i4N_M7;H^B6g49Y*(sw5unI+I3R%`Qo zc=U*Cu=k@(_sXN-ek(GJw~m2Dz3PAIZ-6^iSm}xUsyeh%;;$#~R4=<3BwgExE|T<1 z;fxo-vE&>b+L^f4GtPBo^|VBF=vJqkFXpq=)nSa@{vPti@>kyxzpX>ZaGASnMQG)| ztsn1@JTJnxNCNYlM91~#fng0Cg4a&!*4|2gpC$V)B!(RVru?q4q3syA#EAWKk$Y%- znt5rgVfd)CVT2j2N^w_TXZ{YHz5>rbZeFeUMoQmD|0lQK4&@f0(+0Z!_AUaqSEp7u z_n=>`vJGQr*4Nz|3!xl^+V=NaC$0z3p(?e%1!1@&V}eqZ{JHE7n^|+-E4zHfz3-3SHL6D+PYc| zNy+hP){ar;J&5YSZ>~-?D zD__Tmc`FQ>n;!i#ga<>U8!7vtvX_AJ9;Fx3+XjbJJSq5KOuYVlW|s$Z`U^dCeM)Or zGj@l2x2-$BNBrsX`*H%rUg&x?8gSqqcaVjcoY&TWo49e|>sY z%f!vVAQ$|oH+r;X@Y@0NQ<2%meq^oG(H_q2ZIcxhzbQO2Q^BG++=+y+&N(xNhkLj9 z%F8L8iBR&G;%)fE*1~mINpSn-=tdJM)Q{d?StI>PW_PacYdQlZ=4(~g29A3_?$`l{ zg~Rw@%sw`$882TQ9&e2gGg%=Z_Uh&r`R7w< zMSJ90IXcu?rg#?A%0VEd(WYb`<363I@)&K*`^qOp;dPYuWEC zc7p`I?*yOg1$rvvZ)jw{hMKQP5M%UJm^dH5fKd~SWgeL?%k^pOO>ExXVK5+DJoMG^4NOY*#d$*eE5i z80xUO;Qu9O-<+8ibd4UFyA)O2fe!7e;`%yYLcim$EV0}8)y5(d_@SLfDQ281bV~LR z3N+LXFJn?>1y7rFNg8G2i0vBjAS$O9IeigE6m(aH574I*wxy1bVhilc8S~TWQ8wMi z3=WJ;jvlg4s(zH7{#5m|*)CH-dRM5dbLt865vZ59m;EzSA*9#^DI?K9N%+^pGeiFT z?~^6IZRt&stKAn?ikJFF(Sw?_jb(*YDG&^E*^yE9E!KXg?j^I*lKzzRUtOcY;XO!e zYyLAo_(S6Iw!fEuj-Yf5hGlTlu0>;59K35>P+ zJxKdG7M&Si*JJ`M(WMu=-UqU(MeSxOuWDG3=b>-hx*qa=QhftuRwqZhmq52QnF_Rk zm48uiEBIOyeA{L{vxcLf|5PV=e%7KED%pf?c@w(e+=&#Lp5IMHQo96S^jWii-Vf2J z;+d@c7e&_i26pNg9cgPpJ;OzBYu`faMl_F}+SOPdP+Y1i;Oi!+^k!Ncf<$;(wW?Or z=tE2Bdr^!UxH^}fuzldT-qmwuzB#_b%v3(yaZ-9p)vO}ab}(6?mR=gB?LP0+#S8U` z_GMMy`hF4kXqO8A7;m_mhlfRrpzppyOWF?An^0(d*zJ;BQks8D<6GVt|E7-5`TtpC zaNxD%65C6OixX$fZh>All~RiHKgSg|7b}N&6%AYS=GG6cMB9! zTSrY&FWReep((%9YX6AcFIrXA&c2WGCJGYGM4F^t!~)KurC0TL9N&VUHqHrpGsorD zxU`px|9~p#j~6`?bpe4!x~j)m4#b~pz^qc?;|;HxMMw)=-K%)d0t~E(jrGYqRN~n2 zYFy9!`X$@S)N&i^r|GmVl91g;TRWPP=a8p}k#Wa;n_Ts)c^vQ6Orj)j4I0w~rkXEP zFLRnxn~;cb*|iGhJ{x-7{k)Q-6NJ79@_y(|a{jiq%f1YpZWBu8t#tYRe$yg>fVMTU z)?E+W40If6vKRiAkTe_QT#eSi7wTRYJO>=EhQmaTiYCm?=~{VRMJH#!P0x6*OFWq; z=R+?+(|qFFWI@b$m9bM=8?gX=1AV1jFUXZUyfk*g7~{&>ntODEl^Xt8(3VG zcvHbVr)o3#p4(n(UtRT={{ryGUeDy}LMJrEr9I5-!8$?W4}CeQo%HvRD$T$mn5N|3 zx_r#G;6{m+kh=jNG<_l%-04>?Jxy!u@FQ@(58-ZiS2Q&@M&D>Ai#x9Kp0)8&iM~qL zNecEg?R--vej3Spr}r1v3$6!}nS>5!jH(>Iadapp_$BRR=4+EXZ8$I=*i7Qy^4|!2 zcS)>qDt~gpI@gI5TlS?slJPI}Ve@LU72d<1`Zepf{BBX5>e+7sA-OYh zf!9w!iG8T_DkiWd_Izk8T*OruE=@j{SOo?A7Wgmrx5S&Yx)}=W4Hm7O|NW!ZMbM3} zTXtqq{zj*_Fixg6 zsd1kTNgaPDuT8*HI`_uiqW8F7Lg(K@#yp5DnWhpb=k~C76 z@vG8wp2(%>IgfUv6xVveg#=E(RIt;E!W+!w+J*G9d%0PC9I5_G z=R~Q>O|Ha-BIs;o=u0?CO2Nm<{`pdkdyBxQ(Pis@&DY@w{1S|T{IM>TCt6+HoUu6qAJ*{1E4nX8cn z{PFCm@Ch>Qg{mt81^&Y1q`--y{@zFEmt3DkmPI}Ry7R$IZZ>{HMkrtLo z8@vgtP+Q=-T-KQkB8-^H8W{C{3ol(>%4ruG@`Lt1Upg`ravR}W$p4txL}_GJ!Sfg8 zUZ=MySclallt~Q|3|1vek_yWY2PWvO$V!}CTD(KUs65T=z)oQI1|;4;4};VTjq99pb7Et)K7?_1*4mmOg>) z){g#PE~7EN*my(vfud)y+Z#Ze{lJ#2AK)o-Ufe>8tPDyFlnKPXO@3U(E|dIj=wn08 zKxF5U?CXsRzZ$j(asl{`NL~^8Oi?_2P8^74L~|N7k*dPxHh7m2->ziWhyFor{`KAO zG!wf+p5Q0RrkP^XIu9fsn6ESytM9ZcW0)69hLG#@?}7Xa5(|WyiI2oi>9<1Z=+4C8 zOg(*CwbMJ@_FX$k`&qvkKK#Tc_bNBPw|0{I>r;PvGBPd|E;UC(uN(ZI(Q|@vu+$EO zOic>nCRTE@TG!hC}k)0@jYM?$%u@z$Qw4 zXRog`GP?kr#VXg0<`PvSJ~Yd>shy$C&w+NE{3$~D)U+ipTCHl~U#E_hf0&v|yX+(8 zJf>;smIdsO$bU8@ZCo84>4cLCn#bQYZ;yW^eK)R)`91A~_qg8;lsRXMupsvqZ1SKz zK)oBWFY%hv)=28IaxU~re#waxg1;JrW9#XS#CKKe&}*y3X4e)k4r#7CE8LwF- zjo;lZY*Q0GOskaS{lbRV#MVib!*7x(b&N8vESc_=Iq~4wMCbQWHCv~^V*f@ZmGHM3 zUnx2{k{-6@febS+LUPM{i6)+j=7a(sjAo_mLg#I|1;C@7Cv*{7B#^R63fet!R{Cw2 zaQV6LC8oqpvR$+JiP*3DA+JC56!|`m4OFz!-h03?q%Cr^KS^xT&O~OE%rcp(`uLChmaj>P$z|s>aq1RLc`JVm?hGMO!4?4@;UG}E>76-Po)-gKX*ItC)D_0Y~SY2 zVmoL*3FT3fddHhzx56`V#vl5DI@)L&yGU_dPw3;Y!cr!@S#jt^(YHj~X#?xV1@-$r zse{nt-WGxf_7q6{?$pz0k#~T&ycs9o*f;R=@dQ$k+Ep)&aacY;8_)Y*YV4}0;3CII z-s*yQ?Vqk2q(6k+flg-qJZZPD>U~;gCjeRo>n+;OHr|Py<-cUpb~khSU}fl}*)VC+ z%LDPlxtGHM9%$|QU6=o{?Cyi3+Z#0nvwsH7bx++ zHVwQ(=wkdsQCSgqOIqV;n}4#cBd}WSo@hxN;y$)?xPiCE{87>4A={Sl3la7r7*h(S zZOgY)FDC<9z2|HK&r~oyYEu;Ywc?&uH1GpFj869uM_tTU!S=IC8w?Nhle`-LC~O5| zoqLYIV^*oTMM~s3u-*O;(qv9d-(SP;6kQ?0jAW{B(2!pia)j_p`W!i|!~3?|Jej1DPz z&hi!&-PLM9{NvyQ?wgBb9~K@fV8^P2S)BVtj?AmX8^N0+N-}*=Il%cqD@m8QFKklB z4ZwdVTquz)D0+jpss2x=IXSM{SfFwAJtbxEj8(1IHv;vRP=zP;GPFi8@Ye90T~H3( zexU5d>wa`y0K|3`|DEUnFGwrw2#vpKSM_tBSNMy<{c!&lp(11JDspM(k;BbRk>%{? zg@#mayr>sof9tg+7PV-sZvzDn)a?neqbYeY9JM4PZ}_Zot}05^-V$m+n<4+tCRNhb zvDjzfW09|`?*mg6!ch_o`D`o4`)%N_bYGeINKt|$v76FyqoS<+8CLZpF*s%$aEr&^ z@svXC7jLcd*gdu2PQtL%SOxFfsQG2baoYSxphB%vu<(vUStk9%m#}q7$ZA#6MiTcp zl-;_lM~Jm_(&1&=sSgA{_1ohyM!2Ttm+*$j-B5$w*IRMNedYtIF7j*7%bbqudT*bi zrY0*5;O+)2F6^^J_p)1y2e9JG3O+kyB<__`e8ug8ii*D?H^CSHuig@B1f4WC_A;7= z3ck6jrFD7}xEarH#o8o32W>&@Y)7#nlcs+PvcbK+J@$Blt-O1PW z9hs8guyT9w&TvI^K6>s5R-2w?C#q@}uZ*f^PPnCx24mEhw$1VOw&bVwR`pru;~~j0 zB04@5uIXTY@r`+ZU0jio3-b>dxu&2`+=AAtsz!$6+W(FOzRVd;um}?iN22Y zp8hpXkrcErChiuyi}lK@Z1M~LkYDb^a&EDP|LO7mspL2_^kk{R0rcrQU|-T`lCJhE z8)MxmeUOPywm1u_!u!B~gR!%^XkxNu*7Ou_P7y{2+?h`;xujOhdr401MVq|&Gcg%t zM1Q3u<`!gJiQ;e`jExp88}!GxpVEb*71h<fsYlEDiEXOM zd+WynwVoQKBUFs`7f`8n43QFq&)oZ+r(>^$zK`{T-|M9ds@DWIsI{!)H;qfn*)QV6Ynxs=*r+<-E;c|u82OW zU`sW`XcpyhFaKkF5t=Sk){WUX)`z4U1CzJbVUcIT-okFN0x&)dI9pdijt-P>qvT1| zhU9uh#zmM8Y`)mK(zP(Wq#O3)#urU?9xo=rcq6br&^lqgal}kPPYCo4JQ>BGZ`K{Y zo!uSsF5-kP6D;qW_Jqq`wZl&ymFtmha?`8iSSZ^jzREMU*51E`2aI88(j7oJ;r$ux z?5dt!akb#gZ&)sWjCMPCGQqLrGt;A*1!*{{hXxe^Eav8mqCOr(r zuEf?nEKwq&@p~falEHUU_ws8_;wjJr*J5Y-ml|*R+N9pyE6X(DH-Ri{DJ(= z+q%p4P@;3m6iU`sf8xIlnq7hPZIx{3S{J!m`Dva538O2{WC%P zz4VX&Ht76`f?$)3E!m^yrNjz*L1MS#hdq>jWO^Nk+qXBD+P z*zg|(t-7}kNUg^+XWBBlJ@kEqd!O^B_&Zr|hmI!8+8y-27?YGQ%O<8irR6u*uwGZ) zQ)(hs>Q*OD@GDPaq&;m$dLtujjjbS0gZ!^1pXtijyeCD{s(ed?TGidx=0X*FsXj99 zE1tTPe4VDdv*Gl&Qw53#C1ckO^U(@7CDh3u5}}D~N1qCX@lTS{j+BZVqU;J6NXokIyl`NC(M%Wk_<# zwa@W8{k>b^V6J|}hSKtb-jjJx`^*66%aLcI^jQ11vR=%aKby7A|Fx6nuVsuzmE-q9 zPH>TW$T?K#T)UQjY&BI3XFJiyz{=9L=KG=FGlA4({c2()e|ch8Su?1hHiPx%8zL}L z@fQH;{7^nH*~DjRUO^Z6C%%Qz+cNBKv4Zh~F6SLdE$n;rmjf$!nUky}ZW#2-Zb9xp z%-td>{I6AA-C76TiKk>$YSw?PX;0Edn7*!s+t2y#p{0L9onmlC;;UqXz$fJwQp51h zq8+5xUn>^a9uJpB5<31qr7f*^{1O#EFb-_c>R{px3j?%_{S$pg=vcc4=w|G)cjhk_ z7_D6a~du^4g=YO^< zPyDC4F^CaNFMc<tW)=%>8L|*dFXq`0NkCaMP6lGWry^K(Qn@)8{h9dQs6?V0Se>TdY(cX7C(LNW!~kL*_xzY zvD)Xt7A4Hm-%Gw;yRl?a?rx`?C@3D2&GcbqNK&PD^1Vy(TQK=cDOSFUVVy9(4p{4% z75%`BQ~j|koGNf@xP8@QA^z0u0j51aw>9boQ<%5&NvPS8fGUSCw&60 z_Cq`3RZk#;35I+<5|wYce?EyF4=&Hyn7`M(DOfe zv=p8EqD|g@Rdo`#Oz=bc3g$D5w#{^JFB^ov=wQ47Fs2Q{^5~Gl&%OP@gyh>_u?<PrSt-Rnu_ZMGR7Qwe_AAv_JqG0 zixnx_X}041vb4lXcq`{6g$d|S{}uYidSa%^yu0uaG;XbHzivtlZ@hxn^Ym$j^k3oT zIl-sa(uwC6DaKo;gc-iR^~ZJ|;dwSXCB-A@&jgnyZj%0LzbbjjX{Fj_U>L5?b?YC3 zxtg^H^Pend)yH47`A?Q6zJ|wlRT;j$=&vTw{`^Fa`CBSN9UYBl%fFGC8AIkwImJ44`K>CTbJ$*7NOytMBpsP|`QK2x*JP^7aip z4^0@rvq8~Eb=)L%Gg~6M?qW3PcGs0~%qR=;{F}4aE%Y0$zR{u#a;#xit4eTE=TarN z@6-Ew?u`oGSBAA9w8{>j8^pRb_-J#3S-kVtJaEDqAF(?H;>M+-YmE;T709!^U)@?p z$J?w|DEwrE7I@|qZu{D@cI>Rn&^P8Rp{2;5f4r5gUP`##f8wQ=b1t!-;Cp+)ec*bD zw4fD%eTlc~ko`%$!NY`R%m##FwX|4Cgxi?CY(^dvj6S}X%=>+>hOelcSv|@=z$Ygg z9I$wZRDaO~MmIo}_LsCN+GraRe6j3UrOSU#xK-PtV7OFwSA7`@(w1N0X^bgp({oq4 z-chv4gP~61(552mRtp5UUZkbT-m=K2?s9)?R}-_1&i+brvd=8NHuO8ST>ytajFEhjS_as6`v%coKkse!5so*xYvO97`Z>zBTvvI?Zz@j) zc9l2megll`gzhFPiS>f_aJnMBJ&JFn5`C;}05_84)&jq9uF=?P4+DX>4#Lgo)s*}@ zaqOj}_5y<>E8jN%(+)B4HW zKC10Wp({KSd|#Nkg&q8BX#wj!vp(s#=WU*mCi3c4&2*uC7zfk=~-6jE9l%sn}%}y%=Wu zD-(~VmIO|zbvSw==gey8qRNldT$#CQUH>_gkW<637upF2NDF;=pN~7j*vxm8kN6&h z$8Trkv;1EL>La_KNc2^_*~FiQA|~42%*@T5TJmR)z#1b-@+(sEt+7x@2clMxYNGVW>w zyX5Y9|Bh&{r1I!$>ph27|B!q-nStWiA6NPe@_pyVr6KH}r1*7zuC}2iCET<5VgXjiiwy*QA5X1Q8?WwhnK{j?ANQ>lHXm`Pb+^Z*MAe~OBchXl%UnS1y>DmG|obcJ( zlqQZKr-cxVDK_MM(T$nt=2K8j+p>p%v&?glOQy?pWAwo~Y1yklv+j&!Wyi=rks}qw z>F<$-f5aD>Qjd6yJ%MChZoJe$g;NIoeM(bhVzd8P@J%6a^Ah(LrTT7Q_UubSv!hZA z%IYiH{RO!w>E9_BGcIdX#I$O6d7UlZMpm53W%Aq?9~kyU_$KHH&y7=QBO{`uh2+U8 zk4hiNqb2@ST7Q;cLmS}Rg$|mb@(mPR5w`$-9!lSND@1z^Do3|TJ6L!4Z+XrZJ#DP; zZ%efGp6*;)A#-hlab5m$cNfK7Un@HL0Gx~$y{v8YM)PN|`|D%(igMQMjq|?J*wmb} z?(eWwkLkV&d7ofOnq30kPK9eSv!K~w8&BAdd)6WI+SRbD-*H21wd!xLtxN28+wfNx z&X2w7mR29AUQ~5`V1?)D#MfCrN6vWf^d6u;KT(_Xl5fp}#CUA0dg4F0nd3%gKw;Q7 zUS&0C^DQYt&Pn*Wex^Xl!zTMm&$khRLEtl>c*I9ds#v4nGIvS-*`Ue z{`k7ZMdOesBNA^5H%PtOsDdes?!nZ0#UB#WM4)e6rF7Y01tW>A2BJR;RdasJ6-ugH zP*zumF=30#Kgsd6Z;-;{-t6nK-2Y8%iN2rs(ESfJ1QlHGLyP2j2 ze&o^UgNJp`*76*@JmwX;&l(wddbRs+mp8ngG;LDujH_DsM!QJ$CL1XCi8fA3%v(^d zbse*d*K@3XLTWN3P2?+YuxOKQ%%o!vapy_gg&aK}jyZG8&gL$1zO3(8^?<|tj6SDR z{g{(BGNHO!HK}QE)xw>zUJBo5670=QhU>}OnMhT~(;;@H8b=%# zR9@tGN-#?388|PqP5DPOqq?L)F00}$d1gQTR`eutV~Ns`M_p?ag-RLqe`4B1(z@5I zs{Fi}iZaF`iG(Zn7S7Gw4OH5vp6E0sbP;l(ReEc4sj+A57r~Ia+Ne1$v-g@FUUsKx zt4YDHZb09Ka|4Gn0n&Gv_?$(iX$O#-?QAu=v@}>~h&pV<4GUcbuK(5XQ5lPb4vamN zAvqpY(7RlJ*~^}9?X7rrtecFBa3(R@$*xjEcD%Qb%h^NKSZ8}}5>r~(KQTUBFMg_U ziEXz&H1JxA)4Yu=lbK`ctvZUkw9YEonmqyd3eHzLM+e`g4yj>uW<%vX>4R}$W?y3U z)(?t`LlYuHMayYxBaZ{+8!b4JgDAtPs3H5XpGdK^|s(da!q#UrO)|)?Rpmc z%QYpX`y{1Xtg-Zl9Q{J_%sdx5>Kf<#x3utt#I#L^RjXKhsn_jqdM|Fzz67M|FQF@K z|3WX#t8Wu%8r^fp>g*G@e~~oxjj`9HjIqE!x?21caz6;IcB8_|Blge1-NyPaAZ=UI z7Pf8tKglC`*(Jm`f$x#PXSABF%X7PUGE@U?Et0VtlWg)`VIR}b%G<&De?*-JoD;?O zz!wCR-r@RfE}MF}Mzf1p=vY9pU_(Jb1ymFi3rmyU%N@s+lufxcGjo5*;o;lEZ*?6eV+gM zE+Zc^N?F4#?5!o^=H2@FQbv*N$C9gCg`8<6<6y>U7XSQ8Xsy3vbzk|7^_#PIRX;Es zFIHzXYOj0eCf-IyrZ~ovd!v$sYxSp+`z_fsk;2E$B&f~B^E(?jB>`SvV_OY1PSA@> zc*U36f$}d@Mm+9C7TLd(j?pfU4uvnrkSjx1S-^L#SSo^y0Qx$w)z4XZD`jrU++i>~ zLyNHSu@9?k8+&#F2*@?Yhgf;JTh`#tAC*7EcXw=rWd3*D7VB zX4#JBz2@*k)BVv)q-ZF(dWM$WgyX z=1aLg_c!7*VpSGB%tri)1(c&N5z;ryg$MHUN)g#ZxhD-glj>SRy@bKTRN5iWe$-Eu@ zi(G#=7`Ic3CV@OJLlgQnd6xf^)m{%3>vF%uS^@RhyN|r3Qj_G|;g__&NMccRckm;} z>WXi@yZk*|w^l`zAG0(6pQIfflRE#H&v}nPtB?6VDI;~SHD53HBZJE*?_R%()!rYtwh_2e;ds<6=yOOr?C{2d`k6VjM4n3 z9XG^zuO?dVnp@Sy-vsGtZcpPdGu=yoeOAfv%Bm@mh1Tb`cN{MVx;DaLLQ~|8-X(Ze zC_h_P;adt%%@xXi7TXt=+r2!iFhY5roQBT72P*6w6G*+=Epv~H9uD*g&q(fe{Uqp;v)UI&8KaEpc5M+ie70gz# z1MrsJj&(;3evn=H{vNBowCZn>E3>nri`w{iJlFJ@b6~k z#Hd)VcCN0>hv9O5av=2L(waD)vz3L*?c0F!h?hf263_a0!L@#VwG&w$_p>6O zsbF>uy@g)WGtj;&Xa>$-cy;xkR3p^jbpJHubnjf#AAuC!f){wZ})cQ{Ho*(`({>xI<8ao}g zrdcD9_B$izC?1Uq_lGkn9Ie1C*QI4W63lj(Zc4sI);P_qf~TV&xi3KT$73y1Z)6sr za~Fl0ERcf!Qj)>yJRJAb6rn>Ghh+!or%IDsC`s*<@u`ydHQ9ynG4wM5|1;$>t19@D ziGhxht>vy;a7<(?m`y&H#s&9g|A269XixM_?;p+q75UEJVwceayv-Ql?~e5%T?F;U zIKN#xj3VE=QTAyEPKM611S5WJ<>=fCrEGJSYew-f`_6_{g_qQ()($g*lc@V7ctLt9 zn09$$&9SFtQ)NP>isXtLs&?z`(=e& zJ*`T7?s_3;O`AAwu z8}B{U*(*zJ%XIi>tV!GwW%gKL%|X?#OP#b@xGSep;I}uF2505<_DQPGHbnOX58J-? z3(O#W2r_HMK1R29lspFwo7UH*CA&JrNSmt7rxkfdL>?3?j*d#h0;2+Hs);fzk$_pu1Vav>Z}G%>9Gx_jPDc$ zCnVO|T148VdMoXabCS|A)+l1m%zrX|Ed8_LIa(JCy`=cT*xh-KXN;nplv%B)dD`B( z&35YmHTm7z=ov0$n#D+S7MfdaY@^Q@Rd;{j4MmNg(QJbGrm`B0Q-D!{vvsy8--fpX z65WK(+RwDbt7Uz`=|DIUAf^oRJpcTcA`hJL+DqTJ&_`jkWh~csRdZ^qjz+z?Q_w zKug+Jn38f$>hS?meFt=w{2@vyEqGPc@4mcSXc0CdTT&#jTf%HmlzSffAG8ms-Hg8b zOCGQ)Ivw_2;t-gl_D-H{erCC$+w>%R2EdTIjw>z$Vq$^l9q=KH*WlH^J${!BbNoS_ z7RTmd=>?6IY@*4!Q;~Z*QD!Hz0IBH2+D;X0iEQ=CD8X9XqkIoZlbBlkHotlshK0jcKJ7|oDJyl6t@q% z^bHy&CF~>ST|Dq3it^98?||bHFR3>}rB%$v&krBdOY~IS-Z(2RNc`By^2BA>jB(D^ zdHamT=-xBF&Q+50SLa@EDrjw&KlOWM@MPh6wm2g4JT)5|3P z+yZYv&dI^+s2Njm2Dw??z=<*VTQD%u-tk57r1R6z%kC~=PjXPGEA{W(0`F_hT9Gbb z4p1V$+KIqh#Pp|6`o8nwWO`N1{K5B~vB@UsPsXO#oo#91+|a$1OQ09?;RP-6Yc^6J z6->U(|A8O>Bs8J&cj@(r;p`FPNk8@@xhp*;&E0e^dh-TtT+&U_p9qvhPI>!6A%fY| zO>Y(aA?%F|s2XXo-&WP{JWBZ@ezxcv;XTVrz8fACyjj(ZJbF*C(Szl`5R`P*hEzSU z6#UAmm;FQA)9t)4xI!!?CCw_B8CmY>4jqLmrIjDrFTny_q&G+pVGhq@mD8M7W%xX+ zAITkyB+&~*?{9bsJ1+SjL6+q0Bm7SNTx@=?SS@|zOA3y0r+Krou#(;zDoJ_r{VmcP zQ=BD6d#K#Z;T%zQ5*@37Do1uyQxZyVoiRyz9CFQf90;EkyIk6+o{<(jl-c^NS%L*m zKf5ufORSmIVBC!~y=45DwbQ#2t0vdo8#X~v)~3)NOZCJt>#@L0eWTK~Z8>>s$GNn4 z4_)wFu(})k@8$1~*V3tB2>g1n@LFXV@MS_rErGce+jy_uU#ygw=+ZH(uj3NOVCQaw zw}jcL*;3{zL)q?OouBqPGui@A%X3~jDMQmKRd5}vgS z2Dxsi8IabVi(CoeuC^8G%6Ok$M-jCStNE-GZh>W8UlRz{H|pl3yfO2`yaqMOxK)?< zBMrmhbV?>4R{D<@PfaW*mH@mny#n>M*ln|f9^`H`?!8LEy(D&F@Q%pB!U}(mY8_rz z((SM*OZsH4Kn$RV`9k*PYQH!tGsXU0mfga*9&H=#DYH2P@hk&h=$ssHd|VK(n$jMz zvKj^%^DKHjYi#c4;Wcn>C9TbM?{zFtwx_3ag-`y6V|-%%nrUjRxS;TO#TlzbQDbbC zQ4@I2USi#XR6UrcpVZ?5>hOwc2df`WG&j~-C}_5iUPwu_7cK)wn1md>Dzc!-8fmUA z;CnjuY4ug^vm%Z9IL8RuBO~;1;E^$$si}&5Nk!N62Zb7snewuvwPOj_gY2QDsM`1?9it{+er<> z=r2+@a^MK|MCdO6y_Jrwvedia;9C}FwjGE9CC8F}y5_?AH!3d<&k+B?T)(C@Gle6k@%!KGOPBFxejfTo*9j;im+#I9jUrz=za%|3q3( z=-dGR{Iqup7Kq~Eh{{saGUT)`d7Yz z@z+;;Bobg^om_oGL#ZF94Qm5+)^{bAcr;8q9g-Tpf$ZcL9FO&LV{J=bs`)_bq4H+A z|3V^DPrrIod;4d^&L|nERTjI9+45j*>fBLgm?R&epAkhSA1^(*{NLOgXrYDlKdm$G z>g)>l)_A3j$Kx$+q51{>dC+t*J8{WuGA{7nllxTW@>qbjH&+^#sspPval6O{Cu|kD zb45c^mln4DDgC=OfLD? z3%MKYKo7Of)GRafi(`ez5~&;A1y#?61>%p`^JOO-xurhi`$$uX(b_p$LiGiPf=quY zKMk9BEcau)WEIR=xyyigHExH067yu;TzJIJ1dUTF!TeUnU#>4KMkka9*Wlcvp$$fh zjJQ6Z9%Z6I#^1_I!TMzR@p1^}+R{sGm61$(ozyejLOQFf#-*gryux?CJ+tVU z=uNKu_#f|P^(opGSYZR2YrF4lw1qu>c*Se+vGHK)Zwg+VNJ;GV-Di9Lu(qy#B_g;V z%yoCfe~zpqN3*h4)Z@IO0qIi5dVbd>_ZaAyX*{GX-G|k$J3ldQ5C7t9n%f0Fl}Cn( zc9}y*oIk@s9;! zh3mL`QewDpitwpEN+?C%8Sc@!Kep|V4Etmruvyt+v9iP$FYQpq7@nL0*VK~8afJ)~ zJqy?sq_qwH98RrOkEi6%DfOoqd+W@a(x(1F)Rt$ZEvYjc1jnms3BnhtnwgSCQxCB> zi7*F=M&~K@ZZGdD13hGwTIn_&izJpyn;YCM5=CffchY{OK`5+s?8Z6y+ImA`cn?nn z*_-(QcBTSr(#SnNylRQ;eHa*JR4Dm5ukcv$?R7&u!`+=l5`l6?i)>Hg1!KvOW%lBe zw@`G9ouBVVzNUTO2CoeFWbUJ?G&A~UcDK+WS~b^E=_#QOL$H!JdS8q8w!|YlKktBE z=(rmWCBRiscz@S{jZ#Kgd}`*~)aziZEUck{taL>$ueIE^f=_Jzz~e?TyNj<6Grna) zFA3x^smFv^>bVE?$?#PNBz{8p;+_KWvDDU-yK2h&Lnx>*zhds~p1JH-`-qzRa{Ml5 z?)kB!%5t2uW@2nCSROzEjwc$G4oF^lrY#DK+^c`5W6s1sAE-RxDCyRgAEH=YbB_Mj zCV?SVJ7N5LH`c|>4&fnvVQf?0y#aa>cXf}u(AM4?eoEN|^3)`vlz4AL>g_>+e-}G~ zbyL=$n_yGnPH4y}i{!Y!z8=0I0jlSam~UNYLJ#Q!40&Hl_R#G{|65o^#@P6yM&J3& zJ^Ka4NASGAcM^0Mqk5aW(y~vI$tmf~ll(=yregOVQ@S8$^9lBMEyiZlUP58iuCL+0 z#@bqo!sWR$lIJ6@P5c5SsSA5FL&~v7JQccpzB=F5(v!hlN0-L-B5&H)*b>H2fg<-C zAwL#xzh9m|SG`oGqm8$pP{owEF-qrUzs=k1*&)J2Mzlofz)IhMos1OluPO>2I&im5{uy4o7hRfZKNR~3xp*PxwaUfHj)PTu-?{?XOXawz zOlGyw?S`vF_q6R$9IpT>FLm6npgzd^7j}pH;dZREHh9EZlZSm%@cMr2@#l7S4C})f zK?VxPq6JmXvHC0Cmx8jl>5jtxrTIB8vRdz81Y@sa#aK}l4B(Kjq&-7foMW*qfv@3J z`qKUv`ao&N3{q!CWL(Mnm-Ml{b>3hz|0%39Hv6uW`g08_MMJa3F2M`H)m{>Vi5)`~isiF)g2%3RXezpB1=Cs>vm z&1oI>EOE>dToUR;N=#X6em}=cf4dt?o0{d#^tSd@_P7BpJ4q`x8Uj54ZtSvelA4&a zq)#H;gC3vlX3j_p>Aza&j+9~ksi?nb?VC#eciMaT55n)Z4s9MIYtpe|;WynENL$SA z#*Lhh2#u)uXeD(cS%=!^{V*?Plt#ZWK5f{OI|kj_*Od`Ked<&-d=0omZf#j;7-gS} zZ8_6svu|)pPRyTU-&TGg{WbsG(8K%4#x@P3ZLd1dC|-75C~GLZZ$~WzLOzP4oDuVP z?yX2fD(;OyYp@RSm-8*xKPCMP-nZhZTD8$r{j&ELhtHjYmU)%Afvp*j6t;0QVp0FR zh(rRNQOtaZCQxG?>*7tqKl=_>3qIx~Z42{A(QLM(y8N=%ASwLjSO~((%m8{#M9vmOk|Rg3HRCq!+tkF}t~{#vdsB56eVFvL zTvx$+WWu7O!*qne$LC3fxC&QcL_& zKi|Bu{3B8)cl|Tv{c6E+dm`?+p^jcwJ<0d2X#B~%{;^cd*xGaRjbP^v*Q`5$WEHy? zmrRNFQ)33%+j_lf&)|*t+G_0iod1mRMr~;i!TeCHta^7Wv#3v3d0HP}ysh0}R3hb> z&L(iV$aT`73`!j5*dqHNwDw`%p>(op$i3e&F1MY#Z)AM#&H7uEGRU`1=6}pS#S@(J zp8U+n{&QHT!w15X51;9j8U9^qr@)|b)RjBJ`;;edmtEm_Dhv(9t23GZa?clgz+LLQ zm+iC4q(xsMK7)#@_P<6y_B9;w>qMCHnHNpnA#>VK4f{HLk&AUSbA#uBf0LSJcsX=O zfxqkv#Zg&sihfJTF7->=c%@GP=XzIxF`RP13;rvx%(knq9ll!m(qE|@?``M_Zw_Fq=(E$b z?S=iAhHhL;Yg;NCa!h!?9JFo{!NyMM_zxcb237l5^yugtE7SDc10DI1!I#ojZ z0#?b8IcB|$|J6Q5T_=a{as-h7U$Q59k7qxf(Gk6-ru$^JSz7u`<0%t z4oBOrs~4!)uWN`QW*v>{+pM3a)hw&scjZZ-7nm z$S16@->4w6R;J?cXM)hcBk9A|XCl?C)6jC2s@+?3DmJ^amvsqzW;~YN0@|zyO!DXE zJ`iZ2RktbGq3<)7C+DGM%bb$GQv597)wg*T`gs^w-j3GJQBrm?-O7cO+DYhYg4O6; zRhxLB=()w4d@J;`)r!VvI%z7ksi!+y$?hQP)z2M{Jn5Yhy~e#LQXAW&beR8KBqdL` zy4_zD1AA0iwwt6?jCyXd$-JlBb2`OBfh<9y4=KCBd>^vWEOJMvBASR@>C_V$`bouC zXqWWo?54%C^0hJX82nJd3_=Z`?IFsUNWU@F7V(zSx4q+Oau(h{WeC){iN9s;R6YIa zI#MFHm7aH@6x0^_XfrA_^S*$3LqYqt{@?n&uTSSbuk2z)NrB^?I+HUD%ryqHLq)f+ z?!R&UHgv9`?m%6!&1NlxGRHiPLI=X(j7^TOtH1W$*oc<-Rg|f|wVDWTYEYl0r61|6 zP(p>&^=n@9EP*JXoHq7}cw!T$DB2LgD-!*7k%fQtJ zZ4q4~rX}|OF(kN|NSF4SCttK%0%?yTq1%W*Q8c}LA#jrNb`RD#s818$nUblL^GLlv z=RNy&=+~yG1@KsV!y&d%g7j;AGncpJmgHt=-5##Ah9+`;-@DF7F588zK){B)QA3rSqW8JN5fz0cSzpaq`V2W(-!k=PidRk zs{XgI8o`=}@&^~2NZ>v=uuHZ2xyGGU`SGah2V-O2ZNB~96;*=_T7=E>=mpE9boRc4 z_$6$u=*oQ6l@@fiWhHJ)*+EWdSmS6fItK?^d3zLPr zHxAX8GCTjZs^55nRn^Yxkr^pxs^f0&{!Qh{*T5myS#>`k5$teFF2wVYyQR8(gNeF7 zkCq+uO;Q$C-v0|I31Mv1aF_o!-)+#j4cb=PFd*@IJGkb>lAG+xF1W%%e>U7&d{*YC z-YH5i4mH?4)6(|fb98WqMSHbP2M_$S7siZQJ7kuf9|FV&H098El zrMIc$5^=ty7zQlq*ei+A+lb6!Yg^&6W$)Cq0N=;n z9R~H&ZYnB?A6~%A`9cE2S^n|WSdoI5T1ui{VLt)bY@9%h79_{ecI*;`4fz#UgS z-{sGCEHi%AvC`c)Z;UHh4`KrbQ{%NcBdFn;lG%>oO6H#MgPky1j&jMsdYq(J9lT zIDG*Y_)$goKay?q&*>k==uZ>`DDS<(n7f1HRQy|PTI)hH@(QJx8`#BQJ6?24!hs}h zi{8pxhJT{R=h33S3w{nfm`#1nV30k@g-eaC)(8JY8`ax1#5PUd?yP zUGTI~J;FhuwkgqaW=24HcW-#F*NHHji*BpybfTHjJv@HZ1xk)Owx5C(?N>K3>!{~G z-wEQ{iVSJrMUk4KHojCZ$l9)=m81~(4^?Ksma~QhJ-aKq$oYDLKaL0RLQ+9#D;%E` zT<4z0eu2j-rgj^#<}K>*SvZx(8fOVRVAB5$^QZfIYpA0`@;2Z5#XB}Es25x(MS9KN z#-xsa<@xY^CLuYpo+q)ow{5}Sl%y{0jSTtSR)}{)ttEXGGtOplbxy0`0&lY_W;(Al$ zO5L}wyMr8PNbMf+Bh2yAX7loLSzYQZWoh3>Qjn}9*S$TvgQQH6cUw7ukkgq+e%=jX4$5k&XriU)h)&=547pFW(080nqr^)`s(&e!|QTiZqs53*%*0GYtWwpnM>j1?H zmBjo?pK^crNujAW9e+kbH&XAc=ARJEisct_KVNh~8>0B}tMRp1Jae-xFFFRjc&@sj zz=t0wSCOM4^sUmBb8D}tJ3u)PQghBB2L6%6&DnkIt=%6L9kHE>wf7%zHN)z+(^)}_ zU8iWxthi`5c*2eh+9tEE``4~Xo{>E=Tp7L}yYZeU;Xv#SUyoid#JbgQspxM=p6iU) zu^4wF%|NDu%+BGD1O|3_LA6eB+*f!V{3|N%n6@u}@IUfUF^+VJEil`xIa&QiQP-Lj zihfwa+^P>F-lELaa++U`Q{uqjwl!7K!0-#<7d=&hk$Ni6*M%OXN&S6{&rFG{ z=`1B}N^R2u_?$HgA*DyAe(Y`nA-mx`#OI~ z#{l@AUE)MC^F@}-mtq;QnZ;*W-1B5O{!H0Ht*U2UWx1&!pwGQ;hR0NYj9sgzaE=m#=IS&)QX?u8P)|(aKaP_3|#C!Zf&=kp;O< zs^?+;7by2y)i->q^dBii%UiLI#XPb$S)@#JDL?8BsPQe5w+F7tcz1KOgRQT#LqvAy z2u36Rw|$Z-v7gAGoY$f)V?@ZRw=ZfqXjg5{8#yjNW47Xg*n`#Q+n<11w;E4Gdtzbc zFz4RY^Gc|tFD4qbetW20VK++uiKlz&>x}cEuZ)@B$zNa~@rfG}yWtj)@v~!x9HVpf z*e!`Ok$*y!-o044vr;1t(iy{}W7E{=oRZG7siRAJ51T%OcM}p_@HKQnZoO zeQxRE@YsU$BNuyah&+#6e z@{P324lR8=-jbf>dE<8UO2L_tv>(m+GdcS#!GCE+Vf^}@!x+W23cnn=7Ce16ws)lA zwN}X;IwR-$FfyHr`$MRpskK&Z7xe-MSZ2`&xRv~kavb*y3OwO=khP(i0=Gz&Bl+d&6*%)5oY`-~;{j4; zUL_ZM53p-{#cmRJ`PzGGt4q4Z&vox>crJH((PC3f2p#&oc0$o zT3&R!<3#A@qBfp8>zfy*W@*?-;qk`0BN1I^;r+*(!RJ(X3$389Ml$XUG7^baG*&|O zKZ`GEkd+8^Y5rx|^e$2sJ@bbBJ>~AI#9Xj3JJnL2PA_JiJCska$ogH1;-qZ}&!?ro z#|G8&ph6~h-+9>G1bs&qFJv{bTS9uKxee2UZ*6+ORt?|hZyK8Jf40Qhh5NXE^L-DE z<^2hQ)QHeAaKi&*hGybh{Qp ziBhCtPxSU!H(Ea~RvB)Zn*n9F7uXe_m#twuZAyMDt7xAotKlOXzbl~MaPp?9*j24n zthoNbMp>2H*n!d&eJ>*4^tzK+3VdSGQ4`ZNC;Xdu_%(hA!UB}b*vXYzKz=PPKz=8gh?W#anSE6KyYJKW**@6`Y8 zc|Rxm6ke1rUdwyR2C?RzqMZ3${_o`d9$qzfR&VsDwAwu4dA0gwg?*syr@9NAryD;E z?~F}Ve0wM^`#cZBd9HLgqvXr!{~(y!^(radvT{pV^$DlmL*gWucmddlLdp496xvw* zg>8NE9JMz^{`CQEG2F5Di}Dj?^agjA3hE?%!n$C0Xe1av&R-SrdM|7UOFeiV>RqV3 z$Tr1(A4c6_u2GP7^Ip$2Urlz={z0+fM zY-iq3|G)Vd0g^Hy{~obFgq*rR3a7=J2Q$5e0d`P1*EY;@H%X6lCT5LRP`98L!*zl0 zQ2d)C==(%@qg8=RtYx;%#{VqAb9TX_)Vjd<1}Qa4uR&85*N=h+GU@ zZG@UT{w1eXxJ0k;Z;BblHMF@!-5H@jr<~-M@kWZdBKBwquTe?Ms&Jc4Pdm3r-)^Qb z`a~Ci#zO)^Mqp36Zot~if|?TVjXWiiM|vvkD{n;hRR{g0}P*e&|rh1WzX^X4N93#^G1^~y8tjqbjN9T@KAf1R~oyoEVW zTIA9OrYXo6RD$_V$`W$>VBsv~<1n5~PG2F34=@fMjLdQhL97WBOK+ZyT8F&3@znp+tyOX)+Bp_2W{oTUg5?5x%Xm}gZrb0YJ|lj^x|{3d zw3&UbJ(+LelRu7hz7tqe>Mv}F*&kOHy*9t;Z^RtJ{K?cRDKW>LI_w zEP;~n7tftU=d~|s>rUSl$+iWjTz56DvOSvHvh*hD)y%cQuNqtWIkl8r^JA65S>Org z_h}iF=PQ+bjB$Pfty`xhve291X-++|>*rGo$-%6Oz^S_d&hJ&NcDi126??v;{3oqf z;vWau?cDgI@<;@-H@g$C|A{C5D~of)$lq7EX{OJu5^rxlSmw%r2jSQcfeDh%ykb<&Y#Epl+eS>A$7m?Yy$1TKCsS{9vw;=qiJOJ zZ~ChpI`2DW3!d(1t)x8er~g|ncg$>unn$ip=9KMst?sfQ@MiruJnB0Hn}Tfby1`&% zjo%C9Lo*xCOU$krP&mN7%e`903z}E)usU{wm9Up1-}oNHK7;1sTZFnfcpr>A`P{3# z$jgwRM=TX%J_nuOE$U(WzV3{pkG`?^zJ?~)Yk|Gd@tJiRJ(ihFk8%B6;3b$@P~X-) zNR6hWPqXvZH_U?e<;lU0<%&)MRO>7hTctu{$xJ1GW8-u1VOUF3K0r&-_g79{FEKG? zEd}0IaS3hNox2x`k(tka>@_F!Xb)i9I@m9u)cx-6wBl@cB=0l#RNH6N{~u=QfF{%g z9}2y__A*YgX4jO`0~Jjf4Pl3Hm$kvYYUU=5-~1)C5iP>zBNtCN_JT)t=?zTItXV@T z_Y^t918Xl=^+%dYZ&X%e3Yf1C%cyXQC3%r`>3@cK1F&nz95N(fdqe$( zzh>bF;hp4*-P69P{H5dz?^Vd~9O`sPS-C%ufX~;pp%wD~+zN-ei@HVDHx|)X=e|X2 zrb8d*0P)z6(1HnyFJJl3c6*G1$`LVGwyFy$k2JTX$$lh$GV5kvkjAfUX7s8|nka~ONAU<<3( zTf`98IX>R;yI*84l@B|HmYrC4p~R5hBD`kV(}`{R^1u~&a4Ip~vp+Tj858*3Ra?=0 zX2r4iGtp4y(n_Wp3yp1Hpbw1h)R(%ug?~~#_&R?lgHyQ+S{JhSF==Nkndkl7A`5sH z*A|NRpmFY*HrQDS9P+hbTi(yMig?m`e4UQOykGdrQh|Pa^$VF#(aMq0_Q?2Z+Kh)1 znj4-L*dnrI@=REKqps^r^g-eWnTP&+!so!5y)av8ODFtJj&^ zfsVy_o3I9tSa+`b1i4bXElm0CXn=#ei5DC=2jmY=PvIofVodukhoA!_j4c1AqbdT_13`_1S zl_amznGI(??*j2|w0*T3T`ldS*`cyk`f#q9-Fw8If!55)0Lg4MKKpmd2Dz;l18rzY zd;MF-c%-dsIN#`>byxfc;CkD?wcSQtnxJ)GNBl;&EY5Q>Pp!?!SQ|Tr6!f4CyK`TQ zjSw1Y;n=9qE3|cFWVQQBOJbV16V8tdGpnX8d7|JY+h0a)rClj-sE7eA>B6K z12o$wHi+dlmq!~!FSYMosrsjO44x3W$et=@>7H}X>uxuO<$M)vomuZ~<`(F0b0#Ez z2(jveMVRa>Q9Xym!-uq0l>5}GR43~pZ1d)n)bM}j?_?YShdcHuu_}-GxskrpF0nHc zN7%Ezc=^HlQtEuC{!h+i(l4^HS4#r*deA*&6|;q<1$ye4cNF~GX>S$EbCE9hf?2oN z-!G+TbECm>iCZYXumtmi%%AIrS8j4^%5NFEs+69pzU4Qq%OmyfowVwEkz4tPJad!t zVeYe&lIyTvV&zUgGN<)hHN7!1vRct)o03J!V>WHJ2N=SA*4*G_yem*Nv%mZC>}i2H z*sbMQ2!%uISl1ib8wM?zqszUk{Nudd@f=64J~Q4+%{VPpe)?6BZEFu!d_>GoN*C&! zl7DQw>exG?6AD*HvA*Vyy3AOmV%RC6jj3B0JP;pS|CHNVG{<;Gas$=Jwm8EN*RF)? z8S#n#@$7bXxV}~}oA#eV0{RBVG!8@JnwDPJweml2wOMk%$TwI-r)$JZGk>n*ts}xk zr4rA~qWQAFwY1+{MK7Vs)HdWX<7963%1)J3+%-I3ht>HQuWX%{Hw(=*v06LtN7t15 z9xol*eG`;ASvpB*YO=26Y#lk8GdGF-)$;zsA*J8xVr~bRFH0u5)9XpVBk%gUD*27F zKV@7U>kj52aGmr_bFkCKY_+AAe^~i1Vn=|vpsbB9H-q5wm$rKDv;91poHK>Yyg-?m z*fvJOrTf71-vuQWL!loElU+A92sEwXcOLPr<5P-S!HGX2Yn>mv&%mdV(Hu4RGS@LH z1q=8ndJKNF^EUjZ%R8MpaAbz+$1csyD(YS*|8H^>m=_c^U$`gflK<-i2a}({!JS0|!m=A&(mo7)6=P>H_g5N|ita*| z_xe*GX8PS@i~i@l&v@1t>e%HxUeGZz-A_+Q`nkO-ew2=M^^o?-*^5{HlBR)FeDO&oovPe?fTJ)E|otzAUJTu##dK&4u+u=cS1Imsx zlnTUQXI+{j_15sTel*rQJR5wm&|Yde+pl7^BL$t)v`%F?uef>Qy%>~N zG?ut!@%wmo0Do(WW+ooE$P^cQ0?ZQ|o{#;VvkPsi)wiL6r&Ngx^Un1&iDU&q0Q@-_ zzhJ8*hu$!*`;6SSy_+^}hYC-Y^)rYkjEOx_m|ByNr}2uLq1Y!GlifL#zOD0{^(}?h z=6lGE?De>`+b|0sIMOBa66J6Hs;EwF4JnT`GGu@sJ`Dwn(lq#>_$poEhGHL1P;y?*%HukAM6uDGn-F(gUw(FqhHUH4yi4<+kb2pxFPFEH?r$BHo%!flFZQ53& zNzG>B$_h%H-E_uj>k9odV~1;4e=>im{@w9?4m0@F>eX;#^<}{b9DJoiZ@q29e(L{F zoH;N5&XCe+?ajcP_=^_vInFbVrwqaUXJU1DvbSeABku#_u1+V`Y1SyP_ECN}$tJX; z|Nl_t&$tg#%6rZ}s#O!L)C|%NH))b8Z@`+r&;ueHb*#RZ42cftl2f(a*QM&sKw+7N zMWPpue3#thWc`c&<@b%AblWBWW$FGz@-Gq^YnKQ6`H+Q_)ik@5Jrv9QzlT;gNyL03;K|kvY86z$zZ<(6E^JG3)=Mgw1Cdm0z9HY= zBZKm*ycg{Qe0bK6ywj9M{9wtGqK*T1AknT5tH|$2C4ib#EX*r>U$0H`MjSQJNPYowDB0^o8Oht_A=?Q2w9oK7cL9jR@}_l z)i_dfPq;r)d?URLNhYIU>j6AxIR%hWVs2?UQ?gtKYHzL|e?|IHRiVd8OFfG_P`dX`2cNv>Pz0s05O%)4>v33o=aWl_RWBi!TK z>|Rq)0Czg`X|lY`lAHu{8{FHduZ1(cY41YM0%Ih)_gCV{_{)lpKb%X}7{u;A39v1q+z=b-U{Y~ z$n(0ATxKI^@#~QpaDUU%7}9W}75KDiae;BwUu?275S582L)t_@d#~ zWPvi5uW!3t-tqVX>MYKem{W~6xQe}}8*bI8F6Q%W@-7n=$0%{;$Fn|Hd8 zr1aPvT)dQ8gU4Lt{~+s0>r3k289&QoZS@`j^5?{jsz2Y?^lycF9oUOZUsbo3vqYhf-@E>H3;<7aiJbuD9Ogifzx#o>A>6jlMN^8qzwmdE)M_LM!knHMVT2h}$z+MM7S>E%sUdt#RhEzI#s4}L1T5t}>; z{}kFiCGqV2ME2y(tP=*KepOa4;ehrb9Nt?<->Uk@Ph6K8*E{dc$uu5ZA-P#s=~iNY zNy)s?LGYXh?^7r8y;*%$bPyTAYIf!6qk`8;`Dh5SJf2X+_ka5i{V(s z!0H?G4`2zek=9Be&oecwpCf4!Mq;Dt{A-nT{}g>d`E>(QRvlQ8_hvG#&{p7ORMmeQ z7?FLx8HI`BxrO{^v2fuD?)Gm4Y8CSX1}fDW%iqdfDgkt;hr^ z%ggTbk46W7vh&7;1mgND>Eg~j7R#V?ysqf(=(WB8^v^8l-1saqx;6O68U+pf@!ZAC zz%BDEP0JtF9=T%HDJxe??bv;*5wP{OaYvdkjw>jB= z+j>?k_!rrx$&LI+G$Ta=T-xV&zb`~T@SriP1a4|-1gNEO)R6a1Mjw0ViFPaaZ{oA(7 zJ&)H{qMn191m#JWG z0Qb$v#is@%U*DHVXrF|vayndHYafk=*Uh00qXQk&9!jIo*gBB;DNd={|;^C?Yzglnl(OqaP z{yDZDyrqF24=a+U=F|3OAvvP2#^- zmm(n&_d@WA40Wa>|1me(cM3SpEztHU{o9wkyJ~R4z0B^E_*Y|5ruB7LJ+p zY;QXNZt>Kj@F9QdZCQDm9(oemHu2G$DY&UIX9->a66L3+nrT+eEWo*q%RPH% z@Eaa1c*9s*|4aTe*e|?i;txU31Cg_YVm$3je3WUcd(G=PCspp%0gqkoc37R$tvV^s z#B8giCr38=`qaBp#Po6ZfyR>dX~U(ty9#b1HJcrx?cGJ0mDrpPwX0N3b{M}J_`1az zu}AV}Il6kuquuQKJ5rLS`;+K(TsW+iJAQ=1Ka8hYUdwGaj@~*5$dQ+QzQ;)-A&Nj4BkG6vJ&e=)1)jTDeKdhrqBWS>cnri}A&-!YlZxLWim= zQ=W;ISA)-@Ab|nuu6kEpoDm1!BKRbxmoW{RxY6}1gr*YA<0-pjw&!<)dq~(7_;m&P z=-ho4b0}i>%@^vQalRdEPCqSJzR2ahO!6`FSoma@KkXYDAFDZ!-qBm%6A2ZV*ULXk zJR~C>V89_>ggMfF!1}|tC2^|HQ?Q-mI~i?CSQ)|ko4lc~ zINa2bIn+#gJ$8Q2k#A--!D_{jZd#iwwqM&Q(q$&8q5LC^aE%qFs%P_ygDt(U+p8FGrbkpjKDK?h-qy-6*ml!AxM0&#ITF zd)s3rYkbzWu0egth6~qS=UlZRrZ{tNew!-(vq5_lto`(EVi(9MpYDpTsizfL5_e@* zE9C6BKNUAve>i*yNqDu(FH#%H#oGYobVEPkB2q`|Qn8G#wE4=D>*k)ID^?E#@eA)krce9 zk`dOV(Z6oWGT{F_b-Mc#zIQgX4O@ZlZ7(`c>x?=)DGaPM_{xE;Rbwh!-gD&x!sW?{ zdM&%N2CBN=pzP=P_Alw*`9yTPdMqiNAaBfvabDg4PUlv~q$Gklv;HQjrPkfM7%7JKqC?s|KU%zA{f8=4F z6L16!sbJpev?aJTOE;RX&&4`%FIU^>#9Db8Lfwx9qV#Z`slk4uX~>Ti{%rMU;TFM% zlsr?8Cn(laV?VTZS^fkh_lA^4n8(qu$rj@l;V`QV+l@4Sezwr+=dr)5H|?_CO;Jdl zpZ+Vfy``u_Wio`8`m$q#I(uCBrK^21CN>Y~tP`Ze+Hv)SJ^VFJLDb;@6=x{Ee`L6 zJJT)v(Qr=#0Lq^)JRtX{YY(7zyWq;njLwbMD=Ny_Co?-lMIW_w$*jypg>U+QiM7r+ z%qRox@Q6i^V%OBA$#=HMF>88f3O?`oZ+y*qIq$>Uz*!6mW>ftlL;c^Zb^#JfPn&UN zcCzGqU2-yK#jn%;=#u#xCWq%hwVOq!v>&0>_Q;7%3I^x*Cu^GXtlI8)=n_im)<};@=y$)J;%Sni@X4u{JFqw*z&fvLjz)OaaHUwu_L#8>umG^iskBHIC6t zq%~b031(YHV%JG731&mAM`$$dyI0K!3{w5eKbBKTD1BBiuDFlCXU(_g>Q|-PCb{Lz zke35}N);xv&iP&VXO|J(>RCzoH8p34eo8viR`r7dAN5kRB-*!dAA8Vf=Uo0w;hT0% z)ue*oeGf<0i{E0t8EQt|9?C4nuXQGe(KG0YHyEQz_{ceqR^qEr@{a{ImfR=vK3cEW z1Y&J+x_6V=g4Z|hK|iou#cM*B(h7T0-d|phOfjqI`o{M^<8h~?a}nl4i`4yOq;)+S z-`RPEaKn;RMsR^pN@CJbZ{$B(IDoVdl(Y+u_4YgH7iLk?f`4hszlN#I8vd^Kcu7h3 zU0uclUuy}U&lRaKr|OA<=FS;vzJ*zFdpnVDuz4LPEAnhd8WXk8A=d}uMM{=g^Dqu4 zHve01^Ptk;WuD%dw`I!=`axIRJ6Ryj_UPR}?B0xmv1nn(qP_l>3iC-_O64S`)M&|k zQesuO!ggs{>TX~0F6n2?cJxnQSrX?ACzKpi1okK@%t-T^v0b1U_yxy}c@GK~&0&1d zqe6Y2oMR&?3m2v!ro-`Xz`2{2i$ANGpDOB2K_)H&OWYFZa_6Z0yx7HAEyGztN3Oc~ z>GdutMSEG*Iu5T+s+?VmS~-tmOP>zU*SjL0OA8XgM_uREj)8|B&h}+2V9J{AcI&S$ zamRfYyDkgH)imkmpk5Vi*v(w>Smti2HMVe2EO!Z`h|sHErAgYgMeQ;!D*m1Q9of0l zq9-y|h3`R%kJzb()QWHczI3P59Ft9T0`a?$Ve%wm;ed2==E8!_}|9jt2^&l77nt%;&P?LD8 zu_DrjdVP~s!nh(8R*J?+syQd?gu-QUy4V{*IeWN?^`!ShJf9=h3aPKU&MM%1Ic;X+ zq?D8sS3`fp&O6l?ccIr*m$nx_z~+_vn)o?NcCIP@H*G**c-?jWsME2L80~cV=YD(# z`wOrO9_YY=)iEcGok1uWZHTDb3^za#qa9 zCD+?}li0*avM%g+I{0SJYqg{4;qFOEG+3SvKS*w7NvOrt$RED3F4H!q+Q!=@4^Vsh zWq~w%>8|MSHQTCyM{-#Cl5cHLG#+h)5(FUURSJ%_LNkR8IYqMibS`n07Y1|hi4Cz$ zbw*V_nFkpV8@i5J0`#?C!R5jy^70NOWsb~9VzYU>PkSa=-|!r=ySr?PHAHZ#%k=!E z+A8pWC%+Sla znLm89(3GWV7(-qzO+E`~BX3G*&u&__x&s;}v7_;*zhpMPD*9Ae zN5AZvxG1<{#k;g+O0~-nh|Lw-psIq_I*F7J@>~O>Eug-fDC|@++o|$ycPv>&YsX@7 z`F{rB#Jl_2?Kj9^t`u40Hxup2b|$Fz8U0iExm`3+o2RVehnD)^RP(dY-og=Z=;Fe% zTvKTRWAU*c@2->C2>S*8Cu=LyHw36?AcjVvdS*NcnxP|&3S;;u2 zM<#a?-WJLc4%mLdDm@C;7xeLoI^>UFnq^I6*U%O;sqXCL56(O4=H~vK*w9{LR%R~6 zCZ9+_0t>vBI;(zK zG_6`!oivILWFCRfvx9=C*<7?M{ywdf(AUx6yw$01@uk~vPkgda!z}h3Q<4kaT&c1v z;Vff9?Ww|rDOhu>{Zkn$5voED_`j^1jkOsE#cp$*F6sn_ZgXAakkmH5V+M0^zV^P` zt2fuF^;mO~_md4_#Z}f)$n&t0l{WUplrq}}?alMm%KA_+#L2CK`BA!-QtB_%?~nha z{xSdYyu*~aR!L7n`a;?;PR)N)Z~cRmMb+-DAL(me#7L8L!NOiIbYZp~Pe6qNr1@sg zS+T)uzX$iQsI&5_!l9y(Kz44tPK{mqLD#;@3a#HfZOzK$wbYimhQLp8cj=z&ri#jc zu0PowYUu2mGAlN%sK9H|tDj2Yd8zRKh`J6qCyMXC^j;3`xR$$Yl1;KH*C^6dP?~@O zf`X!SL3&4&x>V`CT*=*Sl1;K{R{$vr2nvD}1rb!Fcj-kzQStwMv*Guj{baK{<;~1% z^QP`2;1TvH=(Ne#n>01oT6Z;1^}lXw zZ1__oIqx$+gNAqHz$^(0dk?lr8Z>o+;VA002>OnEXJ=esRE?$Jszt|(GkBB$8i2yl zcGy=z+jM~LqSI%{lg+8qAAP%8N{p^E{w0qGy_;3p0-9iTx`dq!wmj3Te6H5oNsS7y zD}uR6=?9iHa5vA|oe7=I)d}la+kyT<^59&y+f^dCZ;~A%-Sm$T?L{||&y3H=e>WTeDS2h_M7)BCSP zqND+&#^Tc?3c15;8LuGkuao{+zg%&HN?n0hXI^f7 zrd_0AmKkCiFf>(+*gq%OT;0gD+7q)p`tQ@aWVCSa%B^cSmktY+Ng0(B90yuH*I0Sb zJjcy!{vA6A*}i}7B+(M3#`roo;ymG>>!Uy?dU^|`MI(*VO3ukWt#vJciFlj!$8@!! zgEp+hI9BMlnC?IbHzy{8^xTY%8tNJ)p>^8AI0$l)Gts{hFy51&L@5t){}OLY^pxS+ zL7a=6w|iDJCEgsBHol|?wKuCRb%;Rmu=cK>4<{*&$!s>TnB>C> zK&~>VfQzTtaO@749NH|7&grYgwE3&57Pc=4yja+?G}z?xD#?H5taX-U9OXZ;WkHv; zV&$c9ThkZNru`-p#OA(`lNiaCm!t3GUJ?@a21~?5J%J8pSu<^&nz2_f>!KzU!FD=nBqO^&J(fqZSC;b+L}eWwwe{E2!1@7wvWg3WVRurog{ zL{4a0jk6RVa%bm`$(VvV=v>cBK>uq4Y>te(ld(TSCv34CaocF@t$g)5+~xiub^cxVT~5yPU={+gXl^Q zZzkxTFJ#P|h6n1)4a|?D(~#?+tyA4q?MpCgXM~#!6m0o2TQd2)zUb0WhAB zPQz6s&bHAW(iv!n+7r&We}Z3!YUoa(ec1_ozd|XbX(<19#;=*I4utL}S51K)5=x=9 zXD&~NTm*Q6w~xi2XlB+La!j1x6WI0(e-}lZNQ4-}9G7KHv&{}3^3_DjBd9?xaWMC> z!C?EZCO z5em7Ey4<|q_c!z}g`To#=TCl;z)l?klsj4vMtV_3Ibn_ygO-WU?96Jk-e&<0nugnEUhGO&c3(!QZ*X_ga0iW;=nEePo;bdw zF-nBxMK+S1!TpYVU54Ya;fQ=ka5F7CQCSo>Chew8hZ=Cwg+{c0Y_PHdG??Jt4ei&O z$2=CGU?x$$jrsv2DbRbK%S20Vf1F$2&HtbCkGbv5i_DlMQM1X4l|Gd%;zNwcse0@^ zi_J-_Hm)-M&hKEjr8tn_I&`OBB_5+1=!1(P8Bdp?Njdlj6Tc)XvKVxa^Ofsy$`H=@ zLbyZ$*Ssgt2Y-ywJB;^{5By6&LweeQ|L;PV3@d#_2%D|wFcMOU@zStJZJgdQ04XVE zZTCBh_T($O(x@gcIa0+WSP$z=UywiIH1J+kZ^fR`^ApJLXL+n^uD>>L{BKGRVFKgq z_n`Uqn4yC_5%6{`;U~9Nrd zme9RAsPz@z53v%KdTM!2<%Mjod21*X3Tw;KN;$x|a^f7kN+K}lWo<SuQi zl?MWXEn`~Ya^o6hOhfQ)_@ei916pfXTSnhYB}>htk&kiBQvD1uA1yal199f`3aMYA zrNBz{#zU=Vp+SBNc8ttte9QU=-Foy!jz>#>lwoc)(zK3b*$?afaW^mNp}b$%vt$&L;;-ZQ zz;r-wtYAd7Yy|FbEFa>1?Fn-ms4eW2@Ry)RbFz`}mRS}Ns-UJr3U-i;Qd}+_c-EeV z*eWq96f9p<)HQqx)afP9FZ~eZ{?7jv&tf5FTYn8;r_6~tmzaBlAaFmjv;zTMgVst0 zorr4EAv4Y)$Nwjq?#JUxqKv zw2S)N2a3v3!u=ayM+F1UDvzVU`PN zb5O3gLX#9qjqk9j6_b9oPl%^=%x=nuoJ6-^@g|1-!=?dlo-9MU;2N!RLpQ<>0?+1z zZi6pq1bIPVWcoB_OQaE<>JV3Bq$!qGW9_+~Nt1`S@< zM6NN;&~o^wIyec~UZwnDe+=r7dkYv#1qS|&jJE}#57*d7tG$f3P?ra`5%7mZ6wM*Y zB!};^(jB9__RW!(kkd41Mmn1xmPTA$`P*Ruqn-i8>CEsyxFPly+Gop1!_6W2#nlyf zJ83oo+wUaq2ZSioez33+Rw?(fO#d_dCH89YFLMs}f5d1+vuc~o$5RN>hu-hiov87b zNS(m6!o}z%=Xc)!47T)_#ISpHkVv@@S|KLx0LH-SS-9{M?B~Ng+ zW_p!&xBqFFMi{}FFCVLa=`sUZo;|#qal<^ZI@;8Z0V)|{kdw4sD$A|SeMiVvp%6(; ze-U)rVP~fu!1KEt`WD5HC}joU7@E}7-1A4tK{j%N-X8SH@FiR1IBPxGW`L$auLQe6 zLG{~qA8|OKCRnamjz?ei?Pqj=9Jp37T|L=R3p_~Iu$XmDU-`y-7H1ZplElHy)eD-e zaV^6`^BeL#P=2b%i$Ffxyj6>hA*{_s%BqFe13jJR)wRri=w5hL#)yXbN6138 z(k8GNUb9(nr|UaN8B%cj!Shr74}lxtt#C@9v$=x1bJ|kxEa0%GllM`aZ6$v>(qOyR zQ(eF%zBh}UK2bq)Gk& z)gNxFRU7lie0}sC{T}-i>yqrNuwo~cegz1WbGLPGs#yCgX>WF_f%Ib9ocMdzn$SAO z{nK&kABFBh**<}u|BF8W{H-jn>RHYBd#`|$fb@K<$4m9YJG7!PvY9<|uRApzX8>MP z7{BD3lGq69X`7yvqs9N)*&Rt46az4f9yzKafZc5QD`!ylBt&yy+7_Mc%q`% z(>$Hwu(Nf#`(u=*jc*n-NF4LzrN0HaPJTT0dCUkm{MHEa!my%ciMi1LY5rzjO{|lo^`j zh|(8m7kjbljUOW;GV;KkD@VRDC#@hYFL`Wh&{}8d;EOj?M$Kp!=<=ww7Sm7U`w28ABtxP)A;- zSgpYgznS!S?gbvj3UabBr02hjsOwbp@Z%wS^Jw--`UQN1P>xn|Ok^B}kxjX7GVi>m zyk^^;Ie@?KEaBnDQ!F@qXa1-HJ0e7>r{!gqta0yA57;i-vc)XYQBrHB1M)p)@mAiS zz$eC~B&tNBsayM|DG%3_5T9KJn?3pX~Xg%N(PrSUNFH-kF7xP)-Q(c3A< zU8<#I&Zx#uX z=)}Ca_&nCDmgq#BUyMc21{*LU{6SfDwF0=YuJeRpm-u#!tKRhgMjRsH3p`x2y7;P_ z6kAQo4N+k|flH#Sr~79XTm7wN0E-p7PO!RSYh<8Ia~I^!qsINA*CwTn3%-$tRy49T z&!LOL4p$;Gh-0N>f9`Y1J^rF;s|{?XMFq2~;BQIAV*A26z;8c7q_y?c5hN)P+YUtLKRU|+f;rYad)y4%Hj zQ}j&#-QaHp^Oxb=BT%d{rQ8P#p#$!1@uAX2dQ*`*-vXZ zBxBMSC}VAueXOfh<|xV!p+llul)WTd(r#Kf4^?Zw3zG%JS71FO7zag82 zGbMayDI`se3-iv{xk68sk`ADZ83CNV$o(o)Je6l(YvHt*+MGRm=4!!`|8tA(`zeG-zJYEF-9G3~r`%KGQ7%v^7q-2LwZtWWzE?Wzqy(l4qQ=E+EdR9WIW(#~|YwbVR+laJybaiy)i@skWe{Ts61pfrFYn2B#F$uD#Q8%-4E0+=dp@`_zf|}+kc_* zl9TB7VL07C1ROI%Auob3B5sKVvuEJhVn`_SuCWJ_HrQk~-$4#&|A4ijz;!ZTfLf0&$o1^d5rmn%1}7d;Pw`}h?sUDhdJAbQ zxO$-ttghXG-3cf;)}dJ=kSjwjq;5BA5P~4Yt+YkrCZ+X!HMqB7MyyZt}rHPSZ zOKW3t@BlHpfG_tW@BU0i=CN@k?3lpm@EC)UDdmUqsdX=_r#x|ipEZn2&8)eCB2X?r zfi4&ggI46(97{XdJHLvI5fxK*GU?ED%7FAAjG4jepxUOqx4bT_;Z1^WnpM=_eKXJ! z?e+$1*@`jBP2@zofD%l}NsXw~7@LYW&wwnHd93E?jDF+R-(9=Pf77yK&i3UU^UQ^9 z-93Se!x|kVN`w6!u`jq{cOPi-hnPcn;VSY2SnYmhWu}<((Es{6fCuT~TI3r2Q25h$ z%llWbU*2_`)w!5xA@$cibkfO=b)XezW;_m&A1=7Yz!`hO`yUED-?dVY{cW-w;CgO4 z;?e=P2LchIpad_8S{LRd*+(`D#`M=O5&!ei$Y?Xy?2O9-Y%yU6X%~diih`afvp+Hf zw4isiEQo=fOisG@0H@<0PYI~=i;M@_I8U&+6=T%JDH}W=?NhWRgqd>0{5k1s)J9O> zrlY~z|_0m$O_EJp)43dTY@|OHMbwQKLL&{hjff&eBNJXAyP{~s1cLc z8U7s4EMF(9U1`Yw+pw1956l#70{U=5DU0Y(QYlpuqw6^>elH4W5 zA9!<_m4ey5P&MIGSiyPVw}^Kq;f7sQ-}u4~&_%mY-=9oLIkynDtL&nEe-2_WH_W&S zvZh_`&{nF6RL`1&T0tHdFRfgLest~Y%x-B39fJ$55jQ;>bMTvJy&_)ms}0y>g_X#d z0}EdRZKjrBoiJyJ+$q@V+*llhMv`){o}K0Pp;#+@cKSN=4M4GPV<*RJ0Q&jf4#^{m@BH4 zIoWYRzS$K0m9jFz95*)jHRDQxQIJkP*tO-Wk(Cd~=P|21QX!wOA~-j_UO!R9o~CjBqXYpkWj45*aEF92o5X3*K~dEhzF;eoii;_ z#HW-i)XmlsCWD=<*BqHBeQnf)S%F-8$CKb&woT%ak_!3w9!pl#6BMvV2`zY=(#a%c z9NLIjd%jTkJsG`OVB&+kF~wP|rNF30Nq>0(bQDHXeeO(O=G(%b34PplrX5Daj|pPL zgN;2AB#Px?I{uJlgnFBLEaWG(Q?NcsQhjU>0N!hq;R|x?`%GG2^>ul^=xltSM|`BX z62@$*u(_Z>9aQ)->iCTCBOL@+?Fjt{n$X*JQ{9Mcs}#Zs#dyO=g6}4{3AU2yOK383 z4OeI(he9}$0KAb9ofFej%}X%`BO!`3GOby0$1sgE`;kvr_pa?6;JqJC5Gd{6;dIdP zXxYc%D;tmG-y$t5Ma30mnCoILo2Pk5^3|JYM6|N$5qO@BdvlGTO|bI@VHEWl=)s#YJjemInI7yO`A@8)bD^HnEyN608lES^tWzvkgd{ z54^;wM&e3teexR-^xCDnsV%|JlNhJXur0TiDhHT^Q(myV5vG;#Ao}hu$YxjDSmp^9QSSRFQ6I9qB=YRTG&uSzs6%4Y^y0w@ zeWRGmH_%#(Ug+i0cdR_>M?TuSg%@eCN-O>F#Qm9_XG~0K7Wpqy8}gkKHd7rDW1z50 zcQZ^e@Gh}ank3cv9q({pq=uX4vuA4-%OJ?=RB%~M+j5k$XI4Ai1cue0YiTLJiq(A* zvunuDmT?OjjGpGpRhh=?42}2~#)`2gMX9uj@;6#DiIX7nbf;e{k=LHN>S8@suHH-z zdWzLi;+Mc-&_@D`E8XzJ>cDKqugFK+x%dd$8#Ci5=V)lg-(^6QX4vfBd$xY*NxUW2 zvd)a|tbd;Mavl&LNuxj$eCG&|Pi9sVK7l?wW1{CTifK) z<2ID+3)So%D<_!U!HL$F?Z4Z9fviHO8}66n180?>HB{$&peDh>o$IZ{p7GX;tWB<> zcP8?CFQA1xvTvE%fv;NViNoQL&QEk=SFw8@YKm2$g^L1B%jrzn?`)mKhoHsQ=rLek zOA#$N1gvf_Zb121I&LvfPb-K^r4_Mui^dUX{F-8j(Q@K$*5a}h(j#A8dn?POqK(jE z7)e*o)JIa6rN(9ZJpXIRX&xI_D?|<}(%x3k!jlYhU77VkDd42}7*oTzkaPvOc7R^c z& zT{O1|Q%QefT-ho7pUNpT6LU61f0awWsEi(a?x z48L1cAyk~{w9aL61<7=@GF^|L$B&Zlw=6dhOmfs3j87W_-dYbjr>Ac{I5~z-U6J_%61f`MbC+qAIYRsq7HrQb|o`nrNcR` zg=}nBI){GL2cjOOn5kYwJNUJ|rr0BMqIo{}q`N?8F#{6LEnK1QFO>4?@L0FOawYf_ zR@p}<6hIowKk|JIS}|YvU-5RL)|kuUu|jD>67Ew`zO{iH8)pONN8uH|UUn-hCHB6E zRb@&?<578rUmK#$V)B6&5$*JK$m{3C<=lc0&Ih3!5EtBq8lk=7$}I67oHB$wF-{8^ z#f+}>Lt%y&$Y6%UH573kQ3qz)!Qq0pOO_@@%ZTz7J_b8{i|jIktK- zy-n3sHB8~Dg%aG${p5q*e92z^CgYhzoz=M)e4LsA3z72SEW)$&HiF0bSpP_AVjCRX z;d~u-c6*d%82>tCo?v%oF){vS{0n)_M$N4J5XT_O9ic6(U#Vuw3A;5vjNS}vQL;p? zV7CGv&g_1SnrdGprgu1L6ktP&lBc>#2*2bob4GSb19svi{G@kEHlVe72QyU9XqJkz zcJ}T^b_@6BC`S*-N73yd*3eD zn~)^KcH$d6{TXXHTR@jQg0$E0i$qsAMV%be@%2I-*ZyR!3;DSLpGWqgstp$DP@yuz z{JDgNsQ1yveoK$|?%`{!7hK1gX?wn!=Mw7o*aLvrdrhZV{Jy#|N~cpOk2uKVed0)R ztQVy{p&h2Y8Qm##raz-_HYi5D1&l7Se0%U1&6Ozh)4Zb^?@IsJr+E8_i8Ax2FsU2# z$4o(l{-n1zY@MtxI93+6@Yjb7Zt(W8#YKK0+yKe}wE@{A(sbl8n90$d@TTInVr_=0 z2}KwDb@P4Bmt>0L*JF%_(+hJHw6czLNJ{OiHW6T;f^4a&lmS9^6#==1V zG|yI0obsjcYhrtmJ+U{8tvJ#xb&zH#`AX!e_gs=OE(FVKD`{+ru6GD3La8NOYN-*J z?tUm^HI|!t*^Dc=%^9D%({p5v3#3h+ZCWmpAzCqgllyMCmVXp9+IZ(L9)g4ZmtHTB zg-p-dS_ABv33Tx3{8r%fx57bdE<)SD9tFmEaKtG6Q}9$Rv2iMm0%LZH$qy_g(yfU1 zCDZ+Q;_eo-XO;jodDtvdsK8^#G0Rsk3?W?N+`aD!id2K~2oiCVO?P9pJ?rbl?4K#b zIZ{*Sbm&FGAX+$q(txYMx3pt#J7%5|SZRhco}$^xEqJP~ASHK6CntSq7#c}bQi%89 zh6HS43F4qMOwYs#7}Z-sVV_lKuT%uYnL7I#tOn-n;y`~(eyIH)Kw7napxX_8-WNb^ zUE2cH%tI0558dj5*4BwAqk#FSUGCAI68K_0WZ8RaIV_YBVh!7VssZ;#=t8Zrkv7)2 zz;aJ7vnbYc+hp`Y8UIo^bSUf}tZk&aNzd$9S0Y{_Im2A=TGmfm4oQTQzJkE}Kr zdyxEr2Byt&%Yxr@bCdd8|8X{=e!kSpxYINr9REI#_9Xm_X;DfGPB9QvJmGm9$_P8a ze+#{h0@4F;Z)W$(UyNGpQ>_1M8Nb%biSUA=Gt{zkW$7QMHB-xg=gG>GFjh6-*qrX9Nw95;g#ri7(@7EJl0Gw6GMM9BG{MOn%pN zN2Zwdiw(zWHLD_XS@~;%>OC^j=mIqzWUv(qo}6!x8xpK%VUi4}#}+Lng-vGaRj< zDOF*LzxEa_7xYxcNmN&s>&L|>sU-LY?&Ay!-vo;Vb~#3PUQ&(&KI~yuQpDl9`Zt4) zshRV`6qCYcfgkJg=-VpjqdQ7qttXX;;HBdgayEwDMTVO2k7OsY{w89EZmryDJ?WaWFFTyA&FnXP7*Y=TFq-7A3Tw@VDf*RVQF5xGJ z3E%*nGM$Gt7HB2lOKjZqU`JP_#H~pEtK}VV5_WJ~w?3B`$xT`Ue(kc}EcZbJyn>qC z1K(pdU(E1yYmELfM=J*=f|j5JVmHgjI1z<2Tw`qp`2Ayb5^_J2CL?^04G_7jL}}@i zx)SvP?u({*FkdCL5~c@?v5~wStGxOLrrBB>_aq-jDowTcf9K& zV}y9Mk#P^{FX#orx4NY-7GIjYj7wbZeDU!id0p@CClfEPX8c zmnd`5?^YeeA<|BR1GIXud9b=uY3(ScdZB&4Z7b0*!@b0#4hs32&1TRrTcNo_SQrwh z2K^sfUyHW`;Mmy3bwxQxYGZ{+`AB_~Qpt<)6vmUc%PFm#SP&~|*c2NvkbWu|6MkKN z3Oxl!u()LKQrGoqC_BA7?5_#W+-v+!6}pAn6uOg9q7F&Y!m_h>6K+VWa;ZF}tz_-( znd9cODP`BZhN&)Pv-bp#C{l{@C+w%IZW)~WG^+)$@~@gnb^>DlX^Tg%AL}}xxjNLR z(J!j=*>sEPvmob-^DcA3(kcFvaaGgkxZGmM+A@n3Wxhuoj$J;}>hIAndCo0>GzYv6 zhp@SbaSqydkk5=%>lMwnN=7cpnM9Gu-N+0?`h)Wz+ms5whyERi+aGY|*Lfb(8NySr*t`T)4p~WXUCtmMHakTTP-9 zVw4%@7to zDPd#{@wd~L1%>`ynO!Hk47cma5&RPSCHCXIg zIwWDIa+S4m-4hc9TI=0Lf7`x1pJ>b0O>m6@&^o~|TA25lZc#DfL#f%Fn*nNdlOcED zz*gXknDvKn6*- zY9dCW@{j2TaUNozjS1KU`lq+zjJ-TP?J#_zkY7908!PERmnVf7$${G*pm^k_7uGGr zxk~O0Bn=Y%s$jfU040aRx~~>V=V|8046bUFSmIwD?WrCDFWgg3dsuv_C@ntqhFKr} z#*8^~l5B#)uGwb+oFAd1&f2U4E(&{*3|SD5vQ5!DX{s7;RdUO;bvK0 zu~A%;uT9_^aH#Cr?P?1>L)Xb*AM-iX7S@};ES}ChxQo&rV4T@P{U8{K9=FBY>Ilm{ zOZ`6>w}L~`Ao z^KnW?-9Ydh+7#ze8|F%>Rg~~bcj+b4yV59iY6vSc$%li!_kF5@UczDA=~_^>un;4P zka8DFih0V_YxwHUHyEE`j2GH1E9JBF%;?|(oYBq2Gs*r46q3bNR4TY$!jBu~nf=C< zGF||&P9PPsi}rY3Y-Su^HpDx8U@1%QpdA|?zD;@xaYx#BF)l+tT^*bzEAv6ae$Yuj z^38&SU_I`%_hy{BE6^00_3Nm;Fp{#s^di#>uX+7BmzX93KEPK^pjR;F=KF@J<$FO(bFT`ne!;_b~~tMs;}m1%p#Hz0Q&p@DUap(3LMddb%5L}_ju z@Y`Od*i(bK-aiCE!7~@+*M**1&ZMQ0=Hi~^cY<_G72aut*%9v|_|>)^X7Rw;>2--( zTrM&qLC$c>32Z@mw+I>&HRvmW3a%x@~g~v{l18kh;P?^c;+&>$oPOIpc(T zB-M?agdKO(a?zV~2V8d@{J+XY4_(O~u>O!qzGB9c5f41g?AA&Cx@O0l2F#E-Xf3u)f4Zr(pf~qJ7_$&#W z-9>hSZDU%?kOX#4Uh4Vl}#H zg+T8ML0NWj#lmRtD?KOKcCeN(mvPQcuNz#!ktUKpiH(1L3apmZM|pvbADB+4#cYpP zp)X&Do|=LDFn4PSdXo9K{cVi+h6~;y1>y$xbeWzj!9v0K10=qb(qpepyg3)Tr;B@O z!zW1HH*{QnIc{k91=!o|B2C2spah+@P}lOBtxnu|75gcY3KTB%4j^2CuJ|i-(ClHg zUS)Y!vzls%|+7I>z|y^yl& zzE#keuuA=xncn{qdRKEa2DcTpX5*^Tf58pPmF4qX4U|?%Uz_Haw*iIF&bwDcjL`A3 zdDKpPN7Gn<2CJ6wtOjWh^1&)aJ{b^qG@xftrR<)+GI|1&Z6hG{+9d$jnp@`qUJ-9` z(MkLE$WPEs15D%n0xKjS3 zQ)rDnT3M~_!js+HyJ%eWI}$_+b#6>twpDdMeK(aq@gzGgmed&6};wZAe4^xTxn z!Vp?Lomz}dJYsSWHw?8Ur}-R(_J7iIjjh3DSWC?0v!}V0t9yPD%28d@r>r(PmX`id zOa`F~8H|s?`?F#gSOMuuHx9EtlOLol7G|qGJU z1$BJX7Bzt1%a-dAYB_o}=oo6Ajc|6=acm|Hz^-4y?=s%5>(^FT45Byg2jJrM)aIm5 zBqoa#m;1*2BCL@f>S%^Z^0|N(p%mB{2u;4)l8RKPtS>{34n;!N=ATVTI|d#2S9Afi z5XGKe*x8ce{>vK%4QO0I^QDl&KuadgP1V_EvqoW-h9TYmzWpN6s1)T>HK%Rq z@J!4gq8*_XPPC$URbbQ>thV4PM=>@@I48K=3F{(~F^T5H>9Rm`{vmp-)LuHkxv5Bj zsa(=%+_20`GQFjyCl@{il*?E}*A+A;KWo+}DSt9Zqx>zr$ea5XwTUvS)wX*x8oHW> za=jZ3bHwe=xs6^zYkvoP<;-ps(<;BRnCLM&Fjp_tg62B5@kI0^f)4mKoudrf(Y|0G zR%nksC4Fb(fy&7IUw}u9=;-f(7LXN`f?fFcGTqeP=nbaOcr**yAFK>*Q|!X}81mu% z$(RSc(n|7|sdmzxwDMpml!f{uP@)|nr-WvfL|ZlEr;x9y=ygHP!5LBWPK+Co%l79e zE&MG?qcIwKl*UYcW|^809RTGV!y9INP~QOb(up8?0OX`JwkS_stQV(Z6lH5h0ls0x8K>WQyYS- zMpg@ip~VD+52k1*vfoeowxCw9e`&kStG?EtQ(QrRv?k~YIpd;zK&x4{uE2WJEK0X1 zV|c_>d<4{mBZyoQQIEL{NX$0Sp}<6A6n}#=;H0hA9xDCQ3%SIs{R)lY`&b_Ekh&zl z3O!mEFflI6VB+go%u2&b4RCosC902GzaFh^wkf1w4JiE3XAit)O?CF9eh|`FcxOOtuiZEUagqJZZ zp@v}-(_mkbKA^bL&J=eHixtIl#5q!s(Wu4dN8r14jAtILAb+%Xr~}3_xM67HFrNz_ zUo(Po6%eigyRSeJ(Yp;k&@Ho!%-&$+V^VmzdTsXAK8#o+B^zPl+Cn$cTGOn+0BHJ~ zwwt=8kdU9n4=$-%#KfJ3Xaue7cOk(k7uDt5z^ms2`$JW_;lOgN@so zL}(gXNzunK7wvWh^;q^2k`d|EjGp4auunYa5i&Bor-~D820(p{_&0X_UIJ-h6kzz| zg6b}&oxbs`Crol?MhV2`@=231jWba|pD#1Terx@Pq@RQTil((c`Ttv(JP8Fx3I6E6IBA}<^$JeH% z)dW>C$ncc#BZpB$!~o~e92m|#fX@%C#+Vz3!0y41qK)JK6-pdka!xq?mYW5wO5ank zvxMSNsI)fgAtX`TE8avuI&HsO7yZI;VuQ}{2V@)TkcdyYkJii&CL5Q)QeKSwuo{Up z9#SO*7NX74Ak~ub#0`NC*oD@GTse67NY*G*WuZLdZuLU*v~@`_+%#3s2uq=7XFzto zi~oheL;`m5UIpP@=pJh241s51T9G-^vtxddnkAt(8Y5bnpCdw*N!->fACj{#ynG*M;q)a)YgX^+ei?xo5lSQ@JW4H%{? zdin#y8Wd=6mW#t#U&PL5$$|QJVm8?b+gBwWB6+B3H*jrVk`@UwAl$1u3(M(TOdC4T zb4e5XsL-FO-wUwU8Ez~xm3@GWaew?*R+a|Cs7C`+MehN|SNKj))F<>~P&cRx(|M{Y?q;Lz09w6zJjUbXpGouKV&nM|I8Maa5$(q3`WAhg zfwRsygmN$PCf8RO*8>Nb3bJ-Zss_IHe&_pyS`93!8>o zhmYu4T25cOpHccSN@it{`{wBd_ks++8&@3|@LEH# zpoUw=@fw_uEYy3~`U)m-1(W8Q$|r`lW_!{mZzWd(_~4YNXMB?{cDC&Sew^xTXh?0B zr!&1QVo7+wMkh3gXP(=EY=o`_wBqZQ(ZE~^@eo|S;twI0|9@qB-qBwHJsV^qkolkS zt`VS_k>^SpDU#?ng;@{i+ao02dT`B>6zr~-O8I{P>lsmzd)1j_z7(9U;YXV58Wp3* z&azJHrt2r>BxZERYO?k2`_Q{|ZBBdFKK{9;=N6Dub3JV>j8jeTgR=^fWN#Cc3aehw z=Cwsx7WmpgiY|+Bg{v7iC}fEuUrQ{FYqjQNt5 z;1;tSdq4vBLXSgwCFn%{Yx8W&1jk`t2dWA3xEUHL?kAbzb_n!-8uadtwv|qXzGSun zGacPq_0JN~+Yi+jI5epMhUtV zj^B8a)yxp?A|3>!Hwy+RG){$Ho8>{mH;xghC*?`GY3|NyYoQgw)6xF33%Or+(#kAW zMy?m?wb*k?p;B30KQV3^1r>VD*u3{!N@jC?kGF-dg$ zdqFxDg0tI%29W)N_ym0dg57^Np5JquSrTer?y1=`>h>DH2F;!=p~Im{5j zhpy@1Pp!2w>+Z1er_TfyAKr_@b(LL#rztNoy=zW=S4N-DFd_V6_$04K8D1ey;qWC{ z>39I^VYnKMhIe_uMQZK3Vn!Q_y5)k#*zE*g%sR60yU_ftv}dl={g1&Ot{XZNJY#F6 ze5>-nEi42L4!1ajF+Z+3aiy=4rZX!kDP+JMB>cCA`aw!z2SmJq#;@UVNA;tZ({%5DfqkRpHW-7Mvf1n)o zQ2NK=Iy{oI6bn%cOU;3G@dgZU2;9q~_8~swp>jdf-pFCM>nYQW1U4@eWy4~a zpjOQ|7;Tc21ql7^RiZ3DH{JMs`abVKTPO_sQL{k^3a;foHkQc6JE!@Z#Kv#QKh0gl zcqUmuO{4f0mlOs^+~&8-Hpu#$)@BCLqa!)S)jRD0>up{|oAaXQFnF8xh#`a<0!ebB zR3EIMcwdw^=E+z4O@#KWQjB?U`x$#!!wRPZH#`WUf8*`pJ&7HZ?IT6PZbMJd@$;J3 zNXn#U`cVu|1cQC65dWjh_Z;g$k-}9N*<`$QCa4c(m#=|FzWDrER8hM>L6Nh zV}S?y&q8?y=4XK0@(jaeoFvF_(;$w*?ufJUDb`lw$!K-t`JH)Sa$CqZ{J1fKs~~}C zgwN%!&dI=jP0;EGl6+Xsy?uV)f5ne&)e9;)4+y=}51|F@44F8s(s&qM&u3Zh$-|MO z3+adG^tQ^eQmwR~ZRCgiV)W2s5ni;f#!TKa?-)IRON(si?Q(wN1Imo9 z3tIWG-qSl*Kze5m_?TR7csF?AA#`D5&;)ief6i?yUC3ksYeGTE1IEvUtr@NTboPEZ zqu)#(dwfhdZ<(BQ+OjI#-m;)Ph3PzuQdzzMe`6hIUN&-qlj=9ra-Rz-CV;Y|_|Zl! zlS??6{2<-IymaBj&SLToxZu_O7R6Rn`Sm8VIW7Gu>aWK;k4qTIaRO`)1FZlb07WoIdt`x2Z zwDZPZMZcw0Dd)3rkTBT6Z-Fb`!xwyGwF|>s8b*9PDj4!s82>+ytK5d&bTvbHx~?$}*CY5(@t`nG(qgnWwg6JO%Bj^sqE${cD1ImuSMRNP3W# zXdQ^0*QNeuXkMH0&X>_Q0w);6WR&}Tb%CJ@L6E*6oZuR2)c!*;+l1!mnnB*^68PGL z4bFhNFObRSE#(bn=Z#6$L)&3=FabCCL!-InboRtK#b1#hR=e3KEF6i0Jho<%OS7Hi z*9g*72U3)Qwy%Rsaldm?+T+OQ1SC!e{DJpf#~gz3sC9YXsaRWFZq8NHQz`5k<;6V# zH|>JWgtam`Q*~p|%9#q}y z|3be^9D_1`4w_8$ofpm^9qbCLTfYtEysnx86<9gkx^05j)=<1J{^T8-d}G5k=Rg7b zcSy>}NjM`HxZD=QUwHtdbe`AHwxbuO%V#4bX9+U9+B(s{Vs$M9MGS1Is|IqXY|!2u3^c;?=<^aaEe!Z+TW;WR@u=D4@<;4k6}>AJ>05a+kBI-x|g9-i)4TLG@oRz5=G7{^#7 z!x87yf_tIweVuKq5u45jA_$nZFR3j+ce37%U~CjVYFiX(Jq~j0a}TCC68WuOg0W20XE3lf z&GRWJWpfPxC7T8YiJuwfr2c^($9Sfjm1^R)b35?>WK( zSdd|=G2l3m*FLoTRayAHoJ)W~{`A`os^6%KHriJx&L&F`z7gQ?BqXd}X`lGbz+Pdf z5?cPspn5oKIkTeEym8O1G;Ta`F0RFq&gO##$n1L15ZnW8C3H! zM@u%}+YeMjJIj2~6GsikxyPckFL*bYFj@_+$9xoP8AEwzm=66YIZs)JI?S~;Pw|jN z3b)mK#*DQ}h+Bn!!EnNld1cfz2w6qH#`=S$d+>ZXBd?uWKO@)jV`vy?REFM8Zpi>} z2gSkOBZ(lropc#F(kjN~t8>NYtCAl2?516;-}Neb1vUqdBA1bb zM}ojE8biehY(OzwYz%*LQkk_UYH``$E!N_=Y^#8Y6Tld&6}QNY4@Mfg_2OI8c4b#_DJ%>Fu$Jo?Br4}2J6)pIXphtb zt`C@wdgMD1Oh&m8&W(W9*l(w2)i@K>DRno5R>DXnd|pNy`6iVJa4>@q>od}GU(|eQ ztY3o}X7_G?YX$Z&64 zKQ(V-g~+$=Oa2`6K`Vp{{ZaRMt(?+Z>P~^utph*Xfklj5<@8j7>KiKgZWUI#uO{6q zTM3>;OP%-HN?6|dFTn2$qcUWAy?837YbJZCXM_G3csIxQ72}C%%CCYo_+KbTT(92> z&fDs3OkB$?S4#?W(XP0BBhij*XJZs`mUfN?d^+J?ySOJY$dGE3kVn}9!4T39mMI@d zY&6C~u@pN!_br*wu(|)!-j1yIpriHx?=v)AhL}0Ak>j@YF}_^hA~2RehI|amVW&$y zS*eeR?Sj`z+EKfSe10>`LkQ)!ATqRIYvKB`-cF1uNQ1Ix#4tF)@R#ih=tgm1*D%Ry z8&WX;aZkn!gZTs2(qP>VWVa1qrHT(>IrLQ9$KNE#u&`K4=}An-&nC<>SY>AH^N{G- zJMp7p!@2`7QBr}rso`H zwP5cHc&{4rrCoeCMGBcjDY(PH*)ADcl;|ZDifxqL!S2EJ2A<-;ClGe5E40w_QnL4? zW015oss}ed{Ed4jFjJ(=vUt#&lC#3%(c-g~{{Z)Oof4=A4f8wn_z%GkEc)~|&<;Dj z!QzzA0@P*-dU2OGwia(NIldWvTiA@6yzA2`KLQf^?6$Q^#Y~s5SNz-Ll&`2I=1gds zsZ85aDbNcA7h8xHcwUC`9S+T>`bgGXjf(GS+6WPvpk3q{)o9-FNpO|?X8MxkkL}(X zJipj-8lkYHeOMO-E!_k?o#WQ2ObX#Gq3s}k0$jS+WAx}^O3B8GV3KcKy6mm43V_kt zS1(3E=zP+Oh>sZ^;Vo*hqyz4;kr(VMM6_W=&x-Vj|6%580U=tf@G)rON@|qp3`z%^ z0wG35gO#kGP7s&D-dhHGp-mUxpfXDTgvpFel;&g0SVjcmd2o`NpO%q`*-Y%(tH-3{ zflvWyn3G(J_AokGv@}JjjzVATLMrH+3`2B%bQ0vY7<%X&qx-*Z;K+IxxuPdQ?1(fIr<6-+z9o;^2*?u+77q*GJ}M12LC(035+`1yc^8) zEn2Kq=Uj|BT{fLC-w!OY54Lx<9#Fn=))wgm01ni>6ZsyosC?PLC7!r=Utd58qg5}C z|8WypEaZR1HpV=SL0^;kPr|aI)X;u4*NC|agq`x7fp)D$5CMnXxy~p#c+Wgkxv1GH z@D92cAl@B|jCG(E zF!s)3b~s2+BT|2X=9uB>2`=5h=!E$r?(}osrt@rA3c6R7F+(FG6*&; zl2iE(v0RVXCQ*r{M&PVTOkX9+mvo&1AC?oKr^UI35y7sJDU1tB__tx7e5sBHx3+RD z1a>!32y>IvMF_(s(8)we^vvB|-`g`Rw|mJr&n)X9;J}%&gmjj)-13{{5+r4h@gU;S zX#iNC=v@~1Nw3qmmLN)r8jk@c`s%d)jXURBi>HOifm}-CZuEq3cIOuIIf@nO=gD{{ zCmmfr4Ya*TR3jc`*ZG)S|ATh8XSvmrpu7XxH7&v%71zT<$^KNwnTH2|kF{j$LwS%@ zN;{_{MORy_(by1a3rcl;!8dMX0+`DAf$lSPgs zi0e@JDUUy?osE3yHz_!h>1V7eaSkRNY9kNQ^qeV>r$it5ECDtt?n|(PeuF+DiJQyJ z$;aj7{{r~brU1u`9yQI=gP#V+Eb9?aNz)?b3^Cc=jHj4K8P!jtwfh_O!y1m1gZ_Up z7Uc=tOLWKyj{exz#3`l4>r7Ayu^GQX)1a;)?bs>65LIF=4O#B zGtYE#IbTEV3y#bRWCih6BMD>Cq5RZGx-Oo%N#~lVFXZz5}Qn zh+P}Je#i4F(;-dFV|fZMVU(co5ugEfGQe*rM(+#!ZIr6YQPViv=fQvUX-@2FMx5sU zl_hjydktubu=7uFFnr;Ux#$x1#NM=ZoU^@WK>=qWg+hjld;3bEx$oJ!0JECkJs$t; zxtkCBRuIb~|D*g^+S&?i@p%!9wMnP_v?GAU;?4$^379HiZmtW#DK*tSY#+x?6NTbh}l zC>Kp>tLw=~LC_EnwsG-kq;3crqm5Qai-UYq%yH^uM?>pA$O!r;R6Z`ldcpD}aVpC7 zjFsyEp!}CP&5)E{nc)fJH0A|G zM}U!b;Gz`IY>LlPU=0OV%X1BKPkVtv$;0eAP1YWYuao~o8-O-iB3P?Y4}$=X zg|@`3_NI+UtA$|RNkMEtKN@~FxGlo`rLUo5j;wwvq=TPYA!u|sA8Wg63in8^xlcD9^^!LHNO>`>36m1+!gmCcsxe#RL1KPT zhuY4D1wEf}Vs+iW2{Y6o{;KMysgKe&XAE^@Kr@X8Zn#i3I0FCD2GpCLmWZoi*V6pi zd0qXe0W>4uv%&hQyBMq__g-1F)kq(l);^i$%V8U-0}#?XmLBopMlyYTD_jt$4cs#? z?z+1+;vH2l5={YhT$vTtXjZ> zG@D6QxzF^3wZ^8dNWB-O$4I4&y+>AhBKH_N3C|Kedw{t`WQmcJ8U|PL+W~`CGoxgH zg0X3FAX!5a)`=@qA;AcM?XA~8Fb0{GMDNg3NtnxD(+uqiy?gyiddS&OH!73}*pnjH zba_@f|BV9o231(w=-(psFrvA1E_Ctbuq9|73JWX1bPwQnHippJzG}<_ z_7Wv;ks46&WvTb{*{;_p^Vc=E!B4&6EBLT|mb-0nnHoDrr)nm;UBW%Z_tx~*|8*}h zdxG8RF=n$s!y)d7?VwN|rBl8xzlGjCm6`dnL+TmZWA=4$Ep?>uZUmTdmGyzAC-~c& zl@f1UYtf?CPiPdlgGeHEXZW4d(T#F{Wjv{ReZR@h1mPUxX0w~Z{ITe9Bs`v+V)-xE zI?vZ(el;w`WTv!HJ5M;vIPKa@Pd2vVUOU~0!@kt*4B%k{2hYnm7&ehNtkz3cD71=>p~R^k^>%^L zD|Cm|6GfMjx{TIaZ_RFpFBdz$Px-P&2QF|vV(;&4=le*tz)^5iKZ4|zRmAhse}WHk zsoCG&Iqn&><2JC}{A1eEpa0*R;gE5}6i!yLbh4 zwa<;UxgHF)&*5ZQfhHWW-9d@n%>~e}6?1RC#19wxHpYw9Y{>IC+GV{>(I)mG$vkX^>@q*U5^kiAN>?A^-0_DPOBIaXvJ#~| zj~$XFs-zeRw{;rWNzV+u(KkgFG-qfCrNL?7XuK(VtTMsO7yiz{w`@r3 z$TguEw#imsv_nPKyWsV3XrI`Jq`yRaBzFyzAtw+P(MooDZrCjP$*|HM06VSd)oRah z&p)azYrWtV_V?Wz>sWFMX>otijrQjqC1B%-Z>7RwlS1}bSi$(S5%>LyHa5&-E;E|8 zdSr~XCCR@kFWs1hb>oMcPQbtTgdFVL4{-K{!CH@SBGnv9Uwbii?!e9&U39=2592OtWQ_)Mvy(9tUJUO~%Z?Z+^9%hUdoQIa2GlGF z4UMm~Cu0j;+k~r(k0KFThp+L!V8{s%lJ9E$wEKX_YY9g0)zhM~6M@wi+Qd3@-M8dF zAO1ONN_s`Rb0c>}hw1`st@h8zxufn(aBiIM5Eze?N-QhI+7QoTWeZ`iC*G|b?f*G$ zoteu?m*JQVAfs)BFZ&sCcNC70P(!J^`0JQ8Q>+le8?pa(Y`gMe#+`Y!^!w(%YUMV^D{HR zQ!h1Y5z2X(Kgk29St~L?GOy6%Pziw4!ZDFCvC;b4Wy?nXE$%LFM)dYP+7f@i?YqX-PIr$q0WrLc z#Ga1r)cwiI7kR^VS4obecjjy`zRNuy%4XhJ=PIhzp+x4|>>ClA$Y`ziO+D-1Em*OF ztnte|f4s}6$&BZaeKa+H&|U$s;xjg2-C1y#_*>eafVO`Z9+G_Q43w3+KJ;W&D|wb! zyZE)ZJDbrMmOADB)}9L`9?d<%v--+{ad~1%%}DnY;bHRhloe2Z@v0V=*1l^$TyIO1 zQp>J*L}W54BlX?6y%e?ts-rHkKSlOdlsm^T@5l&$U)@#F!5|-YQG``<^A;$mI(B0L zZ?KU69jqzIc_%VSp05Q)p4r##c#u)yPP^XEDSO1uf*a+#p3rnzLx#k3%l{3`uqz-a za0J8OAK%QO?uQ7U!ye9s@mhils=*vmewq@Nq^?`> zV$Rjx8yWe4^EtctQiCRP+1#(!Rc}G2WSgJoeHoM$n$H4QY3{2EyggK{@qhDQqs-D^ z)rv550v~w3Zv96_Sun4xTcT-jM9om|3ixF#rAeyf*~VD@(>NBa^K0J+t(`n$3pO)m zO8&?X;bSncO!dH?z?!UoAPqr4@L_ZV3HDaboo22a2*6@93EBo>G9ry3`Tzma+x=r{8|=T-%AJgwkK zyVv%2@o%=%dA(DTeojcj8RGoEMZI*IiVwCjKFD?|C2zHD+8H% z82$7uRNG)uvess$#N+V;jvagIep@gUDDf}v@s6Hyecf%+8V^*-*@F^D-%;ETjAbjj zoEx}4G{U{jKQ;7qtUhkZ8AG-2`+}Rw+m~zPoTPYoDpUzw1}{$_b0rwe*Yf250w^qr z1uH@9%!#Fa>z*k)R5iR{s2(bxVR4P|Nc7qGt5CrY=yG4GooFIMa$tiPw#<2PYd$(O zXMQ?>v|j5duKPL)h=y<>az{JY;~*@x)OeB42u(0 z;Pv~WD7L&+(jUm6$sN$CPqOp5&~Ia1tLSUSbe+R+ePg%Pc7p!=Yg!9#2$MaZggUId zC_ahSJuSRy1%vhTs?%Z%XqVddMa5gny}B;2Ul@?5K9u>>vTY_Z2U(ECd)a05U_#Ne z`c~I6`X?}*(%b6g&QE{J^53DQ8^MiSPVf{&#>@u$SRkd>&?@e@M^2&}*{NyVQ93g| z!>i)7OQE>Yj7qI@xhD*dOh~!v_Evt(DF2!IM$vGwy_;8+O@?-j?fu0&I{h_tG}6W! zDEuNHqMH-VVy_^3PEo_>(oVx&i!O@YBzd%KDT7up12VeS9fHd*__iqXch8My5A*jNaWwNfU)ajCbqDnzJIoIgm z_R;{ogD=_56_{9-;e9~eqaDD?v9(8|w-ils4W#$SRf&v*5lCll2A&+xRBz9_x1=&I zZ?(u34B`zV6ctvO^2?m5aR#%efG;70WFOlaH5%}~|0xUOoQ?iS-O*@(o*trQ-?Um> z(p|>}upd&m-ryd9Cx1=xhG;KyhOJQ9Q%&o)tN8|XYHyL}XfvtnfbBsWZ(1~;3MQ4G z*XYOHvHxU)78SpVw3Gj06{*!_6>~hcuKRb$vKPQ3-+Nawphxs1Izz(Nfcol`*W_#R>l(mQ&$VM#FiX=SNr#g<`^Vfzy(bvx%+-opx!JhFScDm5ce+;tQsH;r%PIk8;QMpSn1T;pwMTvZvJtVSxxb;dt=_2mT% zqL+AQQg4^oFUlrlrF!k`czL4~VUM`bqcLcaQ{Q0^LC2qE&GY6cZuu9Bit|N{%L-c1 zhMJttHJs=~m?3r#p@k(aj2<$M1`$Segs)Yo`)b!jh24>iYpM9fv|wHf8GYkqoLwRO z4!21T{WACcEamhnq;6rF{MyT?syud&-(T6o>1)i%rpO)Y!(~{l-eXyFpe;)le zua2H{c0U-Kq-v=zd9d)S_~YiDuH!5Jt|<;*qc0BNB~ZLgI|)A_9RkQ;xt1VB(+TTc zls_GQB^y|+(=151$hePH6nyd>SyPOSt+2)BI&>wv!zru8+!kdwo^~$$Ay2*BfvSBx=S000Byom}AivZb7z$;GZ~d9# z4SreaxXb-{Lk^HBk>_;28%KK|D{#7U5| z1GFcCPva3}h1U41-I6Z%A%nUn7wg?r3kB#ilX4{(aEE7&k{VZsHWfOZhMyJ1LV`Ls>60cGQ=KPi?w;||B4`aa4w%h4}T-Prd#dz@w@@wroa|IArn^;&s0&;tQzfSH&& zp6*9;#7i%8O_!30!y4AsAZcGuUXZ?(dRqFPto!^nzwns<4gH>cb~ohkMyAl0)*`@aq-&;7k1@__pD~^i?vAd9vg5AN z;BZEnlsH_KJF#$pf?5(BQS>I1^IVZxhQCpT0qeU3&l4JB_j*$&TGx=Xy?E!tz`s`f zdF7J$dy#t+2ZJ9(J~(HhV-|M)xviLEM?VW#Z7*unHb?X=NPYRb)!6RW_`jA^u9Bkh zc}JAIp5kd&)YP{m`eAv`&>|(FC&ji}tF+P%f#!d2#+qEkKKsceqmeq zOJFW3#%F09r?%^5{IyHUyN0^QTwzIrN02bB)(%SCQu||OoN+mYlwqdZi8a(nWeNzc z6ICgFa{X~{AH_xJ&sdS7q}Hpx7TriG?^r$;Lp*nej%3k?mPk458mPykt6;oYj;?c? z?Prv1(8Sc}E6yf1w5fU2C3S4?cG$)|#eKQ$@2ZCAV+seg?(3pIh$UpOl1{1hj5Kek zHQCK5<<-pQX%)PR6%J12WD^4Ed(Z}QEB|k$m(K?TMlS65!j?$!j?xe9PemJDgBKum z#s3zr(&2-Kb%H>JYpge6@<=T2HrWIb{(%i#27lxNY6&<5-@3=ad{Rre9 z-%#OcPCaDJ7*7DQ`@Cz+F+mfJh~#koTJUc{USKU251PA5_PMSt$YP{k?=GinA8v>Q ztQxNg{waM^XKzh#Ojcg%Uo%hU2W*C~nf=_{{*1uD#GP;od%H~2(;tbK5t|0yzJrsn zUd>$_p2D`sQL|AE$ry5psat@8k@vs z)W;d$spso#y((`H$GcEQu3}?2jvMtHs{o@mehN|-*Kr|OGa+C zNz7G+*DDS5tLO^3wDa{rrYb>uR=3uDuM`S1#y7|ws?;L6cOcE=+5??D4kfgKHsw7? z=3TT6xsJ|#9b7&Vl(;DYw>>BRbYhOZ2pJ{U-L4zz_zH-I&J~$#oDUrSAfElvF*UsJ zsLko_k4y)j?MqtM)ztMWTns(U^!JFJvRONY?p$8sm{PQs@mb)#wxC<$wWZ8ku=Ou@ zFLiX}mv?I1F3;=eovi3x>o&sm%$WTbW@HAA<#nnV?3iVH$~ML}7w-H3DIlqGl`^Vx ztg$ejXWWm}juDD7Zm!s^Y@MqAxX#!C?(d9C+O#mE>HW%_5-O~Cd3~w-C)fe?ANig`z4&iQe4Et;q zf6DV|=%JO;Ru@|H2W_}W0z=CA&9leXFFqmCQuxs*u-%M?n;V?sc_Q&-)e!jgNRGtI z++yL=-NBUlnyL0TGdtp~V6>n`oZV;)G+CWg@J&^Zkq%&biSQud@yx!CA@1F&bK0Et zx2$^1H;>XMDM}^L*yj0;Hqkfk`xZPD+FkcoL3>A={Iv~pl>dIQ$TnkJj5#{_9 zBNQ0#DRfP6i`{%>PaD)C&@S_c<2~a|?*bDKzHq;kBLB5*d47eD=jy+9mXq3eX>&qX zshQX};H+zMENxrF%*9rG{;Cnk+=mi#12;!j3-wdViA>8A_zA5z&;AQJZjxS-@*5QW z6xxyVoHY0$HCkB+R@$|cQ?dkF^xvKrQ0dJ7=<(CYTlo(=u3!5A{k*E! znyGJKFS?X0WxTA$lYS=qYhF*6@jnywT<6?P8v(MtK%yPzDu5U|L+AoR;)NT41 zTMMu(`yD^x7oAfz*|pC-yC^HZ(EFMD7k_qee;pQCmG~iYEW8-9qf~N-0=Y<0k(Xm? z^&YpO2PL%R>xSot1!8w#gdQn;ueiBc=-8)xN13+c=&g0qPV!rqHGjA%{+0PB?X=>( zvEkfb9RIwL-cFWIMb-;-exlki$}uN-VZmRD?y-hw`K1K|^UpZ1aDN_PrB%j5YmMyo zd3q&PiQ4g;t;sX%JE!s#ZDJXj=PE88=*bffBrFoyO~`<+#G_j7Jiih4U*~$bgG;OS z>zNl7+y$jwMXpg^-G3Rhb#B98p*`)EXiIQW?^xnlSM|D^eWLVnWzjnKY>~d?U(0B+ zrx?hc;RF1RuI@{@-JO!Q8~mI^hpI~(g6<)Y%9Txf+6!(C`7>Ad@!n7Bz2E{1v7^9e zBr2qRr1p-yuSSvg>GHlPoS#u)3Y5U$F>JKRNM_UxA&C)vU>7ov~OG=l@J21cv zaMoM&V6=As)uAff!P_e>`?@aH>qP1RbB(iqGk16{BEmDuifc)w_LG9m$e(k`apWNEPM(@^CT5t?{{vG`} z0{({1m84{y)(C^M?g=TipR3H*Bk_a#{=$PI$AEgO=;qK<@C_>fCNbJh9e?j;xtpgi zbhaetKW=x2B0JW_`dM{v6|6|CgU9E(Zg!l_2we$Ys$;K&ua197UqZoua$hW74?V0! zUe0jd8d{62!x}G|5@v0PmFMQsf0RA_p6gW3lGu)nt1{j&+jKhU?3*oKkRPo!8ImUn z_N%)~3*j>Ovwy6=^g#P1{DRuuoy*9PM(X}^+4E`2-3GM9$ByRutJ!BoT6JCR`Yd$F zTUjk|Ckw9WSwbm8boNyA_@Z%!B-uH$(+~)PaX?A=vB?hno}$Nc&1tyG*UF9MsGs*g z%6LG@Aj#6V%BQ5_)Vg={U;KTke{A?1&t}G?Q$t+sqLXqb7k$CVwkxu0ph)IJC;P!|kH+G7nsOE3!jtJ0t7Z5`^vqEiWOvh(fz^T69rqq z_$PvYBa51$3ireAcJ$G@7AU#70r~x<$Z}#Ifv<)q9w`{^e6nVtexI{Xs;edCjY;u~ zs-6o#t@Y>(|3|c+i#&Z9sRs9@VXP@=zPQzpk};i-6Q!wm+$3Fx;U&A0R@~jRT23H)-rwIL`#Cyo7_5)8oo0mlMNcSg zcseH+yh{tQDd@k14}4D*O~a$go7u+s@HU=@)X)B$(mghO36yd~(ckx7WrfCi7jbT5 z84K~S_3+xEh#wq#8U3q)*0deik(?V=__rFX8y&xT!U4EFeSX*{xZlo`Sy$5v*J74gM;~@Gx3i3->iE-fXu`Cx~{kb<&cYYMEQ?z+WrWb zV^@T+t7ERcZzI+o_pNapr%c`m4gXVrOSpZaPwe-6`JO4>G@Goytk)&CJj?%2;_@)d zJ0-81jID|-OSJ_XUE@o<3Px+|wb8ocjK{Bxhj{R=^$hd>Ad;Lb2fduJYEgJ-Y@q#i zDC=THi)-CbRk}iOVz9rgL#}5`Dzi#-oRqM~#*Br#Dba6hc?9NDrRlJ2Z1}op{};X= z6h^>nIH)KD?6@wi$V;A$9&CipAdjf1PFi)w`-Df<9ZhByStKd_StueLBKzpz- z9Z#rK-WlY#Qlz0aAhgGi)u_)zF6S!h3PE?1wzw#{S$npJC3AFM=#g5v1 zB>Y1%x>~8=&IkrNH@5WUn$7fDa$S>}nRvIbPr!QOzt(vJdoQzCM=&IAhCVDSGjYlu z%@b=b;+qq>QNMvvmbAZ<4=9P!5A4sux|VZC_PJZf?ox951INALrP-01PZ%La-W-Mu z$#4#$B`ZCHzevh-}lQrcT5ikqN2{X%`q2$;dAn23j5u{a=!IiuCIRp6imLGyl^l z@;uP*PL87&t%a}T(q5_V9KgQ<)C{pHHHp1eaTxEBz{m08kh`b(CmeQLfvgB!steGy z{#zC=F74eYEeiu<8mZ`o!guq3ufE$H9bb$m;8y?pv|U0MSI-r%HPS9?vy3%Z)jI{+ zB;~BZ&JmaIdsE;N-SEtUojLY4K5$_!vOO+RQ~NU@ZG~FEr~FO_#=72HG_Q?+A+tId5?K+&6mAEyY$(i`;mn0scmPlbHN{7t_K4r zRt(nwwn00O8r}kwb zEKKcUOSY4)X%|wXcwQx(L*F(!`Kk_~J~B~ajrK?td1jQU>n#~$?Q;5htGgoSNArc+ z7RAvTJnGc)r3R_4K&d z{UZ4Ad8|;{x`bI%Yx7HIMFHK7On{Y_;I zB+jrTz$o!<7^@qpk32|{fl8ivUHzqh27WXv2iw9z&IzmM7rvy@Q%%@it+jAmqMs^y zss51wv?i3I-OQNR)bY-nu}Y1pucK9;l!ea+4ED6KXMz#zAyQjgujDejplDwc!7p&8 z?VV+}7w;)r;Om|1)vF3h&`~R-R??WO)xXva-6~eMai6^;zBBS&IO@E}^Rm5(;`QJ8 z&n0FnKJ1k`+f9_wOL>W8FX^Cwcz4h^(iT#9*ETvD?Eh1|LUKr)_HKaPmE>zpA7arZ zaQWO+T{U)lY+2$g&-OyTYzukNRdVC5!++Zme(WkTsdE8B<6H%8MqoQ zya=SkV2POWn;Rcd-iDTN&(oV8X6VLMMNh(C68F#g?%=*DbkbZ&@4Uca$L`FBbpd9l zA7vgd7-s)8S?4^B#JNRiMEg5{w>7!Tq8DSU^JwTr*Zkyaq$9z2KQ-F9#J=x-hY*DBb1@dbsVPl z`Qhu=&uu$8@}p=Uc2IoSdRyacUcP1ypc?{oTb(Wg)bcu~~g^a;(=ubJ{I`z0ok7NqvNZ<xt*ek2 zmxRx77jUU`V?gnRP^3UwP-lm~_h&AJzAdbfa>3fyXwB>J2H#z=po}TPzofmuD6TBH zD|#TWCw!J~KBlARlw9u>n;O%jN0qF`hH`!@TufLM-IDDqm{l~($9gws*zAWY2*%hB zL*2)fUJ$tJlvm_%w7A>z@urN_$AzwjmXr-3IN_9S?XQTT(jKH{S5KVSP{%F9cvY?mCu=H{5iI4onL~}#KUdC z=aSdBF#RgI<;*f9mrx%me;{v;aQ_PwRwUG_u@XUGe}QHPx{Z<(o%~n1GE!;xj+)Jl zZT!vqZl_Y=U}IfC{_jB24k(qor%HMz=VPmW=4xx6%*3M*Xj#}P=UQ6}u$Wo@l5Hzv z_BSox6uUk($UcX9{tO>oJK8)6t>OnZ=GmrH?o(|X= z(2qyz!=||)vZZPn?QitR({`+I{0PsBox=U?)Kc&JMwQh$`lrH@S8yxA7=x|9QSrwR z=H=&9z8U{{^@WlB^*f@w7SG+V)h4(&nC+_{NG~r9u=6Fsjz!|spJw?}c;dMUy=6Vy z;iraNC_^B!qWzLJXvtHRJH?24=V0r8BOCo!Lt^W(dU`()sN#ZQxbL@@O@l@$F*wo^IEHt4ONQP*Ny&$TL=5t&!n`v zb#4-Co#5sau~OGCv%#^ncu1*R-{(DP`pxb1<^{pIq-qlj(^$wUYJdm29gh5x^O4!h z)7z1gT!y5=1_1~3waxsT3+f)BjjI(WzKP5LOTGu3xzHkD)RU*UTh7e!x`-jPAa8F+ zsV5kIJF(t88XKYWrB)zWlL(FqglM^&at$TxKb|o1F>8Ce&q4V*H z&!cNagQ$9biC-!>lPBJF*rEFUV%;~2AM6UM0^MN`ey60@8VaYR&&Kp}+KM55+UY~SZb#-xjE7nKe%exM`-LT0j zffUMl+4+)^$<<@O^>9GOh;F zBDt2DWfcSaBQ7(Xf8kt$@dz|9klta9^K`>z&Yw0ULH=(8Q>(%0tEsPIV;e`}BHHo| zy_yr~o&J^dMVp)1+B=@7*AHw~UNWO0{(>4mDP#rKu!Mo>X3nLi^>&lI(ZcSn4$+O@ zHT;E@a2d7pl}Kv54T^TgUxZ?4v7#BgDfFwiV>Icv7p|thB?<#ibq2<8$NDR~eQnM{ z?+LIuD%LESt>_9GjGkAUr`kL;TaS+;wijb%$@H@~{Maxh)w2H5^zk-(8`^C=7Dp>{ z9tUrG*55-pQomZU;I>=JgM9p(QF2whwdr25Y6y$gzYx4mweYt3cI$uj9N6Sd-|8H*z!)9;~M_nTooWcB^-=4 z5qV=A$eSNf5XKYqQ6M=l#0X-SVp67i0JwD@lWPG)U ziLZqlB-QfYN-V)xxe?0<9Lv4Dvk;5z^&@AXO}_pnBckn#u>+hmJmdNtpLI7ocFg_x z`uoK1FPDa;P8k~lWk_IoJ}Z4$;;Q-qb!M^}`{7t(K><)Pg#5EHq-0dOo2bJ zX+m9n%%SM#&17}ZTlYa~lG4e09BC+Te=>ts4%o1hkv&vitvo$KF{6~s%0}1TUww@( zB|UEb6Wfz0NZph1S>P{Z#;d8`N*j$a-3|Hh<_8|$do>#9|%WwV6F zXgz)>>N|(hx5VxQ2Xm~J8@GC2L;_h5@|&An;{V;os+!_p$$OQz1Gw7WgB1Z8U4uXE zy~f<^O4PpJ)ps{nE9V{ti)HW>4c_}opeqOzt zJJ4#Ad^c6XzGUmT~+LBU};QEI87# zHXMy^O}z8Kx zLzmP(tR$lOjFgdWzP_rm`~@I?SSRhDsHF6u)VyS=>bbzkTLjGe>5q~F+#?~i{odyb z#@2U<-_r21zoY+G8D;VxtgouM7`}Oqc0Q)Ru5_fte_w=tab8U?#SgdG@ngwMetV>Q zR8RFvy5w$%u*coH*ZwKJOv#jT$7N74+T158J#FlAs6M15S}SCTm2Xn`Dtgr4{{UFC zu2s~=-cRifWYD6*O1%5mr8{9;?Myu6n3Ve7JVX0)dttdN_TCv&)8fJiSPtZ%lkFqGyfz*b9_qrSKHQ&ya@&=iTo_AFA+WF*7k{ zmVLwT`k$t+n@b{&xn_+UP2f4lCM8~$cb!Yh0^GPHTV>+gMH_98gG=!|Aq7c!Efp=C zT0GFkJ!9Z661XSmd;7xexso?RUnC5LM#E+&XycijF<3^dMv;4*;^((KcPrk^;fq3T zkuBR}zm@$eV+6#u;Mpx!IHet4|0RCDw55sWo2R&PW~ylQkMVaCKRPS(?k`#ytxw%f zofp78b>>LHF!|*SL&@!SwlG<9CHJACb5q@=+I<|*jF43hOT**+W!p1*^ z6KRn^?8;ETM#p?C5pum@TdMewIZAO;g)MyPiCzV*{kJlrvVY>N!du;s;_J8rnI(Cz zs2OHs4|~rh4P$K8wPjEbdotDy?a>$fOZq+=J8ph$V+$iA!JD_lqTp!lo!p2`9A#VUpU zKeX{ohr>dDgsug))OxqaR_vIE|7HB@{hn1Gb^=j1D=Mjv#LhP4?YpG`fqtcEcTTDQ zN3K6zejXC~zVsUtA8uCQN8J)s{hdyA56Gv+UWcPg^vH(SFeg3(`we<>NqFseOi*|xHb8;k}*Bu-JVF2-fMdW*iY#3+9FC8 zEd>Vz;|ZZVewWL$Ay@aDaVMD*ys-iJhTpT)JU~+Z$X|qn zk+>fn_X@2T;}uO_m1f_Tc8jEG$|Fq5Nx0_(m=NAmdrpm@^j4FvEBGk?V%p0tzk;5j z@>Cbktk6_E>k^aj+>oWtkhf0pFh<+hyP|sYR?#Ppu9RAz^P}@i^xrY}&mOm{og+ov zAGqgw_rQVw*jPK!`$Zn`RWUXz>b_ai*;NX@4N5mk!X2v>#vgI+^X&p>)17zg1>|Br z;4gIO>DRJtp0-Kd{*?W4eIVm~OCu%IEJN&y<4S5+{n_Z3K4YzB+Np_M3ITbNzc%DN zD!mhY8#VFA*It(WZZKWDE&uu4Zs}@8L&F?1Vi$p(FBzFP>Z|@I&6&p{{r|hZR+6|! zVK=nZZ^DCwM~j!}qiB1sH>5^@C}WT%$;sC{`ls9*Cv(QR$2l(}|GUl&8-~)ND@%|4 zkEXB9d9esD5azi+X(Sl9gn(FJFer#=RJJMS~pZ>K}<*5DvgziQN@$`@jE(5PO0;KaDoghT5c74QW6<|z~YNU&Ovc`Yr$;!xJLz~3H|?_&R`Z}^WN zHO|K~Zg3)93XwPshp4;x`u7;g(asoy2yvDq_ zF&OwYZSMY7QJBb zcJWF)@wDP5dr$iobU<1C10GLBDb&!^|Ar}94@Ees$|^xyreg3~+MaXug))AE)6Wul z$2q$9xW^X#;6Ovd;}JE_{ugOFKGd2Tp({lRynPse-t_L+InUazWz^azE-z5LaHly? zVPJ_ZGqMJ5xUznpePX4wk~bjDWjWS62m{Ous^?+NY=TE-E2_OKU0ruTPcC~c`^(xq z=P%1QC7*&H4h9&-c=H;`jm2-1R4$lcZ9fa62= z?)1~%J3yu z%j!{A1_%YafY3@~eT^uh9w(6hdC7k)_1ik{!;eY2IHc_-t$!~c5T zaA;#*(Mi>Z*CT7GvuQNx?+__;|0$Z&C`f){9}AWw+-_q=Eqr3k&K$+)*iHW$yzYwI zH?(8NQNn5gt%VPPlVIEica$QdI?hv|33ucrNb5%qq1eAbIeSxeCPE(13V1%O?95*7`@H>n+}Y^2JZhUMltByA^`px^F%S8F zGj@>{^ClWcdPL@m*tv=d1?qF;2=*Z;UB$u$07FZ)7yGUBaNqUY#G=zoIQteaWw4zcf&~{e8iob`Nwa z&#YtV;tiF!kHb@_lNBPc3=YztK=pl9?sIb_9tlg|>qxzl-oGj`UaL}VYL#GZlb$?? zgk*;m>3P11=1&gE#R$jtu2EiIZM@PoyO7l1OUdlY80g#)zm$=_H&P;NYLTYpK1cKXMYbI03R{V7qf2H08>Np{F#0AqA4H@N;RZje@39&gC1YT8 ztK!94yVZWU0L(5?@&RqZsR&~|d&5WSf-ZlgS6NBqMzLD7-qoe)gS7P*q~1k6?m{pB zcWtL^fsp^Zz#%h%x~s8$s#jYO4|#o&&l%6%xxdgN3-(!&=Z5_K?A)csZg}YFc%T@& z)A%@YaN`+peXiqm87l?#Wbz~Go|l?N`^ZJUmt`)hskw!Ag^ZIbZzL~{Ym8W>q;tc8j}is+VFN-L1|xy?zQ=&?az%kdX-(1#TWk=`{vSeDMNcI zJd++DQnfvm%ltUj)W5)UcTSs?>@=gMLNo=t7$OhFXN5T_(^#W;VylvGm&ZPhEVbqu zl=hmEf=d~5PH-nDmW+=5kat&k|F9!(v#(u2cQ+@hOA6=URl0|?U~Li!`-Xj;P^!uy z=N`OWhb+`u1$g(R>f;SBf%O+`ciMOT&uST5bUV2$_z(R#!iUCG+skS+#qMKw23p}U z_e$YbZIIB5A$Ox(AHv;l#ST!q75dWidl?tM4SYu%DD|{$XEv6J>knTdnH7E&p1PNB zQ~*sGM+>q%dF5w38w<8cX{sO4KJ4*ujrrNQ`b@15>c}we(-lKJOV*5UJ&dV{o?8T=Nol12|Spr|$Dz}(r$$&%-#IhWcG6~!BAdLeXjMb?N|@51|Boa$ptRCHEEj<3Sg8fVM5 z#=h~K)37kgo*oshjCPO8%}3sL%637AD4mb&1WQf3!hfj=3ZKwHW?IP-tlrSJz(wxE zU|8O8+wFU}*hX%?Nxf9cy0Y4Bq8~gJ-jN*^dHz*gP>@*BAo87H48+eV-hEaOWA8#^ zV?0*_vp|=$I%*vokTm{`1B{po+;irxkr3anN?Db0r29Mcw?A?a|EEYbwByr^k=%V} zZss94!)-wrHPVcgPhDFw=m#OW=>7>gRW+lye&+ z%zNajRj|3FuPJ+&Bwx%?TzMyQp4I+6P@U*>#? zb_8oTmVIo$&V3hh_fbz~;(f~h35=Hqn?^Q=*{^Io94Rl{oB1s|BfELHd4It%^V0ksu}#C?o}Y+tlAdWEZ>^Om}D&-wPDX)C2ixVd`>()A8(f|PstYRO3s zZ9h3W1jp-GZ}e-b^Gt9MoNotq3~~IqZUl#m64e3jCB~2w0v;y+4`@YKdK9+wtI^BoPuf2?@mbMds|R8;tTg*5 z9>qr*zuCP@AHIH@jz?9|rz(|l#(TafkRo^acGzUUo{Fc2DUnN*d>O|0M1Ab9)|%T` zLkjfH`xa{dB6KL$y?UPD&%jEFZkBqCnc(}N&ia*hZ%-?Q{XW{a(9PE(fwjf;hp|vp z4dh!*?rLTg&%2tsI|=0*_>F8>EcjTu#HR?@l<>@IvkaKjyY zT7;jt%c{TMlsW7SAo?g;o8#CXf4+2k0Lu?*s!{zib9e(QcCE4^R>@d$9e@`;4#eP& z-PKTsRt_{Wld{mQ-aJ#DMr428r6-tvF!Q@WX{p5UzEbc`o28w5*WBaX2Bj}!Tr=_W zkk9s&cWmgIP^Z*6&I4|ruCmZ6eTUgJo4e_=c{ewM{F9-1>NidT1yQpA+GqdYMfm_HoMD_C&spq*~gOUX3 zO2@`lPsKlr?JSfW?23$iZj+RBD2>vc7CP8Y*k!=nOSWTCV@YMoRR>4s`w8 zU4eucjIKOn?sPxIxS00O)fjCGUk=qxDp`Um9%4ama3_~)%T1lTlGS#BFD%k7n4`Q_I1C7_dCbwt=Am4!2_MY@SZ3iFLZ9; z)pj_DvsR7H32ruOXN)N=LSC1}%bAJd=rg7-Dj zhc9un;@0ohpbe|TGFnDm-ko-@{eAnF@$b8`N?^?PCWH^QZJwsK&usWmBA>&DHovqZ zVfIVe3uPazJPFiqireKbL2S=jW>0HHW^agE5cBKhoM8p8@&u~lk-zcO{)YCoV%OS( zz_*5jCN=V(P&R3Vi2*c>?O^!Hs&Yy>S^F66+oZUnq9~M`pRTb1WS|?WcFQQzqVwF7 zDvLwWHB}A2VyR5azL&Pk)uHNQ^QXo(ai(J$Xzi!!3Ef_{zXFB)*)^xW%9Ik$(1t6h zrG1AOI7^1_F2^z>{whi3_f4CWh6Q2CD(>#f#+xf~yz_~C1w^x6~C=jE4li$m%Rb%yPKw|bV_KychfLlv)e;*hswLzZ;Z`iRA<5I&&03yd=z*QI-St%)rw~$GP9}Cf?2Fc zF7h9x#JdXjs?=!CH7a%?BO+<+D?m1lRP^%}Yl?5xG>Od1V#aD;mfJFCw2$vt0JD76 zR=0d*B#cDdl|5EUlDwqIOh`QuBQtv53eefPtPQ5U65rAPnpdP>eq7a|@>~-jg)~-f zoh_7)`FY33Iah5&Iva_KGWRs-%vE$!S}0J=fImYAy=krxJWDX%p?COU3gx~zQk-AH zhxF`-P@SRF<&ba%GI5)Aow+Qu6T^y_D|-5w=_zHDqGzAfXrM)|(B>J#U1yKBR(&S3h^ zoRf}qV6crPktiqPIjB>IN6PD2Rqg7p57ftGH%b2LzC+C-)=0VR`539+Ry6>6{HB{c zi{}J8!QMW4K+zhRjaYy;*Co=QM@Nu>M2~Nifo0d1v!b@lqwTC1y2s+ysX2hIhYp?MB92ZmuM+BR)8u zm)eoVIiuR42KJk%x+<6Kj(!~~FWRX?ccv6cFr<#kg6q_rw9kgC{hef-8sksJZh`yQ z1H$~Hm-hv*auJmDZ{+&;INI<)QI~@8dLNl%0<(9+ZAJ3?1~TK{a0~R>!^ms7lJp=( zOP7i?(U$uch=x>om_K26V*_bVm*jXkF+gICBj+N=;fQDASJt89wOapd_wuT#v=Dc* zk~d!8O!5dU?`X;$_bWZO#3l#Wp;H4#DQb8(Bjj3<9tqyFkkfA|9$RUnw`Ma%%cH`o z1Y_L>WPQJiCjMy$TwP! zQR=~`TDxnJa1>x{sh{W*ZxlOW!cXT6b2Lj8)c19cMhh|93&^<(D^yJi8u&YCKXZ*# z|D;{!Mcm_AuIdO^-jcWu8kDG08{6ZB{FL6a8;_Db)icB68`y`Vpuc5oe>4YH-5mTR z$~y*HO3kmT(Z%b#;x|(;uT~v&6{I!qr}UH+*_c|$zbK~`lbGBY10AMTZ;D9M1pYHRmqnUhcXBI4~wm8 z>`#|&IBBzL=uXKq6%NmdPN()yBH2jWj!JTT0M<* z&TJ@Speb|Fo*#xwu_MoW#Bo#j9T_)cs(o(onfR&T?O1cz z)y|0l+NeJb2AZewKWN)ha*~%^&0}qu=TIKw)U)ubCFIuD1nbQD&_4x#dULbpp$$4U zY*RLUMLJx%7E0LYbwZg@BqcUZ?EB53I%{2kti*H>T9JVCgg%h7ky^e3r)3D`bDc=4 z(=-)?z;8^QNp8miZVHX7U`!7T2lLsK^Ox|6T-vP0QqRs{B`tfAIo&oNUUWMuprwaw z`8@ZIzYy_Ly z+rIlkBPv%TYmQ|HN){>$?`I_CWGMP}=Q1elHGjWKd1IP&CyOSvzu_-=ez~)>Q|?Aq z)>~Yn)fKR>+`zZx!)seB>1zwV@XGH}Q`W?hZ1kKTVEzeARx%m;C;FEv(+3S9?@|M> ztPewb=s;B(UM$LM3te6emCHGh$Ul*fhMdalgnNd7Z@6Xc%lZ8RO&dDs(=6NE_$a=9 z?NmiKu7H%+lKi^5UyY)b5FIy@=Qo`9Syz0{qZxQA42B+@N zhr?^)uYh5K!F*TgPI>q^)cg$uGZg1(HYKnrt69 zw?W<+4#cDckK|5Iq5UbvTd%FMa!VR?fLHxua8wUXe55FAOk<0_fI247OM$*Yzb7v@ zXMN&_lso=NUhR502h7@yB&9SdjoZ)#N`l??bU6M(*ZmvXM{bW)6lIExHXao^HOAMh z%6_$cI&zG!2=Sb+DExPCEAv(Om>9wZ(i20@f}JeV%D_HuV210tI}r7($Q^EucYo?^ zD-zmZo*ZA5e;KVliaod0y;H_dE^V6hW}ViG*)w`$NwjBtAw3zrrmwHif+2fJ0{slE z{5|07xJ+{1l@L!L>##zN>N~}5dmF_yFCw8V=r(~`u=7yyNQqG)3v512tKUR|-4|>Q zbq@Ac=}}h} z?Nz~G{_O6fY?8Z**}dw$khZmkhFVsP&ss{YTZ=|Tnq_aYGzBMLuMpZWZh#ve>OO_B z>jW++$(V%%c%9Mju4K~e4IYV?i{NK0k3ubVJ%%PP4_L9ysqIpzy=U}Hm=y`*&K})D z?mDqppK`~AsQc39msuPbU6rr5_&U z>FjWCg^|weXb?D=LweWsf<~_n4xtTx#+Cgd%1Vp72MIomLuE}}^N??o&7sac^j&gh zrWWU2M#*^mSGh#m-znEV^N*mjOOCCTnNG-VoepS*H%jrf0f9D9 z_~4zZiYRGMfQ9b76+T~NHsM(PeWsG`+NHtZ>LZcCm521#tJhRZ&Tx1bBg;9ZsvHGx zoK)ks)E&)N=Zr`ZMl;(|c;J9DERZ}q8s4Jk0phGvsu!$jlDZ|?x{;nvz$u%|y}{w- zt=#fPx%Cw_(T>~nPKt}5GX2%MySw}tRbMQm!~@|kMbc>>2ZyO&>}{LW#JmrF&S=XD zi|b9{Aqf{f9UB7MI!(j69vQk%Aa_}YAt^^&qD%P z!MmX67K(aq@&cg+BI=DmQdikmh}`1N*JDSlYi{p=dg2*ez?Gfy!$Jc*jWa(Am#6xy zDu_)3W{WSw|6GCWA(On@()|_BPeV3&&JpN6vDNwp=VM4!WP+#MRqWascrZtv&Nt_q ztmQAg9zGeFJ{Mg$IDSK8Ioat`Iv}hB$wq z0s@MPy<&M46;u!fM8)3y{?F|3&Hl34ojy;Wx|b%;iIy8FDTSQhGJgv)5V0aC?5JdxX^X+dopew#Bo@d3*mA;B8#-7-Kpm$azxo1qd`{`fVtz zD&;SgQFrWGp==Yb6^h`xn)=$8GnTNeOKo7qIf`;*53;PUWW*rNX`K8ocAPGm$9dW zs@vd_S#|xB*;MEHDXlnJ)OeFe&BJINR8E&5r3O4IIr`EqzQ@RMed(+E#RjcQcZr=@ zRp=94_?fxlRf?TU3HMNNou#hHxClk-v~8999d+$X(nAu(AwU8IQy z(3I8BKRg3YE>K}kFugxMcx_w9$aQ6*cUFyww+Ri?CC<-F$7X+mCN=|^84R41#+;Fk?c%dn6<=O*CqKAW@LxP?za!^ekM=cM@|T7BhHms-6SK#ez>;xSQDrZr81kwxb*+Q=D#bFMuCT=N z;!H}dbbi7yVi{{QNk;S_P~#Cup^A@R+5uI7;Z|DC#3Y1O?_J9DlB47yInj;5!l z!lgFf`smM^bF%%UcH+#*#PjIz8FX@|w;Of&*SHD@_sxD8J3H68X!tSMu*rR`JbR^O zdG;2x_kKd{pb}H%q4IgHR_5)P&kqktFtk*@yuF@>msL<>ttQx%}6A|)Q-k)Df0&zyD&QiWmW!B_gWac44jA3 zy_36y0=Pbd3QH^`T78$5M;NUeRMsJybKh9O99P+QirNO~m5Nd&m;btOGqE*W76gVN zF*Z4{Lll)|J65^ZWbObD6KRv|gwo7Q=(DUZxkWH-=IlJo36%A5m>q}OIgydX{z_;` zvrm?NHF~kq1ZUM5$voO{z<4TOs8!OBj*Kh4K!qN3KVe)@ij07B9*RopXDS`(2J7eY z8D&eVz3vA}H+qJJ(Qm|=7h5k8s7qhUm8YR~IqG+Z#ZFLtSS5RAP4Rx#*EW8UvInLY zOvydc_)Wl@%Eat_$w9O?^CZHNDkr(K;+#B_CAZdX*OfoFr2AngrhVC7oA%6f>^w^8 zM!F|Oc4&7wo{CjDTi5h!$6=kVH=gl?nisF_0*$>3XEKw4{GIMQN9HndbNcm&x5+wu z4@w!7*C~6hNNKZc;$6E`^BGFOM_UQ@PloS@B=-mn5vO~_gAVzpw_5*jaZ$}mpp^us zN7CCKe-0Vlkd={o*2_3friM}H7X6kLzxZBLob5Mm@qVqa%9smUYCGwmx$szUF(dLB zyhAS+_aN;(SK)+kvsq#hPkuL1+QU86JAV6v5B8OLVa`j$Rkp}|MB)S+qS{%jN~IMh zJ?PB9^n(kpu`Lnap#X9p(nDd180CpO9Ah%K*5)T?Q@iWkpZSYCA6MIHUr%#dCuv@R zrrcsBnCWaw;$Yns@F{Z(`P&@>;_n()S`xCz`4Dm_&lzN_XrO)vH9JzVzL*ePLvWai za~!$76|AS9iFNL+@$QMO_kCU8)Ab82|E$Lp<{GdaQ}4x}p}eKWU-W|>7A>S*sSgY7 z@T>lpypnpiz{-@zzjbV0m&|PJpp0oy0RHA>p$4Hs`@-kSvccK5(Bd)wuW=@>nH2_) zyie*O`AFQ$6$SET0({$q?u!pybq}z*rdDQ>mq^Z9Np^#=qboCUro7Ee4zVSZ*0=eB zlIG~e$xZ3Yb=p#9isT?puxN&BH$L(Vjm6|XA=%&RYxhtCii`k-EyN zkhDu;Eid+lZm*e|t|>lxw)VczQp>OKQ>pO(yUvOU*4APN)F&S#k(a-enStJ~~)Y_8QN(MINnw*mHWY#SiS7)3!66qXGw^N87be%(ZbzK8w=J6yyhlUM4jGfcISeQVZ+Uoc!&?94aMsc5!-h|VX0%73zjv(P;h}!u zZ%N zcsrJLDZbbLThj0>OLu6j4b0HtO8PMED!&!F#9blwBJRh2JxOyj7GrU^qG6WU0Qf&0 z+~YaCNS+R^9=3A4|Bt}q9`=%u3v+%htU2v;f!F`LeS%Rf(`jzaO$p_1V$ZdcHS`Cf zUyJ-D*WW6x)#-~bqn{X-IEC@MyklB6*Gd?p?9^gn;eo)EXmQO`1=LpI{!)t>f%x^3 zC)apubL@zBX8C8(0+-fM#2N>lqHEnE|L}RVH8<7{YA3G*rhyw1nsQUT8Jh>pyujqx z?&5Po^e}-zv(cg9e@Ki|g6HZ)G#`DOQC9OFtGwe~YTlfWr!`qDR(d0b|n6*u(tJRuZp zV!PG75|K1mA^x+HJ**oP4G>1?C?J1lq0Oz#-4$1RW*2NK@F&aAv6*BlJ0x?9=y$HI z<#Pj)g5A{G#cFnASZ+joUT6ti%$j+tU*9s{-bkJ5f2}ELhJG$!XC-4ejmJa7tBvPX zt*}bsAFFzu0G(cHq~ux4_}(sPj?GL4gPi(F^EGCOyS&9_LX;_zZu%^?f)Y5xWe$0Xwo2o3;&IFPE$WR!`dP(UCgOyj>hW0WHU@5`4#5OeVW0!Udw! z`1+Vf$q}egoQcJej6<{X@?W_wxYcS@n}0D_A!+7Ocl4RMV_8?BJHc&|8rFzzGtUs{ zX|gVBF)cwVlj9oywrJb#?>4@d_lvG_HgCwx^M0&kz$P_vr2jnsX?f3k=J|ebx1;V0nkBZXmv*I_dMF8w zE@)=#D20_u=oZIgN}f%VI!kP=Dzvo@gbKcgply$j{BeG%-kVr`6&;{Uew=P~X4^bS*l4^-nSJ9eEdjdLB&b-Ze z2(1j{^M_>KXB?1zM&Qgi>&(pGo5m}sN{$zn%_PNxmHVYEapsExVXYndgO!*4Fc)rhb3+6&(tWj2X&hfqz43^q1`rw5-wCU&8AxIr}~}^PXC#e>EP_-S3Q4< zTp?oul%R6a47~#AIYqMZEvycK&4#<;fHzN{WL!J9 zyAqKSAAsl2tm%;lMYfpOmgFPW{>^J2$zA~ru4>v`^k{4@BM=3FYGn-$ub!aB?`h|q^~&xv&KuV8Anh~wrNjAY zxYqd(see?duM-+D|8pCP3h(zG$i4^dk1;YvchM?@y<1k0ta8coI}I*l8&5%W|4y+C zwD$3x;TywiUB2wektx~9i7i%0XTBGHjQ3TiWs?4X3gfH`aJzxw2WZWOE1oq5f^W%(k$SKq}(N0c@Y1rHUOXD{w1viu0UzWJrzt1(mN}|nc>E(f$7_&vS9}2&i zj7EAN$-WRWeHV$2$6Xrz0Gg!l&`G`=B7Sy{7* z+L$mLS-31Hqbfb4!pugq5WF(nN9WD#7KGVZ{E|2JhA>rtW4y)RM&u7X{MpCl2@o+ z+CFkEqRv=0dhfn3#O@byTr+7}+x2$MbR)T7K<;2=OoP= z*~@zM3FjxVTA;Rc#VJDBIJ2RbJ|iRblz7ur3;r`c@q|JL$+=_uKeL7|(aLl1i^VvP z-W6FhDLAO^7FGXFf?dK}*747!X3KbIWHP)&=!NIXR8MI&rwhV=z@2&b^ix99+6Zg9 zCGSs4Ui>4i^4qmOZ%?&>@~~2srg$(d>jdr&iqD&3XPS(*(8~9c*r4R=Qo1hzz0*J9 z{c5P;ebx3qt2T!`&bgU21wDm-aNf{&v3;sfaic1I5IT6CvO}H>J)(CEqX9~;ta%H` ze@inXeU4*1-&4|m;ZvMW{HjAp>mDD6pNKv~J;wA7dnbCHb+AhYdHK3A%eO++A>^DD z*-UM>TF2A}x=YJur;d62#L6?{f7W(4rj_`M%90~o%x zSMzXwXSI@Quo|NxuK6{3@nkT9{)6ZI?bE9Zw^-G&Ej(xV$viRg$;;W;=B*09aw3#U zFC}ONDOQRy9&-cqq1It()v6am2&L+z6?bp!ZO4fX=cLyZ_sZSU@3!z7bmn4_EUK1m z7QRmo|0qrItkq;qad*hRZMa+~WjR@gIN#f_b)Bc5-g^(ZJ_t^*a)3LtF8V*Nonbp4 z_9zJdGRF(7Wds|yks1^>HCJy8e-Jyh*9Wn~p_OSnq?2P(xDu&(3^C5jJqXuIe#}H| zV76J0>2N~{HeY;Mt^j*?NB$iVwW5$1XvqA#;;r$`qRQVxJZnFv%9VutLD@g&kbY3! z0ouix1lTY*lX=9%L|Wb!>oMpF95brB_Bd_tqvEaR|k)C+)oWZ z@$6HWkhL2#{CR=#1=GNWebTPVhpav|mV*ht3h#HghudwD{Fzy>cc+LvJ`!3056LMd zW3APW%gFgaVxuQmIa`;M%n4L`>FwM7ot^PFpzWU(PJmAn>5wtC9*H-iMb13LnR3f> zGY$e}+>#vR`U3vN%VZqM^nj_SireOz&;gUm{_t$g=PXBaSlyp!I&6rdpyDsd??+n` znG0Lmw(RsH(SdCrV8Bd!U`YDQ&?czTPDQrbhPi1SRIZa9Wq(@VR0=PHYuwJX`x_1B4H(>eu~tokB@egNk; z3BJs)8_!zn%nnUHx~w#~KYCi@g$)-vShGjzi;_2^ugFuowza)i#44bAZ+~`7M_=|T zo+tce0l|^DY%fyVMZ?Zl}L)b z*Yu*IPV9lA<=!q<^|A#@8Zh=^eMY^p6Jv+a06Z~I%0EvD9bEtwghQ>G*L))Ot>{m} zdM4)e`@;VV^w1Bi{8YO;unU@qG(I2{quuELnbI=J%L5xCWBeW^gYPct5=X`8jlq;=9J^m`eE;$$D{^0?)wBn;>rKwxMN`4lM;{xpR}tf|b@e$`1U`@aoap@$W@l&*3#hk2ezJ(!g84X%5#TZXCbF#9E)_MY>R{uH^Xj~iN=ZcQPa@KhT_K< zJz^vW>bg>K#dn@Oi@j?^k7KQcC zOE`-|QS^PK#}~@VlDFd1`n(A5*Oc5FURiSL<2ot()a-AVrK5F_N6Ug+{r7}7Q4e?G zKj(tzvM^&T^pKPKDXE{8e)(X)uyhSp^5FFQ#sNjGJN=h8MD_2DQ}w43$38yOn3oy~ zFI)w!Q%jS(_5e~ZCaHPb4%M_tzA2dDWXnIH1bCvAx2Ydc{75Am*J{x zi~h^HCvr!G$IRaP40oF_E9ts1i|Xqm5Z1&WdrA8H^2Ysr;3xX@e7Lcf;&1XBc)09& zxYm=3*z`t>6NM*KsOfB;bSQg% zzfFmm;IA_!06}VfX6{Gou|m<5kDAzdOKt~J%od@GuIe-rhx{!wy$r;vVlQ z)@9@%(LXk}I&KEzX>`Ubk@1QW#D6!|;Fv@Qa3Jf-HX6@mCWXPab@rNPMHZVxF~`N) zNPKzb`wy~W6W%c{Q&e<@fu}hzMy$g3q>kEI${$~CaxEvRm=AgL6(%GH=FzlY;f=eH zZB1*wBd7C|j3}Ddr`qc4GUK9mK_UIJY9B4>U)H1PkDN;bBawF>0eQ)RJ8o|-3Ewbs zReql91CgT=!gc&(>9F{pP3ZiZ;pmnLP{eP>G48&|j1S5t``(E^XxkrJrSYJm&=%VH zXvuiAAt$D*Ty6&%y^uf?fED!U-D7JLjZkec&zI58w>-O3YF!g4W&xcIp7^RDxy%0||0T&6z)qVmz#5yyQH(0I+>#}y_xk5 zeU-(}xJ~Mb0((^UoBAH{XKLA0hWF6 z7vXA3?j(@odcyORPW_?i)vjgkO{#9l<%}zNNWu2Pz?uHi-1NGeOaH3(V7{oRFr3QMUe3X^OeNy$Xs!EC+HuWTft38(Q!xD9LE{H$wGl# zrBM4{rBn0+u0#E<4l{lssm!s*F+%76RY8Mshm|$iUBQ+#(qFl?!TS`&{^qZdK7)xK zYQ^r~P{S(d^Q7#3z+6Ip$dm{L@bpdk@VYUn8hVWFsK<5s=ui^*d}hRk$jy-qdHRx9 zd)FsF%#9byG>crF<0ryz@+|vCK3BZ@fb|F*vBKF*ZQjKf8Bd%rZIn_dJ0O1Y1bomw zN9zXHB)i5=bYMv<8knvqb9g~#XoaZE3hlCaOuHnwzy1%So8)afb3gKM@3E$6G@M^w z=s7c)@$IZ01l}&nX39poU9AwPO0HCO%8|Q6an*vdhdoPO-2}tT{@m!;m>j=)u#8P; z9ZG8o(TS;hkb?VySd7}TY|fT(=4AgUk&4>(FnwXm2S;G9CkmpE#QuzXBl{fP@F~dN ztz_15{<5H)<+k5@I;H$7IcQ&p)-|oKmsR8PCXRXWR=DVJ&&%XHt^aRO(;te~S*KRf z13wi<-S=cOanAMA9x6ZT`+CW0@>@>J284;Ha+?kZ$>VkSo>%uu-41;Y@IT%0C30gH zbs{9a+zJ}+b(CjWF?+XzKa<(P=FQc2)GkgBES*LxoPj%#P=shZlGo~*!VoX!4~zg) z2WzI)FLWLmg0Zd3|`TTXb$o55|k)LGMTffis+QJa6!HV~NZ8E7;)-(bP@RH`ZL>x;Ff`HM72^ zDq=7?Z5lSd376G-j39{xN}V=S`g%`Hpv1RC7YI!3uQ~J1z6@l=P~i`yYyX!TZ2X}= zV00{drB7#LS}n8fxa;CAkwOo2U(Bc|-*;B|ngp1uDkWF-(@GWIDwb}sSaAz}#s8~{ z@BC+hktxMej(u@Hh3(9rYMjJH0~KFwlm?#$JGTeZu`8f!!?z}^B9Z2=>O%_{-SORo z#N#6VvC8s41g@Y0vB2Ws5y1#>51?t2T(~giB#9b_dEFHC!O)p zFgb)i7pg2<2VI}(FkBl}c?=l~oL^iQR>865QRvxJYOIL91`fcTaPTZq+e2q)u0|Awt_~qi?_) z9YiDJn!x2cTJ)Ze7js?Q$vY*R+_leWK{fjKpwFAxZ?{*w1B#jpUu;NE4evoCHI%$n zdwIAWkUl?IENQi?EqgXr@_5eHHs+?pZ4raf8^$!vKg7o6Ow()qMNPF1{7Cz{%Kf!& z%p`{`+C%?}wn)4?!t7!&UPjx$m@n%-h6tv#yRcQT2*cm3khs>`2i(jin`I>%t0xgh zu9AxPVlilsF;>S@$raS>Y*Id@;BjVIy4#EH4`X9IlLPk#L$!Yyw@_MRm>ys3M4>