workaround for chrome offscreencanvas bug

pull/193/head
Vladimir Mandic 2021-10-06 11:30:34 -04:00
parent 980285d363
commit 3f8bba584b
17 changed files with 102 additions and 53 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
node_modules
pnpm-lock.yaml
assets/tf*
*.swp

View File

@ -11,9 +11,8 @@
### **HEAD -> main** 2021/10/04 mandic00@live.com
### **origin/main** 2021/10/03 mandic00@live.com
- add blazepose v2 and add annotations to body results
- fix backend order initialization
- added docker notes
- breaking change: new similarity and match methods
- release candidate

View File

@ -499,7 +499,7 @@ function runHumanDetect(input, canvas, timestamp) {
return;
}
if (ui.hintsThread) clearInterval(ui.hintsThread);
if (ui.useWorker) {
if (ui.useWorker && human.env.offscreen) {
// get image data from video as we cannot send html objects to webworker
const offscreen = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(canvas.width, canvas.height) : document.createElement('canvas');
offscreen.width = canvas.width;

View File

@ -1008,7 +1008,6 @@ async function backendInfo() {
async function get() {
env2.browser = typeof navigator !== "undefined";
env2.node = typeof process !== "undefined";
env2.worker = env2.browser ? typeof WorkerGlobalScope !== "undefined" : void 0;
env2.tfjs.version = tfjs_esm_exports.version_core;
env2.offscreen = typeof env2.offscreen === "undefined" ? typeof OffscreenCanvas !== "undefined" : env2.offscreen;
if (typeof navigator !== "undefined") {
@ -1020,11 +1019,18 @@ async function get() {
if (env2.platform[1])
env2.agent = env2.agent.replace(raw[1], "");
env2.agent = env2.agent.replace(/ /g, " ");
const isChrome = env2.agent.match(/Chrome\/.[0-9]/g);
const verChrome = isChrome && isChrome[0] ? isChrome[0].split("/")[1] : 0;
if (verChrome > 0 && verChrome > 92 && verChrome < 96) {
log("disabling offscreenCanvas due to browser error:", isChrome ? isChrome[0] : "unknown");
env2.offscreen = false;
}
}
} else if (typeof process !== "undefined") {
env2.platform = `${process.platform} ${process.arch}`;
env2.agent = `NodeJS ${process.version}`;
}
env2.worker = env2.browser && env2.offscreen ? typeof WorkerGlobalScope !== "undefined" : void 0;
await backendInfo();
}
async function set(obj) {
@ -1042,6 +1048,8 @@ function canvas(width, height) {
if (env2.offscreen) {
c = new OffscreenCanvas(width, height);
} else {
if (typeof document === "undefined")
throw new Error("attempted to run in web worker but offscreenCanvas is not supported");
c = document.createElement("canvas");
c.width = width;
c.height = height;

File diff suppressed because one or more lines are too long

10
dist/human.esm.js vendored
View File

@ -61076,7 +61076,6 @@ async function backendInfo() {
async function get3() {
env2.browser = typeof navigator !== "undefined";
env2.node = typeof process !== "undefined";
env2.worker = env2.browser ? typeof WorkerGlobalScope !== "undefined" : void 0;
env2.tfjs.version = version;
env2.offscreen = typeof env2.offscreen === "undefined" ? typeof OffscreenCanvas !== "undefined" : env2.offscreen;
if (typeof navigator !== "undefined") {
@ -61088,11 +61087,18 @@ async function get3() {
if (env2.platform[1])
env2.agent = env2.agent.replace(raw[1], "");
env2.agent = env2.agent.replace(/ /g, " ");
const isChrome = env2.agent.match(/Chrome\/.[0-9]/g);
const verChrome = isChrome && isChrome[0] ? isChrome[0].split("/")[1] : 0;
if (verChrome > 0 && verChrome > 92 && verChrome < 96) {
log("disabling offscreenCanvas due to browser error:", isChrome ? isChrome[0] : "unknown");
env2.offscreen = false;
}
}
} else if (typeof process !== "undefined") {
env2.platform = `${process.platform} ${process.arch}`;
env2.agent = `NodeJS ${process.version}`;
}
env2.worker = env2.browser && env2.offscreen ? typeof WorkerGlobalScope !== "undefined" : void 0;
await backendInfo();
}
async function set(obj) {
@ -61110,6 +61116,8 @@ function canvas(width, height) {
if (env2.offscreen) {
c = new OffscreenCanvas(width, height);
} else {
if (typeof document === "undefined")
throw new Error("attempted to run in web worker but offscreenCanvas is not supported");
c = document.createElement("canvas");
c.width = width;
c.height = height;

File diff suppressed because one or more lines are too long

18
dist/human.js vendored

File diff suppressed because one or more lines are too long

View File

@ -1031,7 +1031,6 @@ async function backendInfo() {
async function get() {
env2.browser = typeof navigator !== "undefined";
env2.node = typeof process !== "undefined";
env2.worker = env2.browser ? typeof WorkerGlobalScope !== "undefined" : void 0;
env2.tfjs.version = tf.version_core;
env2.offscreen = typeof env2.offscreen === "undefined" ? typeof OffscreenCanvas !== "undefined" : env2.offscreen;
if (typeof navigator !== "undefined") {
@ -1043,11 +1042,18 @@ async function get() {
if (env2.platform[1])
env2.agent = env2.agent.replace(raw[1], "");
env2.agent = env2.agent.replace(/ /g, " ");
const isChrome = env2.agent.match(/Chrome\/.[0-9]/g);
const verChrome = isChrome && isChrome[0] ? isChrome[0].split("/")[1] : 0;
if (verChrome > 0 && verChrome > 92 && verChrome < 96) {
log("disabling offscreenCanvas due to browser error:", isChrome ? isChrome[0] : "unknown");
env2.offscreen = false;
}
}
} else if (typeof process !== "undefined") {
env2.platform = `${process.platform} ${process.arch}`;
env2.agent = `NodeJS ${process.version}`;
}
env2.worker = env2.browser && env2.offscreen ? typeof WorkerGlobalScope !== "undefined" : void 0;
await backendInfo();
}
async function set(obj) {
@ -1065,6 +1071,8 @@ function canvas(width, height) {
if (env2.offscreen) {
c = new OffscreenCanvas(width, height);
} else {
if (typeof document === "undefined")
throw new Error("attempted to run in web worker but offscreenCanvas is not supported");
c = document.createElement("canvas");
c.width = width;
c.height = height;

View File

@ -1032,7 +1032,6 @@ async function backendInfo() {
async function get() {
env2.browser = typeof navigator !== "undefined";
env2.node = typeof process !== "undefined";
env2.worker = env2.browser ? typeof WorkerGlobalScope !== "undefined" : void 0;
env2.tfjs.version = tf.version_core;
env2.offscreen = typeof env2.offscreen === "undefined" ? typeof OffscreenCanvas !== "undefined" : env2.offscreen;
if (typeof navigator !== "undefined") {
@ -1044,11 +1043,18 @@ async function get() {
if (env2.platform[1])
env2.agent = env2.agent.replace(raw[1], "");
env2.agent = env2.agent.replace(/ /g, " ");
const isChrome = env2.agent.match(/Chrome\/.[0-9]/g);
const verChrome = isChrome && isChrome[0] ? isChrome[0].split("/")[1] : 0;
if (verChrome > 0 && verChrome > 92 && verChrome < 96) {
log("disabling offscreenCanvas due to browser error:", isChrome ? isChrome[0] : "unknown");
env2.offscreen = false;
}
}
} else if (typeof process !== "undefined") {
env2.platform = `${process.platform} ${process.arch}`;
env2.agent = `NodeJS ${process.version}`;
}
env2.worker = env2.browser && env2.offscreen ? typeof WorkerGlobalScope !== "undefined" : void 0;
await backendInfo();
}
async function set(obj) {
@ -1066,6 +1072,8 @@ function canvas(width, height) {
if (env2.offscreen) {
c = new OffscreenCanvas(width, height);
} else {
if (typeof document === "undefined")
throw new Error("attempted to run in web worker but offscreenCanvas is not supported");
c = document.createElement("canvas");
c.width = width;
c.height = height;

10
dist/human.node.js vendored
View File

@ -1031,7 +1031,6 @@ async function backendInfo() {
async function get() {
env2.browser = typeof navigator !== "undefined";
env2.node = typeof process !== "undefined";
env2.worker = env2.browser ? typeof WorkerGlobalScope !== "undefined" : void 0;
env2.tfjs.version = tf.version_core;
env2.offscreen = typeof env2.offscreen === "undefined" ? typeof OffscreenCanvas !== "undefined" : env2.offscreen;
if (typeof navigator !== "undefined") {
@ -1043,11 +1042,18 @@ async function get() {
if (env2.platform[1])
env2.agent = env2.agent.replace(raw[1], "");
env2.agent = env2.agent.replace(/ /g, " ");
const isChrome = env2.agent.match(/Chrome\/.[0-9]/g);
const verChrome = isChrome && isChrome[0] ? isChrome[0].split("/")[1] : 0;
if (verChrome > 0 && verChrome > 92 && verChrome < 96) {
log("disabling offscreenCanvas due to browser error:", isChrome ? isChrome[0] : "unknown");
env2.offscreen = false;
}
}
} else if (typeof process !== "undefined") {
env2.platform = `${process.platform} ${process.arch}`;
env2.agent = `NodeJS ${process.version}`;
}
env2.worker = env2.browser && env2.offscreen ? typeof WorkerGlobalScope !== "undefined" : void 0;
await backendInfo();
}
async function set(obj) {
@ -1065,6 +1071,8 @@ function canvas(width, height) {
if (env2.offscreen) {
c = new OffscreenCanvas(width, height);
} else {
if (typeof document === "undefined")
throw new Error("attempted to run in web worker but offscreenCanvas is not supported");
c = document.createElement("canvas");
c.width = width;
c.height = height;

View File

@ -66,14 +66,14 @@
"@tensorflow/tfjs-layers": "^3.9.0",
"@tensorflow/tfjs-node": "^3.9.0",
"@tensorflow/tfjs-node-gpu": "^3.9.0",
"@types/node": "^16.10.2",
"@types/node": "^16.10.3",
"@typescript-eslint/eslint-plugin": "^4.33.0",
"@typescript-eslint/parser": "^4.33.0",
"@vladmandic/build": "^0.5.3",
"@vladmandic/pilogger": "^0.3.3",
"canvas": "^2.8.0",
"dayjs": "^1.10.7",
"esbuild": "^0.13.3",
"esbuild": "^0.13.4",
"eslint": "^7.32.0",
"eslint-config-airbnb-base": "^14.2.1",
"eslint-plugin-import": "^2.24.2",

View File

@ -24,6 +24,7 @@ export function canvas(width, height): HTMLCanvasElement | OffscreenCanvas {
if (env.offscreen) {
c = new OffscreenCanvas(width, height);
} else {
if (typeof document === 'undefined') throw new Error('attempted to run in web worker but offscreenCanvas is not supported');
c = document.createElement('canvas');
c.width = width;
c.height = height;

View File

@ -1,6 +1,6 @@
import * as tf from '../../dist/tfjs.esm.js';
import * as image from '../image/image';
import { mergeDeep } from './util';
import { mergeDeep, log } from './util';
export type Env = {
browser: undefined | boolean,
@ -129,8 +129,6 @@ export async function backendInfo() {
export async function get() {
env.browser = typeof navigator !== 'undefined';
env.node = typeof process !== 'undefined';
// @ts-ignore WorkerGlobalScope evaluated in browser only
env.worker = env.browser ? (typeof WorkerGlobalScope !== 'undefined') : undefined;
env.tfjs.version = tf.version_core;
// offscreencanvas supported?
@ -144,11 +142,21 @@ export async function get() {
env.agent = navigator.userAgent.replace(raw[0], '');
if (env.platform[1]) env.agent = env.agent.replace(raw[1], '');
env.agent = env.agent.replace(/ /g, ' ');
// chrome offscreencanvas gpu memory leak
const isChrome = env.agent.match(/Chrome\/.[0-9]/g);
const verChrome = isChrome && isChrome[0] ? isChrome[0].split('/')[1] : 0;
if (verChrome > 0 && verChrome > 92 && verChrome < 96) {
log('disabling offscreenCanvas due to browser error:', isChrome ? isChrome[0] : 'unknown');
env.offscreen = false;
}
}
} else if (typeof process !== 'undefined') {
env.platform = `${process.platform} ${process.arch}`;
env.agent = `NodeJS ${process.version}`;
}
// @ts-ignore WorkerGlobalScope evaluated in browser only
env.worker = env.browser && env.offscreen ? (typeof WorkerGlobalScope !== 'undefined') : undefined;
await backendInfo();
// get cpu info

View File

@ -1,24 +1,24 @@
2021-10-04 17:01:38 INFO:  @vladmandic/human version 2.3.0
2021-10-04 17:01:38 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.10.0
2021-10-04 17:01:38 INFO:  Application: {"name":"@vladmandic/human","version":"2.3.0"}
2021-10-04 17:01:38 INFO:  Environment: {"profile":"production","config":"build.json","tsconfig":true,"eslintrc":true,"git":true}
2021-10-04 17:01:38 INFO:  Toolchain: {"build":"0.5.3","esbuild":"0.13.3","typescript":"4.4.3","typedoc":"0.22.5","eslint":"7.32.0"}
2021-10-04 17:01:38 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
2021-10-04 17:01:38 STATE: Clean: {"locations":["dist/*","types/*","typedoc/*"]}
2021-10-04 17:01:38 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-10-04 17:01:38 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":52,"inputBytes":508376,"outputBytes":423214}
2021-10-04 17:01:38 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-10-04 17:01:38 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":52,"inputBytes":508384,"outputBytes":423218}
2021-10-04 17:01:38 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-10-04 17:01:38 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":52,"inputBytes":508451,"outputBytes":423290}
2021-10-04 17:01:38 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1631}
2021-10-04 17:01:38 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":3088,"outputBytes":793}
2021-10-04 17:01:38 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":52,"inputBytes":507894,"outputBytes":424694}
2021-10-04 17:01:39 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":8,"inputBytes":3088,"outputBytes":2377041}
2021-10-04 17:01:39 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":52,"inputBytes":2884142,"outputBytes":1418149}
2021-10-04 17:01:39 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":52,"inputBytes":2884142,"outputBytes":2629703}
2021-10-04 17:01:57 STATE: Typings: {"input":"src/human.ts","output":"types","files":6}
2021-10-04 17:02:02 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":35,"generated":true}
2021-10-04 17:02:31 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":86,"errors":0,"warnings":0}
2021-10-04 17:02:31 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
2021-10-04 17:02:31 INFO:  Done...
2021-10-06 11:29:10 INFO:  @vladmandic/human version 2.3.0
2021-10-06 11:29:10 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.10.0
2021-10-06 11:29:10 INFO:  Application: {"name":"@vladmandic/human","version":"2.3.0"}
2021-10-06 11:29:10 INFO:  Environment: {"profile":"production","config":"build.json","tsconfig":true,"eslintrc":true,"git":true}
2021-10-06 11:29:10 INFO:  Toolchain: {"build":"0.5.3","esbuild":"0.13.4","typescript":"4.4.3","typedoc":"0.22.5","eslint":"7.32.0"}
2021-10-06 11:29:10 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
2021-10-06 11:29:10 STATE: Clean: {"locations":["dist/*","types/*","typedoc/*"]}
2021-10-06 11:29:10 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-10-06 11:29:10 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":52,"inputBytes":508920,"outputBytes":423715}
2021-10-06 11:29:10 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-10-06 11:29:10 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":52,"inputBytes":508928,"outputBytes":423719}
2021-10-06 11:29:10 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-10-06 11:29:10 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":52,"inputBytes":508995,"outputBytes":423791}
2021-10-06 11:29:10 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1631}
2021-10-06 11:29: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":3088,"outputBytes":793}
2021-10-06 11:29:10 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":52,"inputBytes":508438,"outputBytes":425195}
2021-10-06 11:29:11 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":8,"inputBytes":3088,"outputBytes":2377041}
2021-10-06 11:29:11 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":52,"inputBytes":2884686,"outputBytes":1418473}
2021-10-06 11:29:12 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":52,"inputBytes":2884686,"outputBytes":2630204}
2021-10-06 11:29:29 STATE: Typings: {"input":"src/human.ts","output":"types","files":6}
2021-10-06 11:29:35 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":35,"generated":true}
2021-10-06 11:30:03 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":86,"errors":0,"warnings":0}
2021-10-06 11:30:04 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
2021-10-06 11:30:04 INFO:  Done...

View File

@ -1 +1 @@
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/image/image.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGlC,oBAAY,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,eAAe,GAAG,OAAO,KAAK,GAAG,OAAO,GAAG,CAAC,MAAM,CAAC;AASvL,wBAAgB,MAAM,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA,GAAG,iBAAiB,GAAG,eAAe,CAiBzE;AAKD,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,eAAe,GAAG,iBAAiB,GAAG,IAAI,CAAA;CAAE,CAsLnI;AAID,wBAAsB,IAAI,CAAC,MAAM,KAAA,EAAE,KAAK,EAAE,MAAM,oBA2B/C"}
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/image/image.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGlC,oBAAY,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,eAAe,GAAG,OAAO,KAAK,GAAG,OAAO,GAAG,CAAC,MAAM,CAAC;AASvL,wBAAgB,MAAM,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA,GAAG,iBAAiB,GAAG,eAAe,CAkBzE;AAKD,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,eAAe,GAAG,iBAAiB,GAAG,IAAI,CAAA;CAAE,CAsLnI;AAID,wBAAsB,IAAI,CAAC,MAAM,KAAA,EAAE,KAAK,EAAE,MAAM,oBA2B/C"}

View File

@ -1 +1 @@
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/util/env.ts"],"names":[],"mappings":"AAIA,oBAAY,GAAG,GAAG;IAChB,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;IAC7B,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE;QACJ,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC;KAC7B,CAAC;IACF,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC;IAC/B,IAAI,EAAE;QACJ,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC;QAC/B,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;QAC7B,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;QAC1B,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC;KAClC,CAAC;IACF,KAAK,EAAE;QACL,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC;QAC/B,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;QAC7B,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC;QAC5B,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAC;KAC9B,CAAC;IACF,MAAM,EAAE;QACN,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC;QAC/B,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;QAC7B,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC;KAC7B,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAA;AAGD,eAAO,IAAI,GAAG,EAAE,GAiCf,CAAC;AAEF,wBAAsB,OAAO,kBAmB5B;AAED,wBAAsB,WAAW,kBA8BhC;AAED,wBAAsB,GAAG,kBA2BxB;AAED,wBAAsB,GAAG,CAAC,GAAG,KAAA,iBAE5B"}
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/util/env.ts"],"names":[],"mappings":"AAIA,oBAAY,GAAG,GAAG;IAChB,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;IAC7B,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE;QACJ,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC;KAC7B,CAAC;IACF,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC;IAC/B,IAAI,EAAE;QACJ,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC;QAC/B,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;QAC7B,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;QAC1B,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC;KAClC,CAAC;IACF,KAAK,EAAE;QACL,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC;QAC/B,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;QAC7B,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC;QAC5B,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAC;KAC9B,CAAC;IACF,MAAM,EAAE;QACN,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC;QAC/B,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;QAC7B,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC;KAC7B,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAA;AAGD,eAAO,IAAI,GAAG,EAAE,GAiCf,CAAC;AAEF,wBAAsB,OAAO,kBAmB5B;AAED,wBAAsB,WAAW,kBA8BhC;AAED,wBAAsB,GAAG,kBAmCxB;AAED,wBAAsB,GAAG,CAAC,GAAG,KAAA,iBAE5B"}